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 / BuddyAddBuddy.js < prev    next >
Text File  |  2006-01-06  |  3KB  |  102 lines

  1. var RDF = aimRDF();
  2. var aim = aimRDFDataSource();
  3. var containerClass = Components.classes['@mozilla.org/rdf/container;1'];
  4. var container = containerClass.createInstance(Components.interfaces.nsIRDFContainer);
  5. container.Init(aim, RDF.GetResource("NC:AIM/BuddyList"));
  6.  
  7. function BuildGroupFrame(groupName)    
  8. {
  9.     var a = new Array();
  10.     var i = 0;
  11.     top.a = a;
  12.  
  13.     var enumerator = container.GetElements();
  14.  
  15.     while (enumerator.hasMoreElements()) {
  16.  
  17.         var element = enumerator.getNext();
  18.         var resource = element.QueryInterface(Components.interfaces.nsIRDFResource);
  19.         dump( "Element is " + element + "\n" );
  20.         dump( "Resource is " + resource + "\n" );
  21.         var attr = aim.GetTarget(resource, 
  22.             RDF.GetResource("http://home.netscape.com/NC-rdf#Name"), true);
  23.         if (attr)
  24.             attr = attr.QueryInterface(Components.interfaces.nsIRDFLiteral);
  25.         if (attr) {
  26.             attr = attr.Value;
  27.             a[ i ] = attr;
  28.             i = i + 1;
  29.         }
  30.     }
  31.     CreateGroupList( a, groupName );
  32. }
  33.  
  34. function GroupSelected(groupName)
  35. {
  36.     top.groupSelected = groupName;
  37. }
  38.  
  39. function CreateGroupList( a, groupName )
  40. {
  41.     listDocument = document.getElementById("AddBuddyGroupPopup")
  42.     var selectedIndexHere = 0;    
  43.     for ( var i=0; i < a.length; i++ ) {
  44.         chkboxname = "checkBox" + a[i];
  45.         outputElement = document.createElement('menuitem');
  46.         outputElement.setAttribute('id',chkboxname);
  47.         outputElement.setAttribute('name',a[i]);
  48.         outputElement.setAttribute('label',a[i]);
  49.         if (groupName) {
  50.         for (var j=0; j<groupName.length; j++) {
  51.              if (a[i] == groupName[j]) {
  52.                  outputElement.setAttribute("selected", "true");
  53.                 selectedIndexHere = i;    
  54.              }
  55.         }
  56.          }
  57.         listDocument.appendChild(outputElement)    
  58.         document.getElementById("AddBuddyGroupDrop").selectedIndex = selectedIndexHere;
  59.         GroupSelected(document.getElementById("AddBuddyGroupDrop").selectedItem.getAttribute('name'));
  60.     }
  61.  
  62. }
  63.  
  64. function GetCheckBoxState( a, i )
  65. {
  66.     chkboxname = "checkBox" + a[i];
  67.     chkbox = document.getElementById(chkboxname);
  68.     return( chkbox.checked || chkbox.getAttribute("selected"));
  69. }
  70.  
  71. // for later 
  72.  
  73. function FindSelectedGroup()
  74. {
  75.     // Locate selection in setup list
  76.     // XXX There must be a better way to do this
  77.  
  78.     var selectedGroup = null;
  79.     var tree = window.tree;
  80.     var groups = tree.childNodes[2].childNodes;
  81.  
  82.     for (var i = 0; i != groups.length; i++) {
  83.         if (groups[i].getAttribute("selected") == "true") {
  84.             selectedGroup = groups[i].getAttribute("Name");
  85.             break;
  86.         }
  87.     }
  88.     return( selectedGroup );
  89. }
  90.  
  91. function FindBuddySelected( group, tree )
  92. {
  93.     var buddyList;
  94.     
  95.     if ( tree )
  96.         buddyList = tree.selectedItems;
  97.  
  98.     if ( !buddyList || buddyList.length != 1 )
  99.         return null;
  100.     return( buddyList[0].getAttribute("Name") );
  101. }
  102.