
var mailLoginActive = false;
var systemLoginActive = false;

var timeoutActive = false;

function debug(str) {
	var objDebug = document.getElementById('debug');
	if(objDebug) {
		objDebug.value += str + "\n";
	}
}

function loginWasp() {
	
	if(systemLoginActive) {
		return false;
	}
	
	systemLoginActive = true;
	
	hideLoginError();
	showLoader('wasp');
	
	var username = document.getElementById('login-usr').value;
	var password = document.getElementById('login-pwd').value;
	var orgplace = document.getElementById('login-orgplace').value;
	
	var strPostData = '';
	
	strPostData += 'username=' + username + '&';
	strPostData += 'password=' + password + '&';
	strPostData += 'orgplace=' + orgplace;
	
	var loginRequest = new ajaxObject('?location=handleLogin&version=2', handleWaspLogin);
  loginRequest.update(strPostData,'POST');
	
}

function handleWaspLogin(responseText, responseStatus) {
	
	var error = true;
	
	if(responseStatus == 200) {
		var response =  eval('(' + responseText + ')');
		if(response.success) {
			openWasp(response.sessid);
			document.getElementById('login-pwd').value = '';
			createCookie('login-usr', document.getElementById('login-usr').value, 31);
			error = false;
		} else {
			showLoginError(response.message);
			document.getElementById('login-pwd').focus();
		}
	} else {
		showLoginError('Inloggningen misslyckades!');
	}
	
	hideLoader('wasp');
	systemLoginActive = false;
  
}

function openWasp(sessid, dontcreatecookie) {
	w = window.open("/?location=openWasp&PHPSESSID="+sessid, "waspwin", "fullscreen=0,width=800, height=600, top="+((screen.availHeight/2) - 300)+",status=0, left="+((screen.availWidth/2) - 400)+",toolbar=0, menubar=0, resizable=1");
	if(w != null) {
		w.focus();
	} else {
		if(!dontcreatecookie) {
			createCookie('openWaspOnload', '1');
		}
	}
}


function loginMail() {
	
	if(mailLoginActive) {
		return false;
	}
	
	mailLoginActive = true;
	
	hideLoginError();
	showLoader('mail');
	
	var username = document.getElementById('mail-usr').value;
	var password = document.getElementById('mail-pwd').value;
	
	var strPostData = '';
	
	strPostData += 'username=' + username + '&';
	strPostData += 'password=' + password;
	
	var loginRequest = new ajaxObject('?location=handleMailLogin&version=2', handleMailLogin);
  loginRequest.update(strPostData,'POST');
  
  
  
}

function handleMailLogin(responseText, responseStatus) {
	
	var error = true;
	
	if(responseStatus == 200) {
		var response =  eval('(' + responseText + ')');
		if(response.success) {
			createCookie('mail-usr', document.getElementById('mail-usr').value, 31);
			document.getElementById('mail-pwd').value = '';
			openMail(response.client, response.user, response.pass);
			error = false;
		} else {
			showLoginError(response.message);
			if(document.getElementById('mail-usr').value.length > 0) {
				document.getElementById('mail-pwd').focus();
			} else {
				document.getElementById('mail-usr').focus();
			}
		}
	} else {
		showLoginError('Inloggningen misslyckades.');
	}
	
	if(error) {
		hideLoader('mail');
		mailLoginActive = false;
	}
	
}

function openMail(client, user, pass) {
	if(client == 'roundcube') {
		document.getElementById('roundcube_user').value = user;
		document.getElementById('roundcube_pass').value = pass;
		document.getElementById('roundcube_login').submit();
	} else if(client == 'waspmail') {
		document.getElementById('waspmail_user').value = user;
		document.getElementById('waspmail_pass').value = pass;
		document.getElementById('waspmail_login').submit();
	} else {
		showLoginError('Inloggningen misslyckades.');
	}
}

function hideLoginError() {
	$("#login-msg-error-wrapper").slideUp("normal");
	if(timeoutActive) {
		clearTimeout(timeoutActive);
		timeoutActive = false;
	}
}

function showLoginError(message) {
	
	hideLoginError();
	
	var objMessage = document.getElementById('login-msg-error');
	objMessage.innerHTML = message;
	
	$("#login-msg-error-wrapper").slideDown("normal");
	
	timeoutActive = window.setTimeout(function () { $("#login-msg-error-wrapper").slideUp("normal"); }, 6000);
	
}

function showLoader(where) {
	if(where == 'mail') {
		$('#mail-form').addClass('active');
	} else if(where == 'wasp') {
		$('#login-form').addClass('active');
	}
}

function hideLoader(where) {
	if(where == 'mail') {
		$('#mail-form').removeClass('active');
	} else if(where == 'wasp') {
		$('#login-form').removeClass('active');
	}
}

