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"; } } // 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(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); }