//************************************************************
//uj_login.js
//Javascript för login
//	
//	ver 3.40B		2011-02-16	Korrigering för automatisk inloggning PSV
//	ver 3.40A		2006-02-28 	Släpp HHO
//	ver 3.40		2006-02-08	Ny funktion för Mac message, ersätter tidigare browserkontroll
//	ver 3.39		2005-02-18
//	ver 3.38		2004-03-03
//
//Unikum Datasystem AB
//**************************************************************


function login(form,env){
//Kallas vid normal login
	env = env.toUpperCase();
  if (form.login_NAME_1.value == ""){
  	   if(macMessage()) {                                            
			alert (_USR_M);
		} else {
			alert (_USR);
		}
		form.login_NAME_1.focus();
		return false;
  }
  if (form.login_NAME_1.value.length<6 || form.login_NAME_1.value.length>12){  
		if(macMessage()) {                                            
			alert (_USRLEN_M);
		} else {
			alert (_USRLEN);
       }	
		form.login_NAME_1.focus();
		return false;
  }
  if (form.login_PASSWORD_1.value == ""){
  	   if(macMessage()) {                                            
			alert (_PWD_M);
		} else {
			alert (_PWD);
      }  
		form.login_PASSWORD_1.focus();
		return false;
  }
  if (form.login_PASSWORD_1.value.length<6 || form.login_PASSWORD_1.value.length>12){
  	   if(macMessage()) {                                            
			alert (_PWDLEN_M);
		} else {
			alert (_PWDLEN);
		}
		form.login_PASSWORD_1.focus();
		return false;
  }
  var x;
  var i;
  for(i=0;i<form.login_NAME_1.value.length;i++){
  	x=form.login_NAME_1.value.charCodeAt(i);
  	if((x<32||x>126) && x!=196 && x!=197 && x!=214 && x!=228 && x!=229 && x!=246 && x!=198 && x!=216 && x!=220 && x!=230 && x!=248 && x!=252){
  		if(macMessage())                                            
				alert (_USRNACH_M+": '"+String.fromCharCode(x)+"'!");
			else
				alert (_USRNACH+": '"+String.fromCharCode(x)+"'!");
  		form.login_NAME_1.focus();
  		return false;
  	}  	
  }
  for(i=0;i<form.login_PASSWORD_1.value.length;i++){
  	x=form.login_PASSWORD_1.value.charCodeAt(i);                                     
                        // Ä     // Å      // Ö      // ä      // å      //  ö     // Æ     // Ø     // Ü       // æ      // ø      // ü
  	if((x<32||x>126) && x!=196 && x!=197 && x!=214 && x!=228 && x!=229 && x!=246 && x!=198 && x!=216 && x!=220 && x!=230 && x!=248 && x!=252){
  		if(macMessage())                                            
				alert (_PWDNACH_M+": '"+String.fromCharCode(x)+"'!");
			else
				alert (_PWDNACH+": '"+String.fromCharCode(x)+"'!");
  		form.login_PASSWORD_1.focus();
  		return false;
  	}  	
  }
	
	if((env=="H" || env=="K") && typeof(form.autologin) != "undefined"){
	  //Autologin
	  var exp = new Date();
	  if(form.autologin.checked){ //Sätt autologin, skriv cookie
			exp.setTime(exp.getTime()+(365*24*60*60*1000));
			if(env=="H"){
				document.cookie="unikum_e-line_H="+form.login_NAME_1.value+","+form.login_PASSWORD_1.value+",autologin_H;expires="+exp.toGMTString()+";path=/";
			}else if(env=="K"){
				document.cookie="unikum_e-line_K="+form.login_NAME_1.value+","+form.login_PASSWORD_1.value+",autologin_K;expires="+exp.toGMTString()+";path=/";
			}
		}else{ //Ta bort autologin
	  	if(env=="H"){
	  		document.cookie="unikum_e-line_H=;path=/";
	  	}else if(env=="K"){
	  		document.cookie="unikum_e-line_K=;path=/";
		}
	 }
  }
  form.login_NAME.value=encrypt(form.login_NAME_1.value);
  form.login_PASSWORD.value=encrypt(form.login_PASSWORD_1.value);
 
  return true;
}

