home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 May / 05_02.iso / software / netscape6 / nim.xpi / bin / chrome / aim.jar / content / aim / AppSessionObserver.js < prev    next >
Encoding:
JavaScript  |  2001-08-30  |  5.4 KB  |  111 lines

  1. // this should only be included in App.xul.
  2.  
  3. var AimSessionObserver = new Object();
  4.  
  5. AimSessionObserver.onAssert = function(datasource, source, property, target) {
  6.     if (source.EqualsNode(aimRDFSession())) {
  7.         if (property.EqualsNode(aimRDFSessionState())) {
  8.             var state = target.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
  9.             var signonItem =        top.document.getElementById("miSignOn");
  10.             var signoffcloseItem =  top.document.getElementById("miSignOffClose");
  11.             var editOptionsItem =   top.document.getElementById("editOptionsid");
  12.             var peopleMenu =        top.document.getElementById("people_menu");
  13.             var peoplePopup =       top.document.getElementById("menu_PeoplePopup");
  14.             var newIM =             top.document.getElementById("cmd_IM");
  15.             var importBuddyMenu =   top.document.getElementById("cmd_import");
  16.             var exportBuddyMenu =   top.document.getElementById("cmd_export");
  17.             var throbberObserver =  window.document.getElementById("navigator-throbber");
  18.  
  19.             if (state == "Register")
  20.             {
  21.                 top.title = aimString(        "app.title.Register");
  22.                 signonItem.setAttribute(      "label", aimString("miSignOn.SignOn"));
  23.                 signonItem.setAttribute(      "disabled", "true");
  24.                 signoffcloseItem.setAttribute("disabled", "true");
  25.                 editOptionsItem.setAttribute( "disabled", "true");
  26.                 peopleMenu.setAttribute(      "disabled", "true");
  27.                 newIM.setAttribute(           "disabled", "true");
  28.                 importBuddyMenu.setAttribute( "disabled", "true");
  29.         exportBuddyMenu.setAttribute( "disabled", "true");
  30.                 throbberObserver.setAttribute("busy", "false");
  31.             }
  32.             else if (state == "Offline") {
  33.         ClearProcessTimer();
  34.                 top.title = aimString(        "app.title.SignOn");
  35.                 signonItem.setAttribute(      "label", aimString("miSignOn.SignOn"));
  36.                 signonItem.setAttribute(      "oncommand", "cmdSignOn();");
  37.                 signoffcloseItem.setAttribute("disabled", "true");
  38.                 editOptionsItem.setAttribute( "disabled", "true");
  39.                 signonItem.setAttribute(      "disabled", "false");
  40.                 peopleMenu.setAttribute(      "hidden", "true");
  41.                 peoplePopup.setAttribute(     "collapsed", "true");
  42.                 newIM.setAttribute(           "disabled", "true");
  43.                 importBuddyMenu.setAttribute( "disabled", "true");
  44.         exportBuddyMenu.setAttribute( "disabled", "true");
  45.                 throbberObserver.setAttribute("busy", "false");
  46.             }
  47.             else if (state == "Online") {
  48.         top.title = aimString(        "app.title.Online").replace(/%UserName%/, aimSessionCurrentScreenName());
  49.                 signonItem.setAttribute(      "label", aimString("miSignOn.SignOff"));
  50.                 signonItem.setAttribute(      "oncommand", "cmdSignOff();");
  51.                 signonItem.setAttribute(      "disabled", "false");
  52.                 signoffcloseItem.setAttribute("disabled", "false");
  53.                 editOptionsItem.setAttribute( "disabled", "false");
  54.                 peopleMenu.setAttribute(      "hidden", "false");
  55.                 peoplePopup.setAttribute(     "collapsed", "false");
  56.                 newIM.setAttribute(           "disabled", "false");
  57.                 importBuddyMenu.setAttribute( "disabled", "false");
  58.                 exportBuddyMenu.setAttribute( "disabled", "false");
  59.                 throbberObserver.setAttribute("busy", "false");
  60.         // SetupCommandUpdateHandlers() will initialize command observers for Online tree and listsetup tree.
  61.         // timeout is used coz it takes a bit of time for the Online and listsetup tab to show up!
  62.         setTimeout("AimSetupCommandUpdateHandlers()", 500);
  63.                 aimMigrateBuddyList( aimSessionCurrentScreenName() );
  64.         SetProcessTimer(10000);
  65.             }
  66.  
  67.             else if (state == "OnlineAway") {
  68.                 top.title = aimString(        "app.title.OnlineAway");
  69.                 signonItem.setAttribute(      "label", aimString("miSignOn.SignOff"));
  70.                 signonItem.setAttribute(      "oncommand", "cmdSignOff();");
  71.                 signonItem.setAttribute(      "disabled", "false");
  72.                 signoffcloseItem.setAttribute("disabled", "false");
  73.                 editOptionsItem.setAttribute( "disabled", "false");
  74.                 peopleMenu.setAttribute(      "disabled", "false");
  75.                 newIM.setAttribute(           "disabled", "false");
  76.                 importBuddyMenu.setAttribute( "disabled", "false");
  77.         exportBuddyMenu.setAttribute( "disabled", "false");
  78.                 throbberObserver.setAttribute("busy", "false");
  79.             }
  80.             else {
  81.                 top.title = aimString(        "app.title.Connecting");
  82.                 signonItem.setAttribute(      "label", aimString("miSignOn.Cancel"));
  83.                 signonItem.setAttribute(      "oncommand", "cmdCancelSignOn();");
  84.                 signoffcloseItem.setAttribute("disabled", "true");
  85.                 editOptionsItem.setAttribute( "disabled", "true");
  86.                 peopleMenu.setAttribute(      "hidden", "true");
  87.                 peoplePopup.setAttribute(     "collapsed", "true");
  88.                 newIM.setAttribute(           "disabled", "true");
  89.                 importBuddyMenu.setAttribute( "disabled", "true");
  90.         exportBuddyMenu.setAttribute( "disabled", "true");
  91.                 throbberObserver.setAttribute("busy", "true");
  92.             }
  93.         }
  94.     }
  95. };
  96.  
  97. AimSessionObserver.onUnassert = function(datasource, source, property, target) {};
  98.  
  99. AimSessionObserver.onChange = function(datasource, source, property, oldTarget, newTarget) {
  100.     AimSessionObserver.onAssert(datasource, source, property, newTarget);
  101. };
  102.  
  103. AimSessionObserver.onMove = function(datasource, oldSource, newSource, property, target) {
  104.     AimSessionObserver.onAssert(datasource, newSource, property, target);
  105. };
  106.  
  107. AimSessionObserver.beginUpdateBatch = function(datasource) {
  108. };
  109.  
  110. AimSessionObserver.endUpdateBatch = function(datasource) {
  111. };