/*------------------------
DOMParser for IE and Safari
---------------*/
if (typeof DOMParser == "undefined") {
   DOMParser = function () {}

   DOMParser.prototype.parseFromString = function (str, contentType) {
      if (typeof ActiveXObject != "undefined") {
         var d = new ActiveXObject("MSXML.DomDocument");
         d.loadXML(str);
         return d;
      } else if (typeof XMLHttpRequest != "undefined") {
         var req = new XMLHttpRequest;
         req.open("GET", "data:" + (contentType || "application/xml") +
                         ";charset=utf-8," + encodeURIComponent(str), false);
         if (req.overrideMimeType) {
            req.overrideMimeType(contentType);
         }
         req.send("");
         return req.responseXML;
      }
   }
}

function getXMLHTTP(){
	var xmlhttp = null;
	if (window.XMLHttpRequest){ // code for IE7, Firefox, Opera, etc.
		xmlhttp = new window.XMLHttpRequest();
	}else { // code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}	
	return xmlhttp;
}

function loginHandle(memberID,memberPassword,loginChecked){
	
	if ((memberID == null || memberID == "") && (memberPassword == null || memberPassword == "")) {
	    alertByLang("Please enter Username and Password.", "請輸入會員編號及密碼。", "请输入会员编号及密码。");
		return;
	}
	if (memberID == null || memberID == "") {
	    alertByLang("Please enter Username.", "請輸入會員編號。", "请输入会员编号。");
		return;
	}
	if (memberPassword == null || memberPassword == "") {
	    alertByLang("Please enter Password.", "請輸入密碼。", "请输入密码。");
		return;
	}
	if(loginChecked){
			var url = "/ajax/UserProxy.aspx?action=login&userName=" + memberID + "&userPassword=" + memberPassword + "&save=true";
	}else{
			var url = "/ajax/UserProxy.aspx?action=login&userName=" + memberID + "&userPassword=" + memberPassword + "&save=false";
	}

	var xmlhttp = getXMLHTTP();	
	if (xmlhttp!=null){
	    xmlhttp.onreadystatechange = function() {
	        if (xmlhttp.readyState == 4) {
	            if (xmlhttp.status == 200) { // 200 = "OK"
	                var xmlDoc = null;
	                if (window.XMLHttpRequest) { // code for IE7, Firefox, Opera, etc.
	                    parser = new DOMParser();
	                    xmlDoc = parser.parseFromString(xmlhttp.responseText, "text/xml");
	                 //   alert(xmlhttp.responseText);
	                } else { // code for IE6, IE5
	                    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	                    xmlDoc.async = "false";
	                    xmlDoc.loadXML(xmlhttp.responseText);
	                }
	                loginCheck(xmlDoc);
	            }
	            else {
	                alertByLang("Problem retrieving XML data: " + xmlhttp.statusText, "擷取可延伸標示語言時出現問題: " + xmlhttp.statusText, "撷取可延伸标示语言时出现问题: " + xmlhttp.statusText);
	            }
	        }
	    };
		xmlhttp.open("POST",url,true);
		xmlhttp.send("");
		
	}else{
	    alertByLang("Your browser does not support XMLHTTP.", "瀏覽器不支援 XMLHTTP。", "浏览器不支援 XMLHTTP。");
  	}
}

function login(lang) {
	var url = "/ajax/UserProxy.aspx?action=load";
	var xmlhttp = getXMLHTTP();	
	if (xmlhttp!=null){
		xmlhttp.onreadystatechange=function(){
	if (xmlhttp.readyState==4){
		if (xmlhttp.status==200){ // 200 = "OK"
			var xmlDoc = null;
			if (window.XMLHttpRequest){ // code for IE7, Firefox, Opera, etc.
				parser = new DOMParser();
				xmlDoc = parser.parseFromString(xmlhttp.responseText, "text/xml");
			}else { // code for IE6, IE5
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async = "false";
				xmlDoc.loadXML(xmlhttp.responseText);
			}
			login2(xmlDoc,lang);
	    }
	  	else{
	  	    alertByLang("Problem retrieving XML data: " + xmlhttp.statusText, "擷取可延伸標示語言時出現問題: " + xmlhttp.statusText, "撷取可延伸标示语言时出现问题: " + xmlhttp.statusText);
	    }
	}
}
		xmlhttp.open("POST",url,true);
		xmlhttp.send("");
	}else{
  		alertByLang("Your browser does not support XMLHTTP.", "瀏覽器不支援 XMLHTTP。", "浏览器不支援 XMLHTTP。");
  	}
}
function logout() {
	var x = window.confirm("Click OK to logout.")
	if (x) {
		var url = "/ajax/UserProxy.aspx?action=logout";
		var xmlhttp = getXMLHTTP();	
	if (xmlhttp!=null){
		xmlhttp.onreadystatechange=function (){
	if (xmlhttp.readyState==4){
		if (xmlhttp.status==200){ // 200 = "OK"
			var xmlDoc = null;
			if (window.XMLHttpRequest){ // code for IE7, Firefox, Opera, etc.
				parser = new DOMParser();
				xmlDoc = parser.parseFromString(xmlhttp.responseText, "text/xml");
			}else { // code for IE6, IE5
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async = "false";
				xmlDoc.loadXML(xmlhttp.responseText);
			}
			window.location.reload();
	    }
	  	else{
	  	   	alertByLang("Problem retrieving XML data: " + xmlhttp.statusText, "擷取可延伸標示語言時出現問題: " + xmlhttp.statusText, "撷取可延伸标示语言时出现问题: " + xmlhttp.statusText);
	    }
	}
}
		xmlhttp.open("POST",url,true);
		xmlhttp.send("");
	}else{
  		alertByLang("Your browser does not support XMLHTTP.", "瀏覽器不支援 XMLHTTP。", "浏览器不支援 XMLHTTP。");
  	}
		
	}
}



function loginCheck(xmlDoc) {

    var loginValidation = xmlDoc.getElementsByTagName("loginValidation")[0].firstChild.nodeValue;
    
    
    if (loginValidation == "false"){
        alertByLang("Invalid User Name and Password.", "會員編號及密碼錯誤。", "会员编号及密码错误。");
    }
        
    else if (loginValidation == "true") {

    var loginStatus = xmlDoc.getElementsByTagName("acc_status")[0].firstChild.nodeValue;
    
        if (loginStatus == "D") {
            alertByLang("You account is disabled.", "你的帳號已被停用。", "你的帐号已被停用。");
        }
        
        else if (window.location.search.substring(1)) {

            var qs = window.location.search.substring(1);

            if (qs.substring(0, 10) == "return_url") {
                window.location = qs.substring(11);
                
            } else {
                window.location = "/en/index.aspx";
            }
        } else {
            window.location = "/en/index.aspx";
        }
		
    } 

}	
function login2(xmlDoc,lang){
    var loginValidation = xmlDoc.getElementsByTagName("loginValidation")[0].firstChild.nodeValue;
 	
	if(loginValidation == "true"){

	    var fname = document.getElementsByTagName("fname");
	    
	/*
		var userLogin = document.getElementsByTagName("userLogin");
		var fname = document.getElementsByTagName("fname");	
		var lname = document.getElementsByTagName("lname");
		var comp_code = document.getElementsByTagName("comp_code");
		var position = document.getElementsByTagName("position");
		var email = document.getElementsByTagName("email");
		var tel = document.getElementsByTagName("tel");
		var fax = document.getElementsByTagName("fax");
	*/
		//alert(fname[0].nodeValue);
		document.getElementById("memberLogin").innerHTML="<a href=\"javascript:logout();\"><img src=\"/"+lang+"/images/btn_logout.gif\" alt=\"Member Logout\" /></a>";
		if(document.getElementById('btnEdit1')!=null&&document.getElementById('btnEdit2')!=null){
			/**disable for prod** enabled on 2Jul*/
			document.getElementById('btnEdit1').style.display = "";
			document.getElementById('btnEdit2').style.display = "";
			//document.getElementById('btnEdit1').style.display = "none";
			//document.getElementById('btnEdit2').style.display = "none";
			
		}
		//document.getElementsById("welcomeMsg").innerHTML="Welcome back, "+ fname[0].childNodes[0].nodeValue;
		
	}else{
		var org_address = document.location;
		document.getElementById("memberLogin").innerHTML="<a href=\"/en/other/login.aspx?return_url="+org_address+"\"><img src=\"/"+lang+"/images/btn_login.gif\" alt=\"Member Login\" /></a>";
		if(document.getElementById('btnEdit1')!=null&&document.getElementById('btnEdit2')!=null){
			document.getElementById('btnEdit1').style.display = "none";
			document.getElementById('btnEdit2').style.display = "none";
		}

		//document.getElementsById("welcomeMsg").innerHTML="Welcome";
	}
}

