function Login(sKey,form,b)
{
	var dPwd = document.getElementById('inputPassword');
	var sPwd = dPwd.value;
	//if(form.cipher.checked){
		//Prepare RSA library
		var rsa = new RSAKey();
		rsa.setPublic(sKey, '10001');
		var password_rsa = document.createElement('input');
		password_rsa.type = 'hidden';
		password_rsa.name = 'password_rsa';
		password_rsa.value = rsa.encrypt(sPwd);
		form.appendChild(password_rsa);
		form.password.value = '*****';
	//}
	return true;
}

function getPROData(pwd)
{
	if (!pwd)
	{
		var pwd=document.getElementById('inputPassword').value;
	}
	
	var name=document.getElementById('inputUsername').value;
	if (name=='') {name='***';}
	var aLogin=0;
	if (document.getElementById('autoLoginCheckbox') && document.getElementById('autoLoginCheckbox').checked) {aLogin=1;}

	if (pwd.search('i=')==0)
	{
		return {
			back:{
				username:document.getElementById('inputUsername').value,
				language:document.getElementById('selectLanguage').value,
				interface:document.getElementById('selectWC').value
			},
			username:name,
			auto_digest:pwd,
			language:document.getElementById('selectLanguage').value,
			auto_login:aLogin,
			disable_ip_check:!document.getElementById('ipcheck').checked,
			get:window.get
		};
	}
	else
	{
		return {
			back:{
				username:document.getElementById('inputUsername').value,
				language:document.getElementById('selectLanguage').value,
				interface:document.getElementById('selectWC').value
			},
			username:name,
			password:pwd,
			language:document.getElementById('selectLanguage').value,
			auto_login:aLogin,
			disable_ip_check:!document.getElementById('ipcheck').checked,
			get:window.get
		};
	}
}

function choose()
{
	/************* Enable to use PRO ************/
	document.getElementById('selectWC').style.display="none";
	document.getElementById('selectWC').name='to_nojs';
	document.getElementById('selectWC').id='selectWC_nojs';
	document.getElementById('selectWC_js').style.display="block";
	document.getElementById('selectWC_js').name='to';
	document.getElementById('selectWC_js').id='selectWC';
	/************************/
	
/** Get OS name **/
	var OSName='';
	if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
	if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
	if (navigator.appVersion.indexOf("Mac")!=-1 && navigator.appVersion.indexOf("Mobile")!=-1) OSName="MacOSm";
	if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
/** **/

/** Get client info **/
	var nVer = navigator.appVersion;
	var nAgt = navigator.userAgent;
	var browserName  = navigator.appName;
	var fullVersion  = ''+parseFloat(navigator.appVersion); 
	var majorVersion = parseInt(navigator.appVersion,10);
	var nameOffset,verOffset,ix;
	
	// In MSIE, the true version is after "MSIE" in userAgent
	if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
	 browserName = "IE";
	 fullVersion = nAgt.substring(verOffset+5);
	}
	// In Opera, the true version is after "Opera" 
	else if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
	 browserName = "OP";
	 fullVersion = nAgt.substring(verOffset+6);
	}
	// In Chrome, the true version is after "Chrome" 
	else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
	 browserName = "CH";
	 fullVersion = nAgt.substring(verOffset+7);
	}
	// In Safari, the true version is after "Safari" 
	else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
	 browserName = "SF";
	 fullVersion = nAgt.substring(verOffset+7);
	}
	// In Firefox, the true version is after "Firefox" 
	else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
	 browserName = "FF";
	 fullVersion = nAgt.substring(verOffset+8);
	}
	// In most other browsers, "name/version" is at the end of userAgent 
	else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) 
	{
	 browserName = nAgt.substring(nameOffset,verOffset);
	 fullVersion = nAgt.substring(verOffset+1);
	 if (browserName.toLowerCase()==browserName.toUpperCase()) {
	  browserName = navigator.appName;
	 }
	}
	// trim the fullVersion string at semicolon/space if present
	if ((ix=fullVersion.indexOf(";"))!=-1) fullVersion=fullVersion.substring(0,ix);
	if ((ix=fullVersion.indexOf(" "))!=-1) fullVersion=fullVersion.substring(0,ix);
	
	majorVersion = parseInt(''+fullVersion,10);
	if (isNaN(majorVersion)) {
	 fullVersion  = ''+parseFloat(navigator.appVersion); 
	 majorVersion = parseInt(navigator.appVersion,10);
	}
	
	//alert('Browser name  = '+browserName);
	//alert('Major version = '+majorVersion);
	//alert('Full version  = '+fullVersion+'<br>');
	//alert('navigator.appName = '+navigator.appName+'<br>');
	//alert('navigator.userAgent = '+navigator.userAgent+'<br>');

/** **/
	var use='pro';
	if (browserName=='IE' && majorVersion<'7')
	{
		use="basic";
	}
	
	if (use=='pro') {addStartScript();}
	
	if (document.getElementById('preselectedInterface') && document.getElementById('preselectedInterface').value!='')
	{
		use=document.getElementById('preselectedInterface').value;
	}
	
	//alert(use+" "+OSName+' ** '+navigator.userAgent);
	
	document.getElementById('selectWC').value=use;
	
	document.getElementById('loginForm').onsubmit=function()
	{
		if (document.getElementById('inputPassword').value=='')
		{
			document.getElementById('inputPassword').focus();
			return false;
		}
		
		if (document.getElementById('selectWC').value=='pda')
		{
			Login(this.name,this);
			document.getElementById('npmain').value='grid.mail';
			document.getElementById('loginForm').action=document.getElementById('self').value+"pda/index.html";
		}
		else if (document.getElementById('selectWC').value=='pro')
		{
			document.getElementById('loginForm').target='saveFrame';
			document.getElementById('loginForm').action='?blank';

			setTimeout('initPRO(getPROData(\''+document.getElementById('inputPassword').value+'\'))',300);
			
			document.getElementById('inputPassword').value='';
			//return false;
		}
		else
		{
			Login(this.name,this);
			document.getElementById('loginForm').action=document.getElementById('self').value+"basic/index.html";
		}
	}
	
	return true;
}


