home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 November / Chip_2003-11_cd2.bin / nav2004 / download / NAV / External / NORTON / APP / CfgWzRes.dll / HTML / CFGWIZROADMAP.JS < prev    next >
Text File  |  2003-08-17  |  28KB  |  1,018 lines

  1. //
  2. // Global variables
  3. //
  4.  
  5. var MainFrame = window.parent;
  6. var SelectFrame = MainFrame.frames("bottom");
  7.  
  8. MainFrame.g_bSilentMode;
  9. MainFrame.g_bAgreedEULA = false;
  10. MainFrame.g_bEnableAP;
  11. MainFrame.g_bScheduleScan;
  12. MainFrame.g_bEnableScriptBlocking;
  13. MainFrame.g_bScriptBlockingInstalled;
  14. MainFrame.g_bEnableEmailScanning;
  15. MainFrame.g_bEnableEmailScanningIn;
  16. MainFrame.g_bEnableEmailScanningOut;
  17. MainFrame.g_bEnableDefinitionAlert;
  18. MainFrame.g_bEnableALU;
  19. MainFrame.g_bEnableAsyncScan;
  20. MainFrame.g_bRunLiveUpdate;
  21. MainFrame.g_bCreateRescueDisk;
  22. MainFrame.g_bFullSystemScan;
  23. MainFrame.g_lOEM = 0;
  24. MainFrame.g_bIsNAVPro;
  25. MainFrame.g_strProductName;
  26. MainFrame.g_strWizardName;
  27. MainFrame.g_bShowLaunchLiveUpdate;
  28. MainFrame.g_bShowLaunchRescue;
  29. MainFrame.g_bShowEnableWeeklyScan;
  30. MainFrame.g_bShowLaunchFullSysScan;
  31. MainFrame.g_bShowEnableAsyncScan;
  32.  
  33. MainFrame.m_nMaxPanels = 5;
  34. MainFrame.m_nFirstPanel = 0;
  35. MainFrame.m_nCurrentPanel = 0;
  36. MainFrame.g_nBackPanelIndex = 0;
  37. MainFrame.g_bSelectFrameLoaded;
  38. MainFrame.g_bRoadmapFrameLoaded;
  39. MainFrame.g_WebWnd = null;
  40.  
  41. MainFrame.g_bActivateLicenseNow = true;
  42.  
  43. MainFrame.bPromptUser = true;
  44.  
  45. // somthing like a union
  46. var nEULAPanel            = 0;
  47. var nSelectPanel        = 1;
  48. var nLiveRegPanel        = 2;
  49. var nActivationPanel    = 4;
  50. var nSubscriptionPanel    = 5;
  51. var nPostInstall        = 6;
  52. var nConfigurationPanel = 7;
  53.  
  54. // OS types
  55. var OS_TYPE_WIN9x = 0;
  56. var OS_TYPE_WINNT = 1;
  57. var OS_TYPE_SOLARIS = 2;
  58. var OS_TYPE_LINUX = 3;
  59. var OS_TYPE_WINME = 4;
  60. var OS_TYPE_WINXP = 5;
  61. var OS_TYPE_UNKNOWN = 6;
  62.  
  63. // MessageBox() Flags
  64. var MB_OK =                     0x00000000;
  65. var MB_OKCANCEL =               0x00000001;
  66. var MB_ABORTRETRYIGNORE =       0x00000002;
  67. var MB_YESNOCANCEL =            0x00000003;
  68. var MB_YESNO =                  0x00000004;
  69. var MB_RETRYCANCEL =            0x00000005;
  70. var MB_ICONHAND =               0x00000010;
  71. var MB_ICONQUESTION =           0x00000020;
  72. var MB_ICONEXCLAMATION =        0x00000030;
  73. var MB_ICONASTERISK  =          0x00000040;
  74. var MB_USERICON =               0x00000080;
  75. var MB_ICONWARNING =            MB_ICONEXCLAMATION;
  76. var MB_ICONERROR =              MB_ICONHAND;
  77. var MB_ICONINFORMATION =        MB_ICONASTERISK;
  78. var MB_ICONSTOP =               MB_ICONHAND;
  79.  
  80. var IDOK =              1;
  81. var IDCANCEL =          2;
  82. var IDABORT =           3;
  83. var IDRETRY =           4;
  84. var IDIGNORE =          5;
  85. var IDYES =             6;
  86. var IDNO =              7;
  87.  
  88. MainFrame.g_bLicenseValid = false;
  89. MainFrame.g_iLicenseType = -1;
  90. MainFrame.g_iLicenseZone = 64;        // violated
  91. MainFrame.g_iLicenseState = -2;        // violated
  92. MainFrame.g_iDaysRemaining = 0;
  93.  
  94. // Licensing state
  95. var DJSMAR00_LicenseState_TRIAL        = 0;
  96. var DJSMAR00_LicenseState_PURCHASED = 1;
  97.  
  98. // Licensing Types
  99. var DJSMAR00_LicenseType_Trial        = 1;
  100. var DJSMAR00_LicenseType_Rental        = 2;
  101. var DJSMAR00_LicenseType_TryDie        = 3;
  102. var DJSMAR00_LicenseType_Unlicensed    = 5;
  103.  
  104. // Licensing Zones
  105. var DJSMAR00_LicenseZone_PreActivation = 8;
  106.  
  107. // Scriptable objects
  108. g_ModuleID = 3009;
  109. var CfgWizMgrObj;
  110. var NAVLicense;
  111. var ScanTasksObj;
  112. var Scheduler;
  113. var APSCRObj;
  114.  
  115. function WizardPanel(TitleID, Arrow, sTitle, htm, pPreAction, pPostAction)
  116. {
  117.     this.m_TitleID = TitleID;
  118.     this.m_sTitle = sTitle;
  119.     this.m_Arrow = Arrow;
  120.     this.m_htm = htm;
  121.     this.m_pPreAction = pPreAction;
  122.     this.m_pPostAction = pPostAction;
  123.     this.m_bLoadPanel = true;
  124.     this.m_bDisplayPanel = true;
  125. }
  126.  
  127. function OnLoad()
  128. {
  129.     var NAVOptionObj;
  130.     
  131.     try
  132.     {
  133.         MainFrame.g_WebWnd = window.external.ObjectArg("CFGWIZ_WEBWINDOW_OBJECT");
  134.         MainFrame.g_WebWnd.OnCloseCallback = OnCloseButton;
  135.     }
  136.     catch(err)
  137.     {
  138.         var msg = document.frames("Errors").document.all.ERR_MSG_NO_WEBWND.innerText;
  139.         var id = document.frames("Errors").document.all.ERR_ID_NO_WEBWND.innerText;
  140.         g_ErrorHandler.DisplayNAVError (msg, id);
  141.         return;
  142.     }
  143.  
  144.     try
  145.     {
  146.         CfgWizMgrObj = new ActiveXObject ("NAVCfgWizDll.NAVCfgWizMgr");
  147.     }
  148.     catch(err)
  149.     {
  150.         var msg = document.frames("Errors").document.all.ERR_MSG_NO_CFGWIZDLL.innerText;
  151.         var id = document.frames("Errors").document.all.ERR_ID_NO_CFGWIZDLL.innerText;
  152.         g_ErrorHandler.DisplayNAVError (msg, id);
  153.         return;
  154.     }
  155.     
  156.     try
  157.     {
  158.         NAVLicense = new ActiveXObject("NAVLicense.NAVLicenseInfo");
  159.     }
  160.     catch(err)
  161.     {
  162.         var msg = document.frames("Errors").document.all.ERR_MSG_NO_LICENSE.innerText;
  163.         var id = document.frames("Errors").document.all.ERR_ID_NO_LICENSE.innerText;
  164.         g_ErrorHandler.DisplayNAVError (msg, id);
  165.         return;
  166.     }
  167.  
  168.     try
  169.     {    
  170.         MainFrame.g_iLicenseZone = window.external.ObjectArg("DRM::LicenseZone");
  171.         MainFrame.g_iLicenseType = window.external.ObjectArg("DRM::LicenseType");
  172.         MainFrame.g_iLicenseState = window.external.ObjectArg("DRM::LicenseState");
  173.         MainFrame.g_bLicenseValid = ((MainFrame.g_iLicenseState == DJSMAR00_LicenseState_TRIAL) || (MainFrame.g_iLicenseState == DJSMAR00_LicenseState_PURCHASED));
  174.         MainFrame.g_iDaysRemaining = window.external.ObjectArg("DRM::RemainingDays");
  175.     }
  176.     catch(err)
  177.     {
  178.         NAVLicense.NAVError.LogAndDisplay(0);
  179.         return;
  180.     }
  181.     
  182.     try
  183.     {
  184.         NAVOptionObj = new ActiveXObject ("Symantec.Norton.AntiVirus.NAVOptions");
  185.     }
  186.     catch(err)
  187.     {
  188.         var msg = document.frames("Errors").document.all.ERR_MSG_NO_OPTIONS.innerText;
  189.         var id = document.frames("Errors").document.all.ERR_ID_NO_OPTIONS.innerText;
  190.         g_ErrorHandler.DisplayNAVError (msg, id);
  191.         return;
  192.     }
  193.  
  194.     try
  195.     {
  196.         // Are all post install tasks are set to hidden?
  197.         MainFrame.g_bShowLaunchLiveUpdate = CfgWizMgrObj.ShowLaunchLiveUpdate;
  198.         MainFrame.g_bShowLaunchRescue = CfgWizMgrObj.ShowLaunchRescue;
  199.         MainFrame.g_bShowEnableWeeklyScan = CfgWizMgrObj.ShowEnableWeeklyScan;
  200.            MainFrame.g_bShowLaunchFullSysScan = CfgWizMgrObj.ShowLaunchFullSysScan;    
  201.            MainFrame.g_bShowEnableAsyncScan = CfgWizMgrObj.ShowAsyncScan;
  202.     }
  203.     catch(err)
  204.     {
  205.         CfgWizMgrObj.NAVError.LogAndDisplay(0);
  206.     }
  207.     
  208.     // Launch LiveReg silently if not rental layout.
  209.     if (DJSMAR00_LicenseType_Rental != MainFrame.g_iLicenseType)
  210.     {
  211.         CfgWizMgrObj.LaunchLiveReg(false);
  212.     }
  213.     
  214.     var bShowPostInstallTasks = MainFrame.g_bShowLaunchLiveUpdate || MainFrame.g_bShowLaunchRescue || MainFrame.g_bShowEnableWeeklyScan || MainFrame.g_bShowLaunchFullSysScan;
  215.  
  216.     // Start our array index at -1 and preincrement our index as we add panels.
  217.     var nIndex = -1;
  218.     
  219.     // Allocate array of frames (more than we need)
  220.     MainFrame.m_aWizardPanels = new Array(12);
  221.     
  222.     // Rental flow
  223.     if ( DJSMAR00_LicenseType_Rental == MainFrame.g_iLicenseType )
  224.     {
  225.         // Check if we are purchased already
  226.         if( DJSMAR00_LicenseState_PURCHASED != MainFrame.g_iLicenseState )
  227.         {
  228.             // Product has not been purchased 
  229.             //  show "Activation", "Tasks", and "Summary" panels.
  230.             nActivationPanel = ++nIndex;
  231.             MainFrame.m_aWizardPanels[nActivationPanel] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "ACTIVATION", "ActivationPanel.htm", null, null);
  232.         }            
  233.             
  234.         // If we don't want to show any of the post install tasks, don't create the panel
  235.         if (bShowPostInstallTasks)
  236.         {
  237.             nPostInstall = ++nIndex;
  238.             MainFrame.m_aWizardPanels[nPostInstall] = new WizardPanel(RoadmapButton3Cat, RoadmapButton3Arrow, "POSTINSTALL", "PostInstall.htm", null, OnPreConfiguration);
  239.         }
  240.         
  241.         ++nIndex;    
  242.         nConfigurationPanel = nIndex;
  243.         MainFrame.m_aWizardPanels[nConfigurationPanel] = new WizardPanel(RoadmapButton4Cat, RoadmapButton4Arrow, "CONFIGURATION", "Configuration.htm", null, null);
  244.     }
  245.     // TryDie Flow
  246.     else if ( DJSMAR00_LicenseType_TryDie == MainFrame.g_iLicenseType )
  247.     {
  248.         // Load stock panel for TryDie since no activation
  249.         ++nIndex;
  250.         nTryDieMessagePanel = nIndex;
  251.         MainFrame.m_aWizardPanels[nTryDieMessagePanel] = new WizardPanel(RoadmapButton1Cat, RoadmapButton1Arrow, "TRYDIEMESSAGE", "TryDieMessage.htm", null, null);
  252.     
  253.         ++nIndex;
  254.         nPostInstall = nIndex;
  255.         MainFrame.m_aWizardPanels[nPostInstall] = new WizardPanel(RoadmapButton3Cat, RoadmapButton3Arrow, "POSTINSTALL", "PostInstall.htm", null, OnPreConfiguration);
  256.         
  257.         ++nIndex;    
  258.         nConfigurationPanel = nIndex;
  259.         MainFrame.m_aWizardPanels[nConfigurationPanel] = new WizardPanel(RoadmapButton4Cat, RoadmapButton4Arrow, "CONFIGURATION", "Configuration.htm", null, null);
  260.     }
  261.     //Trialware Flow
  262.     else if( DJSMAR00_LicenseType_Trial == MainFrame.g_iLicenseType)
  263.     {    
  264.         try
  265.         {
  266.             if (MainFrame.g_iLicenseState != DJSMAR00_LicenseState_PURCHASED)
  267.             {
  268.                 nActivationPanel = ++nIndex;
  269.                 MainFrame.m_aWizardPanels[nActivationPanel] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "Activation", "ActivationPanel.htm", null, null);
  270.  
  271.                 nSubscriptionPanel = ++nIndex;    
  272.                 
  273.                 if (bShowPostInstallTasks)
  274.                         MainFrame.m_aWizardPanels[nSubscriptionPanel] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "SUBSCRIPTION", "SubscriptionInfo.htm", null, null);
  275.                 else
  276.                         MainFrame.m_aWizardPanels[nSubscriptionPanel] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "SUBSCRIPTION", "SubscriptionInfo.htm", null, OnPreConfiguration);
  277.             }
  278.  
  279.             try
  280.             {
  281.                 var lrRes = new ActiveXObject("Symantec.Shared.LRRes.LRResMgr");
  282.  
  283.                 SelectFrame.RegPanels = lrRes.GetPageCount( window.external.ObjectArg("DRM::SuiteOwner"), false, true );
  284.  
  285.                 nLiveRegPanel = nIndex+1;
  286.                                     
  287.                 for (var i = 0; i < SelectFrame.RegPanels; i++)
  288.                 {
  289.                     ++nIndex;
  290.                     MainFrame.m_aWizardPanels[nIndex] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "Registration", lrRes.GetPage(i), null, null);
  291.                 }
  292.                     
  293.             }
  294.             catch (err)
  295.             {
  296.                 var msg = document.frames("Errors").document.all.ERR_MSG_NO_LRCONTROL.innerText;
  297.                 var id = document.frames("Errors").document.all.ERR_ID_NO_LRCONTROL.innerText;
  298.                 g_ErrorHandler.DisplayNAVError (msg, id);        
  299.             }
  300.  
  301.             // If we don't want to show any of the post install tasks, don't create the panel
  302.             if (bShowPostInstallTasks)
  303.             {
  304.                 ++nIndex;
  305.                 nPostInstall = nIndex;
  306.                 MainFrame.m_aWizardPanels[nPostInstall] = new WizardPanel(RoadmapButton3Cat, RoadmapButton3Arrow, "POSTINSTALL", "PostInstall.htm", null, OnPreConfiguration);
  307.             }
  308.             
  309.             ++nIndex;    
  310.             nConfigurationPanel = nIndex;
  311.             MainFrame.m_aWizardPanels[nConfigurationPanel] = new WizardPanel(RoadmapButton4Cat, RoadmapButton4Arrow, "CONFIGURATION", "Configuration.htm", null, null);
  312.         }
  313.         catch (err)
  314.         {
  315.             var msg = document.frames("Errors").document.all.ERR_MSG_NO_LRCONTROL.innerText;
  316.             var id = document.frames("Errors").document.all.ERR_ID_NO_LRCONTROL.innerText;
  317.             g_ErrorHandler.DisplayNAVError (msg, id);        
  318.         }        
  319.     }
  320.     // Retail Flows (Retail, OEM, CTO, ESD, Beta and Unlicensed)
  321.     else
  322.     {    
  323.         // Get ProductType
  324.         // 0 - Pure Retail
  325.         // 1 - OEM
  326.         // 2 - CTO (behaves like retail but need to show EULA)                    
  327.         MainFrame.g_lOEM = CfgWizMgrObj.ProductType;
  328.         
  329.         // If not purchased (this includes CTO!) and its not OEM or Unlicensed start at 
  330.         // subscription page.
  331.         if ( (MainFrame.g_iLicenseState != DJSMAR00_LicenseState_PURCHASED) || 
  332.              (MainFrame.g_lOEM == 1) || 
  333.              (MainFrame.g_iLicenseType == DJSMAR00_LicenseType_Unlicensed) )
  334.         {
  335.         
  336.             // If OEM or CTO show Eula
  337.             if( MainFrame.g_lOEM )
  338.             {
  339.                 ++nIndex;
  340.                 nEULAPanel = nIndex;
  341.                 MainFrame.m_aWizardPanels[nEULAPanel] = new WizardPanel(RoadmapButton1Cat, RoadmapButton1Arrow, "EULA", "EULA.htm", null, null);
  342.             }
  343.             
  344.             // If Retail or CTO show activation selection screen
  345.             if( (MainFrame.g_lOEM != 1) && (MainFrame.g_iLicenseType != DJSMAR00_LicenseType_Unlicensed) )
  346.             {
  347.                 ++nIndex;
  348.                 nSelectPanel = nIndex;
  349.                 MainFrame.m_aWizardPanels[nSelectPanel] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "SELECTACTIVATION", "SelectActivation.htm", null, null);
  350.             }
  351.  
  352.             // Show livereg 
  353.             try
  354.             {
  355.                 var lrRes = new ActiveXObject("Symantec.Shared.LRRes.LRResMgr");
  356.                 
  357.                 if( MainFrame.g_lOEM == 1)
  358.                     SelectFrame.RegPanels = lrRes.GetPageCount( window.external.ObjectArg("DRM::SuiteOwner"), false, true );
  359.                 else
  360.                     SelectFrame.RegPanels = lrRes.GetPageCount( window.external.ObjectArg("DRM::SuiteOwner"), false, false );
  361.                     
  362.                 nLiveRegPanel = nIndex+1;
  363.                 
  364.  
  365.                 for (var i = 0; i < SelectFrame.RegPanels; i++)
  366.                 {
  367.                     ++nIndex;
  368.                     MainFrame.m_aWizardPanels[nIndex] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "Registration", lrRes.GetPage(i), null, null);
  369.                 }
  370.                 
  371.             }
  372.             catch (err)
  373.             {
  374.                 var msg = document.frames("Errors").document.all.ERR_MSG_NO_LRCONTROL.innerText;
  375.                 var id = document.frames("Errors").document.all.ERR_ID_NO_LRCONTROL.innerText;
  376.                 g_ErrorHandler.DisplayNAVError (msg, id);        
  377.             }
  378.  
  379.             // if retail or cto (not OEM or Unlicensed) show activation(key) panel
  380.             if( (MainFrame.g_lOEM != 1) && (MainFrame.g_iLicenseType != DJSMAR00_LicenseType_Unlicensed) )
  381.             {
  382.  
  383.                 ++nIndex;
  384.                 nActivationPanel = nIndex;
  385.                 MainFrame.m_aWizardPanels[nActivationPanel] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "Activation", "ActivationPanel.htm", null, null);
  386.                 SelectFrame.ActPanels=1;
  387.             }
  388.         }
  389.                 
  390.         // Add subscription panel to the array
  391.         ++nIndex;
  392.         nSubscriptionPanel = nIndex;            
  393.         
  394.         if (bShowPostInstallTasks)
  395.             MainFrame.m_aWizardPanels[nSubscriptionPanel] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "SUBSCRIPTION", "SubscriptionInfo.htm", null, null);
  396.         else
  397.             MainFrame.m_aWizardPanels[nSubscriptionPanel] = new WizardPanel(RoadmapButton2Cat, RoadmapButton2Arrow, "SUBSCRIPTION", "SubscriptionInfo.htm", null, OnPreConfiguration);
  398.             
  399.         // If we don't want to show any of the post install tasks, don't create the panel
  400.         if (bShowPostInstallTasks)
  401.         {
  402.             ++nIndex;
  403.             nPostInstall = nIndex;
  404.             MainFrame.m_aWizardPanels[nPostInstall] = new WizardPanel(RoadmapButton3Cat, RoadmapButton3Arrow, "POSTINSTALL", "PostInstall.htm", null, OnPreConfiguration);
  405.         }
  406.         
  407.         // Add Summary page to array
  408.         ++nIndex;    
  409.         nConfigurationPanel = nIndex;
  410.         MainFrame.m_aWizardPanels[nConfigurationPanel] = new WizardPanel(RoadmapButton4Cat, RoadmapButton4Arrow, "CONFIGURATION", "Configuration.htm", null, null);
  411.     }
  412.  
  413.     //Set the max panels to what we've counted up for the particular layout flow
  414.     MainFrame.m_nMaxPanels = nIndex+1;
  415.  
  416.     // Create an array of panel location to keep track of what panels we've been to
  417.     MainFrame.m_aBackTrackPanels = new Array( MainFrame.m_nMaxPanels );
  418.     
  419.     try
  420.     {
  421.         // Is this NAV Pro?
  422.         MainFrame.g_bIsNAVPro = NAVOptionObj.IsNAVPro;
  423.     }
  424.     catch(err)
  425.     {    
  426.         NAVOptionObj.NAVError.LogAndDisplay(0);
  427.     }
  428.  
  429.  
  430.     if ( MainFrame.g_bIsNAVPro )
  431.     {
  432.         MainFrame.g_strProductName = ProductNamePro.innerHTML;
  433.         MainFrame.g_strWizardName = WizardNamePro.innerHTML;
  434.     }
  435.     else
  436.     {
  437.         MainFrame.g_strProductName = ProductName.innerHTML;
  438.         MainFrame.g_strWizardName = WizardName.innerHTML;
  439.     }
  440.  
  441.     // Highlight the current panel
  442.     
  443.     MainFrame.m_aWizardPanels[MainFrame.m_nCurrentPanel].m_TitleID.style.backgroundImage = 'url(Current.gif)';
  444.     MainFrame.m_aWizardPanels[MainFrame.m_nCurrentPanel].m_Arrow.style.display  = "";    
  445.  
  446.  
  447.     window.parent.frames("main").navigate( MainFrame.m_aWizardPanels[MainFrame.m_nCurrentPanel].m_htm);
  448.     MainFrame.m_aBackTrackPanels[MainFrame.g_nBackPanelIndex] = MainFrame.m_nCurrentPanel;
  449.     
  450.     
  451.  
  452.     try
  453.     {
  454.         MainFrame.g_bSilentMode = CfgWizMgrObj.SilentMode;
  455.         MainFrame.g_bEnableAP = CfgWizMgrObj.AutoProtect;
  456.         MainFrame.g_bScheduleScan = CfgWizMgrObj.WeeklyScan;
  457.         MainFrame.g_bScanAtStartup = CfgWizMgrObj.ScanAtStartup;
  458.         MainFrame.g_bScriptBlockingInstalled = CfgWizMgrObj.ScriptBlockingInstalled;
  459.         MainFrame.g_bEnableScriptBlocking = CfgWizMgrObj.ScriptBlocking;
  460.         MainFrame.g_bEnableEmailScanning = CfgWizMgrObj.EmailScanner;
  461.         MainFrame.g_bEnableEmailScanningIn = CfgWizMgrObj.EmailScannerIn;
  462.         MainFrame.g_bEnableEmailScanningOut = CfgWizMgrObj.EmailScannerOut;
  463.         MainFrame.g_bEnableDefinitionAlert = CfgWizMgrObj.DefinitionAlert;
  464.         MainFrame.g_bEnableALU = CfgWizMgrObj.AutoLiveUpdate;
  465.         MainFrame.g_bRunLiveUpdate = CfgWizMgrObj.LiveUpdate;
  466.         MainFrame.g_bCreateRescueDisk = CfgWizMgrObj.Rescue;
  467.         MainFrame.g_bFullSystemScan = CfgWizMgrObj.FullSystemScan;
  468.         MainFrame.g_bLaunchUI = CfgWizMgrObj.MainUI;
  469.         MainFrame.g_bEnableAsyncScan = NAVOptionObj.AP.ScanContainerFiles;
  470.  
  471.         // Roadmap frame is now loaded;
  472.  
  473.         MainFrame.g_bRoadmapFrameLoaded = true;
  474.  
  475.         // Are we running in silent mode
  476.         if (MainFrame.g_bSilentMode == true)
  477.         {
  478.             MainFrame.g_bRunLiveUpdate = false;
  479.             MainFrame.g_bCreateRescueDisk = false;
  480.             MainFrame.g_bFullSystemScan = false;
  481.             MainFrame.g_bLaunchUI = false;
  482.             
  483.             // Go through each wizard panel and execute the pre and post actions
  484.             for (i = MainFrame.m_nCurrentPanel; i < MainFrame.m_nMaxPanels; i++)
  485.             {
  486.                 if (MainFrame.m_aWizardPanels[i].m_bLoadPanel == true)
  487.                 {
  488.                     // Run the pre action
  489.                     if (MainFrame.m_aWizardPanels[i].m_pPreAction != null)
  490.                     {
  491.                         MainFrame.m_aWizardPanels[i].m_pPreAction();
  492.                     }
  493.  
  494.                     // Run the post action
  495.                     if (MainFrame.m_aWizardPanels[i].m_pPostAction != null)
  496.                     {
  497.                         MainFrame.m_aWizardPanels[i].m_pPostAction();
  498.                     }
  499.                 }    
  500.             }
  501.             
  502.             // Set the current panel to the last panel
  503.             MainFrame.m_nCurrentPanel = MainFrame.m_nMaxPanels - 1
  504.             
  505.             // Close CfgWiz
  506.             OnFinishButton();
  507.         }
  508.         else
  509.         {
  510.             // Run the PreAction for the current panel
  511.             
  512.             if (MainFrame.m_aWizardPanels[MainFrame.m_nCurrentPanel].m_pPreAction != null)
  513.                 MainFrame.m_aWizardPanels[MainFrame.m_nCurrentPanel].m_pPreAction();
  514.         }
  515.     }
  516.     catch(err)
  517.     {
  518.         CfgWizMgrObj.NAVError.LogAndDisplay(0);
  519.     }
  520. }
  521.  
  522. function OnUnload()
  523. {
  524.     // Delete all the Wizard Panel objects 
  525.     for (i = 0; i < MainFrame.m_nMaxPanels; i++)
  526.     {
  527.         if( MainFrame.m_aWizardPanels[i] != null )
  528.             delete MainFrame.m_aWizardPanels[i];
  529.     }
  530. }
  531.  
  532. function OnSubscriptionInfo()
  533. {
  534.     try
  535.     {
  536.         // If it's an OEM SKU or CTO SKU, reactivate virus def subscription
  537.         if (MainFrame.g_lOEM == 1 || MainFrame.g_lOEM == 2)
  538.         {
  539.             CfgWizMgrObj.ReactivateSubscription();
  540.         }
  541.     }
  542.     catch(err)
  543.     {
  544.         CfgWizMgrObj.NAVError.LogAndDisplay(0);
  545.     }
  546. }
  547.  
  548. function OnSubscriptionInfoRental()
  549. {
  550.     // Activate Rental product subscription
  551.     if (true == MainFrame.g_bActivateLicenseNow)
  552.     {
  553.         try
  554.         {
  555.             // Set up argument to call activation license.
  556.             //  Argument must have format "WindowClass\tWindowTitle".
  557.             
  558.             var vArg = "Sym_ccWebWindow_Class\t" + MainFrame.g_strWizardName;        
  559.             NAVLicense.ActivateLicense(vArg);
  560.  
  561.             // Update license status after activation process.
  562.              var state = NAVLicense.GetLicenseState();
  563.              
  564.             MainFrame.g_bLicenseValid = ((state == DJSMAR00_LicenseState_TRIAL) || (state == DJSMAR00_LicenseState_PURCHASED));
  565.         }
  566.         catch(err)
  567.         {
  568.             NAVLicense.NAVError.LogAndDisplay(0);
  569.             return;
  570.         }
  571.     }
  572.  
  573.     // If all post install tasks are set to hidden, run PostInstall post action now.
  574.     if (!(MainFrame.g_bShowLaunchLiveUpdate || MainFrame.g_bShowLaunchRescue || MainFrame.g_bShowEnableWeeklyScan || MainFrame.g_bShowLaunchFullSysScan))
  575.         OnPreConfiguration();
  576. }
  577.  
  578. function OnPreConfiguration()
  579. {
  580.     try
  581.     {
  582.         // Check the OS type
  583.         var OSType = CfgWizMgrObj.OSType;
  584.     }
  585.     catch(err)
  586.     {    
  587.         CfgWizMgrObj.NAVError.LogAndDisplay(0);
  588.     }
  589.  
  590.     if ((OSType == OS_TYPE_WINNT || OSType == OS_TYPE_WINXP) && MainFrame.g_bSilentMode != true)
  591.     {
  592.         window.external.Global = MainFrame;
  593.         try
  594.         {
  595.             WebWnd = new ActiveXObject ("drWebWnd.drWebWindow");
  596.             WebWnd.FrameWindowStyle = 0;
  597.             WebWnd.Width = 400;
  598.             WebWnd.Height = 125;
  599.             WebWnd.LaunchWindow('res://CfgWzRes.dll/PostInstallProgress.htm', MainFrame.g_strWizardName, false);
  600.             window.external.Global = null;
  601.         }
  602.         catch(err)
  603.         {
  604.             var msg = document.frames("Errors").document.all.ERR_MSG_NO_WEBWND.innerText;
  605.             var id = document.frames("Errors").document.all.ERR_ID_NO_WEBWND.innerText;
  606.             g_ErrorHandler.DisplayNAVError (msg, id);
  607.             return;
  608.         }
  609.     }
  610.     else
  611.     {
  612.         PostInstallWorker();
  613.     }
  614. }
  615.  
  616. function OnCompleteCfgWiz()
  617. {
  618.     var NAVOptionObj;
  619.     
  620.     try
  621.     {
  622.         NAVOptionObj = new ActiveXObject ("Symantec.Norton.AntiVirus.NAVOptions");
  623.     }
  624.     catch(err)
  625.     {
  626.         var msg = document.frames("Errors").document.all.ERR_MSG_NO_OPTIONS.innerText;
  627.         var id = document.frames("Errors").document.all.ERR_ID_NO_OPTIONS.innerText;
  628.         g_ErrorHandler.DisplayNAVError (msg, id);
  629.         return;
  630.     }
  631.  
  632.     try
  633.     {
  634.         // Check to see if we need to enable IM Scanner
  635.         CfgWizMgrObj.EnableMSNScan();
  636.  
  637.         // Put SSA in the run key if it exists in the install apps.
  638.         CfgWizMgrObj.SetSSARunKey();
  639.         
  640.         // Check to see if we need to launched LU
  641.         if (MainFrame.g_bRunLiveUpdate == true)
  642.             CfgWizMgrObj.LaunchLiveUpdate();
  643.         
  644.         // Check to see if we need to Create a Rescue Set
  645.         var OSType = CfgWizMgrObj.OSType;
  646.         
  647.         if (OSType == OS_TYPE_WIN9x || OSType == OS_TYPE_WINME)
  648.         {
  649.             if (MainFrame.g_bCreateRescueDisk == true)
  650.                 CfgWizMgrObj.LaunchRescue();
  651.         }
  652.         else
  653.         {    
  654.             // If NT, then set Async option.
  655.             if (MainFrame.g_bEnableAsyncScan)
  656.             {
  657.                 NAVOptionObj.AP.ScanContainerFiles = Math.abs(Number(true));
  658.             }
  659.             else
  660.             {
  661.                 NAVOptionObj.AP.ScanContainerFiles = Math.abs(Number(false));
  662.             }
  663.             
  664.             NAVOptionObj.Save();
  665.         }
  666.         
  667.         // Check to see if we need to scan system for viruses
  668.         if (MainFrame.g_bFullSystemScan == true)
  669.         {
  670.             CfgWizMgrObj.LaunchSystemScan();
  671.         }
  672.         
  673.         // Launch main UI?
  674.         if (MainFrame.g_bLaunchUI == true)
  675.         {    
  676.             CfgWizMgrObj.LaunchUI ();
  677.         }
  678.  
  679.         // Repair Start Menu and desktop shortcuts
  680.         CfgWizMgrObj.RepairShortcuts();
  681.         
  682.         CfgWizMgrObj.CfgWizCompleted = true;
  683.     }
  684.     catch(err)
  685.     {    
  686.         CfgWizMgrObj.NAVError.LogAndDisplay(0);
  687.     }
  688. }
  689.  
  690. function OnFinishButton()
  691. {
  692.     try
  693.     {
  694.         window.external.ObjectArg("CFGWIZ_BASE_METHODS").SignalWebWndCloseEvent(window.external.ObjectArg("CFGWIZ_WEBWND_CLOSE_EVENT"));
  695.     }
  696.     catch(err)
  697.     {
  698.     }
  699.     
  700.     OnCompleteCfgWiz();
  701.     MainFrame.navigate("res://closeme.xyz");
  702. }
  703.  
  704. function OnCloseButton()
  705. {
  706.     // Prompt users to see if they really wanna cancel
  707.     if( MainFrame.bPromptUser == true )
  708.     {
  709.  
  710.         iMsgBoxReturn = MainFrame.g_WebWnd.MsgBox(CancelWarning.innerHTML, MainFrame.g_strProductName, MB_YESNO | MB_ICONQUESTION);
  711.  
  712.         if (iMsgBoxReturn == IDYES)
  713.         {
  714.             try
  715.             {
  716.                 window.external.ObjectArg("CFGWIZ_BASE_METHODS").SignalWebWndCloseEvent(window.external.ObjectArg("CFGWIZ_WEBWND_CLOSE_EVENT"));
  717.             }
  718.             catch(err)
  719.             {
  720.             }
  721.     
  722.             MainFrame.navigate("res://closeme.xyz");
  723.             return true;
  724.         }
  725.         return false
  726.     }
  727.     else
  728.     {
  729.         try
  730.         {
  731.             window.external.ObjectArg("CFGWIZ_BASE_METHODS").SignalWebWndCloseEvent(window.external.ObjectArg("CFGWIZ_WEBWND_CLOSE_EVENT"));
  732.         }
  733.         catch(err)
  734.         {
  735.         }
  736.         MainFrame.navigate("res://closeme.xyz");
  737.     }
  738.     
  739.     return true;
  740. }
  741.  
  742. function PostInstallWorker()
  743. {
  744.     var NAVOptionObj;
  745.     
  746.     try
  747.     {
  748.         NAVOptionObj = new ActiveXObject ("Symantec.Norton.AntiVirus.NAVOptions");
  749.     }
  750.     catch(err)
  751.     {
  752.         var msg = document.frames("Errors").document.all.ERR_MSG_NO_OPTIONS.innerText;
  753.         var id = document.frames("Errors").document.all.ERR_ID_NO_OPTIONS.innerText;
  754.         g_ErrorHandler.DisplayNAVError (msg, id);
  755.         return;
  756.     }
  757.  
  758.     
  759.     try
  760.     {
  761.     
  762.         try
  763.         {
  764.             APSCRObj = new ActiveXObject ("NAVAPSCR.ScriptableAutoProtect");
  765.         }
  766.         catch(err)
  767.         {
  768.             var msg = document.frames("Errors").document.all.ERR_MSG_NO_AP.innerText;
  769.             var id = document.frames("Errors").document.all.ERR_ID_NO_AP.innerText;
  770.             g_ErrorHandler.DisplayNAVError (msg, id);
  771.             return;
  772.         }
  773.  
  774.         try
  775.         {
  776.             ScanTasksObj = new ActiveXObject ("Symantec.Norton.AntiVirus.ScanTasks");
  777.         }
  778.         catch(err)
  779.         {
  780.             var msg = document.frames("Errors").document.all.ERR_MSG_NO_SCANTASKS.innerText;
  781.             var id = document.frames("Errors").document.all.ERR_ID_NO_SCANTASKS.innerText;
  782.             g_ErrorHandler.DisplayNAVError (msg, id);
  783.             return;
  784.         }
  785.         
  786.         try
  787.         {
  788.             Scheduler = new ActiveXObject ("NAVTasks.Scheduler");
  789.         }
  790.         catch(err)
  791.         {
  792.             var msg = document.frames("Errors").document.all.ERR_MSG_NO_SCHEDULER.innerText;
  793.             var id = document.frames("Errors").document.all.ERR_ID_NO_SCHEDULER.innerText;
  794.             g_ErrorHandler.DisplayNAVError (msg, id);
  795.             return;
  796.         }
  797.  
  798.         ///////////////////////////////////////////////////////
  799.         // Email Scanning
  800.  
  801.         // Check to see if we need to enable Email Scanning.
  802.         // Don't need to check licensing here because NavEmail already handles that.    
  803.         if (MainFrame.g_bEnableEmailScanningIn == true)
  804.         {
  805.             NAVOptionObj.NAVEMAIL.ScanIncoming = Math.abs(Number(true));            
  806.         }
  807.         else
  808.         {
  809.             NAVOptionObj.NAVEMAIL.ScanIncoming = Math.abs(Number(false));            
  810.         }
  811.  
  812.         if (MainFrame.g_bEnableEmailScanningOut == true)
  813.         {
  814.             NAVOptionObj.NAVEMAIL.ScanOutgoing = Math.abs(Number(true));
  815.         }
  816.         else
  817.         {
  818.             NAVOptionObj.NAVEMAIL.ScanOutgoing = Math.abs(Number(false));        
  819.         }
  820.     }
  821.     catch(err)
  822.     {
  823.         NAVOptionObj.NAVError.LogAndDisplay(0);
  824.     }
  825.  
  826.     ///////////////////////////////////////////////////////
  827.     // AutoProtect
  828.  
  829.     // Check if we need to enable AP at startup
  830.     //  If license is not valid, we disable AP but we should not uncheck
  831.     //  the option "Enable AP on start up" (same as set NAVOptionObj.STARTUP.LoadVxD to false.)
  832.     try
  833.     {
  834.         if (MainFrame.g_bEnableAP == true)
  835.         {
  836.             NAVOptionObj.STARTUP.LoadVxD = Math.abs(Number(true));
  837.         }
  838.         else
  839.         {
  840.             NAVOptionObj.STARTUP.LoadVxD = Math.abs(Number(false));    
  841.         }
  842.     }
  843.     catch(err)
  844.     {
  845.         NAVOptionObj.NAVError.LogAndDisplay(0);
  846.     }
  847.  
  848.     try
  849.     {        
  850.         NAVOptionObj.AUTOPROTECT.DelayLoad = Math.abs(Number(CfgWizMgrObj.EnableDelayLoad));
  851.         NAVOptionObj.Save();
  852.     }
  853.     catch(err)
  854.     {
  855.         NAVOptionObj.NAVError.LogAndDisplay(0);
  856.     }
  857.         
  858.     var LoadVxD;
  859.     try
  860.     {
  861.         LoadVxD = NAVOptionObj.STARTUP.LoadVxD;
  862.     }
  863.     catch(err)
  864.     {
  865.         NAVOptionObj.NAVError.LogAndDisplay(0);
  866.     }
  867.  
  868.     var OSType = CfgWizMgrObj.OSType;
  869.     if (OSType == OS_TYPE_WINNT || OSType == OS_TYPE_WINXP)
  870.     {
  871.         try
  872.         {
  873.             // set the service to system start
  874.             APSCRObj.SetSAVRTPELStartMode(1);
  875.         }
  876.         catch(err)
  877.         {
  878.             APSCRObj.NAVError.LogAndDisplay(0);
  879.         }
  880.     }
  881.         
  882.     try
  883.     {
  884.         APSCRObj.Configure(LoadVxD);
  885.         
  886.         // Enable AP only if license is valid.
  887.         APSCRObj.Enabled = (LoadVxD && MainFrame.g_bLicenseValid);
  888.     }
  889.     catch(err)
  890.     {
  891.         APSCRObj.NAVError.LogAndDisplay(0);
  892.     }
  893.  
  894.     try
  895.     {
  896.         // Remove the Defalert dealy
  897.         CfgWizMgrObj.RemoveDefAlertDelay();
  898.     }
  899.     catch(err)
  900.     {
  901.         CfgWizMgrObj.NAVError.LogAndDisplay(0);
  902.     }
  903.  
  904.     ///////////////////////////////////////////////////////
  905.     // ScriptBlocking
  906.  
  907.     try
  908.     {
  909.         if (MainFrame.g_bScriptBlockingInstalled == true)
  910.         {
  911.             if (MainFrame.g_bEnableScriptBlocking == true)
  912.             {
  913.                 NAVOptionObj.SCRIPTBLOCKING.Enabled = Math.abs(Number(true));
  914.             }
  915.             else
  916.             {
  917.                 NAVOptionObj.SCRIPTBLOCKING.Enabled = Math.abs(Number(false));
  918.             }
  919.         }
  920.     }
  921.     catch(err)
  922.     {
  923.         NAVOptionObj.NAVError.LogAndDisplay(0);
  924.     }
  925.  
  926.     // Fix a scheduler bug related to Wise/Microsoft (Defect# 362816)
  927.     
  928.     var OSType;
  929.     try
  930.     {
  931.         OSType = CfgWizMgrObj.OSType;
  932.     }
  933.     catch(err)
  934.     {
  935.         CfgWizMgrObj.NAVError.LogAndDisplay(0);
  936.     }
  937.     
  938.     if (OSType == OS_TYPE_WINNT || OSType == OS_TYPE_WINXP)
  939.     {
  940.         try
  941.         {
  942.             Scheduler.Running = 0;
  943.             Scheduler.Running = 1;
  944.         }
  945.         catch(err)
  946.         {
  947.             Scheduler.NAVError.LogAndDisplay(0);
  948.         }
  949.     }
  950.  
  951.     ///////////////////////////////////////////////////////
  952.     // Weekly Scan
  953.     var SchedulerInstalled;
  954.     try
  955.     {
  956.         SchedulerInstalled = Scheduler.Installed;
  957.     }
  958.     catch(err)
  959.     {
  960.         Scheduler.NAVError.LogAndDisplay(0);
  961.     }
  962.  
  963.     if ( SchedulerInstalled == true)
  964.     {
  965.         if (MainFrame.g_bScheduleScan == true)
  966.         {
  967.             try
  968.             {
  969.                 ScanTasksObj.ScheduleMyComputer();
  970.             }
  971.             catch(err)
  972.             {
  973.                 ScanTasksObj.NAVError.LogAndDisplay(0);
  974.             }
  975.         }
  976.         else
  977.         {
  978.             try
  979.             {
  980.                 MyComputer = ScanTasksObj.MyComputer;
  981.             }
  982.             catch(err)
  983.             {
  984.                 ScanTasksObj.NAVError.LogAndDisplay(0);
  985.             }
  986.  
  987.             try
  988.             {
  989.                 if (MyComputer.Scheduled == 1)
  990.                     MyComputer.DeleteSchedule();
  991.             }
  992.             catch(err)
  993.             {
  994.                 MyComputer.NAVError.LogAndDisplay(0);
  995.             }
  996.         }    
  997.     }
  998.  
  999.     ///////////////////////////////////////////////////////
  1000.     // AutoLiveUpdate
  1001.     try
  1002.     {
  1003.         if (MainFrame.g_bEnableALU == true)
  1004.         {        
  1005.             NAVOptionObj.LiveUpdate = Math.abs(Number(true));
  1006.         }
  1007.         else
  1008.         {
  1009.             NAVOptionObj.LiveUpdate = Math.abs(Number(false));        
  1010.         }
  1011.         
  1012.         NAVOptionObj.Save();
  1013.     }
  1014.     catch(err)
  1015.     {
  1016.         NAVOptionObj.NAVError.LogAndDisplay(0);
  1017.     }
  1018. }