// JavaScript Document
function login(form){
	if(checkInfo(form) == "false"){
		return false;
	}
	var lognResult = "";		
	loginResult = getLoginResult();
	switch(parseInt(loginResult)){
	case 6:
		alert(getString("UserDisabled"));
		document.location.reload();
		break;
	case 1:
		alert(getString("LoginNameError"));
		document.location.reload();
		break;
	case 2:
		alert(getString("RandError"));
		document.location.reload();
		break;
	case 3:
		islogin();//踢重复的用户
		loadMainFrame();
		break;
	case 4:
		alert(getString("SystemError"));
		document.location.reload();
		break;
	case 5:
		alert(getString("RoleError"));
		document.location.reload();
		break;
		
	case -1000: {
		// USB token validate
		caLogin();
		
		break;
	}
	default :
		alert(loginResult);
		document.location.reload();
		break;
	}
}

function islogin() {//用户登陆之前，把重复的用户踢掉。
	var servlet = "servlet/com.wisecrm.pages.home.Logout";
	var userOnlineId = Sys.getUserOnlineId();
	var userId = Sys.getUserId();
	var userDoc = userbuildReqXML(userId,userOnlineId);
	var resXml = Sys.XMLHttpRequest(userDoc, servlet,"action","onlineDoc");  
}

function userbuildReqXML(userId,userOnlineId) {
	var xmlDoc = null;
	xmlDoc = "<root userId = '" + userId
          + "' onlineId = '"+ userOnlineId +"'/>";
	return xmlDoc;
}
	 
function loadMainFrame() {

	var winHeight = "height=" + (window.screen.availHeight - 50) + ", ";
	var winWidth = "width=" + (window.screen.availWidth - 12) + ", ";
	if (window.name == "WISECRM_MAIN") {
		window.name = "";
	}
	window.open("app?service=page/loader", "", 
    			winHeight + winWidth + "top=0, left=0, menubar=0, location=0, resizable=1, status=1");
	window.resizeTo(1, 1);
	window.moveTo(window.screen.width/2-1000, window.screen.height/2-1000);/*    			
	try {
		window.opener = null;
	} catch (exception) {
		// do nothing...
	}
	window.close();
*/
}

function getLoginResult(){
	
	var loginName, password, wsrand,param,langObj,langValue, macAddress;
	loginName = document.getElementById("loginName").value;
	password = document.getElementById("password").value;
	wsrand = document.getElementById("validateCode").value;
	langObj = document.getElementsByName("languageType");
	macAddress = document.getElementById("txtMACAddr").value;
	
	for (var i=0; i<langObj.length; i++) {
    	if(langObj[i].checked){
			langValue = langObj[i].value;
		}
	}
	
	paramXml = "<loginInfo><loginName>" + loginName + "</loginName><password>" + password + "</password>" + 
			   "<wsrand>" + wsrand + "</wsrand><langType>"+langValue+"</langType><macAddress>" + macAddress + "</macAddress></loginInfo>";
	var xmlData = XmlDocument.create();
	xmlData.loadXML(paramXml);

	var xmlHttp = XmlHttp.create();
    var sUri = "getLogin";

    xmlHttp.open("POST", sUri, false);
    xmlHttp.send(xmlData);   
    return xmlHttp.responseText;
}

function cancel(){
		window.close();
}

function window.onload(){
	if (window.screen.width < 768) {
		alert(getString("ScreenRequire"));
	}
	getPageOtherString();
	//window.document.getElementById("login_Table").background = Sys.XMLHttpRequest(xml,"servlet/com.wisecrm.servlet.logonImageSetting.PersonalSettingServlet","action","setImage");
	if(readCookie('ckLoginName')!=false){
		var xml = "<entity value='" + readCookie('ckLoginName') + "'/>"
		window.document.crmForm.loginName.value = Sys.XMLHttpRequest(xml,"encodeURL","action","decode");
		window.document.crmForm.password.focus();
	} else{
		window.document.crmForm.loginName.focus();
	}
	var multiObj = $("multiLanguage");
	if(readCookie('ckLangType')!=false){
		var ckLangType = readCookie('ckLangType');
		langObj = getElementsByName_iefix("input", "languageType",multiObj);
		if(langObj) {
			for (var i=0; i<langObj.length; i++) {
		    	if(langObj[i].value == ckLangType){
					langObj[i].checked = true;
					choice(langObj[i].value);
				}
			}
		}
	} else {
		if(multiObj != null && multiObj != ""){
			$("lb_simplifiedChinese").click();
		}
		
	}
}