function addStartScript()
{
	var ss=false;
	var scr=document.getElementsByTagName('script');
	for(var i=0; i<scr.length; i++)
	{
		//alert(scr[i].src.search('startscript'));
		if (scr[i].src.search('startscript')>=0)
		{
			ss=true;
		}
	}
	
	if (!ss)
	{
		var headID = document.getElementsByTagName("head")[0];
		var newScript = document.createElement('script');
		newScript.type = 'text/javascript';
		newScript.src = 'client/inc/startscript.js';
		headID.appendChild(newScript);
	}
}

function initOnLoad(run)
{
	document.getElementById('ctz').value=(new Date().getTimezoneOffset())*(-1);
	
	document.getElementById('usernameDelete').onclick=function()
	{
		document.getElementById('saveFrame').src="?d";
		document.getElementById('inputUsername').value="";
		this.style.display="none";
		document.getElementById('inputUsername').focus();
		return false;
	}
	
	if (document.getElementById('bodyTag')){if (document.getElementById('bodyTag').className=='grass'){document.getElementById('logoBox').style.backgroundImage='url("client/skins/default/login/images/glogo.gif")';}}
	
	if (document.getElementById('selectorSignUp'))
{
	document.getElementById('selectorSignUp').onclick=function(){
		var change=this.name.split('|');
		
		if (document.getElementById('selectorForgot'))
		{
			var that=document.getElementById('selectorForgot');
			var change2=that.name.split('|');
			if (change2[2]=='l')
			{
				that.name=that.innerHTML+'|'+that.href+'|f';
				that.innerHTML=change2[0];
				that.href=change2[1];
			}
		}
		
		if (change[2]=='s')
		{
			this.name=this.innerHTML+'|'+this.href+'|l';
			document.getElementById('fieldsetSelfSignup').style.display='block';
			document.getElementById('fieldsetLogin').style.display='none';
			document.getElementById('fieldsetForgotPassword').style.display='none';
			document.getElementById('loginBox').className='signup';
			document.getElementById('inputCompact1').focus();
		}
		else
		{
			document.getElementById('loginBox').className='';
			this.name=this.innerHTML+'|'+this.href+'|s';
			document.getElementById('fieldsetSelfSignup').style.display='none';
			document.getElementById('fieldsetLogin').style.display='block';
			document.getElementById('fieldsetForgotPassword').style.display='none';
		}
		
		this.innerHTML=change[0];
		this.href=change[1];
		return false;
	};
}

	document.getElementById('selectLanguage').onchange=function()
	{
		var lHref=(location.href+'?-').split('?');
		lHref=lHref[0];
		location.href=lHref+'?language='+document.getElementById('selectLanguage').value+'&interface='+document.getElementById('selectWC').value;
	}

	if (document.getElementById('selectorForgot'))
	{
	
	document.getElementById('selectorForgot').onclick=function(){
			var change=this.name.split('|');
			
			document.getElementById('loginBox').className='';
			
			if (document.getElementById('selectorSignUp'))
			{
				var that=document.getElementById('selectorSignUp');
				var change2=that.name.split('|');
			}
			
			if (document.getElementById('selectorSignUp') && change2[2]=='l')
			{
				that.name=that.innerHTML+'|'+that.href+'|s';
				that.innerHTML=change2[0];
				that.href=change2[1];
			}
			
			if (change[2]=='f')
			{
				this.name=this.innerHTML+'|'+this.href+'|l';
				document.getElementById('fieldsetForgotPassword').style.display='block';
				document.getElementById('fieldsetLogin').style.display='none';
				document.getElementById('fieldsetSelfSignup').style.display='none';
				document.getElementById('inputForgotPassword').focus();
			}
			else
			{
				this.name=this.innerHTML+'|'+this.href+'|f';
				document.getElementById('fieldsetForgotPassword').style.display='none';
				document.getElementById('fieldsetLogin').style.display='block';
				document.getElementById('fieldsetSelfSignup').style.display='none';
				document.getElementById('inputForgotPassword').focus();
			}
			
			this.innerHTML=change[0];
			this.href=change[1];
			
			return false;
		};
	}
	
	if (!run)
	{
		if (document.getElementById('usernameSet')) {document.getElementById('inputPassword').focus()}
		else{document.getElementById('inputUsername').focus();}
		choose();
		/****/
		document.getElementById('jscontrol').value=1;
		/****/
		document.getElementById('selectWC').onchange=function(){
			if (document.getElementById('selectWC').value=='pro' && !window.sjs)
			{
				addStartScript();
				window.sjs=true;
			}
		};
		if (document.getElementById('selectWC').value=='pro' && !window.sjs)
		{
			addStartScript();
			window.sjs=true;
		}
	}
	else
	{
		initPRO(getPROData());
	}
}
/****/
// initPRO(data) is inside /client/inc/init.js
