home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 April / PCWorld_2008-04_cd.bin / multimedia / mediacoder / MediaCoder-0.6.0.3905.exe / extensions / _include / mchelper.js < prev    next >
Text File  |  2007-02-05  |  4KB  |  186 lines

  1. var url = document.location.href;
  2. var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP");
  3. if (!xmlhttp) alert("XMLHttpRequest object cannot be created.");
  4.  
  5. function setPageSize(width, height)
  6. {
  7.     window.innerWidth = width;
  8.     window.innerHeight = height;
  9. }
  10.  
  11. function moveCenter()
  12. {
  13.     window.moveTo((screen.availWidth - window.outerWidth) / 2, (screen.availHeight - window.outerHeight) / 2);
  14. }
  15.  
  16. function GetToken(str, token)
  17. {
  18.     var idx = str.indexOf(token + '=');
  19.     if (idx <= 0) return null;
  20.     var argstr = str.substring(idx + token.length + 1);
  21.     idx = argstr.indexOf('&');
  22.     return idx >=0 ? argstr.substring(0, idx) : argstr;
  23. }
  24.  
  25. function QueryPref(path, opts)
  26. {
  27.     var node;
  28.     var requrl = "/pref/pref.xml?type&";
  29.     if (opts)
  30.         requrl += opts + "&";
  31.     if (path)
  32.         requrl += "path=" + path;
  33.     xmlhttp.open("GET", requrl, false);
  34.     xmlhttp.send(null);
  35.     node = xmlhttp.responseXML.firstChild;
  36.     if (!node) {
  37.         alert("Failed to retrieve preference data from MediaCoder.");
  38.         return null;
  39.     }
  40.     return getChildNode(node);
  41. }
  42.  
  43. function QueryPlugin(type, option)
  44. {
  45.     var node;
  46.     var requrl = "/pref/plugin.xml?type=" + type;
  47.     if (option) requrl += "&" + option;
  48.     xmlhttp.open("GET", requrl, false);
  49.     xmlhttp.send(null);
  50.     node = xmlhttp.responseXML.firstChild;
  51.     if (!node) {
  52.         alert("Failed to connect to MediaCoder.");
  53.         return null;
  54.     }
  55.     node = getChildNode(node);
  56.     if (type) node = findNode(node, type);
  57.     return node;
  58. }
  59.  
  60. function QueryString(url, async)
  61. {
  62.     try { 
  63.         xmlhttp.open("GET", url, async);
  64.         xmlhttp.send(null);
  65.         return xmlhttp.responseText;
  66.     }
  67.     catch (ex) {
  68.         return null;
  69.     }
  70. }
  71.  
  72. function SetPrefValue(param, val)
  73. {
  74.     xmlhttp.open("GET", "/pref/set?" + param + "=" + val, true);
  75.     xmlhttp.send(null);
  76. }
  77.  
  78. function GetPrefValue(param)
  79. {
  80.     xmlhttp.open("GET", "/pref/get?path=" + param, false);
  81.     xmlhttp.send(null);
  82.     return xmlhttp.responseText;
  83. }
  84.  
  85. function RevertPrefValue(param)
  86. {
  87.     xmlhttp.open("GET", "/pref/revert?path=" + param, false);
  88.     xmlhttp.send(null);
  89.     return xmlhttp.responseText;
  90. }
  91.  
  92. function OpenURL(urlstring) {
  93.     xmlhttp.open('GET', '/openurl?url=' + urlstring, false);
  94.     xmlhttp.send(null);
  95. }
  96.  
  97. function LoadXMLFile(xmlfile)
  98. {
  99.     var xmlDoc;
  100.     if (document.implementation && document.implementation.createDocument)
  101.     {
  102.         xmlDoc = document.implementation.createDocument("", "", null);
  103.         //xmlDoc.onload = callback;
  104.     }
  105.     else if (window.ActiveXObject)
  106.     {
  107.         xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  108.         xmlDoc.onreadystatechange = function () {
  109.             //if (xmlDoc.readyState == 4) callback()
  110.         };
  111.      }
  112.     else
  113.     {
  114.         return;
  115.     }
  116.     xmlDoc.async = false;
  117.     xmlDoc.load(xmlfile);
  118.     return xmlDoc;
  119. }
  120.  
  121. function NewXML(rootkey)
  122. {
  123.     var xmlDoc;
  124.     if (document.implementation && document.implementation.createDocument)
  125.     {
  126.         xmlDoc = document.implementation.createDocument("", rootkey, null);
  127.     }
  128.     else if (window.ActiveXObject)
  129.     {
  130.         xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  131.      }
  132.     else
  133.     {
  134.         return;
  135.     }
  136.     return xmlDoc;
  137. }
  138.  
  139. function PostData(requrl, data)
  140. {
  141.     xmlhttp.open("POST", requrl, false);
  142.     //xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  143.     xmlhttp.send(data);
  144. }
  145.  
  146. /******************************** DOM helper functions ********************************/
  147.  
  148. function getNextNode(node)
  149. {
  150.     do {
  151.         node = node.nextSibling;
  152.     } while (node !=null && node.nodeType != 1);
  153.     return node;
  154. }
  155.  
  156. function getChildNode(node)
  157. {
  158.     node = node.firstChild;
  159.     while (node !=null && node.nodeType != 1) {
  160.         node = node.nextSibling;
  161.     } 
  162.     return node;
  163. }
  164.  
  165. function getNodeValue(node)
  166. {
  167.     return node.firstChild ? node.firstChild.nodeValue : null
  168. }
  169.  
  170. function getParentNode(node)
  171. {
  172.     return node.parentNode;
  173. }
  174.  
  175. function findNode(node, name)
  176. {
  177.     for (; node && node.nodeName != name; node = getNextNode(node));
  178.     return node;
  179. }
  180.  
  181. function getNodeByAttribute(node, attr, value)
  182. {
  183.     for (; node && node.getAttribute(attr) != value; node = getNextNode(node));
  184.     return node;
  185. }
  186.