home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / MediaCoder / MediaCoder2011-R8-5188.exe / htdocs / prefs / prefshtml.js < prev    next >
Encoding:
Text File  |  2011-08-17  |  2.8 KB  |  126 lines

  1. function Toggle(node)
  2. {
  3.     var subnode = node;
  4.     var imgButton = getChildNode(node);
  5.     var imgFolder = getNextNode(imgButton);
  6.     while ((subnode = subnode.nextSibling) && subnode.nodeName != "ul" && subnode.nodeName != "UL");
  7.     if (subnode) {
  8.         if (subnode.style.display == "none") {
  9.             subnode.style.display = "block";
  10.             imgButton.src = "img/minus.png";
  11.             imgFolder.src = "img/folder_open.png";
  12.         } else {
  13.             subnode.style.display = "none";
  14.             imgButton.src = "img/plus.png"
  15.             imgFolder.src = "img/folder_closed.png";
  16.         }
  17.     }
  18.     onClickNode(node);
  19. }
  20.  
  21. function getNextNode(node)
  22. {
  23.     while ((node = node.nextSibling) && node.nodeType!=1);
  24.     return node;
  25. }
  26.  
  27. function getChildNode(node)
  28. {
  29.     node = node.firstChild;
  30.     while (node && node.nodeType != 1) {
  31.         node = node.nextSibling;
  32.     } 
  33.     return node;
  34. }
  35.  
  36. function getKeyOfNode(node)
  37. {
  38.     var key = null;
  39.     var name;
  40.     for(;;) {
  41.         if (node.nodeName == "li" || node.nodeName == "LI") {
  42.             name = node.getAttribute("name");
  43.             if (name) {
  44.                 if (name == "_root") break;
  45.                 if (!key)
  46.                     key = name;
  47.                 else
  48.                     key = name + "." + key;
  49.             }                
  50.         }
  51.         if (!(node = node.parentNode)) break;
  52.     }
  53.     return key;
  54. }
  55.  
  56. var lastnode = null;
  57. var lastdesc = null;
  58.  
  59. function ShowDesc(node)
  60. {
  61.     if (node == lastnode) {
  62.         tooltip.show(lastdesc);
  63.         return;
  64.     }
  65.     var key = getKeyOfNode(node);
  66.     xmlhttp.open("GET", "prefs.xml?text&range&desc&level=1&path=" + key, false);
  67.     xmlhttp.send(null);
  68.     var xml = xmlhttp.responseXML;
  69.     var nodes = xml.getElementsByTagName("node");
  70.     var node = nodes[nodes.length - 1];
  71.     var desc = node.getElementsByTagName("desc");
  72.     var minval = node.getAttribute("min");
  73.     var maxval = node.getAttribute("max");
  74.     //alert(node.getAttribute("key"));
  75.     lastdesc = "<strong>"+key+"</strong>";
  76.     if (minval || maxval) {
  77.         lastdesc += " (";
  78.         if (minval) lastdesc += minval;
  79.         lastdesc += "~";
  80.         if (maxval) lastdesc += maxval;
  81.         lastdesc += ")";
  82.     }
  83.     lastdesc += "<br/><br/>";
  84.     if (desc.length > 0)
  85.         lastdesc += desc[0].firstChild.nodeValue;
  86.     else
  87.         lastdesc += node.getAttribute("text");
  88.         
  89.     if (lastdesc == " ")
  90.         tooltip.hide();
  91.     else
  92.         tooltip.show(lastdesc);
  93.     lastnode = node;
  94.     return lastdesc;
  95. }
  96.  
  97. function SetValue(node, val)
  98. {
  99.     var key = getKeyOfNode(node);
  100.     var _xmlhttp = newHttpRequest();
  101.     _xmlhttp.open("GET", "set?" + key + "=" + val, true);
  102.     _xmlhttp.send(null);
  103. }
  104.  
  105. function GetValue(node)
  106. {
  107.     var key = getKeyOfNode(node);
  108.     xmlhttp.open("GET", "get?path=" + key, false);
  109.     xmlhttp.send(null);
  110.     return xmlhttp.responseText;
  111. }
  112.  
  113. function RevertPrefValue(node)
  114. {
  115.     var key = getKeyOfNode(node);
  116.     xmlhttp.open("GET", "revert?path=" + key, false);
  117.     xmlhttp.send(null);
  118.     var val = xmlhttp.responseText;
  119.     node.value = val;
  120. }
  121.  
  122. function onClickNode(node, desc)
  123. {
  124.     if (desc) alert(desc);
  125. }
  126.