home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2005 October / Gamestar_77_2005-10_dvd.iso / Programy / nsb-install-8-0.exe / chrome / browser.jar / content / browser / pref / pref-connection.js < prev    next >
Encoding:
Text File  |  2005-07-29  |  7.6 KB  |  197 lines

  1.  
  2. var _elementIDs = ["networkProxyType",
  3.                     "networkProxyFTP", "networkProxyFTP_Port",
  4.                     "networkProxyGopher", "networkProxyGopher_Port",
  5.                     "networkProxyHTTP", "networkProxyHTTP_Port", 
  6.                     "networkProxySOCKS", "networkProxySOCKS_Port",
  7.                     "networkProxySOCKSVersion",
  8.                     "networkProxySSL", "networkProxySSL_Port", 
  9.                     "networkProxyNone", "networkProxyAutoconfigURL", "shareAllProxies"];
  10.  
  11. function Startup()
  12. {
  13.   DoEnabling();
  14. }
  15.  
  16. function DoEnabling()
  17. {
  18.   var i;
  19.   var ftp = document.getElementById("networkProxyFTP");
  20.   var ftpPort = document.getElementById("networkProxyFTP_Port");
  21.   var gopher = document.getElementById("networkProxyGopher");
  22.   var gopherPort = document.getElementById("networkProxyGopher_Port");
  23.   var http = document.getElementById("networkProxyHTTP");
  24.   var httpPort = document.getElementById("networkProxyHTTP_Port");
  25.   var socks = document.getElementById("networkProxySOCKS");
  26.   var socksPort = document.getElementById("networkProxySOCKS_Port");
  27.   var socksVersion = document.getElementById("networkProxySOCKSVersion");
  28.   var socksVersion4 = document.getElementById("networkProxySOCKSVersion4");
  29.   var socksVersion5 = document.getElementById("networkProxySOCKSVersion5");
  30.   var ssl = document.getElementById("networkProxySSL");
  31.   var sslPort = document.getElementById("networkProxySSL_Port");
  32.   var noProxy = document.getElementById("networkProxyNone");
  33.   var autoURL = document.getElementById("networkProxyAutoconfigURL");
  34.   var autoReload = document.getElementById("autoReload");
  35.   var shareAllProxies = document.getElementById("shareAllProxies");
  36.  
  37.   // convenience arrays
  38.   var manual = [ftp, ftpPort, gopher, gopherPort, http, httpPort, socks, socksPort, socksVersion, socksVersion4, socksVersion5, ssl, sslPort, noProxy, shareAllProxies];
  39.   var manual2 = [http, httpPort, noProxy, shareAllProxies];
  40.   var auto = [autoURL, autoReload];
  41.  
  42.   // radio buttons
  43.   var radiogroup = document.getElementById("networkProxyType");
  44.  
  45.   switch ( radiogroup.value ) {
  46.     case "0":
  47.     case "4":
  48.       for (i = 0; i < manual.length; i++)
  49.         manual[i].setAttribute( "disabled", "true" );
  50.       for (i = 0; i < auto.length; i++)
  51.         auto[i].setAttribute( "disabled", "true" );
  52.       break;
  53.     case "1":
  54.       for (i = 0; i < auto.length; i++)
  55.         auto[i].setAttribute( "disabled", "true" );
  56.       if (!radiogroup.disabled && !shareAllProxies.checked) {
  57.         for (i = 0; i < manual.length; i++) {
  58.            prefstring = manual[i].getAttribute( "prefstring" );
  59.            if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  60.              manual[i].removeAttribute( "disabled" );
  61.         }
  62.       } else {
  63.         for (i = 0; i < manual.length; i++)
  64.           manual[i].setAttribute("disabled", "true");
  65.         for (i = 0; i < manual2.length; i++) {
  66.            prefstring = manual2[i].getAttribute( "prefstring" );
  67.            if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  68.              manual2[i].removeAttribute( "disabled" );
  69.         }
  70.       }
  71.       break;
  72.     case "2":
  73.     default:
  74.       for (i = 0; i < manual.length; i++)
  75.         manual[i].setAttribute("disabled", "true");
  76.       if (!radiogroup.disabled)
  77.         for (i = 0; i < auto.length; i++)
  78.           auto[i].removeAttribute("disabled");
  79.       break;
  80.   }
  81. }
  82.  
  83. const nsIProtocolProxyService = Components.interfaces.nsIProtocolProxyService;
  84. const kPROTPROX_CID = '{e9b301c0-e0e4-11D3-a1a8-0050041caf44}';
  85.  
  86. function ReloadPAC() 
  87. {
  88.   var autoURL = document.getElementById("networkProxyAutoconfigURL");
  89.   var pps = Components.classesByID[kPROTPROX_CID]
  90.                        .getService(nsIProtocolProxyService);
  91.   pps.configureFromPAC(autoURL.value);
  92. }   
  93.  
  94. function onConnectionsDialogOK()
  95. {
  96.   var autoURL = document.getElementById("networkProxyAutoconfigURL");
  97.   var URIFixup = Components.classes["@mozilla.org/docshell/urifixup;1"]
  98.                            .getService(Components.interfaces.nsIURIFixup);
  99.   try {
  100.     var fixedUpURI = URIFixup.createFixupURI(autoURL.value, 0);
  101.     autoURL.value = fixedUpURI.spec;
  102.   }
  103.   catch(ex) {
  104.   }
  105.  
  106.   window.opener.top.hPrefWindow.wsm.savePageData(window.location.href, window);
  107.   
  108.   return true;
  109. }
  110.  
  111. var oldUrls = ["","",""];
  112. var oldPorts = ["0","0","0"];
  113.  
  114. function toggleProxySettings()
  115. {
  116.   var http = document.getElementById("networkProxyHTTP");
  117.   var httpPort = document.getElementById("networkProxyHTTP_Port");
  118.   var ftp = document.getElementById("networkProxyFTP");
  119.   var ftpPort = document.getElementById("networkProxyFTP_Port");
  120.   var gopher = document.getElementById("networkProxyGopher");
  121.   var gopherPort = document.getElementById("networkProxyGopher_Port");
  122.   var ssl = document.getElementById("networkProxySSL");
  123.   var sslPort = document.getElementById("networkProxySSL_Port");
  124.   var socks = document.getElementById("networkProxySOCKS");
  125.   var socksPort = document.getElementById("networkProxySOCKS_Port");
  126.   var socksVersion = document.getElementById("networkProxySOCKSVersion");
  127.   var socksVersion4 = document.getElementById("networkProxySOCKSVersion4");
  128.   var socksVersion5 = document.getElementById("networkProxySOCKSVersion5");
  129.   
  130.   // arrays
  131.   var urls = [ftp,gopher,ssl];
  132.   var ports = [ftpPort,gopherPort,sslPort];
  133.   var allFields = [ftp,gopher,ssl,ftpPort,gopherPort,sslPort,socks,socksPort,socksVersion,socksVersion4,socksVersion5];
  134.  
  135.   if (document.getElementById("shareAllProxies").checked) {
  136.     for (i = 0; i < allFields.length; i++)
  137.       allFields[i].setAttribute("disabled", "true");
  138.     for (i = 0; i < urls.length; i++) {
  139.       oldUrls[i] = urls[i].value;
  140.       prefstring = urls[i].getAttribute("prefstring");
  141.       if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  142.         urls[i].value = http.value;
  143.     }
  144.     for (i = 0; i < ports.length; i++) {
  145.       oldPorts[i] = ports[i].value;
  146.       prefstring = ports[i].getAttribute("prefstring");
  147.       if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  148.         ports[i].value = httpPort.value;
  149.     }
  150.   } else {
  151.     for (i = 0; i < allFields.length; i++) {
  152.       prefstring = allFields[i].getAttribute("prefstring");
  153.       if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  154.         allFields[i].removeAttribute("disabled");
  155.     }
  156.     for (i = 0; i < urls.length; i++) {
  157.       prefstring = urls[i].getAttribute("prefstring");
  158.       if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  159.         urls[i].value = oldUrls[i];
  160.     }
  161.     for (i = 0; i < ports.length; i++) {
  162.       prefstring = ports[i].getAttribute("prefstring");
  163.       if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  164.         ports[i].value = oldPorts[i];
  165.     }
  166.   }
  167. }
  168.  
  169. function copyProxySettings()
  170. {
  171.   if (!document.getElementById("shareAllProxies").checked)
  172.     return;
  173.   
  174.   var http = document.getElementById("networkProxyHTTP");
  175.   var httpPort = document.getElementById("networkProxyHTTP_Port");
  176.   var ftp = document.getElementById("networkProxyFTP");
  177.   var ftpPort = document.getElementById("networkProxyFTP_Port");
  178.   var gopher = document.getElementById("networkProxyGopher");
  179.   var gopherPort = document.getElementById("networkProxyGopher_Port");
  180.   var ssl = document.getElementById("networkProxySSL");
  181.   var sslPort = document.getElementById("networkProxySSL_Port");
  182.   
  183.   var urls = [ftp,gopher,ssl];
  184.   var ports = [ftpPort,gopherPort,sslPort];
  185.   
  186.   for (i = 0; i < urls.length; i++) {
  187.     prefstring = urls[i].getAttribute("prefstring");
  188.     if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  189.       urls[i].value = http.value;
  190.   }
  191.   for (i = 0; i < ports.length; i++) {
  192.     prefstring = ports[i].getAttribute("prefstring");
  193.     if (!window.opener.top.hPrefWindow.getPrefIsLocked(prefstring))
  194.       ports[i].value = httpPort.value;
  195.   }
  196. }
  197.