home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 May / PCWorld_2003-05_cd.bin / Komunik / phoenix / chrome / browser.jar / content / browser / pref / pref-connection.js < prev    next >
Text File  |  2002-09-24  |  3KB  |  68 lines

  1. function Startup()
  2. {
  3.   DoEnabling();
  4. }
  5.  
  6. function DoEnabling()
  7. {
  8.   var i;
  9.   var ftp = document.getElementById("networkProxyFTP");
  10.   var ftpPort = document.getElementById("networkProxyFTP_Port");
  11.   var gopher = document.getElementById("networkProxyGopher");
  12.   var gopherPort = document.getElementById("networkProxyGopher_Port");
  13.   var http = document.getElementById("networkProxyHTTP");
  14.   var httpPort = document.getElementById("networkProxyHTTP_Port");
  15.   var socks = document.getElementById("networkProxySOCKS");
  16.   var socksPort = document.getElementById("networkProxySOCKS_Port");
  17.   var socksVersion = document.getElementById("networkProxySOCKSVersion");
  18.   var socksVersion4 = document.getElementById("networkProxySOCKSVersion4");
  19.   var socksVersion5 = document.getElementById("networkProxySOCKSVersion5");
  20.   var ssl = document.getElementById("networkProxySSL");
  21.   var sslPort = document.getElementById("networkProxySSL_Port");
  22.   var noProxy = document.getElementById("networkProxyNone");
  23.   var autoURL = document.getElementById("networkProxyAutoconfigURL");
  24.   var autoReload = document.getElementById("autoReload");
  25.  
  26.   // convenience arrays
  27.   var manual = [ftp, ftpPort, gopher, gopherPort, http, httpPort, socks, socksPort, socksVersion, socksVersion4, socksVersion5, ssl, sslPort, noProxy];
  28.   var auto = [autoURL, autoReload];
  29.  
  30.   // radio buttons
  31.   var radiogroup = document.getElementById("networkProxyType");
  32.  
  33.   switch ( radiogroup.value ) {
  34.     case "0":
  35.       for (i = 0; i < manual.length; i++)
  36.         manual[i].setAttribute( "disabled", "true" );
  37.       for (i = 0; i < auto.length; i++)
  38.         auto[i].setAttribute( "disabled", "true" );
  39.       break;
  40.     case "1":
  41.       for (i = 0; i < auto.length; i++)
  42.         auto[i].setAttribute( "disabled", "true" );
  43.       if (!radiogroup.disabled)
  44.         for (i = 0; i < manual.length; i++)
  45.           manual[i].removeAttribute( "disabled" );
  46.       break;
  47.     case "2":
  48.     default:
  49.       for (i = 0; i < manual.length; i++)
  50.         manual[i].setAttribute( "disabled", "true" );
  51.       if (!radiogroup.disabled)
  52.         for (i = 0; i < auto.length; i++)
  53.           auto[i].removeAttribute( "disabled" );
  54.       break;
  55.   }
  56. }
  57.  
  58. const nsIProtocolProxyService = Components.interfaces.nsIProtocolProxyService;
  59. const kPROTPROX_CID = '{e9b301c0-e0e4-11D3-a1a8-0050041caf44}';
  60.  
  61. function ReloadPAC() {
  62.   var autoURL = document.getElementById("networkProxyAutoconfigURL");
  63.   var pps = Components.classesByID[kPROTPROX_CID]
  64.                        .getService(nsIProtocolProxyService);
  65.   pps.configureFromPAC(autoURL.value);
  66. }   
  67.  
  68.