home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2004 July / APC0407D1.iso / powerkit / firewall / files / NPF2004.exe / Setup / ISCommon / APP / fwUI.dll / HTML / ICMP-POPUP.JS < prev    next >
Encoding:
JavaScript  |  2003-09-06  |  7.2 KB  |  302 lines

  1. ////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // PRODUCT: Norton Internet Security/Symantec Desktop Firewall
  4. //
  5. // NAME:    ICMP-Popup.js (Javascript file for ICMP-POPUP.HTM)
  6. //
  7. // Copyright (c) 2001 by Symantec Corporation. All rights reserved.
  8. //
  9. ////////////////////////////////////////////////////////////////////////////////////////////
  10.  
  11. // Dialog/Message box defines
  12. var MB_OK =                     0x00000000;
  13. var MB_OKCANCEL =               0x00000001;
  14. var MB_ABORTRETRYIGNORE =       0x00000002;
  15. var MB_YESNOCANCEL =            0x00000003;
  16. var MB_YESNO =                  0x00000004;
  17. var MB_RETRYCANCEL =            0x00000005;
  18.  
  19. var MB_ICONHAND =               0x00000010;
  20. var MB_ICONQUESTION =           0x00000020;
  21. var MB_ICONEXCLAMATION =        0x00000030;
  22. var MB_ICONASTERISK  =          0x00000040;
  23.  
  24. var MB_USERICON =               0x00000080;
  25. var MB_ICONWARNING =            MB_ICONEXCLAMATION;
  26. var MB_ICONERROR =              MB_ICONHAND;
  27.  
  28. var MB_ICONINFORMATION =        MB_ICONASTERISK;
  29. var MB_ICONSTOP =               MB_ICONHAND;
  30.  
  31. var IDOK =              1;
  32. var IDCANCEL =          2;
  33. var IDABORT =           3;
  34. var IDRETRY =           4;
  35. var IDIGNORE =          5;
  36. var IDYES =             6;
  37. var IDNO =              7;
  38.  
  39. var g_LocalPorts = null;
  40. var g_RemotePorts = null;
  41. var g_OldLocalPorts = null;
  42. var g_OldRemotePorts = null;
  43.  
  44. function Page_OnLoad()
  45. {
  46.     var args = window.dialogArguments;
  47.  
  48.     UserManager.WatchForFREIntegStart();
  49.  
  50.     if(args[0] == "local") {
  51.         RLocal.checked = true;
  52.         RRemote.checked = false;
  53.     }
  54.     else
  55.     {
  56.         RLocal.checked = false;
  57.         RRemote.checked = true;
  58.     }
  59.  
  60.     g_LocalPorts = new ActiveXObject("ccFWSettg.PortList");
  61.     g_RemotePorts = new ActiveXObject("ccFWSettg.PortList");
  62.     
  63.     g_OldLocalPorts = args[1];
  64.     g_OldRemotePorts = args[2];
  65.     
  66.     OKB.focus();
  67. }
  68.  
  69. function UserManager_OnFREIntegratorStart()
  70. {
  71.     window.navigate('res://closeme.xyz');
  72. }
  73.  
  74. function getICMPInfo(row, item)
  75. {
  76.     var nCol = 0;
  77.     switch (item.toLowerCase())
  78.     {
  79.         case "checked":
  80.             nCol = 0;
  81.             break;
  82.         case "value":
  83.             nCol = 1;
  84.             break;
  85.         case "name":
  86.             nCol = 2;
  87.             break;
  88.     }
  89.     return ICMPList.MsgTypes.rows[row].cells[nCol];
  90. }
  91.  
  92. function SelIndividual_OnClick()
  93. {
  94.     Range.style.display = "none";
  95.     List.style.display = "none";
  96.     Individual.style.display = "";
  97.     RPortRange.checked = false;
  98.     RPortList.checked = false;
  99.     RSinglePort.checked = true;
  100. }
  101.  
  102. function SelList_OnClick()
  103. {
  104.     Individual.style.display = "none";
  105.     Range.style.display = "none";
  106.     List.style.display = "";
  107.     RPortRange.checked = false;
  108.     RSinglePort.checked = false;
  109.     RPortList.checked = true;
  110. }
  111.  
  112. function SelRange_OnClick()
  113. {
  114.     Individual.style.display = "none";
  115.     List.style.display = "none";
  116.     Range.style.display = "";
  117.     RSinglePort.checked = false;
  118.     RPortList.checked = false;
  119.     RPortRange.checked = true;
  120. }
  121.  
  122. function OKB_OnClick()
  123. {
  124.     //
  125.     // Prepare some variables to simplify access to objects.
  126.     //
  127.     var Error = false;
  128.     var xmlOut = new ActiveXObject("Microsoft.XMLDOM");
  129.     xmlOut.loadXML(RLocal.checked?"<LocalPorts/>":"<RemotePorts/>");
  130.     var oMsgTypes = ICMPList.MsgTypes.rows;
  131.     var nNumRecs = oMsgTypes.length;
  132.  
  133.     //
  134.     // Is this the specified ports list?
  135.     //
  136.     if (PortType[0].checked)
  137.     {
  138.         //
  139.         // Iterate over each service listed in our dialog.
  140.         //
  141.         for(var nElem = 0; 
  142.             nElem < nNumRecs;
  143.             nElem++)
  144.         {
  145.             //
  146.             // If the user checked this service (via the nested child INPUT tag), add it to our list.
  147.             //
  148.             if (getICMPInfo(nElem, "checked").children[0].checked)
  149.             {
  150.                 if (IsValidPort(getICMPInfo(nElem, "value").innerText))
  151.                 {
  152.                     var cPort = new ActiveXObject("ccFWSettg.Port");
  153.  
  154.                     cPort.PortNum = getICMPInfo(nElem, "value").innerText;
  155.                     cPort.Type = 0;
  156.  
  157.                     if(!AddPortToList(Locality[0].checked, cPort))
  158.                     {
  159.                         Error = true;
  160.                         break;
  161.                     }    
  162.                 }
  163.                 else
  164.                 {
  165.                     webWind.MsgBox(StrID("InvalidCommand"), UserManager.AppTitle, MB_OK | MB_ICONEXCLAMATION);
  166.                     Error = true;
  167.                     break;
  168.                 }
  169.             }
  170.         }
  171.     }
  172.     //
  173.     // Is this individually specified ports?
  174.     //
  175.     else if (PortType[1].checked)
  176.     {
  177.         var aPort = EnterPorts.value.split(" ");
  178.  
  179.         // 
  180.         // Cycle through space delimited list and add each port.
  181.         //
  182.         for(var nElem = 0; nElem < aPort.length; nElem++)
  183.         {
  184.             //
  185.             // Valid port?
  186.             //
  187.             if (IsValidPort(aPort[nElem]))
  188.             {
  189.                 var cPort = new ActiveXObject("ccFWSettg.Port");
  190.  
  191.                 cPort.PortNum = aPort[nElem];
  192.                 cPort.Type = 0;
  193.  
  194.                 if(!AddPortToList(Locality[0].checked, cPort))
  195.                 {
  196.                     Error = true;
  197.                     break;
  198.                 }
  199.             }
  200.             else
  201.             {
  202.                 webWind.MsgBox(StrID("InvalidCommand"), UserManager.AppTitle, MB_OK | MB_ICONEXCLAMATION);
  203.                 Error = true;
  204.                 break;
  205.             }
  206.         
  207.         }
  208.     }
  209.     //
  210.     // Is this a port range?
  211.     //
  212.     else if (PortType[2].checked)
  213.     {
  214.         if (IsValidPort(EnterStartPort.value) && IsValidPort(EnterEndPort.value))
  215.         {
  216.             var nStart = parseInt(EnterStartPort.value);
  217.             var nEnd = parseInt(EnterEndPort.value);
  218.  
  219.             if(nStart <= nEnd)
  220.             {
  221.                 var cPort = new ActiveXObject("ccFWSettg.Port");
  222.  
  223.                 cPort.RangeStart = nStart;
  224.                 cPort.RangeEnd = nEnd;
  225.                 cPort.Type = 1;
  226.  
  227.                 Error = !AddPortToList(Locality[0].checked, cPort);
  228.             }
  229.             else
  230.             {
  231.                 webWind.MsgBox(StrID("PortRangeError"), UserManager.AppTitle, MB_OK | MB_ICONEXCLAMATION);
  232.                 Error = true;
  233.             }
  234.         }
  235.         else
  236.         {
  237.             webWind.MsgBox(StrID("InvalidCommand"), UserManager.AppTitle, MB_OK | MB_ICONEXCLAMATION);
  238.             Error = true;
  239.         }
  240.     }
  241.  
  242.     if (!Error)
  243.     {
  244.         var retVals = new Array;
  245.     
  246.         retVals[0] = g_LocalPorts;
  247.         retVals[1] = g_RemotePorts;
  248.  
  249.         window.returnValue = retVals;
  250.         window.navigate("res://closeme.xyz");
  251.     }
  252. }
  253.  
  254. function CancelB_OnClickOrReset()
  255. {
  256.     var retVals = new Array;
  257.     
  258.     retVals[0] = null;
  259.     retVals[1] = null;
  260.  
  261.     returnValue = retVals;
  262.     window.navigate("res://closeme.xyz");
  263. }
  264.  
  265. function AddPortToList(localPort, portItem)
  266. {
  267.     var Success = true;
  268.  
  269.     if(localPort)
  270.     {
  271.         if(null == g_OldLocalPorts.IsPortInList(portItem))
  272.         {
  273.             g_LocalPorts.LastError = 0;
  274.             g_LocalPorts.AppendItem(portItem);
  275.             if(HandleListError(g_LocalPorts.LastError, 1008, 104))
  276.                 Success = false;
  277.         }
  278.         else
  279.         {
  280.             webWind.MsgBox(StrID("PortDupeEntry"), UserManager.AppTitle, MB_OK | MB_ICONEXCLAMATION);
  281.             Success = false;
  282.         }
  283.  
  284.     }
  285.     else
  286.     {
  287.         if(null == g_OldRemotePorts.IsPortInList(portItem))
  288.         {
  289.             g_RemotePorts.LastError = 0;
  290.             g_RemotePorts.AppendItem(portItem);                
  291.             if(HandleListError(g_RemotePorts.LastError, 1008, 105))
  292.                 Success = false;
  293.         }
  294.         else
  295.         {
  296.             webWind.MsgBox(StrID("PortDupeEntry"), UserManager.AppTitle, MB_OK | MB_ICONEXCLAMATION);
  297.             Success = false;
  298.         }
  299.     }
  300.  
  301.     return Success;
  302. }