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 / AimBuddy.js < prev    next >
Text File  |  2004-12-02  |  6KB  |  216 lines

  1. /* XXXVISHY - lets try to keep it all in aimHelpers
  2.  
  3.  
  4. var allEnums = null;
  5.  
  6. function getEnums( myInterface )
  7. {
  8.     var enums = { };
  9.     for ( var i in myInterface ) {
  10.         if ( typeof myInterface[i] == "number" ) {
  11.             enums[i] = myInterface[i];
  12.         }
  13.     }
  14.     return enums;
  15. }
  16.  
  17. function aimBuddyObject()
  18. {
  19.     var pIIMManager = aimManager();
  20.     if(pIIMManager)
  21.         return pIIMManager.QueryInterface(Components.interfaces.nsIAimBuddy);
  22.     else
  23.         return null;
  24. }
  25. */
  26.  
  27. function aimBuddyIsOnline(screenName)
  28. {
  29.     var pIAimBuddy = aimBuddyManager();
  30.  
  31.     if ( !screenName || screenName == "" )
  32.         return false;
  33.     if(pIAimBuddy)
  34.         return pIAimBuddy.IsBuddyOnline(screenName);
  35. }
  36.  
  37. function aimBuddyAddBuddyGroup(groupName, beforeGroup)
  38. {
  39.     if (beforeGroup == "")
  40.         beforeGroup = null;
  41.  
  42.     dump('AddBuddyGroup: ' + groupName + ', before: ' + beforeGroup + '\n');
  43.  
  44.     var pIAimBuddy = aimBuddyManager();
  45.  
  46.     var isInList = new Object();
  47.  
  48.     pIAimBuddy.GroupIsInList(groupName, isInList);
  49.     if ( isInList.value == true ) {
  50.         aimErrorBox(aimString("msg.GroupAlreadyInList"));
  51.         return 1;
  52.     }
  53.     if ( beforeGroup == "" )
  54.         beforeGroup = null;
  55.     if(pIAimBuddy)
  56.         pIAimBuddy.AddGroup(groupName, beforeGroup);
  57.     return 0;
  58. }
  59.  
  60. function aimBuddyRemoveBuddyGroup(groupName)
  61. {
  62.     dump('RemoveBuddyGroup: ' + groupName + '\n');
  63.  
  64.     var pIAimBuddy = aimBuddyManager();
  65.     if(pIAimBuddy)
  66.         pIAimBuddy.RemoveGroup(groupName);
  67. }
  68.  
  69. function aimBuddyRenameBuddyGroup(oldName, newName)
  70. {
  71.     dump('RenameBuddyGroup: ' + oldName + ' -> ' + newName + '\n');
  72.  
  73.     var pIAimBuddy = aimBuddyManager();
  74.     if(pIAimBuddy)
  75.         pIAimBuddy.RenameGroup(oldName, newName);
  76. }
  77.  
  78. function aimBuddyAddBuddyBefore(groupName, screenName, beforeBuddy)
  79. {
  80.     dump('AddBuddy: ' + groupName + '/' + screenName + ', buddy: ' + beforeBuddy + '\n');
  81.  
  82.     var pIAimBuddy = aimBuddyManager();
  83.     if ( beforeBuddy == "" ) {
  84.         beforeBuddy = null;
  85.     }
  86. /*
  87.     if ( allEnums == null )
  88.         allEnums = getEnums( Components.interfaces.nsAimInsertionStyles );
  89. */
  90.     if(pIAimBuddy) {
  91.         var inBudList = pIAimBuddy.BuddyIsInGroup(screenName, groupName);
  92.         if ( inBudList ) {
  93.             var msg = aimString("msg.BuddyAlreadyInGroup") + " " +
  94.                 groupName;
  95.             aimErrorBox(msg);
  96.             return 1;
  97.         }
  98.         if (beforeBuddy)
  99.             pIAimBuddy.AddBuddy(groupName, screenName, beforeBuddy, aimInsertionStyles().InsertBefore);
  100.         else
  101.             pIAimBuddy.AddBuddy(groupName, screenName, beforeBuddy, aimInsertionStyles().InsertEnd);
  102.     }
  103.     return 0;
  104. }
  105.  
  106. function aimBuddyAddBuddyAfter(groupName, screenName, afterBuddy, dispname, service, emailaddress)
  107. {
  108.   var pIAimBuddy = aimBuddyManager();
  109.   if (afterBuddy == "")
  110.     afterBuddy = null;
  111.  
  112.   if(pIAimBuddy) {
  113.     var inBudList = pIAimBuddy.BuddyIsInGroup(screenName, groupName);
  114.     if (inBudList) {
  115.       var msg = aimString("msg.BuddyAlreadyInGroup") + " " + groupName;
  116.       aimErrorBox(msg);
  117.       return 1;
  118.     }
  119.     if(!isIcq()) 
  120.     {
  121.       var cp = new String(screenName);
  122.       if (!IsValidChar(cp)){
  123.         // Cannot contain invalid characters 
  124.         aimErrorBox(aimString("msg.BadScreenName"));
  125.         return 1;
  126.       }
  127.     }
  128.   
  129.     if (afterBuddy)
  130.       pIAimBuddy.AddBuddy(groupName, screenName, afterBuddy, aimInsertionStyles().InsertAfter, dispname, emailaddress);
  131.     else
  132.       pIAimBuddy.AddBuddy(groupName, screenName, afterBuddy, aimInsertionStyles().InsertEnd, dispname, emailaddress);
  133.  
  134.     if((!isIcq()) && (emailaddress != null)) {
  135.       aimFeedbagManager().SetEmailId(screenName, emailaddress);
  136.     }
  137.   }
  138.   
  139.   if (service == 1) {
  140.      // user entered all numbers, so icq service
  141.     aimBuddyManager().SetIfIcqUserinDS(screenName, true);
  142.     aimFeedbagManager().SetDisplay(groupName, screenName, dispname); 
  143.   }
  144.   else  
  145.     aimBuddyManager().SetIfIcqUserinDS(screenName, false);
  146.  
  147.   return 0;
  148. }
  149.  
  150. function aimBuddyRemoveBuddy(groupName, screenName)
  151. {
  152.     var pIAimBuddy = aimBuddyManager();
  153.     if(pIAimBuddy)
  154.         pIAimBuddy.RemoveBuddy(groupName, screenName);
  155. }
  156.  
  157. function aimBuddyMoveGroup(group, beforeGroup)
  158. {
  159.     var pIAimBuddy = aimBuddyManager();
  160.     if(pIAimBuddy)
  161.         pIAimBuddy.MoveGroup(group, beforeGroup);
  162. }
  163.  
  164. function aimBuddyMoveBuddy(group, buddy, beforeGroup, beforeBuddy)
  165. {
  166.     var pIAimBuddy = aimBuddyManager();
  167.     if(pIAimBuddy)
  168.         pIAimBuddy.MoveBuddy(group, buddy, beforeGroup, beforeBuddy);
  169. }
  170.  
  171. // false means failure
  172.  
  173. function aimBuddyImportBuddyList(fileSpec)
  174. {
  175.     var myStatus = new Object();
  176.     var mask = new Object();
  177.     var pIAimBuddy = aimBuddyManager();
  178.     if(pIAimBuddy) {
  179.         pIAimBuddy.ImportBuddyListPrepare(fileSpec, myStatus, mask);
  180.         if ( myStatus.value == true ) {
  181.             var groups = new Object();
  182.             pIAimBuddy.ImportBuddyListGetGroups(groups);
  183.             importBuddyListArgsObj = {
  184.                     mask: mask,
  185.                     groups: groups,
  186.                 }
  187.             window.openDialog('chrome://aim/content/ImportBuddyList.xul','_blank','modal=yes,titlebar,chrome', importBuddyListArgsObj);
  188.         } 
  189.         return( myStatus.value );
  190.     }
  191.     return false;
  192. }
  193.  
  194. // false means failure
  195.  
  196. function aimBuddyExportBuddyList(fileSpec, status)
  197. {
  198.     exportBuddyListArgsObj = {
  199.                fileSpec: fileSpec,
  200.            }
  201.  
  202.     window.openDialog('chrome://aim/content/ExportBuddyList.xul','_blank','modal=yes,titlebar,chrome', exportBuddyListArgsObj);
  203.         return true;
  204. /*
  205.     var myStatus = new Object();
  206.     var pIAimBuddy = aimBuddyManager();
  207.     if(pIAimBuddy) {
  208.         pIAimBuddy.ExportBuddyList(fileSpec, myStatus);
  209.         return( myStatus.value );
  210.     }
  211.     return false; 
  212. */
  213. }
  214.  
  215.  
  216.