// 登录表单检查处理函数
function fCheck(){
	var s = "";
	var fm = document.form;
	s = fm.style.value;

	fm.user.value = fTrim(fm.user.value); //格式化用户名输入字符.
	
	if(!fCheckCookie()){
		return false;
	}
	if( fm.user.value =="") {
		$("error_div").innerHTML = "请输入你的用户名";
		fm.user.focus();
		return false;
	}

	if( fm.password.value.length =="") {
		document.getElementById("error_div").innerHTML = "请输入你的密码";
		fm.password.focus();
		return false;
	}
	//是否记住用户名
	var remUser = fm.remUser.checked?true:false;
	
	if( remUser){
		setCookie("Emailuser",fm.user.value,false);
	}else{
		setCookie("Emailuser","",false);;
	}

    var url;
	url = "login.asp";

    fm.action = url;
	fm.SecEx.value = fm.secure.checked;
	fm.username.value = fm.user.value
	fm.pwhidden.value = encode(fm.password.value, parseInt(fm.picnum.value));
	
	setTimeout(function(){fm.submit();},200);
	
	return false;
}
function fTrim(str)
{
	return str.replace(/(^\s*)|(\s*$)/g, "");
}

function setCookie(name, value, isForever) {
	document.cookie = name + "=" + escape(value) + ";"  + (isForever?";expires="+  (new Date(2099,12,31)).toGMTString():"");
}

function getCookie(name) {
   var vsearch = name + "="
   if(document.cookie.length > 0) {
      offset = document.cookie.indexOf(vsearch)
      if(offset != -1) {
         offset += vsearch.length
         end = document.cookie.indexOf(";", offset)
         if(end == -1) end = document.cookie.length
         return unescape(document.cookie.substring(offset, end))
      }
      else return ""
   }
}

//登录初始化函数.
function fInitUser(ruser,rpwd)
{
	  var fm = window.document.form;
	  if (ruser=="" || rpwd=="") {
		  var name = getCookie("Emailuser");
		  if( name != ""){
			  fm.user.value = name;
			  fm.remUser.checked=true;
			  fm.password.focus();
		  }else{
			  fm.user.focus();
		  }
	  }else{
		  fm.user.value=ruser;
		  fm.password.value=rpwd;
		  return fCheck();
	  }
}

//检测浏览器cookie设置
function fCheckCookie(){
	var remUser = document.getElementsByName("remUser");
	var cookieEnabled=(navigator.cookieEnabled)? true : false;
	if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){
		document.cookie="testcookie";
		cookieEnabled=(document.cookie=="testcookie")? true : false;
		document.cookie="";
	}
	if(remUser.length>0){
		if(remUser[0].checked && !cookieEnabled){
			window.alert("您好，您的浏览器设置禁止使用cookie。您登录邮箱时选中了&ldquo;保存用户名&rdquo;选项，该选项要求浏览器启用cookie设置。");
			return false;
		}
	}
	return true;
}

function $( id ){return document.getElementById( id );}

function numMailTip(isNum){
	var oTip =	document.getElementById("oTip");
	if (isNum==0){
    oTip.style.display = "none";
	}else{
	oTip.style.display = "block";
	}
	window.document.form.password.focus();	
}

//用户名自动处理函数
function fCheckAccount(oThis){
   
   var sAccount = oThis.value;
	if (sAccount!=""){
		var bAt;
		bAt = sAccount.indexOf("@") == -1;
		if(bAt){
			var from= window.location.host;
			var s=from.length;
			var i = from.indexOf(".");
			if (i>1){
				var b = from.split(".").length-1;
				if (b>1){
			    from=from.substring(i+1,s);
				}
			}
		    oThis.value=sAccount+ "@" + from;
		}
	numMailTip(1);
	}
}


function unfCheckAccount(){
	var fm = window.document.form.user;
	var sAccount = fm.value;
	var bAt;
	bAt = sAccount.indexOf("@") == -1
	if(!bAt){
	var aAccountSplit;
	aAccountSplit=sAccount.split("@");
	fm.value=aAccountSplit[0];
	}
	numMailTip(0);
}

