﻿        var isQuickAuth = false;
        var allowTopWindow = false;
 
		function f_init() {
			if(!isQuickAuth){
			 	document.getElementById("id_userName").value=getCookie("hello1");
			 	var serviceTypeValue;
			    if(getCookie("hello2") == "true")
			    {
                    serviceTypeValue = getCookie("hello4");
			        document.getElementById("id_isSavePwd").checked = true;
			        document.getElementById("id_userPwd").value = encrypt(getCookie("hello3"));
			    }
			    else
			    {
			    	serviceTypeValue = '';
			        document.getElementById("id_isSavePwd").checked = false;
			        document.getElementById("id_userPwd").value = "";
			    }
                
                var isMatch = false;
                var k = 0;   
 
                if (isMatch) {
                  document.getElementById("id_serviceType").selectedIndex = k + 1;
                } else {
                  document.getElementById("id_serviceType").selectedIndex = 0;
                }
 
 
			}
			var testWin = window.open('','testWin','height=1px,width=1px');
			if(testWin!=null && !testWin.closed){
				allowTopWindow = true;
				testWin.close();
			}else{
				allowTopWindow = false;
			}
		}
 
		function f_login(){
			
			if(!isQuickAuth){
				
				// userName
				var userName;
				var serviceTypeId = document.getElementById("id_serviceType").value;
				if(serviceTypeId != "" && -1 == document.getElementById("id_userName").value.indexOf('@'))
				{
					userName=document.getElementById("id_userName").value + "@" + serviceTypeId;
				}else{
					userName=document.getElementById("id_userName").value;
				}
				// check username
				if(!checkUserName(userName)){
					return false;
				}
				document.getElementById("id_userName_").value=userName;
				
				// userPwd
				document.getElementById("id_userPwd_").value=base64(document.getElementById("id_userPwd").value);
				
				setCookie("hello1",document.getElementById("id_userName").value);
				setCookie("hello2",document.getElementById("id_isSavePwd").checked);
				if(document.getElementById("id_isSavePwd").checked)
				{
				    setCookie("hello3",encrypt(document.getElementById("id_userPwd").value));
                    setCookie("hello4", document.getElementById("id_serviceType").value);				    
				}
				else
				{
				    setCookie("hello3","");
				    setCookie("hello4", "");				    
				}
	    	}
			// 若允许才提交到弹出窗口. 
			if( allowTopWindow ){
		    	// 为了保证每个弹出窗口的唯一性,为窗口名称附加一个数值串
			    var winName='loginWindow'+(new Date).getTime();
				var subWin = window.open('', winName, 'height=200,width=210,status=yes,toolbar=no,menubar=no,location=no,titlebar=no,scrollbars=no,resizable=0,directories=no');
				document.form1.target=winName;
			}
			document.form1.action="http://192.168.5.180:8081/portal/login.jsp";
			document.form1.submit();
	    }
    
		function f_logout(){
  			// 若允许才提交到弹出窗口. 
  			if(allowTopWindow){
			    // 为了保证每个弹出窗口的唯一性,为窗口名称附加一个数值串
				var winName='logoutWindow'+(new Date).getTime();
				var subWin = window.open('', winName, 'height=200,width=210,status=yes,toolbar=no,menubar=no,location=no,titlebar=no,scrollbars=no,resizable=0,directories=no');
				document.form1.target=winName;
  			}
			document.form1.action='http://192.168.5.180:8081/portal/logout.jsp?language=Chinese';
			document.form1.submit();
		}
		
		/* check username. attribute: userName = "name" + "domain" */
		function checkUserName(userName){
			var re=/^[\s]*$/;
		    if(userName.match(re)) {
		       alert("请输入用户名。");
		       return false;
		    }
		    re = /^[\ ]*([\w\-\_\@\.]+[\ ]?[\w\-\_\@\.]*)*[\w\-\_\@\.]*[\ ]*$/;
		    if(!userName.match(re)){
		       alert("用户名只能包含如下合法字符：[A,Z]∪[a,z]∪[0,9]∪{ -_.@}，且不能包含连续的空格。");
		       return false;
		    } 
		    // User name only have one character '@' at most and the character can not at the beginning of the user name.
		    re = /^[\ ]*[\@]$/;
		    if(-1 != userName.indexOf('@') && 
		      (userName.indexOf('@') != userName.lastIndexOf('@') 
		        || userName.substring(0, userName.indexOf('@') + 1).match(re))) {
		      alert("用户名格式有误，请输入形如name或name@suffix的用户名。");
		      return false;
		    }
		    
		    return true;
		}
		

