var g_szOutputChar=""; var g_szLangType="en-US"; var g_supportLang="en-US,zh-Hant,zh-Hans,ja-JP,es-ES,da-DK,de-DE,el-GR,ko-KR,tr-TR,it-IT,pt-PT,hu-HU,cs-CZ,fr-FR,ml-NL"; var defaultTmpDoc=null; var oXmlDoc=null; var btnLen=8; function loadLanguage() { //alert("load!!"); oXmlDoc=new ActiveXObject("Microsoft.XMLDOM"); oXmlDoc.async=false; var bRet=oXmlDoc.load("lang\\language.xml"); if(bRet==false){ oXmlDoc.load("lang\\default.xml"); } } function makeRequest(url) { http_request=false; //debugger;//Jason test if(window.XMLHttpRequest){//Mozilla,Safari,... http_request=new window.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); } //JasonLiu 2008/11/7 . Porting firefox form 8120 //jack add start,2008/7/16 function style_display_on() { var ie=getOs(); if(ie.indexOf("IE")>=0 && getOs()!="IE10"){//IE return "block"; } else{//Mozilla,Safari,... return "table-row"; } } //jack add end ,2008/7/16 //jack add start for FF & safari function hex2rgb(hex) { var r=(0xFF0000 & hex)>>16; var g=(0x00FF00 & hex)>>8; var b=(0x0000FF & hex); return "rgb("+r+","+g+","+b+")"; } //jack add end for FF & safari function show_blank_on() { if(getOs().indexOf("IE")>=0){ document.getElementById('table1').style.display="none"; } } function show_blank_off() { if(getOs().indexOf("IE")>=0){ document.getElementById('table1').style.display="block"; } } function getSysOs() { var OsObject=""; if(navigator.userAgent.indexOf('Windows NT 10.0')>0){ OsObject="win10"; } else if(navigator.userAgent.indexOf('Windows NT 6.1')>0){ OsObject="win7"; } else{ OsObject="win7"; } return OsObject; } //jack add start to know browser function getOs() { var OsObject=""; if(navigator.userAgent.indexOf("MSIE")>0){ if(navigator.userAgent.indexOf("MSIE 10.0")>0) return "IE10"; else if(navigator.userAgent.indexOf("MSIE 9.0")>0) return "IE9"; else if(navigator.userAgent.indexOf("MSIE 8.0")>0) return "IE8"; else if(navigator.userAgent.indexOf("MSIE 7.0")>0) return "IE7"; else return "IE6"; } if(isEdge=navigator.userAgent.indexOf("Edge")>=0){ return "Edge"; } if(navigator.appName=="Netscape" && navigator.userAgent.indexOf("Trident")>0){ return "IE11+"; } if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ return "Firefox"; } if(isSafari=navigator.userAgent.indexOf("Safari")>0){ return "Safari"; } if(isOpera=navigator.userAgent.indexOf("Opera")>=0){ return "Opera"; } } //jack add end //PDL: //This function is used to read the string of each localization //(according to the location of OS) // //get a XML parser //use this XML parser to get the string function loadLangString(strtag,display) { var os=getOs(); if(os.indexOf("IE")>=0){ //If banner isn't exist,load again. if(top.topFrame==null){ if(oXmlDoc==null){ loadLanguage(); var btn=getData(oXmlDoc,"STRING/L_Lang"); switch(btn){ default: case "en-US": btnLen=8;break; case "zh-Hant": case "zh-Hans": case "ja-JP": case "ko-KR": btnLen=16;break; case "cs-CZ": btnLen=12;break; } } //Banner is exist but not load language. } else if(top.topFrame.oXmlDoc==null){ oXmlDoc=top.topFrame.oXmlDoc; loadLanguage(); top.topFrame.oXmlDoc=oXmlDoc; //Banner is exist and load language. } else if(oXmlDoc==null){ oXmlDoc=top.topFrame.oXmlDoc; } g_szOutputChar=getData(oXmlDoc,"STRING/"+strtag); if(g_szOutputChar==""){ if(defaultTmpDoc==null){ defaultTmpDoc=new ActiveXObject("Microsoft.XMLDOM"); } defaultTmpDoc.async=false; defaultTmpDoc.load("lang\\default.xml"); g_szOutputChar=getData(defaultTmpDoc,"STRING/"+strtag); if(g_szOutputChar==""){ g_szOutputChar="Error"; } } } else{ if(oXmlDoc==null){ makeRequest("lang/language.xml"+"?"+(new Date()).getTime()); //add "?"+(new Date()).getTime() for firefox & safari upload language pack oXmlDoc=http_request.responseXML; if(oXmlDoc==null || oXmlDoc.firstChild.textContent==null || oXmlDoc.firstChild.textContent.indexOf("404 Not Found")>=0){ makeRequest("lang/default.xml"+"?"+(new Date()).getTime()); oXmlDoc=http_request.responseXML; } var btn=oXmlDoc.getElementsByTagName("L_Lang")[0].firstChild.nodeValue; switch(btn){ default: case "en-US": btnLen=8;break; case "zh-Hant": case "zh-Hans": case "ja-JP": case "ko-KR": btnLen=16;break; case "cs-CZ": btnLen=12;break; } } try{ g_szOutputChar=oXmlDoc.getElementsByTagName(strtag)[0].firstChild.nodeValue;//getElementsByTagName(strtag)[0].childNodes[0].nodeValue; } catch(e){ try{ makeRequest("lang/default.xml"); oXmlDoc=http_request.responseXML; g_szOutputChar=oXmlDoc.getElementsByTagName(strtag)[0].firstChild.nodeValue;//getElementsByTagName(strtag)[0].childNodes[0].nodeValue; oXmlDoc=null; } catch(e){ g_szOutputChar="Error";//jack add for strtag is not in XML's Tag } } //if(g_szOutputChar=="") //g_szOutputChar="Error"; }//jack add end,2008/7/3 if(display==true) document.write(g_szOutputChar); return g_szOutputChar; } //PDL: //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 getSupportLang() { return g_supportLang; } function setLanguage(langType) { setCookies(g_szLangType,langType); g_szLangType=langType; } 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); }