<?xml version="1.0"?>
<chat>
/*plugin*/
var chain = client.Initialise;

client.Initialise = function()
{
  if(!client.ChannelsMenu)
  {
    if(!client.MenuBar)
    {
      // we're missing a dependency
      // ask for it
      // rely on its code to call client.Initialise() again
      if( !client.MenuBarRequested )
      {
        client.MenuBarRequested = 1;
        XMLRequest("chat_plugins/menubar.xml");
      }
    }
    else
    {
      // OK to go
      client.MenuBar = document.getElementById('MenuBar');
      
      client.ChannelsList = new Array();
      client.ChannelsList2 = new Array();
      client.MenuBar.innerHTML += '&lt;span id="ChannelsMenu"&gt;&lt;/span&gt;'; 
      client.ChannelsMenu = document.getElementById('ChannelsMenu');
      client.ChannelsMenuHTML = '';
      client.SetChannel = function( _id )
      {
        client.channelname = client.ChannelsList2[_id];
        client.updateserver = client.server;
        client.top = -1;
        client.scrollbuffer.length = 0;
        client.scrollbuffer.push("Channel: " + client.channelname);   
        client.ChannelsMenuRefresh();
      }
      client.GotChannel = function( _name )
      {
        client.ChannelsList[_name] = client.ChannelsList2.length;
        client.ChannelsList2.push(_name);
        client.ChannelsMenuRefresh();
      }
      client.ChannelsMenuRefresh = function()
      {
        client.ChannelsMenu = document.getElementById('ChannelsMenu');
        var menu = '&lt;a href="#"&gt;Channels&lt;span class="items"&gt;';
        var channel;
        for( channel in client.ChannelsList )
        {
          menu += '&lt;div';
          if( client.channelname == channel )
          {
             menu += ' style="background-color: yellow"';
          }
          menu += ' onclick="client.SetChannel(' + client.ChannelsList[channel] + ')"&gt;';
          menu += channel;
          menu += '&lt;/div&gt;';
        }
        menu += '&lt;/span&gt;';
        menu += '&lt;/a&gt;';
        if( client.ChannelsMenuHTML != menu )
        {
         client.ChannelsMenu.innerHTML=menu;
         client.ChannelsMenuHTML = menu;
        }
      }
      XMLRequest(client.server);
      client.Initialise = chain;
      chain = null;
      if( client.Initialise )
      {
        client.Initialise();
      }
    }
  }
  else
  {
    client.Initialise = chain;
    chain = null;
    if( client.Initialise )
    {
      client.Initialise();
    }
  }  
}

client.Initialise();
</chat>
