
var login_button=['',''];var default_page='';var body_class='';var prefs=[];function GetPreferences(){prefs=GetJSON('/preferences.php?Mode=Get');}
function keyListener(e){var keycode;if(window.event){keycode=window.event.keyCode;}
else if(e){keycode=e.which;}
else{return true;}
if(keycode==13){Validate();return false;}
else if(keycode==27){HideLogin();return false;}
return true;}
function SetLoginFocus(){SetFocus('login_form','login_user');}
function ShowLoginCallback(resp,xmlhttp){if(UpdateContent_callback(resp,xmlhttp,true)){$('#Login').center().fadeIn();}}
function ShowLogin(ParentId,ssl){if(ssl){setCookie("http_redirect_login",1);if(location.href.match(/http:/img)){location.href=location.href.replace(/http:\/\//,"https://");}}
else{var login_box=CreatePopUp('Login','StandardPopUp','body','Login',1);UpdateContent('Login_Body','/login.php?Mode=Enter',ShowLoginCallback);login_box.onkeydown=keyListener;}}
function HideLogin(){var login_box=document.getElementById('Login');if(login_box){login_box.onkeydown=null;}
ClosePopup('Login');}
function Logout(){UpdateStaticContent('login_button',login_button[1]);var HTTPobj=new XMLHttp();HTTPobj.GetContent('login.php?Mode=Logout');UpdateContent('Menu',menu_app);if(body_class.length){$('body').attr('class',body_class);}
if(default_page){UpdateContent('Main',default_page);}
GetPreferences();}
function Validate_callback(resp){if(resp){parts=eval(resp);if(typeof(parts)=="string"){alert(resp);}
else{GetPreferences();if(parts[2]){if(typeof(parts[1])=="string"){UpdateContent('Main',parts[1]);}
else{ShowPopupURL('Terms','Terms of Use',parts[1][0],1);}}
else{UpdateContent('Menu',menu_app);if(parts[0]&&parts[0].length){$('body').attr('class',parts[0]);}
if(parts[1]&&parts[1].length){UpdateContent('Main',parts[1]);}}
UpdateStaticContent('login_button',login_button[0]);HideLogin();}}}
function Validate(){var submit=false;var login_user=document.getElementById('login_user');if(login_user){if(login_user.value==""){login_user.focus();}
else{var login_password=document.getElementById('login_password');if(login_password){if(login_password.value==""){login_password.focus();}
else{submit=true;}}}}
if(submit){var HTTPobj=new XMLHttp(Validate_callback);HTTPobj.PostContent('/login.php','login');}}
function SwitchTo_callback(resp){if(resp!='Not Valid'){UpdateContent('Menu',menu_app);UpdateContent('Main',resp);GetPreferences();}
else{alert(resp);}}
function SwitchTo(UserId){var HTTPobj=new XMLHttp(SwitchTo_callback);HTTPobj.GetContent('/login.php?Mode=SwitchTo&UserId='+UserId);}
function SwitchBack_callback(resp){if(resp!='Not Valid'){UpdateContent('Menu',menu_app);UpdateContent('Main',resp);GetPreferences();}
else{alert(resp);}}
function SwitchBack(){var HTTPobj=new XMLHttp(SwitchBack_callback);HTTPobj.GetContent('/login.php?Mode=SwitchBack');}
function UpdatePassword_callback(resp,xmlhttp){var parts=eval(resp);if(parts[0]=='Ok'){var password_form=document.getElementById(xmlhttp.params['form_id']+'_form');password_form.reset();alert('Password was changed successfully.');if(parts[1]){Validate_callback(parts[1]);}}
else{alert(resp);}}
function UpdatePassword(form_id,update_url){var password_form=document.getElementById(form_id+'_form');if(password_form){if(password_form['Edit[old_password]']){if(password_form['Edit[old_password]'].value.length<3){alert('Old Password must be at least 3 characters long.');SetFocus(form_id+'_form','Edit[old_password]');return;}
if(password_form['Edit[old_password]'].value==password_form['Edit[new_password]'].value){alert('New password must be different from the old password');SetFocus(form_id+'_form','Edit[new_password]');return;}}
if(password_form['Edit[new_password]'].value.length<3){alert('New Password must be at least 3 characters long.');SetFocus(form_id+'_form','Edit[new_password]');return;}
if(password_form['Edit[confirm_password]'].value.length<3){alert('Confirm Password must be at least 3 characters long.');SetFocus(form_id+'_form','Edit[confirm_password]');return;}
if(password_form['Edit[new_password]'].value!=password_form['Edit[confirm_password]'].value){alert('New Password and Confirm Password must be the same.');SetFocus(form_id+'_form','Edit[new_password]');return;}}
var params={"form_id":form_id};var HTTPobj=new XMLHttp(UpdatePassword_callback,params);HTTPobj.PostContent(update_url,form_id);}
function AcceptTerms_callback(resp,xmlhttp){var parts=eval(resp);if(parts[0]=='Ok'){if(parts[1]){Validate_callback(parts[1]);}
ClosePopup('Terms');}
else{alert(resp);}}
function AcceptTerms(){var HTTPobj=new XMLHttp(AcceptTerms_callback);HTTPobj.GetContent("/login.php?Mode=AcceptTerms");}
function LoginExists(UserId){var exists=GetJSON('/entity_org.php?Mode=Exists&Login='+UserId);if(exists){MsgBox('\'Login\': The entered login is not unique. Please enter another value','Input error');}
return exists;}
function BindLogoAction(id){$('#'+id).bind('contextmenu',function(e){if(e.button==2){ShowLogin();e.preventDefault();}}).click(function(){window.location.href='/';});}
