1
1
/* TODO: cHANGE THIS FILE ENTIRELY!!! CHANGE CALLED ID'S AND CLASSES */
3
/* TODO: Do I need these? */
8
3
/* Functions that run when the page loads */
9
4
$(document).ready(function() {
10
/* Secures that the dropdownmenus are not shown on pageload */
11
$('#dropdownCodeviewerMenu').hide();
12
$('#dropdownUserMenu').show();
14
/* Check courses in expanded menu */
15
$('li.dropdownMenuCourseBlockNonActiveCourse').click(function(){
16
$('li.dropdownMenuCourseBlockActiveCourse').addClass('dropdownMenuCourseBlockNonActiveCourse');
17
$('li.dropdownMenuCourseBlockActiveCourse').removeClass('dropdownMenuCourseBlockActiveCourse');
19
$(this).removeClass('dropdownMenuCourseBlockNonActiveCourse');
20
$(this).addClass("dropdownMenuCourseBlockActiveCourse");
21
/*TA BORT DEN ENA KLASSEN OCH ANVÄND TOGGLE*/
24
/* TODO: SHOULD OPEN A POPUP VIA AJAX */
25
/* Blurs body and opens password changer */
26
$('li[name="changePwd"]').click(function(e){
28
$('#popoutMenu').stop(false, false).slideUp(300);
30
$('body *').not('#passwordChanger, #passwordChanger *').animate({
32
$('#passwordChanger').fadeIn(300);
33
$('#passwordChanger').css('z-index', 3000);
36
$('body').click(function(e){
37
$('#formContainer').fadeOut(300);
38
$('#passwordChanger').fadeOut(300);
41
$('#changePassword')[0].reset();
44
$('#passwordChanger').click(function(e){
48
$('#formContainer').click(function(e){
52
$('#popoutLink').click(function(e){
54
$('#popoutMenu').stop(false, true).slideDown(300);
57
// FIXA SÅ MENYN INTE KOMMER UPP IGEN
59
else if(popoutMenu==1){
60
$('#popoutMenu').stop(false, false).slideUp(300);
67
$('#loginLink').click(function(e){
68
var target = $('#formContainer');
69
if(target.is(":hidden")){
71
$('#username').focus();
6
/* Makes the bannermenu scrollable horizontally but not vertically */
7
$('#bannerBody').scrollToFixed();
9
$("#dropdownUserMenu").click(function(e) {
13
/* Sets the click-function for the usermenubutton */
14
$('#bannerUserMenuButton').click(function(e){
16
$.get('ajax/isLoggedIn', function(response) {
17
if(response == 'yes') {
18
// If the user is logged in and the usermenu-div is hidden it's shown.
19
// TODO: Secure that the courseblock-div is hidden when the usermenu-div is oppened.
21
if($('#dropdownMenuCourseBlock').is(':visible')) {
22
$('#dropdownMenuCourseBlock').hide();
24
$('#dropdownUserMenu').load('bannermenu.php #dropdownUserMenu');
26
//$("#dropdownMenuCourseBlock").hide();
27
// If the user is logged in and the usermenu-div is shown it's hidden.
28
$('#dropdownMenuCourseBlock').hide();
29
$('#dropdownUserMenu').toggle();
33
// If the user is not logged in and the popup-div is hidden it's filled and shown.
34
if($('#popup').is(':hidden')) {
35
$('#popup').load('ajax/popup/login', function(){
36
$('#popup').show().click(function(e){e.stopPropagation();});
37
$("#popup .hint").click(loginHint);
38
$("#popup #username").focus().keydown(function() {
39
$("#popup .hint").addClass("available");
41
$("#popup form").submit(loginSubmit);
44
// If the user is not logged in and the popup-div shows it's hidden.
53
// TODO: Refresh the div with it's php before show.
54
/* Expand and collapse courses in dropdown menu */
55
$('#dropdownMenuExpandCourses').click(function(){
57
// If the course block is collapsed it's expanded.
58
if($('#dropdownMenuCourseBlock').is(':hidden')) {
59
$('#dropdownMenuCourseBlock').show();
61
// If the course block is expanded it's collapsed .
63
$('#dropdownMenuCourseBlock').hide();
68
$("#dropdownMenuLogout").click(function(e) {
70
window.location.href = "./start/logout";
73
$("html").click(function(e) {
75
$("#dropdownUserMenu").hide();
81
window.onkeyup = function(event){
82
if(event.keyCode==27){
83
$('#formContainer').fadeOut(300);
84
$('#passwordChanger').fadeOut(300);
87
$('#changePassword')[0].reset();
91
/* Closing password changer and reactivates body */
92
function cancelPasswordChange(){
93
$('#passwordChanger').fadeOut(300);
96
$('#changePassword')[0].reset();
100
/* Expand/Collapse courses in popout menu */
101
function expandCourses(){
102
if(expandedCourses==0){
103
$('#expandedCourses').stop(false, true).slideDown(300);
106
else if(expandedCourses==1){
107
$('#expandedCourses').stop(false, false).slideUp(300);
80
function loginSubmit(e) {
84
var un = $(this).find("#username").val();
85
var pw = $(this).find("#password").val();
89
{ username: un, password: pw},
92
window.location.href ="./cms";
94
if($("#popup .popup").hasClass("error")) {
95
$("#popup .popup form .errorContainer").html('Error! '+data+' Please try again.');
97
$("#popup .popup").addClass("error");
98
$("#popup .popup form").prepend('<div class="errorContainer">Error! '+data+' Please try again. </div>');
105
function loginHint(e) {
109
// If username field is empty, inform user and exit function
110
var uname = $("#login #username").val();
115
// POST username to the function /ajax/pwdhint which returns a json object with password hint
117
// Replace with final production URL!!!
120
// Data sent through POST
125
var result = $.parseJSON(data)["hint"];
127
// result["hint"] is either a boolean false or a string containing the hint
128
if(result === false) {
129
$("#hinttext").html('<p class="error">No password hint available</p>');
131
$("#hinttext").html('<p>Hint: ' + result + '</p>');
134
$("#login").toggleClass("expanded");
135
$("#hinttext").toggle();
b'\\ No newline at end of file'