function encrypt(string){
	var i, y, ii, cInt;
	var x, c;
	var outstring="";
	var out="";
	//acceptera 32-126 + åäöÅÄÖ 
	for(i=0;i<string.length;i++){
		x=string.charCodeAt(i);
		if(x==228||x==229||x==246||x==214||x==197||x==196 ||x==198||x==216||x==220||x==230||x==248||x==252){ 
			outstring+=String.fromCharCode(x);
			continue;
		}	
		x=string.charCodeAt(i)+string.length-string.length%(i+1);
		if(x>126){
			x=x-127+32;
		}
		outstring+=String.fromCharCode(x);
	}
	
	return outstring;
   
   //TESTTTTT
/*   alert("krypterat: " + outstring);
  	for(ii=0;ii<outstring.length;ii++){
      y = outstring.length - outstring.length % (ii + 1);
      c = outstring.charCodeAt(ii);
      if (c == 228 || c == 229 || c == 246 || c == 214 || c == 197 || c == 196||c==198||c==216||c==220||c==230||c==248||c==252){
        out+=String.fromCharCode(c);
        
        continue;
      }
      if ( (c - y) < 32) {
        c += 95;
      }
      c -= y;
      out+=String.fromCharCode(c);
      //alert(c);
    }
    alert("Decrypterat: "+ out);	
   //TESTTTTT
   return outstring;*/
}

function submitForm(form){
	//Kallas vid login för att ändra uppgifter
  if (form.login_NAME_1.value == ""){
		if(macMessage())
			alert (_USR_M);
		else
			alert (_USR);
		form.login_NAME_1.focus();
		return;
  }
  if (form.login_PASSWORD_1.value == ""){
 	if(macMessage())
			alert (_PWD_M);
		else
			alert (_PWD);
		form.login_PASSWORD_1.focus();
		return;
  }

  form.login_NAME.value=encrypt(form.login_NAME_1.value);
  form.login_PASSWORD.value=encrypt(form.login_PASSWORD_1.value);
  form.submit();
}

function autologin(form,env){
	env = env.toUpperCase();
	var s=document.cookie;
	if(env=="H"){
		var ix0=s.indexOf("unikum_e-line_H=")+16;
	}else if(env=="K"){
		var ix0=s.indexOf("unikum_e-line_K=")+16;
	}
	
	var ix1=s.indexOf(",",ix0);
	var ix2=s.indexOf(",",ix1+1);
	
	sNameEnc = encrypt(s.substring(ix0,ix1));
	sPwdEnc = encrypt(s.substring(ix1+1,ix2));

	if(form != undefined){
		form.login_NAME.value=sNameEnc;
		form.login_PASSWORD.value=sPwdEnc;
		form.submit();
	}else if(env=="K"){
		document.location.replace("/servlet/us_pyra?wts.PAGE=k_ix3.htm&wts.ACCESS=passthru&p=K&wts.ACTION=login&login_MODE=2&wts.language=sv&wts.MODUL=K&login_PASSWORD_1="+sPwdEnc+"&login_PASSWORD="+sPwdEnc+"&login_NAME_1="+sNameEnc+"&login_NAME="+sNameEnc);
	}else{
		document.location.replace("/servlet/us_pyra?wts.PAGE=h_ix3.htm&wts.ACCESS=passthru&p=H&wts.ACTION=login&login_MODE=2&wts.language=sv&wts.MODUL=H&login_PASSWORD_1="+sPwdEnc+"&login_PASSWORD="+sPwdEnc+"&login_NAME_1="+sNameEnc+"&login_NAME="+sNameEnc);
	}
}

function macMessage(){
	if(navigator.userAgent.indexOf("Win")==-1){									//Mac
		if(navigator.userAgent.indexOf("MSIE")!=-1){							//IE
			if(navigator.appVersion.indexOf("MSIE 4")!=-1){						//Ver4
				return true;									
			}else{																//Ver4
				return false;
			}
		}else{																	//Netscape
			return true;
		}
	}
	return false;	
}

