var datasourceContractIDPrefix = "@mozilla.org/rdf/datasource;1?name=";
var accountManagerDSContractID = datasourceContractIDPrefix + "msgaccountmanager";
var folderDSContractID         = datasourceContractIDPrefix + "mailnewsfolders";

var  accountManagerDataSource;

function onLoad()
{

  const nsISupportsString = Components.interfaces.nsISupportsString;

  buttonName = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("mail.server.").getComplexValue("server2.userName", nsISupportsString).data;
  document.getElementById("accountname_text").value=buttonName;

    var am = Components.classes["@mozilla.org/messenger/account-manager;1"].getService(Components.interfaces.nsIMsgAccountManager);
    dump("acctMan : " + am + "\n");
    allIdentities = am.allIdentities;
    var identitiesCount = allIdentities.Count();
    var identityServer = new Array();
    var currentIdentity = null;

    am.LoadAccounts();

    var allAccounts = am.accounts;

    document.getElementById("banner_text").value="Welcome to tiny..";
    dump("WTF\n");

    dump(" and how are you?\n");
    dump("All accs : " + allAccounts + "\n");

    var account = allAccounts.GetElementAt(1);

    dump("  account zero : " + account + "\n");

    var reallyaccount = account.QueryInterface(Components.interfaces.nsIMsgAccount);

    dump("   here's the account for real:" + reallyaccount + "\n");

    var acctName = reallyaccount.toString();

    dump("    whose name is : " + acctName + "\n");

    dump("    which has server : " + reallyaccount.incomingServer + "\n");

    var serverName = reallyaccount.incomingServer.toString();
    dump("     and server's name is : " + serverName + "\n");

    document.getElementById("servername_text").value=serverName;

    var myUrl =  Components.classes["@mozilla.org/messenger/mailboxurl;1"].getService(Components.interfaces.nsIMailboxUrl);
    dump("   my URL : " + myUrl + "\n");

    //    vA does something with account manager..
    //    verifyAccounts(null);
    // InitMsgWindow() 
    InitializeDataSources();

}

var gCompositeDataSource;
var compositeDataSourceContractID        = datasourceContractIDPrefix + "composite-datasource";

function InitializeDataSources()
{
  dump("IDS..\n");
  AddDataSources();

  gCompositeDataSource = Components.classes[compositeDataSourceContractID].createInstance();
  gCompositeDataSource = gCompositeDataSource.QueryInterface(Components.interfaces.nsIRDFCompositeDataSource);
  
  //Now add datasources to composite datasource
  gCompositeDataSource.AddDataSource(accountManagerDataSource);
  gCompositeDataSource.AddDataSource(folderDataSource);
}

function AddDataSources() {
  accountManagerDataSource = Components.classes[accountManagerDSContractID].getService();
  accountManagerDataSource = accountManagerDataSource.QueryInterface(Components.interfaces.nsIRDFDataSource);
  folderDataSource         = Components.classes[folderDSContractID].getService();
  folderDataSource = folderDataSource.QueryInterface(Components.interfaces.nsIRDFDataSource);
  dump("</AddDataSources>\n");
}

function onUnload()
{
}

