function IAMIndex_Object()
{
  this.mItems = new Array();
  
  this.fAppend     = IAMIndex_AppendEntry;
  this.fWriteIndex = IAMIndex_Write;
  this.fNavBarHTML = IAMIndex_NavBarHTML;
  this.fEntryHTML  = IAMIndex_EntryHTML;
}

function IAMIndex_AppendEntry(ParamEntryArray)
{
  var VarIndexEntry;
  
  VarIndexEntry = new IAMIndexEntry_Object(ParamEntryArray);
  
  this.mItems[this.mItems.length] = VarIndexEntry;
}

function IAMIndex_Write()
{
  var VarHTML;
  
  VarHTML = '';
  
  VarHTML += this.fNavBarHTML();
  VarHTML += this.fEntryHTML();
  
  document.write(VarHTML);
}

function IAMIndex_NavBarHTML()
{
  var VarHTML;
  
  VarHTML = '';
  
  VarHTML += '<p class="pIXGroupTitle">';
  
  for(VarIndex = 0, VarMax = this.mItems.length; VarIndex < VarMax; VarIndex++)
  {
    VarEntry = this.mItems[VarIndex];
    if (VarEntry.mStyle == 'IXGroupTitle')
    {
      if (VarIndex > 0)
      {
        VarHTML += ' | ';
      }
      
      VarHTML += '<a href="#' + VarEntry.mAnchor + '">';
      VarHTML += VarEntry.mLinks[0].text;
      VarHTML += '</a>';
    }
  }
  
  VarHTML += '</p>\n';
  VarHTML += '<div style="width: 55%; overflow: hidden; margin-top: 10px; border-top: 2px solid #ccc">&#160;</div>\n';
  
  return VarHTML;
}

function IAMIndex_EntryHTML()
{
  var VarHTML;
  var VarEntry;
  var VarLink;
  var VarIndex;
  var VarMax;
  var VarSubIndex;
  var VarSubMax;
  
  VarHTML = '';
  
  for(VarIndex = 0, VarMax = this.mItems.length; VarIndex < VarMax; VarIndex++)
  {
    VarEntry = this.mItems[VarIndex];
    VarHTML += '<a name="' + VarEntry.mAnchor + '"> </a>';
    VarHTML += '<p class="p' + VarEntry.mStyle + '">';
    
    for(VarSubIndex = 0, VarSubMax = VarEntry.mLinks.length; VarSubIndex < VarSubMax; VarSubIndex++)
    {
      VarLink = VarEntry.mLinks[VarSubIndex];
      
      if (VarSubIndex > 0)
      {
        VarHTML += ' ';
      }
      
      if (VarLink.href.length > 0)
      {
        VarHTML += '<a href="' + VarLink.href + '">';
      }
      
      VarHTML += VarLink.text;
      
      if (VarLink.href.length > 0)
      {
        VarHTML += '</a>';
      }
      
      if ((VarSubIndex > 0) &&
          ((VarSubIndex + 1) != VarSubMax))
      {
        VarHTML += ',';
      }
    }
    
    VarHTML += '</p>\n';
  }
  
  return VarHTML;
}

function IAMIndexEntry_Object(ParamEntryArray)
{
  this.mLinks = new Array();
  
  this.mStyle = ParamEntryArray[0];
  this.mAnchor = ParamEntryArray[1];
  
  for(VarIndex = 2, VarMaxIndex = ParamEntryArray.length; VarIndex < VarMaxIndex; VarIndex = VarIndex + 2)
  {
    var VarIndexLinkObject = new Object();
    
    VarIndexLinkObject['href'] = ParamEntryArray[VarIndex];
    VarIndexLinkObject['text'] = ParamEntryArray[VarIndex + 1];
    
    this.mLinks[this.mLinks.length] = VarIndexLinkObject;
  }
}