/**
 * @author 58062
 */
window.addEvent('domready', function(){
	if (fForms['authForm'] == null && $chk('loginForm'))
		initAuthenticationAction();
});
function initAuthenticationAction()
{
	fForms['authForm'] = new Form($('loginForm'));
	fForms['authForm'].setKey(13, "login()");
	fForms['authForm'].setResultBox('loginFormError');
	fForms['authForm'].setResultClasses('formError', 'formSuccess');
}
function focusLogin(el) {
	if (fStatus.isOnHome == true)
		clearBoxesSideBar();
	fForms['authForm'].fill(el);
}
function focusPass(el){
	if (fStatus.isOnHome == true)
		clearBoxesSideBar();
	fForms['authForm'].fill(el);
}
function login(){
	var login = fForms['authForm'].getValue('login');
	var pass = fForms['authForm'].getValue('pass').sha1();
	var remember = ($('rememberMe').get('checked') == true) ? 'yes' : 'no';
	var request = new Request.JSON({
		method: 'post',
		url: fUrls.AUTH,
		onRequest: function(){
			loginWait();
		},
		onCancel: function(){
			fForms['authForm'].displayGlobalMsg(slsBuild.langs.LOGIN_REQUEST_FAILED, 'error');
			loginWait();
		},
		onFailure: function(){
			fForms['authForm'].displayGlobalMsg(slsBuild.langs.LOGIN_REQUEST_FAILED, 'error');
			loginWait();
		},
		onComplete: function(xhr){
			checkLoginResponse(xhr);
		}
	});
	request.send("user_login="+login+"&user_password="+pass+"&user_remember="+remember);
	if (remember == 'yes') {
		fStatus.login.remember = true;
		fStatus.login.mail = login;
	}
	else {
		fStatus.login.remember = false;
		fStatus.login.mail = null;
	}
}
function loginWait(){
	var els = $$('div#topInput span.login span.valid');
	if (els[0].getStyle('display') == "none"){
		els[0].setStyle('display', els[1].getStyle('display'));
		els[1].setStyle('display', 'none');
	}
	else {
		els[1].setStyle('display', els[0].getStyle('display'));
		els[0].setStyle('display', 'none');
	}
}
function checkLoginResponse(response){
	if (response['status'] == false){
		fForms['authForm'].displayGlobalMsg(response['label'], 'error');
		loginWait();
	}
	else{
		loginWait();
		fMember = response['user'];
		fStatus['isLogged'] = true;
		if (response['reactivate'] == true) {
			alert(slsBuild.langs.LOGIN_REACTIVATE_ACCOUNT);
		}
		loadSideBar();
	}
}
function deconnex(){
	
	if (fStatus['overflowAction'] == true) {
  		for (i = 0; i < fConfigs['sideBar']['boxes'].length; i++) 
  			if (fStatus[fConfigs['sideBar']['boxes'][i]['type']][fConfigs['sideBar']['boxes'][i]['id']]['self'] == "open") {
  				showBox(fConfigs['sideBar']['boxes'][i]['id']);
  				setTimeout("deconnex()", fConfigs[fConfigs['sideBar']['boxes'][i]['type']][fConfigs['sideBar']['boxes'][i]['id']]['durationClose']);
  				return;
  			}
  	}
	else
	{
		var request = new Request.JSON({
			method: 'post',
			url: fUrls.DECONNEX,
			onRequest: function(){
				$('loginBox').innerHTML = "<img src=\"http://" + slsBuild.site.domainName + "/" + slsBuild.paths.imgJs + "/waitLogin.gif\" alt=\"" + slsBuild.langs.PLEASE_WAIT + "\" title=\"" + slsBuild.langs.PLEASE_WAIT + "\" />"
			},
			onComplete: function(xhr){
				fMember = xhr;
				fStatus['isLogged'] = false;
				$('loginBox').innerDHTML(loginBox[fStatus['isLogged']]);
				$('loginFormError').set('html', '');
				$('login-wait').setStyle('display', 'none');
				$('login-valid-button').setStyle('display', 'block');
				loadSideBar();
				if (fStatus.login.remember == true && fStatus.login.mail != null){
					$('rememberMe').set('checked', true);
					fForms['authForm'].get('login').set('value', fStatus.login.mail);
				}
				
			}
		});
		request.send();
	}
	
}