function autoSumbit(code){
	var charcode=(navigator.appName=="Netscape")?code.which:code.keyCode;
	if(charcode == 13) {
		login("crmForm");
	}
}

function checkInfo(form){
	var pass = "true";
	var elements = Form.getElements(form);
	for (var i = 0; i < elements.length; i++) {
		var element = elements[i];
		if(element.value == "" && element.id != "txtMACAddr"){
			if(map.size>0) {
				alert(document.getElementById("lb_" + element.id).firstChild.nodeValue + "," + map.get("InputValue"+langChoice).toString());
			} else {
				alert(document.getElementById("lb_" + element.id).firstChild.nodeValue + "," + Sys.getString("InputValue").toString());
			}
			element.focus();
			pass = "false";
			break;			
		}
	} 
	return pass;
}

function getPageOtherString() {
	var langObj = $("multiLanguage");
	if(!langObj)
	  return;
	getStrings(reqArray);
}

var map = new Map(); 
var reqArray = ["LoginName","Password","ValidateCode","Login","Close","DownCTIDriverDescription","CTIDriver","simplifiedChinese","traditionalChinese","EnglishLanguage","InputValue"];
var langChoice = "zh_CN";
function getStrings(keys){
   	var doc = XmlDocument.create();
    doc.loadXML("<paramInfo/>");
    for(var i=0; i<keys.length; i++){
    	var node = doc.createElement("key");
    	node.setAttribute("value", keys[i]);
    	 doc.firstChild.appendChild(node);
    }
    var result = Sys.XMLHttpRequest(doc.xml, "servlet/com.wisecrm.servlet.LanguageServlet?skipCookieAutoUpdate=true", "multiLang", "true");
    var resDoc = XmlDocument.create();
    resDoc.loadXML(result);
	var nodeList = resDoc.selectNodes("//keys");
	for(var i=0; i<nodeList.length; i++) {
		var infoNode = nodeList.item(i);
		langType = infoNode.getAttribute("langType");
		keyLabelEles = infoNode.childNodes;
		for(var j=0; j<keyLabelEles.length; j++){
			map.put(keyLabelEles[j].getAttribute("value")+langType, keyLabelEles[j].getAttribute("label"));
		}
	}
	if(map.size()>0) {
		$("multiLanguage").style.display = "";
	}
}

 function choice(langType){
	langChoice = langType;
	try{
		for(var i=0; i < reqArray.length; i++) {
			$("lb_" +reqArray[i]).innerText = map.get(reqArray[i] + langType).toString();
		}
	}catch(e) {};
 }
 
function getElementsByName_iefix(tag, name, obj) {
	if(!obj || obj =="" || obj == null)
		return false;
	var elem = obj.getElementsByTagName(tag);
	var arr = new Array();
	for(i = 0,iarr = 0; i < elem.length; i++) {
		att = elem[i].getAttribute("name");
		if(att == name) {
			arr[iarr] = elem[i];
			iarr++;
		}
	}
	return arr;
}


var caLogin = function(){
	var url = $('__ca_login_url').value;
		
	var winHeight = "height=" + (window.screen.availHeight - 50) + ", ";
	var winWidth = "width=" + (window.screen.availWidth - 12) + ", ";
	if (window.name == "WISECRM_MAIN") {
		window.name = "";
	}
	window.open(url, "", winHeight + winWidth + "top=0, left=0, menubar=0, location=0, resizable=1, status=1");
	window.resizeTo(1, 1);
	window.moveTo(window.screen.width/2-1000, window.screen.height/2-1000);
}
