home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 May / 05_02.iso / software / nis / files / NIS / NIS.MSI / fwUI.dll / HTML / IP-POPUP.JS < prev    next >
Encoding:
JavaScript  |  2001-12-01  |  5.4 KB  |  215 lines

  1. ////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // PRODUCT: Norton Internet Security/Symantec Desktop Firewall
  4. //
  5. // NAME:    IP-Popup.js (Javascript file for IP-Popup.HTM)
  6. //
  7. // Copyright (c) 2001 by Symantec Corporation. All rights reserved.
  8. //
  9. ////////////////////////////////////////////////////////////////////////////////////////////
  10.  
  11. var checklist = null;
  12.  
  13. function Page_OnLoad()
  14. {
  15.     var args = null;
  16.     EnterIP.focus();
  17.     
  18.     // Set the title...
  19.     window.title = UserManager.ProductName;
  20.  
  21.     if (window.dialogArguments)
  22.     {
  23.         args = window.dialogArguments.split(" ");
  24.  
  25.         if (args)
  26.         {
  27.             if (args.length == 2) {
  28.                 checklist = args[1];
  29.             }
  30.             
  31.             switch (args[0])
  32.             {
  33.                  case "permit":
  34.                     PermitRule.style.display = "";
  35.                     BlockRule.style.display = "none";
  36.                     MonitorRule.style.display = "none";
  37.                     break;
  38.                 case "block":
  39.                     PermitRule.style.display = "none";
  40.                     BlockRule.style.display = "";
  41.                     MonitorRule.style.display = "none";
  42.                     break;
  43.                 case "monitor":
  44.                     PermitRule.style.display = "none";
  45.                     BlockRule.style.display = "none";
  46.                     MonitorRule.style.display = "";
  47.                     break;
  48.             }
  49.         }
  50.     }
  51. }
  52.  
  53.  
  54. function SelSingleAddr_OnClick()
  55. {
  56.     Range.style.display = "none";
  57.     NetAddr.style.display = "none";
  58.     SingleAddr.style.display = "";
  59.     RRange.checked = false;
  60.     RNetAddr.checked = false;
  61.     RSingleAddr.checked = true;
  62. }
  63.  
  64. function SelRange_OnClick()
  65. {
  66.     SingleAddr.style.display = "none";
  67.     NetAddr.style.display = "none";
  68.     Range.style.display = "";
  69.     RRange.checked = true;
  70.     RNetAddr.checked = false;
  71.     RSingleAddr.checked = false;
  72. }
  73.  
  74. function SelNetAddr_OnClick()
  75. {
  76.     SingleAddr.style.display = "none";
  77.     Range.style.display = "none";
  78.     NetAddr.style.display = "";
  79.     RRange.checked = false;
  80.     RNetAddr.checked = true;
  81.     RSingleAddr.checked = false;
  82. }
  83.  
  84. function OKB_OnClick()
  85. {
  86.     var xmlOut = null;
  87.     var Error = false;
  88.  
  89.     // Remove trailing and leading spaces
  90.     EnterIP.value = trim(EnterIP.value);
  91.     EnterStartIP.value = trim(EnterStartIP.value);
  92.     EnterEndIP.value = trim(EnterEndIP.value);
  93.     EnterNetIP.value = trim(EnterNetIP.value);
  94.     EnterMask.value = trim(EnterMask.value);
  95.  
  96.     // some initial tests to see if they closed the dialog without entering any text at all.
  97.     if ((AddrType[0].checked && (EnterIP.value != "")) ||
  98.         (AddrType[1].checked && (EnterStartIP.value != "") && (EnterEndIP.value != "")) ||
  99.         (AddrType[2].checked && (EnterNetIP.value != "") && (EnterMask.value != "")))
  100.         {
  101.  
  102.             xmlOut = new ActiveXObject("Microsoft.XMLDOM");
  103.             xmlOut.loadXML("<list/>");
  104.  
  105.             //
  106.             // Individual addresses
  107.             //
  108.             if (AddrType[0].checked)
  109.             {
  110.                 EnterIP.value = regORxml.RemoveDupeIPs(EnterIP.value);
  111.  
  112.                 var sAddresses = new String(EnterIP.value);
  113.                 var aAddress = sAddresses.split(" ");
  114.  
  115.                 for(var nElem = 0; nElem < aAddress.length; nElem++)
  116.                 {
  117.                     if(!checklist || (checklist && !regORxml.IsIPInList(checklist, aAddress[nElem])))
  118.                     {
  119.                         //
  120.                         // Valid IP Address ("xxx.xxx.xxx.xxx")?
  121.                         //
  122.                         if (regORxml.VerifyIPAddress(aAddress[nElem]))
  123.                         {
  124.                             node = xmlOut.createElement("Address");
  125.                             node.text = aAddress[nElem];
  126.                         }
  127.                         //
  128.                         // Not a valid IP, try a domain name.
  129.                         //
  130.                         else if (regORxml.VerifyDomainName(aAddress[nElem]))
  131.                         {
  132.                             node = xmlOut.createElement("NamedAddress");
  133.                             node.text = aAddress[nElem];
  134.                         }
  135.                         else
  136.                         {
  137.                             webWind.MsgBox2(StrID("NetIPInvalid"), UserManager.AppTitle);
  138.                             xmlOut.loadXML("<list/>");
  139.                             Error = true;
  140.                             break;
  141.                         }
  142.                         xmlOut.documentElement.appendChild(node);
  143.                     }
  144.                     else
  145.                     {
  146.                         alert(StrID("IPDupeEntry"));
  147.                         xmlOut.loadXML("<list/>");
  148.                         Error = true;
  149.                         break;
  150.                     }
  151.                 }
  152.             } 
  153.             //
  154.             // Range of addresses
  155.             //
  156.             else if (AddrType[1].checked)
  157.             {
  158.                 //
  159.                 // Valid IP Address ("xxx.xxx.xxx.xxx")?
  160.                 //
  161.  
  162.                 if (regORxml.VerifyIPAddress(EnterStartIP.value) && 
  163.                     regORxml.VerifyIPAddress(EnterEndIP.value)  &&
  164.                     regORxml.VerifyIPRangeOrder(EnterStartIP.value,EnterEndIP.value))
  165.                 {
  166.                     node = xmlOut.createElement("AddressRange");
  167.                     node.text = EnterStartIP.value + ":" + EnterEndIP.value;
  168.                     xmlOut.documentElement.appendChild(node);
  169.                 }
  170.                 else
  171.                 {
  172.                     alert(StrID("StartEndIPInvalid"));
  173.                     Error = true;
  174.                 }
  175.             } 
  176.             //
  177.             // Network address
  178.             //
  179.             else if (AddrType[2].checked)
  180.             {
  181.                 //
  182.                 // Valid IP Address ("xxx.xxx.xxx.xxx")?
  183.                 //
  184.                 if (regORxml.VerifyIPAddress(EnterNetIP.value) && regORxml.VerifyIPAddress(EnterMask.value))
  185.                 {
  186.                     node = xmlOut.createElement("MaskedAddress");
  187.                     node.text = EnterNetIP.value + ":" + EnterMask.value;
  188.                     xmlOut.documentElement.appendChild(node);
  189.                 }
  190.                 else
  191.                 {
  192.                     alert(StrID("NetIPInvalid"));
  193.                     Error = true;
  194.                 }
  195.             }
  196.         }
  197.         else
  198.         {
  199.                 webWind.MsgBox2(StrID("MustEnterValue"), UserManager.AppTitle);
  200.             Error = true;        
  201.         }
  202.  
  203.         if (!Error)
  204.         {
  205.             returnValue = xmlOut;
  206.             window.navigate("res://closeme.xyz");
  207.         }
  208. }
  209.  
  210. function CancelB_OnClick()
  211. {
  212.     returnValue = null;
  213.     window.navigate("res://closeme.xyz");
  214. }
  215.