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 / findAFriendWizard.js < prev    next >
Text File  |  2006-01-06  |  13KB  |  454 lines

  1. /*
  2.  * The contents of this file are subject to the Netscape Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/NPL/
  6.  *
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  *
  12.  * The Original Code is Mozilla Communicator client code, released
  13.  * March 31, 1998.
  14.  *
  15.  * The Initial Developer of the Original Code is Netscape
  16.  * Communications Corporation. Portions created by Netscape are
  17.  * Copyright (C) 1998-1999 Netscape Communications Corporation. All
  18.  * Rights Reserved.
  19.  *
  20.  * Contributor(s):
  21.  *   Ben Goodger (30/09/99)
  22.  */ 
  23.  
  24. var wizardMap = {
  25. /*
  26.   findAFriend1_0: { previous: null, next: "findAFriend1_1", finish: false },
  27. */
  28.   findAFriend1_1: { previous: null, next: "findAFriend1_1_0", finish: false },
  29.   findAFriend1_1_0: { previous: "findAFriend1_1", next: null, finish: false },
  30.   findAFriend1_1_1: { previous: "findAFriend1_1", next: null, finish: true },
  31.   findAFriend1_1_3: { previous: "findAFriend1_1", next: null, finish: true },
  32.   findAFriend1_1_4: { previous: "findAFriend1_1", next: null, finish: true },
  33.   findAFriend1_2: { previous: "findAFriend1_1", next: null, finish: true },
  34. }
  35.  
  36. // page specific variables
  37. var profName      = "";
  38. var profDir       = "";
  39. var wizardManager = null;
  40.  
  41. // startup procedure
  42. function Startup( startPage, frame_id )
  43. {
  44.   if( frame_id == "" ) {
  45.     dump("Please supply a content_frame ID!");
  46.     return false;
  47.   }
  48.   
  49.   // instantiate the Wizard Manager
  50.   wizardManager = new WizardManager( frame_id, null, null, wizardMap );
  51.   wizardManager.URL_PagePrefix = "chrome://aim/content/";
  52.   wizardManager.URL_PagePostfix = ".xul";
  53.  
  54.   // set the button handler functions
  55.   wizardManager.SetHandlers( null, null, onFinish, onCancel, null, null );
  56.   // load the start page
  57.   dump("calling loadpage...\n");
  58.   dump("startPage:: " + startPage + "\n");
  59.   wizardManager.LoadPage( startPage, false );
  60. }
  61.  
  62. function onCancel()
  63. {
  64.     window.close();
  65. }
  66.  
  67. function onFinish()
  68. {
  69.   // check if we're at final stage 
  70.  
  71.   if( !wizardManager.wizardMap[wizardManager.currentPageTag].finish )
  72.         return;
  73.  
  74.   window.close();
  75.  
  76. }
  77.  
  78.  
  79.  
  80. /** void ExitApp( void ) ;
  81.  *  - purpose: quits the application properly and finally, stops event loop
  82.  *  - in:  nothing
  83.  *  - out: nothing
  84.  **/               
  85. function ExitApp()
  86. {
  87.   // Need to call this to stop the event loop
  88.   var appShell = Components.classes['@mozilla.org/appshell/appShellService;1'].getService();
  89.   appShell = appShell.QueryInterface( Components.interfaces.nsIAppShellService);
  90.   appShell.Quit();
  91. }
  92.  
  93.  
  94. /* new callback */
  95. var Callback = new Object();
  96. var containerArray = new Array();
  97. var numHits = null;
  98. var queryEmailAddress = null;
  99.  
  100. Callback.OnRequestScreenNamesComplete = function(email,numScreenNames,pScreenNames) 
  101. {
  102.     //dump("Callback.OnRequestScreenNamesComplete called with email " + email + "\n");
  103.     //dump("numScreenNames is " + numScreenNames + "\n");
  104.  
  105.     //dump("pScreenNames is " + pScreenNames + "\n"); 
  106.     
  107.     //numHits = document.createTextNode(numScreenNames);
  108.     
  109.         numHits = numScreenNames;
  110.     
  111.         if (pScreenNames[0] == null && numScreenNames > 0) {
  112.                parent.wizardManager.LoadPage('findAFriend1_1_4',false);
  113.                return;
  114.         }
  115.     queryEmailAddress = parent.wizardManager.WSM.PageData.findAFriend1_1.emailaddr.value;
  116.         
  117.     for(i=0;i<numScreenNames;i++){
  118.         dump("found screenName:"+pScreenNames[i]+"\n");
  119.         
  120.         //new stuff
  121.         containerArray[i]=pScreenNames[i];
  122.     
  123.     }
  124.     
  125.     dump("done with searching? \n");
  126.     
  127.     // myLocateCallbacks and locateManager instantiation
  128.     /* commented out for now
  129.     var pIIMManager = aimManager();
  130.     
  131.     if (!pIIMManager) {
  132.         dump ("cmdFindBuddy:unable to get pIIMManager\n");
  133.         return;
  134.     }    
  135.     
  136.     var pILocateManager = null;
  137.             
  138.     pILocateManager = aimManager().QueryInterface(Components.interfaces.nsIAimLocateManager);
  139.     
  140.     if (!pILocateManager) {
  141.         dump("cmdFindBuddy:unable to get pILocateManager\n");
  142.         return;
  143.     }
  144.  
  145.     dump("building myLocateCallback object\n");    
  146.     var myLocateCallback = new Object();
  147.  
  148.     myLocateCallback.OnRequestDirectoryInfoEntryComplete = function(screenName,entry) 
  149.     {
  150.             dump("myLocateCallback.OnRequestDirectoryInfoEntryComplete " + screenName + "\n");
  151.         dump("FirstName is " + entry.FirstName + " ");
  152.         dump("LastName is " + entry.LastName + " ");
  153.         dump("ScreenName is " + entry.ScreenName + " ");
  154.         dump("City is " + entry.City + " ");
  155.         dump("Country is " + entry.Country + " ");
  156.         dump("Zipcode is " + entry.Zipcode + " ");
  157.         dump("State is " + entry.State + " ");
  158.         dump("Maiden name is " + entry.MaidenName + "\n");
  159.     }
  160.  
  161.     myLocateCallback.OnRequestDirectoryInfoEntryError = function(screenName, msg)
  162.     {
  163.         
  164.         dump("myLocateCallback.OnRequestDirectoryInfoEntryCompleteError " + screenName + "\n");
  165.     }
  166.  
  167.     for(j=0;j<numScreenNames; j++){
  168.         dump("looking up info on:"+ pScreenNames[j]+"\n");
  169.         //pILocateManager.RequestDirectoryInfoKeywords(LocateCallback,pScreenNames[j]);
  170.         pILocateManager.RequestDirectoryInfoEntry(myLocateCallback,pScreenNames[j]);
  171.  
  172.     }
  173.     */
  174.     
  175.     parent.wizardManager.LoadPage('findAFriend1_2',false);
  176. }
  177.  
  178. Callback.OnRequestScreenNamesError = function(email,pErrMsg) 
  179. {
  180.     dump("Callback.OnRequestScreenNamesError called with email " + email + "\n");
  181.  
  182.     dump("pErrMsg is " + pErrMsg + "\n"); 
  183.     
  184.     parent.wizardManager.LoadPage('findAFriend1_1_1',false);
  185. }
  186.  
  187. /*
  188.  * Function: cmdFindBuddy()
  189.  *
  190.  * Arguments: None
  191.  * 
  192.  * Return: None
  193.  *
  194.  * Description: Called in response to menu item of toolbar button in standalone
  195.  *        for finding  a buddy. Opens FindBuddy.xul to place a 
  196.  *        wizard  that can be used to find a buddy.
  197.  *
  198.  * 
  199. */
  200.  
  201. function cmdFindBuddy()
  202. {
  203.     dump("Entered cmdFindBuddy\n");
  204.  
  205.     var pIIMManager = aimManager();
  206.     
  207.     if (!pIIMManager)
  208.     {
  209.         dump ("cmdFindBuddy:unable to get pIIMManager\n");
  210.         return;
  211.     }
  212.  
  213.     dump("done testing feedbag manager\n");
  214.  
  215.  
  216. /* USERLOOKUPMANAGER */
  217.         var pIUserLookupManager = aimUserLookupManager();
  218.         
  219.     if (!pIUserLookupManager)
  220.     {
  221.         dump("cmdFindBuddy:unable to get pIUserLookupManager\n");
  222.         return;
  223.     }
  224.  
  225.     dump("cmdFindBuddy: calling RequestScreenNames\n");
  226.  
  227.         var theEmailAddress=parent.wizardManager.WSM.PageData.findAFriend1_1.emailaddr.value
  228.      //alert(theEmailAddress)
  229.     pIUserLookupManager.RequestScreenNames(Callback,theEmailAddress);
  230.     
  231.     
  232.     dump("done testing userlookupmanager now locatemanager\n");
  233.  
  234. /* LOCATEMANAGER */
  235.     var pILocateManager = aimLocateManager();
  236.             
  237.     if (!pILocateManager)
  238.     {
  239.         dump("cmdFindBuddy:unable to get pILocateManager\n");
  240.         return;
  241.     }
  242.  
  243.     dump("building LocateCallback object\n");
  244.  
  245.     var LocateCallback = new Object();
  246.  
  247.     LocateCallback.OnRequestDirectoryInfoKeywordsComplete = function(screenname, count,keywords)
  248.     {
  249.         dump("OnRequestDirectoryInfoKeywordsComplete " + screenname + "\n");
  250.         dump ("The number of keywords is " + count + "\n");
  251.         for (var i = 0; i < count ; i++) {
  252.             dump(" " + keywords[i] + " ");
  253.         }
  254.         dump("\n");
  255.     }
  256.  
  257.     LocateCallback.OnRequestDirectoryInfoKeywordsError = function(screenName, msg)
  258.     {
  259.         dump("OnRequestDirectoryInfoKeywordsCompleteError " + screenName + "\n");
  260.     
  261.     }
  262.  
  263.  
  264.     LocateCallback.OnRequestDirectoryInfoEntryComplete = function(screenName,entry) 
  265.     {
  266.         dump("LocateCallback.OnRequestDirectoryInfoEntryComplete " + screenName + "\n");
  267.     
  268.         dump("FirstName is " + entry.FirstName + " ");
  269.         dump("LastName is " + entry.LastName + " ");
  270.         dump("ScreenName is " + entry.ScreenName + " ");
  271.         dump("City is " + entry.City + " ");
  272.         dump("Country is " + entry.Country + " ");
  273.         dump("Zipcode is " + entry.Zipcode + " ");
  274.         dump("State is " + entry.State + " ");
  275.         dump("Maiden name is " + entry.MaidenName + "\n");
  276.     }
  277.  
  278.     
  279.     dump("cmdFindBuddy: calling RequestDirectoryInfoEntry\n");
  280.  
  281.     //pILocateManager.RequestDirectoryInfoEntry(LocateCallback,"trip004");
  282.     //pILocateManager.RequestDirectoryInfoEntry(LocateCallback,"trip002");
  283.     
  284.  
  285.  
  286.     //dump("cmdFindBuddy: calling RequestDirectoryInfoKeywords\n");
  287.     //pILocateManager.RequestDirectoryInfoKeywords(LocateCallback,"trip004");
  288.     
  289.     
  290. /* ODIRMANAGER */
  291. /*
  292.     dump("testing now odirmanager\n");
  293.  
  294.     var pIOdirManager = aimOdirManager();
  295.             
  296.     dump("building OdirCallback object\n");
  297.  
  298.     var OdirCallback = new Object();
  299.  
  300.     OdirCallback.OnRequestKeywordListComplete = function(count,keywords)
  301.     {
  302.         dump("OnRequestKeywordListComplete\n");
  303.         for (var i = 0 ; i < count ; i++) {
  304.           for (var j = 0 ; j < keywords[i].keywords.length ; j++)
  305.             dump(" " + keywords[i].keywords[j] + " ");
  306.           dump("\n");
  307.         }    
  308.     }
  309.     OdirCallback.OnRequestKeywordListError = function(pErrMsg)
  310.     {
  311.         dump("OnRequestKeywordListError\n");
  312.     }
  313.     OdirCallback.OnSearchDirectoryError = function(pErrMsg)
  314.     {
  315.         dump("OnSearchDirectoryError\n");
  316.     }
  317.  
  318.     OdirCallback.OnSearchDirectoryComplete = function(count,entries) 
  319.     {
  320.           dump("OdirCallback.OnSearchDirectoryComplete called with count " + count + "\n");
  321.         for (var i = 0 ; i < count ; i++) 
  322.         {
  323.         dump("FirstName is " + entries[i].FirstName + " ");
  324.         dump("LastName is " + entries[i].LastName + " ");
  325.         dump("ScreenName is " + entries[i].ScreenName + " ");
  326.         dump("City is " + entries[i].City + " ");
  327.         dump("Country is " + entries[i].Country + " ");
  328.         dump("Zipcode is " + entries[i].Zipcode + " ");
  329.         dump("State is " + entries[i].State + " ");
  330.         dump("Maiden Name is " + entries[i].MaidenName + "\n");
  331.         }
  332.     }
  333.     
  334.     dump("cmdFindBuddy: calling Getallkeywords\n");
  335.     pIOdirManager.RequestKeywordList(OdirCallback); 
  336.  
  337.     dump("cmdFindBuddy: calling SearchDirectory\n");
  338.  
  339.     pIOdirManager.SearchDirectoryByEntry(OdirCallback, "vishy@netscape.com", "Viswanath", "Ramachandran");
  340.  
  341. */
  342.     dump("leaving cmdFindBuddy\n");
  343. }
  344.  
  345.  
  346.  
  347. function cmdFindBuddyViaEntry(){
  348.     dump("Entered cmdFindBuddyViaEntry\n");
  349.  
  350.     var pIOdirManager = aimOdirManager();
  351.             
  352.     if (!pIOdirManager)
  353.     {
  354.         dump("cmdFindBuddy:unable to get pIOdirManager\n");
  355.         return;
  356.     }
  357.  
  358.     dump("building OdirCallback object\n");
  359.  
  360.     var OdirCallback = new Object();
  361.  
  362.     OdirCallback.OnSearchDirectoryComplete = function (count, retOdirObj){
  363.         for(i=0;i<count;i++){
  364.             dump("ScreenName is:" +retOdirObj[i].ScreenName+"\n");    
  365.         
  366.         }
  367.     
  368.     }
  369.     OdirCallback.OnSearchDirectoryError = function(pErrMsg){
  370.         dump("OnSearchDirectoryByEntryGeneralError\n");
  371.     }
  372.     
  373.     testOdirObj={
  374.         FirstName: "Andrew",
  375.         Lastname: "Wooldridge",
  376.     }
  377.     dump("cmdFindBuddy: calling SearchByEntry\n");
  378.  
  379.     pIOdirManager.SearchDirectoryByEntryGeneral(OdirCallback, testOdirObj)
  380.  
  381. }
  382.  
  383.  
  384. function cmdFindBuddyViaKeyWords(){
  385.  
  386.     dump("Entered cmdFindBuddyViaEntry\n");
  387.  
  388.     var pIOdirManager = aimOdirManager();
  389.             
  390.     pIOdirManager = aimManager().QueryInterface(Components.interfaces.nsIAimOdirManager);
  391.     
  392.     if (!pIOdirManager)
  393.     {
  394.         dump("cmdFindBuddy:unable to get pIOdirManager\n");
  395.         return;
  396.     }
  397.  
  398.     dump("building OdirCallback object\n");
  399.  
  400.     var OdirCallback = new Object();
  401.  
  402.     OdirCallback.OnSearchDirectoryComplete = function (count, retOdirObjArr){
  403.         for(i=0;i<count;i++){
  404.             dump("ScreenName is:" +retOdirObjArr[i].ScreenName+"\n");    
  405.         
  406.         }
  407.     
  408.     }
  409.     OdirCallback.OnSearchDirectoryError = function(pErrMsg){
  410.         dump("OnSearchDirectoryByEntryGeneralError\n");
  411.     }
  412.     
  413.     testArray=["cars","Books and Writing"]
  414.     //actual call
  415.     pIOdirManager.SearchDirectoryByKeywords(OdirCallback,2, testArray)
  416.  
  417.  
  418. }
  419.  
  420.  
  421. /* dom utility functions */
  422.  
  423. /* makeElementFromString
  424. *    inputs fragArray - array of strings, first item is the tagname
  425. *    the rest are properties
  426. *
  427. *    returns a dom element
  428. */
  429.  
  430. function makeElementFromString(fragArray){
  431.     tempEle=document.createElement(fragArray[0])
  432.     for(i=1;i<tempEle.length;i++){
  433.         tempEle.setAttribute(fragArray[i],"")
  434.     }
  435.     return tempEle
  436. }
  437.  
  438. /* setManyAttributes */
  439. /* inputs: 
  440. *    theElement - some DOM element
  441. *    attribArray - an array of strings of attribute names
  442. *    valueArray - an array of strings of the corresponding values
  443. */
  444.  
  445. function setManyAttributes(theElement,attribArray,valueArray){
  446.     //alert(theElement.getAttribute("value"))
  447.     for(j=0; j < attribArray.length; j++){
  448.  
  449.         theElement.setAttribute(attribArray[j],valueArray[j]);
  450.  
  451.     }
  452. }
  453.  
  454.