home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 March / PCWorld_2004-03_cd.bin / Komunikace / myIE / M2Combo.exe / $_14327_ / config.js < prev    next >
Text File  |  2003-10-21  |  5KB  |  163 lines

  1. // JavaScript Document
  2. var cities;
  3. var tempunit;
  4. var visbunit;
  5. var presunit;
  6. var windunit;
  7. var ssn = "xml.weather.com";
  8. var xmlDoc = null;
  9.  
  10. function setCookie(name,value) {
  11.    var today = new Date();
  12.    var expires = new Date();
  13.    expires.setTime(today.getTime() + 1000*60*60*24*365);
  14.    document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString();
  15. }
  16.  
  17. function getCookie(Name) {
  18.    var search = Name + "=";
  19.    if(document.cookie.length > 0) {
  20.       offset = document.cookie.indexOf(search);
  21.       if(offset != -1) {
  22.          offset += search.length;
  23.          end = document.cookie.indexOf(";", offset);
  24.          if(end == -1) end = document.cookie.length;
  25.          return unescape(document.cookie.substring(offset, end));
  26.       }
  27.       else return('');
  28.    }
  29.    else return('');
  30. }
  31.  
  32. var curlocid = getCookie("WT_loc_id")
  33. var curcityname = getCookie("WT_loc_text")
  34. var tempunit = getCookie("WT_T_unit");
  35. var windunit = getCookie("WT_Wind_unit");
  36. var presunit = getCookie("WT_P_unit");
  37. var visbunit = getCookie("WT_Visb_unit");
  38. var lan = getCookie("WT_Lan");
  39.  
  40. xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  41. xmlDoc.async = "false";
  42. if(lan == "1") xmlDoc.load("language/lan_cn.xml"); else xmlDoc.load("language/lan_en.xml");
  43.  
  44. function retrieveHTML(sURL) {
  45.     var htmlContent;
  46.     var objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
  47.     objXMLHTTP.open("GET", sURL, false);
  48.     objXMLHTTP.send();
  49.     htmlContent = objXMLHTTP.responseBody;
  50.     var objRS = new ActiveXObject("ADODB.Recordset");
  51.     objRS.Fields.Append("txt", 200, 40000, 128);
  52.     objRS.Open();
  53.     objRS.AddNew();
  54.     objRS.Fields.item("txt").AppendChunk(htmlContent);
  55.     var htmlContent = objRS.Fields.item("txt").value;
  56.     objRS.Close();
  57.     objRS = null;
  58.     objXMLHTTP = null;
  59.     return htmlContent;
  60. }
  61.  
  62. function translateonly(WTwords) {
  63.     objwords = xmlDoc.getElementsByTagName(WTwords);
  64.     if(objwords.length > 0) {
  65.         rewords = objwords.item(0).text;
  66.     } else {
  67.         rewords = WTwords;
  68.     }
  69.     return rewords;
  70. }
  71.  
  72. function xmlParse(xmlText) {
  73.     var nodes = new Array()
  74.     var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
  75.     xmlDoc.async = "false"
  76.     xmlDoc.loadXML(xmlText)
  77.     for(i=0; i<xmlDoc.documentElement.childNodes.length; i++){
  78.         nodes[i] = new Array()
  79.         nodes[i][0] = xmlDoc.documentElement.childNodes.item(i).text
  80.         nodes[i][1] = xmlDoc.documentElement.childNodes.item(i).getAttribute("id") 
  81.         nodes[i][2] = xmlDoc.documentElement.childNodes.item(i).getAttribute("type") 
  82.     }
  83.     return nodes
  84. }
  85.  
  86. function clearRows(oTable) {
  87.     var rowsnum = oTable.rows.length
  88.     for(i=0; i<rowsnum; i++) {
  89.         oTable.deleteRow()
  90.     }
  91. }
  92.  
  93. function addRow(oTable,rowHTML) {
  94.     var oRow=oTable.insertRow()
  95.     var aRows=oTable.rows
  96.     var aCells=oRow.cells
  97.     var oCell=aRows(oRow.rowIndex).insertCell(aCells.length)
  98.     oCell.innerHTML=rowHTML
  99. }
  100.  
  101. function findlocid() { 
  102.     var name = cityname.value
  103.     var urlstr = "http://" + ssn + "/search/search?where=" + name
  104.     var xmlInfo = retrieveHTML(urlstr)
  105.     cities = xmlParse(xmlInfo)
  106.     if(cities.length == 0) {
  107.         clearRows(resultcontent)
  108.         addRow(resultcontent,translateonly("WT_Noresult"));        
  109.     } else {
  110.         clearRows(resultcontent)
  111.         addRow(resultcontent,"<B>"+translateonly("WT_Find1")+cities.length+translateonly("WT_Find2")+"</B>")
  112.         for(i=0; i<cities.length; i++) {
  113.             rowHTML="<label><input class=radio type=radio name=listcities value="+cities[i][1]+"> "+cities[i][0]+"</label>"
  114.             addRow(resultcontent,rowHTML)            
  115.         }
  116.         addRow(resultcontent,"<input class=button type=button value="+translateonly("WT_Confirm")+" onClick=confirmcity()>")
  117.     }
  118.  
  119. }
  120.  
  121. function setPara() {
  122.     tempunit = 0;
  123.     visbunit = 0;
  124.     presunit = 0;
  125.     windunit = 0;
  126.     if(configtemp[0].checked) tempunit = 1;
  127.     if(configvisb[0].checked) visbunit = 1;
  128.     if(configpres[0].checked) presunit = 1;
  129.     if(configwind[0].checked) windunit = 1;
  130.     setCookie("WT_T_unit", tempunit);
  131.     setCookie("WT_Wind_unit", windunit);
  132.     setCookie("WT_P_unit", presunit);
  133.     setCookie("WT_Visb_unit", visbunit);
  134.     setCookie("WT_Lan", configlan.selectedIndex);
  135.     location.replace("weather.htm")
  136. }
  137.  
  138. function confirmcity() {
  139.     if(cities.length == 1) {
  140.         setCookie("WT_loc_id", cities[0][1])
  141.         setCookie("WT_loc_type", cities[0][2])
  142.         setCookie("WT_loc_text", cities[0][0])
  143.     } else {
  144.         for(i=0; i<cities.length; i++) {
  145.             if(listcities[i].checked) {
  146.                 setCookie("WT_loc_id", cities[i][1])
  147.                 setCookie("WT_loc_type", cities[i][2])
  148.                 setCookie("WT_loc_text", cities[i][0])
  149.             }
  150.         }
  151.     }
  152.     location.replace("config.htm")
  153. }
  154.  
  155. function comment() {
  156.     if(curlocid == '') {
  157.         strHTML = translateonly("WT_Search_Error");
  158.         document.write(strHTML);
  159.     } else {
  160.         strHTML = translateonly("WT_Search_Normal");
  161.         document.write(strHTML);
  162.     }
  163. }