home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 December / PCWorld_2006-12_cd.bin / komunikace / netscape / nsb-install-8-1-2.exe / chrome / aim.jar / content / aim / migrationWizard.js < prev    next >
Text File  |  2006-01-06  |  5KB  |  172 lines

  1. var migrationScreenName = "";
  2. var migrationPassword = "";
  3. var migrationSource = "";
  4. var migrationScreenNameVec = "";
  5. var migrationScreenNameVecSize = 0;
  6. var selectedRadioItem;
  7.  
  8. // Navigation Set for pages contained in wizard
  9. var wizardMap =
  10. {
  11.   migWiz0_0_0: { previous: null,                       next: "migWiz1_0_0", finish: false },
  12.   migWiz1_0_0: { previous: "migWiz0_0_0",              next: null,    finish: true },
  13.   migWiz2_0_0: { previous: "migWiz0_0_0",              next: null,    finish: true },
  14.   migWiz2_1_0: { previous: "migWiz3_0_0",              next: null,    finish: true },
  15.   migWiz3_0_0: { previous: "migWiz0_0_0",              next: "migWiz2_1_0", finish: false },
  16.   migWiz4_0_0: { previous: "migWiz0_0_0",              next: null,    finish: true },
  17. }
  18.  
  19. // page specific variables
  20. var profName      = "";
  21. var profDir       = "";
  22. var wizardManager = null;
  23.  
  24. // startup procedure
  25. function Startup( startPage, frame_id )
  26. {
  27.   if(frame_id == "")
  28.     return false;
  29.   
  30.   // instantiate the Wizard Manager
  31.   wizardManager                   = new WizardManager( frame_id, null, null, wizardMap );
  32.   wizardManager.URL_PagePrefix    = "chrome://aim/content/";
  33.   wizardManager.URL_PagePostfix   = ".xul";
  34.  
  35.   // set the button handler functions
  36.   wizardManager.SetHandlers( null, null, onFinish, onCancel, null, null );
  37.  
  38.   // load the start page
  39.   wizardManager.LoadPage(startPage, false);
  40.  
  41.   // move to center of screen if no opener, otherwise, to center of opener
  42.   if( window.opener )
  43.     moveToAlertPosition();
  44.   else
  45.     centerWindowOnScreen();
  46. }
  47.  
  48. /*
  49.  * Function: setSelectedRadioItem()
  50.  *
  51.  * Arguments: defaultRadioItem
  52.  * 
  53.  * Return: None
  54.  *
  55.  * Description: Determines if the user has previously selected a radio button in this instance of the wizard, and sets
  56.  *              that button to be checked when stepping back to the first panel.  If not takes the defaultRadioItem
  57.  *              and sets that to be checked.
  58.  */
  59.  
  60. function setSelectedRadioItem(defaultRadioItem)
  61. {
  62.   var item;
  63.   var iframe = document.getElementById('content').docShell.contentViewer.DOMDocument;
  64.   var radiogroup = iframe.getElementById("migwiz000radiogroup1");
  65.  
  66.   if (selectedRadioItem)
  67.     item = iframe.getElementById(selectedRadioItem);
  68.   else
  69.     item = iframe.getElementById(defaultRadioItem);
  70.  
  71.   radiogroup.selectedItem = item;
  72. }
  73.  
  74.  
  75. /*
  76.  * Function: onCancel()
  77.  *
  78.  * Arguments: None
  79.  * 
  80.  * Return: None
  81.  *
  82.  * Description: Run when the user cancels out of the wizard using the cancel button.
  83.  */
  84.  
  85. function onCancel()
  86. {
  87.   if( top.window.opener )
  88.     window.close();
  89.   else
  90.   { 
  91.     try 
  92.     {
  93.       profile.forgetCurrentProfile();
  94.     }
  95.     catch (ex)
  96.     {
  97.       dump("failed to forget current profile.\n");
  98.     }
  99.     ExitApp();
  100.   }
  101. }
  102.  
  103.  
  104. /*
  105.  * Function: onFinish()
  106.  *
  107.  * Arguments: None
  108.  * 
  109.  * Return: None
  110.  *
  111.  * Description: Run when the user finishes the wizard.  Takes the Screenname/Password the user chose, and sets the prefs
  112.  *              to remember it, and also prefills the sign on panel.
  113.  */
  114.  
  115. function onFinish()
  116. {
  117.   var iframe = document.getElementById('content').docShell.contentViewer.DOMDocument;
  118.   var curPage = wizardManager.currentPageTag;
  119.   var sname = "";
  120.   var pword = "";
  121.   if (curPage != "migWiz1_0_0")
  122.   {
  123.     pword = iframe.getElementById("inputpassword").value;
  124.     if (curPage == "migWiz4_0_0")
  125.       sname = iframe.getElementById("inputscreenname").label;
  126.     else
  127.       sname = iframe.getElementById("inputscreenname").value;
  128.   }
  129.   else
  130.     sname = aimPrefsManager().GetCharPref("aim.session.screenname", null, true);  
  131.   
  132.   cmdRegisterRemoteScreenNameWiz(curPage,sname,pword);
  133.   aimPrefsManager().SetBoolPref("aim.session.finishedwizard",true, null, true);
  134.   var checkbox = top.frames[0].document.getElementById("migrateScreenNameCheck");
  135.   if ( checkbox && checkbox.checked == false )
  136.     aimPrefsManager().SetCharPref("aim.session.migrateBuddyList",sname, null, true);
  137.     
  138.   window.close();
  139. }
  140.  
  141. function ExitApp()
  142. {
  143.   // Need to call this to stop the event loop
  144.   var appShell = Components.classes['@mozilla.org/appshell/appShellService;1'].getService();
  145.   appShell = appShell.QueryInterface( Components.interfaces.nsIAppShellService);
  146.   appShell.Quit();
  147. }
  148.  
  149. //set up login screen
  150. function cmdRegisterRemoteScreenNameWiz(panelName,sn,pw)
  151. {
  152.   aimPrefsManager().SetCharPref("aim.session.screenname", sn, null, true);
  153.   
  154.   if(pw != "")
  155.   {
  156.     aimSessionSavePassword(pw);
  157.     aimPrefsManager().SetBoolPref("aim.session.storepassword", true, null, false);
  158.   }
  159.  
  160.   aimPrefsManager().SetBoolPref("aim.session.autologin", false, null, false);
  161.  
  162.   wizard_AimSession_Register(sn);
  163.   
  164.   top.close();
  165. }
  166.  
  167. function wizard_AimSession_Register(screenName)
  168. {
  169.   if(aimSession())
  170.     aimSession().RegisterScreenName(screenName);
  171. }
  172.