function fRandomTheme(){

	var rdnum = Math.floor(oThemes.length * Math.random());
	document.getElementById("divLink").innerHTML = oThemes[rdnum].link;
	document.getElementById("divText").innerHTML = oThemes[rdnum].text;
	document.getElementById("divTheme").style.backgroundImage = "url("+oThemes[rdnum].bgimg+")";



	window.onresize = function(){
		var minh = 720;
		var minw = 960;
		$("divPage").style.height = document.documentElement.offsetHeight < minh ? minh+"px" : "100%";
		$("divPage").style.width = document.documentElement.offsetWidth < minw ? minw+"px" : "auto";
	}

	window.onresize();

	if( $("iptUser").value=="") {
		$("iptUser").focus();
	} else {
		$("iptPwd").focus();
	}

}

function fIndexPreload(){
	try{
		var frmJs3 = $("frmJs3");
		var oDoc = frmJs3.contentWindow.document;
		oDoc.open();
		oDoc.write('<html><head><scr'+'ipt>window.onerror=function(){return true;}</scr'+'ipt></head><body></body></html>');
		oDoc.close();
		var oJs = oDoc.createElement("script");
		oJs.setAttribute("src", "styles/js/index.js");
		oJs.setAttribute("type", "text/javascript");
		oDoc.body.appendChild(oJs);
		var oCss = oDoc.createElement("link");
		oCss.setAttribute("href", "styles/lib/jscss/globle_v2.css");
		oCss.setAttribute("rel", "stylesheet");
		oCss.setAttribute("type", "text/css");
		oDoc.body.appendChild(oCss);
		var oImg = oDoc.createElement("img");
		oImg.setAttribute("src", "styles/lib/images/global.png");
		oImg.setAttribute("alt", "");
		oDoc.body.appendChild(oImg);
	}catch(e){}
}

function fTimeout(){	//显示超时提示框
	$("Errormsgblock").style.display = "block";
	$("Errormsgblock").focus();
	var fm = document.form;
	    $("enhttpTips").innerHTML = '请您稍后，系统将在<span id="backwards">30</span>&nbsp;秒后自动重试。';
		$("backwards").innerHTML = 30;		
		window.gBackwards = setInterval(function(){
									$("backwards").innerHTML = $("backwards").innerHTML -1;
									if( $("backwards").innerHTML == "0" ){
										clearInterval( window.gBackwards );
										$("Errormsgblock").style.display = "none";
										fCheck();
									}
										},1000);
	$("idLoginBtn").innerHTML = "取消重试";
	$("idLoginBtn").onclick = function()
	{
		fm.user.focus();
		$("Errormsgblock").style.display = "none";
		return false;
	};
}

function fBodyOnLoad(ruser,rpwd){

	//随机主题
    fRandomTheme();	
     //引擎预加载
    fIndexPreload();
	//初始化用户名
	fInitUser(ruser,rpwd);
}

function fShowError(Errcode){

   if (!Errcode){return false;}
   switch(Errcode)
   {
   case 1:
		 $("error_div").innerHTML = "错误的用户名或密码！请再次输入。";
		 break;
   case 2:
		 $("error_div").innerHTML = "短时间内失败次数过多，请稍候再试。";
		 break;
   case 3:
		 $("error_div").innerHTML = "管理员登录IP地址错误。";
		 break;
   case 4:
		 $("error_div").innerHTML = "系统临时维护中或您的IP访问受限。";
		 break;
   case 5:
		 fTimeout();
		 break;
   default:
		 fTimeout();
   }
   
}


//winwebmail密码传输加密函数
function encode(datastr, bassnum) {
	var tempstr;
	var tchar;
	var newdata = "";

	for (var i = 0; i < datastr.length; i++)
	{
		tchar = 65535 + bassnum - datastr.charCodeAt(i);
		tchar = tchar.toString();

		while(tchar.length < 5)
		{
			tchar = "0" + tchar;
		}

		newdata = newdata + tchar;
	}

	return newdata;
}
