var g_szOutputChar = ""; //var g_szLangType = "en-US"; var defaultTmpDoc = null; var langCoolie = "en-US"; var oXmlDoc = null; var curlang = ""; var Langver = ""; var fontLen = 13; var reloadPage = false; function loadLanguage() { oXmlDoc = new ActiveXObject("Microsoft.XMLDOM"); oXmlDoc.async = false; var bRet = oXmlDoc.load(langPath); if (bRet == false) { oXmlDoc.load("lang\\" + LangDefault+ ".xml"); } } function ReadLangVer() { var url = "/lang/lang_version?timeStamp=" + new Date().getTime(); var val = ""; xmlHttp = new XMLHttpRequest(); xmlHttp.open("Get", url, false); xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.send(null); if(xmlHttp.status == 200) { val = xmlHttp.responseText.split("\""); curlang = val[1]; Langver = val[3]; } } function makeRequest(url) { http_request = false; if (window.XMLHttpRequest) // Mozilla, Safari,... { http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); } } if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } http_request.open('GET', url, false); http_request.send(null); } function loadLanguageNoneIE() { //ReadLangVer(); makeRequest(langPath + "?" + curlang + "&" + Langver ); oXmlDoc = http_request.responseXML; } function getOs() { var OsObject = ""; if(navigator.userAgent.indexOf("MSIE")>0) { if(navigator.userAgent.indexOf("MSIE 9.0")>0) return "IE9"; else return "IE"; } if(navigator.userAgent.indexOf("Android")>=0) { return "Android"; } if(navigator.userAgent.indexOf("Firefox")>0){ return "Firefox"; } if(navigator.userAgent.indexOf("Safari")>0) { return "Safari"; } if(navigator.userAgent.indexOf("Opera")>=0) { return "Opera"; } if(navigator.userAgent.indexOf("BlackBerry")>=0) { return "BlackBerry"; } } function CheckLang() { langCoolie = getCookies("lang"); if(langCoolie == undefined) { langCoolie = LangDefault; } if( langCoolie == "upload") { if(getOs().indexOf("IE") >= 0) { langPath = "lang_upload\\language.xml"; }else{ langPath = "lang_upload/language.xml"; } }else{ if(getOs().indexOf("IE") >= 0) { langPath = "lang\\"+langCoolie+".xml"; }else{ langPath = "lang/"+langCoolie+".xml"; } } switch(langCoolie) { default: case "en-US": fontLen = 8; break; case "zh-TW": case "ja-JP": case "ko-KR": case "cs-CZ": fontLen = 20; break; } } function loadLangString(strtag,display) { var os = getOs(); if (os.indexOf("IE")>=0){ if(oXmlDoc == null ) { CheckLang(); loadLanguage(); } g_szOutputChar = getData(oXmlDoc, "STRING/"+strtag); if(g_szOutputChar=="") { if(defaultTmpDoc == null) { defaultTmpDoc = new ActiveXObject("Microsoft.XMLDOM"); } defaultTmpDoc.async = false; defaultTmpDoc.load("lang\\"+LangDefault+".xml"); g_szOutputChar = getData(defaultTmpDoc, "STRING/"+strtag); if(g_szOutputChar=="") g_szOutputChar="Error"; } }else{ if(oXmlDoc == null ) { CheckLang(); loadLanguageNoneIE(); } try{ g_szOutputChar=oXmlDoc.getElementsByTagName(strtag)[0].firstChild.nodeValue; //getElementsByTagName(strtag)[0].childNodes[0].nodeValue; } catch(e){ try{ makeRequest("lang/"+LangDefault+".xml"); oXmlDoc = http_request.responseXML; g_szOutputChar=oXmlDoc.getElementsByTagName(strtag)[0].firstChild.nodeValue; //getElementsByTagName(strtag)[0].childNodes[0].nodeValue; makeRequest(langPath); //get user set language. } catch(e){ g_szOutputChar="Error"; //jack add for strtag is not in XML's Tag oXmlDoc = null; } } } if(display==true) document.write(g_szOutputChar); return g_szOutputChar; } // This function is used to get the date of a XML element function getData(oDoc, szXmlPath) { var szRetval = ""; var NodeObj=oDoc.selectSingleNode(szXmlPath); if (NodeObj) szRetval = NodeObj.text; return szRetval; } function getLanguage() { lang=loadLangString("L_LanguagePack",false); return lang; } function setCookies(name,value) { var Days = 30; // cookie will keep 30 days. var exp = new Date(); //new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString(); } function getCookies(name) { var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); if(arr != null) return unescape(arr[2]); return null; } function delCookies(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie=name +"="+cval+";expires="+exp.toGMTString(); } function getLangUicode() { return loadLangString("L_LocalLanguage",false); } function ChangeLang(it) { setCookies("lang",it.value); top.location.reload(true); } function GetLangList() { var i = 0; var vXmlDoc = null, vString = "", vLang = "" , totalString = "", vFile = ""; var ie8 = false, uplaod_Lang = "L_Current_Lang", upload_file = "L_Lang"; if(getOs().indexOf("IE") >= 0) { vXmlDoc = new ActiveXObject("Microsoft.XMLDOM"); vXmlDoc.async = false; vXmlDoc.load("lang\\lang_list.xml"); if( getOs() == "IE") //IE 8 only { ie8 = true; } for(i = 0; i< 9; i++) { vString = getData(vXmlDoc, "STRING/L_"+i); vFile = getData(vXmlDoc, "STRING/L_"+i+"1"); if(vString == "") { break; } totalString += vString + ":"; EID("langSel").options[i]=new Option(vString,vFile); if( vFile == "ru-RU" && ie8 == true) { EID("langSel").style.width = "150px"; } } vXmlDoc.async = false; vXmlDoc.load("lang_upload\\language.xml"); vString = getData(vXmlDoc, "STRING/" + uplaod_Lang); if(vString != "") { EID("langSel").options[i]=new Option(vString,"upload"); vString = getData(vXmlDoc, "STRING/" + upload_file); } }else{ makeRequest("lang/lang_list.xml"); vXmlDoc = http_request.responseXML; for(i = 0; i< 9; i++) { try{ vString = vXmlDoc.getElementsByTagName("L_" + i)[0].firstChild.nodeValue; } catch(e){ break; } vFile = vXmlDoc.getElementsByTagName("L_" + i + "1")[0].firstChild.nodeValue; totalString += vString + ":"; vLang = vXmlDoc.getElementsByTagName("L_" + i + "1")[0].firstChild.nodeValue + ":"; EID("langSel").options[i]=new Option(vString,vFile); } makeRequest("lang_upload/language.xml"); vXmlDoc = http_request.responseXML; try{ vString = vXmlDoc.getElementsByTagName(uplaod_Lang)[0].firstChild.nodeValue; if(vString != "") { EID("langSel").options[i]=new Option(vString,"upload"); vString = vXmlDoc.getElementsByTagName(upload_file)[0].firstChild.nodeValue; } } catch(e){ } } if( vString != "" && langCoolie == "upload" ) { switch(vString) { case "zh-TW": case "ja-JP": case "ko-KR": case "cs-CZ": fontLen = 20; break; } } return ; }