home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 July & August / PCWorld_2005-07-08_cd.bin / komunikace / netscape / nsb-install-8-0.exe / chrome / aim.jar / content / aim / migration.js < prev    next >
Text File  |  2005-02-13  |  16KB  |  617 lines

  1. //Global Variables
  2. var gSelectedRadioItem;    // Remembers the chosen screenname if the user hits the back button.
  3. var gCurPage;              // Remembers the current page you are on, so finish knows what setup panel to get the screenname from.
  4. var whichPath = "";        // Keeps track of which of the three choices the user has  made at the beginning of the wizard
  5.  
  6. //*************************//
  7. //      Panel One JS       //
  8. //*************************//
  9.  
  10.  
  11. /*
  12.  * Function: page1onLoad
  13.  *
  14.  * Arguments: None
  15.  * 
  16.  * Return: None
  17.  *
  18.  * Description: Calls the function to setup what radio button options the
  19.  *              user will see in the wizard when it loads.
  20.  */
  21.  
  22. function page1onLoad()
  23. {
  24.   setInitialPanel();
  25.   gCurPage = 1;
  26. }
  27.  
  28.  
  29. function page1Advanced(){
  30.  if(whichPath == "downstreamActivation"){
  31.         
  32.     /*  ---  MERC SL Feb 9, 2005  */
  33.     /*  ---     Kill the legacy registration process and spawn
  34.         ---     the AIM registration URL in the browser.
  35.     */
  36.     var mBypassLegacyReg = true;  // set true to use browser reg. instead
  37.     if (mBypassLegacyReg) {
  38.     window.close();  // close the dialog window
  39.     window.opener.parent.loadURI("https://my.screenname.aol.com/_cqr/registration/initRegistration.psp?sitedomain=my.screenname.aol.com&authLev=1&siteState=&lang=en&locale=us&createSn=1", null, null); 
  40.     return false;
  41.     /*  ---                       */
  42.     }
  43.     if (gAcctTypeOnPageHandlerKicked){
  44.        return true;
  45.     }
  46.     setEntryPoint("downstreamActivation");
  47.     setNewAccountGlobals();
  48.     pingForTransactionUrls();
  49.      
  50.     return false;
  51.    }
  52.    else{
  53.        if(whichPath == "setUseMyScreenName")
  54.        {
  55.          dump ("---> setUseMyScreenName\n");
  56.                           
  57.          if (gAcctTypeOnPageHandlerKicked){
  58.            return true;
  59.          }
  60.          setEntryPoint("downstreamActivation");
  61.          //set gExistingAccount = true and gNewAccount = false;
  62.          setExistingAccountGlobals();
  63.          
  64.          // MERC: SL Feb 12 /05 
  65.          //pingForTransactionUrls();
  66.          
  67.          // MERC: SL Feb 12/05 - jump directly to signon sidebar
  68.          window.close();  // close the dialog window
  69.          finishWizard();
  70.          
  71.          return false;
  72.          
  73.        }
  74.        return true;
  75.      
  76.      }
  77. }
  78.  
  79.  
  80. /*
  81.  * Function: setInitialPanel()
  82.  *
  83.  * Arguments: None
  84.  * 
  85.  * Return: None
  86.  *
  87.  * Description: Determines if the user activated or not.  If so, gives them the option to use the ID they activated for aim.  If not,
  88.  * hides that functionality from them.
  89.  *
  90. */
  91.  
  92. function setInitialPanel()
  93. {
  94.   var firstScreen = aimPrefsManager().GetCharPref("aim.session.screenname", null, true);
  95.   //we need to make  sure we set the correct radio button depending on whether the  
  96.   //user is coming back to this panel, or if it is the first time.
  97.   //document.getElementById("wizchoices").selectedItem = null;
  98.   
  99.   switch(whichPath)
  100.   {
  101.      case "useActivatedName":
  102.       document.getElementById('netcenter').setAttribute('selected','true');
  103.       //document.getElementById('migration').setAttribute('selected','false');
  104.       //document.getElementById('setupname').setAttribute('selected','false');
  105.       setUseActivatedName();
  106.       break;
  107.    
  108.      case "setUseMyScreenName":
  109.       //document.getElementById('netcenter').setAttribute('selected','false');
  110.       document.getElementById('migration').setAttribute('selected','true');
  111.       //document.getElementById('setupname').setAttribute('selected','false');
  112.       setUseMyScreenName();
  113.       break;
  114.    
  115.      case "downstreamActivation":
  116.       //document.getElementById('netcenter').setAttribute('selected','false');
  117.       //document.getElementById('migration').setAttribute('selected','false');
  118.       document.getElementById('setupname').setAttribute('selected','true');
  119.       dump("in migration.js - downstreamActivation\n");
  120.       setUseNewScreenName();
  121.       break;
  122.       
  123.      default:
  124.      //determine starting wizard panel
  125.      if (firstScreen && firstScreen != '')
  126.      {
  127.       var aimBundle   = document.getElementById('bundle_aim');  // Lets us access the AIM String Bundle.
  128.       var text1       = aimBundle.getString("migwiz.text1");
  129.       var text2       = aimBundle.getString("migwiz.text2");
  130.       var newRadio    = document.createElement("radio");
  131.       
  132.       //new code to fix strange wrapping bug
  133.       
  134.       newRadio.setAttribute("label", text1 + firstScreen + text2);
  135.       document.getElementById('wizchoices').replaceChild(newRadio, document.getElementById('netcenter'));
  136.       newRadio.setAttribute('id','netcenter');
  137.       newRadio.setAttribute('selected','true');
  138.       newRadio.setAttribute('oncommand','setUseActivatedName();');
  139.  
  140.       
  141.       //document.getElementById('migration').setAttribute('selected','false');
  142.       //document.getElementById('setupname').setAttribute('selected','false');
  143.          
  144.       setUseActivatedName();
  145.      }
  146.      else
  147.      {
  148.       //document.getElementById('netcenter').setAttribute('selected','false');
  149.       document.getElementById('netcenter').setAttribute('hidden','true');
  150.       document.getElementById('migration').setAttribute('selected','true');
  151.       //document.getElementById('setupname').setAttribute('selected','false');
  152.       
  153.       setUseMyScreenName();
  154.      }
  155.      break;
  156.    }
  157.   
  158.   //determine ending wizard panel
  159.   gEndPageId = "pdone";
  160.  
  161. }
  162.  
  163.  
  164. /*
  165.  * Function: setUseActivatedName
  166.  *
  167.  * Arguments: none
  168.  * 
  169.  * Return: none
  170.  *
  171.  * Description: Sets the next page to be the Netcenter activation explaination page.
  172.  */
  173.  
  174. function setUseActivatedName()
  175. {
  176.   document.getElementById('p1').next='p2';
  177.   whichPath = "useActivatedName";
  178. }
  179.  
  180.  
  181. /*
  182.  * Function: setUseMyScreenName
  183.  *
  184.  * Arguments: none
  185.  * 
  186.  * Return: none
  187.  *
  188.  * Description: Sets the next page depending on a. platform, and b. if the 'MigrateDiscover()' 
  189.  *              function finds any existing screennames on your computer.
  190.  */
  191.  
  192. function setUseMyScreenName()
  193. {
  194.   whichPath = "setUseMyScreenName";
  195.  // if (navigator.platform != 'MacPPC')
  196.  // {
  197.  //   var ret = MigrateDiscover();
  198.  //   if ( MigrateDiscover() == false )
  199.  //     document.getElementById('p1').next='p3';
  200.  //   else
  201.  //     document.getElementById('p1').next='p4';
  202.  // }
  203.  // else
  204.     // we need to go through the activation screens
  205.     // to detemine if the screen name has NetscapeNetwork
  206.     // flag set
  207.     
  208.     document.getElementById('p1').next='ispPage3';
  209.     setNextPage("ispPage3", "ispPage5");
  210.     setNextPage("ispPage5","pdone");
  211.     dump ("---) setUseMyScreenName\n");     
  212.  
  213. }
  214.  
  215.  
  216. /*
  217.  * Function: setUseNewScreenName
  218.  *
  219.  * Arguments: none
  220.  * 
  221.  * Return: none
  222.  *
  223.  * Description: Sets the next page to be the New Screen Name explaination page.
  224.  */
  225.  
  226. function setUseNewScreenName()
  227. {
  228.   whichPath = "downstreamActivation";
  229.   document.getElementById('p1').next='ispPage4';
  230.   setNextPage("ispPage4","ispPage5");
  231.   setNextPage("ispPage5","ispPage6");
  232.   setNextPage("ispPage6","pdone");
  233.  }
  234.  
  235.  
  236. //*************************//
  237. //      Panel Two JS       //
  238. //*************************//
  239.  
  240.  
  241. /*
  242.  * Function: page2onLoad
  243.  *
  244.  * Arguments: None
  245.  * 
  246.  * Return: None
  247.  *
  248.  * Description: Fires when the 3rd page is loaded.  Sets focus on the relevant widget.
  249.  */
  250.  
  251. function page2onLoad()
  252. {
  253.   gCurPage = 2;
  254.   dump("in migration.js page2onLoad()\n");
  255. }
  256.  
  257.  
  258.  
  259. //*************************//
  260. //     Panel Three JS      //
  261. //*************************//
  262.  
  263.  
  264. /*
  265.  * Function: page3onLoad
  266.  *
  267.  * Arguments: None
  268.  * 
  269.  * Return: None
  270.  *
  271.  * Description: Fires when the 3rd page is loaded.  Sets focus on the relevant widget.
  272.  */
  273.  
  274. function page3onLoad()
  275. {
  276.   document.getElementById('p3inputscreenname').focus();
  277.   gCurPage = 3;
  278. }
  279.  
  280.  
  281.  
  282. //*************************//
  283. //     Panel Four JS       //
  284. //*************************//
  285.  
  286.  
  287. /*
  288.  * Function: page4onLoad
  289.  *
  290.  * Arguments: None
  291.  * 
  292.  * Return: None
  293.  *
  294.  * Description: Fires when the 4th page is loaded.  Sets focus on the relevant widget.
  295.  */
  296.  
  297. function page4onLoad()
  298. {
  299.   document.getElementById('p4inputscreenname').focus();
  300.   setFields('p4inputscreenname', parent.migrationScreenName);
  301.   setFields('p4inputpassword', parent.migrationPassword);
  302.   gCurPage = 4;
  303. }
  304.  
  305.  
  306. /*
  307.  * Function: setMigratedPanelFields
  308.  *
  309.  * Arguments: none
  310.  * 
  311.  * Return: none
  312.  *
  313.  * Description: Fill the menupopup with found AIM screennames.
  314.  */
  315.  
  316. function setFields(element,set)
  317. {
  318.   element = document.getElementById(element);
  319.  
  320.   if ( !element || element == null || element == undefined )
  321.     return;
  322.  
  323.   if (element.id == "p4inputscreenname")
  324.   {
  325.     ClearMenuList( element );
  326.     if (parent.migrationScreenName)
  327.       AppendStringToMenulist( element, parent.migrationScreenName );
  328.     for ( var i = 0; i < parent.migrationScreenNameVecSize.value; i++ )
  329.       AppendStringToMenulist( element, parent.migrationScreenNameVec[ i ] );
  330.   }
  331.   if (element.id == "p4inputpassword")
  332.     element.value = set;
  333. }    
  334.  
  335.  
  336. //*************************//
  337. //     Panel Five JS       //
  338. //*************************//
  339.  
  340.  
  341. /*
  342.  * Function: page5onLoad
  343.  *
  344.  * Arguments: none
  345.  * 
  346.  * Return: none
  347.  *
  348.  * Description: Fires when the 5th page is loaded.  Sets focus on the relevant widget, 
  349.  *              and sets the proper next page.
  350.  */
  351.  
  352. function page5onLoad()
  353. {
  354.   gCurPage = 5;
  355.   dump("in migration.js page5onLoad\n");
  356. }
  357.  
  358.  
  359.  
  360. //*************************//
  361. //      Panel Six JS       //
  362. //*************************//
  363.  
  364.  
  365. /*
  366.  * Function: page6onLoad
  367.  *
  368.  * Arguments: none
  369.  * 
  370.  * Return: none
  371.  *
  372.  * Description: Fires when the 6th page is loaded.  Sets focus on the relevant widget, 
  373.  *              and sets up the call to open the brower with the reg page open.
  374.  */
  375.  
  376. function page6onLoad()
  377. {
  378.   document.getElementById('p6inputscreenname').focus();
  379.   newRegBrowser(aimRegionString('register.site'))
  380.   gCurPage = 6;
  381. }
  382.  
  383.  
  384. //*************************//
  385. //      Panel Done JS       //
  386. //*************************//
  387.  
  388.  
  389. /*
  390.  * Function: pdoneonLoad
  391.  *
  392.  * Arguments: none
  393.  * 
  394.  * Return: none
  395.  *
  396.  * Description: Fires when the 6th page is loaded.  Sets focus on the relevant widget, 
  397.  *              and sets up the call to open the brower with the reg page open.
  398.  */
  399.  
  400. function pdoneonLoad()
  401. {
  402.     sname=gScreenName;
  403.     var snDom = document.getElementById("newScreenName")
  404.     snDom.setAttribute("value", sname);
  405.  
  406.   gCurPage = 99;
  407. }
  408.  
  409.  
  410.  
  411.  
  412. /*
  413.  * Function: newRegBrowser
  414.  *
  415.  * Arguments: theUrl
  416.  * 
  417.  * Return: none
  418.  *
  419.  * Description: Opens a browser window with the AIM new screen name registration page displayed.
  420.  */
  421.  
  422. function newRegBrowser(theUrl)
  423. {
  424.   aimCmdNewBrowser(theUrl);
  425. }
  426.  
  427.  
  428. //*************************//
  429. //    Finish/Cancel JS     //
  430. //*************************//
  431.  
  432.  
  433.  
  434. /*
  435.  * Function: wizardSetPrefs()
  436.  *
  437.  * Arguments: panelName,ns,pw
  438.  * 
  439.  * Return: None
  440.  *
  441.  * Description: called when the user has hit the finish button.  Sets the relevant prefs 
  442.  *              for their choice of screen name, and also registers the name somehow.
  443.  *              
  444.  */
  445. /*
  446. function wizardSetPrefs(sn,pw)
  447. {
  448.   aimPrefsManager().SetCharPref("aim.session.screenname", sn, null, true);
  449.   
  450.   if(pw != "")
  451.   {
  452.     aimSessionSavePassword(pw);
  453.     aimPrefsManager().SetBoolPref("aim.session.storepassword", true, null, false);
  454.   }
  455.  
  456.   aimPrefsManager().SetBoolPref("aim.session.autologin", false, null, false);
  457.  
  458.   wizardRegister(sn);
  459. }
  460. */
  461.  
  462. /*
  463.  * Function: wizardRegister()
  464.  *
  465.  * Arguments: screenName
  466.  * 
  467.  * Return: None
  468.  *
  469.  * Description: Registers the screenname?  (Please comment.)
  470.  */
  471. /*
  472. function wizardRegister(screenName)
  473. {
  474.   if(aimSessionObject())
  475.     aimSessionObject().RegisterScreenName(screenName);
  476. }
  477. */
  478.  
  479. /*
  480.  * Function: cancelWizard()
  481.  *
  482.  * Arguments: none
  483.  * 
  484.  * Return: None
  485.  *
  486.  * Description: Cancels the use of the wizard, and throws you out to the setup panel.
  487.  */
  488.  
  489. function cancelWizard()
  490. {
  491.   if (document.documentElement.currentPage.id == "ispPage12") {
  492.     gCreditPageCancelled =true;
  493.     document.documentElement.advance("ispPage13");
  494.     return false;
  495.   }
  496.   var aimBundle = document.getElementById('bundle_aim');  // Lets us access the AIM String Bundle.
  497.  
  498.   var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService();
  499.   promptService = promptService.QueryInterface(Components.interfaces.nsIPromptService);
  500.   
  501.   var title   = aimBundle.getString("migwiz.cancel.title");
  502.   var message = aimBundle.getString("migwiz.cancel.text");
  503.   var result = {value:0};
  504.   
  505.   result = promptService.confirmEx(window, title, message, null, null, null, null, null, result);
  506.  
  507.   if (result == 1){
  508.        return false;
  509.     }else{
  510.        return true;
  511.     }
  512. }
  513.  
  514.  
  515. /*
  516.  * Function: finishWizard()
  517.  *
  518.  * Arguments: none
  519.  * 
  520.  * Return: None
  521.  *
  522.  * Description: Finishes the use of the wizard, and throws you out to the Sign On panel with whatever screen name you picked.
  523.  */
  524.  
  525. function finishWizard()
  526. {
  527.   var sname = "";
  528.   var pword = "";
  529.   var existingScreenName = aimPrefsManager().GetCharPref("aim.session.screenname", null, true);
  530.   var firstTimeUsingAim = aimPrefsManager().GetBoolPref("aim.session.firsttime", null, true);
  531.   var overrideExistingScreenName = false;
  532.  
  533.   dump("---> in finishWizard gCurPage is " + gCurPage + "\n");
  534.   
  535.   switch(gCurPage)
  536.   {
  537.     case 2:
  538.       sname = existingScreenName
  539.       pword = "";
  540.     break;
  541.     case 3:
  542.       sname = document.getElementById("p3inputscreenname").value;
  543.       pword = document.getElementById("p3inputpassword").value;
  544.       overrideExistingScreenName = true;
  545.     break;
  546.     case 4:
  547.       sname = document.getElementById("p4inputscreenname").value;
  548.       pword = document.getElementById("p4inputpassword").value;
  549.       overrideExistingScreenName = true;
  550.     break;
  551.     case 6:
  552.       sname = document.getElementById("p6inputscreenname").value;
  553.       pword = document.getElementById("p6inputpassword").value;
  554.     break;
  555.     case 99:
  556.       // downstream activation
  557.       sname=gScreenName;
  558.       pword=gPassword;
  559.       overrideExistingScreenName = true;
  560.     break;
  561.   }
  562.  
  563.   if( !(existingScreenName && existingScreenName !="") || ((overrideExistingScreenName == true)&&(aimRDFDataSource().GetTarget(aimRDFSession(), aimRDFSessionState(), true) == aimRDF().GetLiteral("Offline"))))
  564.   {
  565.      //we dont have a screen name set so set one --- or --- we want to override the existing screen name and we are offline.
  566.      
  567.      aimSessionRegister(sname);
  568.   
  569.      if(pword != "")
  570.      {
  571.        dump("\n in saving password option \n")
  572.        aimSessionSavePassword(pword);
  573.        aimPrefsManager().SetBoolPref("aim.session.storepassword", true, null, false);
  574.        
  575.        /*update sidebar sign on fields */
  576.        var migrationParentWindow = top.opener;//get the parent window of this wizard
  577.        var sideBarFrame = migrationParentWindow.getsidebarframe();//get the sidebar panel
  578.        var sideBarFramePassWordField = sideBarFrame.document.getElementById("fldPassword");
  579.        sideBarFramePassWordField.value = pword;
  580.        //enable the inputs like sign on and save password checkbox
  581.        sideBarFrame.EnableInputs();
  582.  
  583.      }
  584.  
  585.      aimPrefsManager().SetBoolPref("aim.session.finishedwizard",true, null, true);
  586.      aimPrefsManager().SetCharPref("aim.session.screenname", sname, null, true);
  587.      aimPrefsManager().SetCharPref("aim.session.latestaimscreenname",sname, null,true);
  588.      aimPrefsManager().SetBoolPref("aim.session.autologin", false, null, false);
  589.  
  590.      var checkbox = document.getElementById("p4migrateScreenNameCheck");
  591.   
  592.      if ( checkbox && checkbox.checked == false )
  593.      {
  594.        aimPrefsManager().SetCharPref("aim.session.migrateBuddyList",sname, null, true);
  595.      }
  596.   }
  597.    
  598.   dump("finished finish wizard\n");
  599.   //closeWizard();
  600. }
  601.  
  602. function closeWizard()
  603. {
  604.   dump("calling close wizard\n");
  605.   top.window.close();
  606.   window.close();
  607.   top.close();
  608. }
  609.  
  610.  
  611. /**** set next page 
  612. *
  613. */
  614. function setNextPage(currentPageId, nextPageId) {
  615.     var currentPage = document.getElementById(currentPageId);
  616.     currentPage.next = nextPageId;
  617. }