home *** CD-ROM | disk | FTP | other *** search
/ Clickx 65 / Clickx 65.iso / software / internet / xmarks / xmarks-3.1.1.xpi / chrome / content / foxmarks-login.js < prev    next >
Encoding:
JavaScript  |  2009-05-05  |  2.6 KB  |  89 lines

  1. /*
  2.  Copyright 2008 Foxmarks Inc.
  3.  
  4.  foxmarks-login.js: Implements the client-side behavior for Account Manager.
  5.  
  6.  */
  7.  
  8.  
  9. var firstTime = true;
  10.  
  11. function FoxmarksLoginOnLoad() {
  12.     var iframe = document.getElementById("foxmarks-iframe");
  13.     if (firstTime) {
  14.         iframe.addEventListener("DOMContentLoaded", FoxmarksIFrameOnLoad, true);
  15.         firstTime = false;
  16.     } else {
  17.         iframe.setAttribute("src", "");
  18.     }
  19.  
  20.     var url = gSettings.wizardUrl;
  21.     var params = [];
  22.     if (gSettings.username) {
  23.         params.push("_username=" + gSettings.username);
  24.     }
  25.     params.push("_app=jezebel");
  26.     params.push("_version=" + FoxmarksVersion()); 
  27.     params.push("_remempw=" + (gSettings.rememberPassword ? "on" : "off"));
  28.     params.push("_mid=" + gSettings.machineId);
  29.     params.push("_manual=" + window.arguments[0]);
  30.     gSettings.sessionID = Date.now().toString(36);
  31.     params.push("_sess=" + gSettings.sessionID);
  32.  
  33.  
  34.     if (params.length) {
  35.         url += ("?" + params.join("&"));
  36.     }
  37.  
  38.     iframe.setAttribute("src", url);
  39. }
  40.  
  41. function FoxmarksIFrameOnLoad(event) {
  42.     var pathname = event.originalTarget.location.pathname;
  43.     var query = event.originalTarget.location.search;
  44.     
  45.     // Extract values from DOM.
  46.     try {
  47.         var form = event.originalTarget.getElementById("user_account_form");
  48.         var formKids = [];
  49.         if(form){
  50.             formKids = form.childNodes;
  51.         }
  52.     } catch (e) {
  53.         var ps = Components.classes
  54.             ["@mozilla.org/embedcomp/prompt-service;1"]
  55.             .getService(Components.interfaces.nsIPromptService);
  56.         if (ps.confirm(null, "Xmarks",
  57.                     Bundle().GetStringFromName("msg.nosetupwizard"))) {
  58.             FoxmarksLoginOnLoad();  // restart it
  59.             return;
  60.         } else {
  61.             window.close();
  62.             return;
  63.         }
  64.     }
  65.  
  66.     var obj = {};
  67.     for (var i = 0; i < formKids.length; ++i) {
  68.         if (formKids[i].name) {
  69.             obj[formKids[i].name] = formKids[i].value;
  70.         }
  71.     }
  72.  
  73.     if (obj["_flag"] == 'cancel') {
  74.         if (FoxmarksOnWizardCancel()) {
  75.             window.close();
  76.         }
  77.     } else if (obj["_flag"] == 'done') {
  78.         gSettings.username = obj["_username"];
  79.         gSettings.password = obj["_password"];
  80.         gSettings.rememberPassword = (obj["_remempw"] == "on");
  81.         window.close();
  82.         var win = 
  83.             window.openDialog("chrome://foxmarks/content/foxmarks-setup.xul",
  84.                 "Xmarks", "chrome", window.arguments[0], "normal");
  85.             win.moveTo(window.screenX, window.screenY);
  86.     }
  87. }
  88.  
  89.