/*===========================================================================*/
/* JavaScript file created by Boudewijn Overgaauw on 20 February 2007        */
/* Last updated by Boudewijn Overgaauw on 20 November 2008                   */
/* Copyright (c) ISISIA and/or its suppliers, 2007-2008. All Rights Reserved */
/*===========================================================================*/

/*==========================================*/
/* Variable declarations: Support variables */
/*==========================================*/
var $StatusIx = 0;
var $LinksIx = 1;
var $LinkIDsIx = 2;
var $ActiveLinkIDIx = 3;
var $DirectoryIx = 4;

var $LinkIDIx = 0;
var $URLIx = 1;
var $TargetIx = 2;
var $StatusBarURLIx = 3;
var $MItemIx = 4;
var $SItemIx = 5;

var $ItemIDIx = 0;
var $TypeIx = 1;
var $NamesIx = 2;
var $ImagesIx = 3;

var $DefaultIx = 0;
var $MouseOverIx = 1;
var $MouseDownIx = 2;
var $ActiveIx = 3;

/*===========================================*/
/* Function definition: InitializeMenuData() */
/*===========================================*/
function InitializeMenuData($MenuData)
{
  /*=======================================*/
  /* Function definition: InitializeItem() */
  /*=======================================*/
  function InitializeItem($LinkNr, $ItemNr, $MenuData)
  {
    if ($MenuData[$LinksIx][$LinkNr][$ItemNr][$TypeIx] == 'Image')
    {
      $Image = document.getElementById($MenuData[$LinksIx][$LinkNr][$ItemNr][$ItemIDIx]);
      if ($Image != null)
      {
        for (var $i = 0; $i < $MenuData[$LinksIx][$LinkNr][$ItemNr][$NamesIx].length; $i++)
        {
          if ($MenuData[$LinksIx][$LinkNr][$ItemNr][$NamesIx][$i] != '')
          {
            $MenuData[$LinksIx][$LinkNr][$ItemNr][$ImagesIx][$i] = new Image();
            if (typeof $MenuData[$LinksIx][$LinkNr][$ItemNr][$NamesIx][$i] != 'undefined')
            {
              if (typeof $MenuData[$DirectoryIx] != 'undefined')
              {
                $MenuData[$LinksIx][$LinkNr][$ItemNr][$ImagesIx][$i].src =
                 $MenuData[$DirectoryIx] + $MenuData[$LinksIx][$LinkNr][$ItemNr][$NamesIx][$i];
              }
              else
              {
                $MenuData[$LinksIx][$LinkNr][$ItemNr][$ImagesIx][$i].src =
                 $MenuData[$LinksIx][$LinkNr][$ItemNr][$NamesIx][$i];
              };
            };
            if ($i == $DefaultIx)
            {
              $Image.src = $MenuData[$LinksIx][$LinkNr][$ItemNr][$ImagesIx][$i].src;
            };
          };
        };
      };
    };
  };

  /*===============*/
  /* Function body */
  /*===============*/
  for (var $i = 0; $i < $MenuData[$LinksIx].length; $i++)
  {
    $MenuData[$LinkIDsIx][$i] = $MenuData[$LinksIx][$i][$LinkIDIx];
    if ($MenuData[$LinksIx][$i][$LinkIDIx] != '')
    {
      var $Link = document.getElementById($MenuData[$LinksIx][$i][$LinkIDIx]);
      if ($Link == null)
      {
        $MenuData[$LinkIDsIx][$i] = new String('');
      }
      else
      {
        if (typeof $MenuData[$LinksIx][$i][$MItemIx] != 'undefined')
        {
          InitializeItem($i, $MItemIx, $MenuData);
        };
        if (typeof $MenuData[$LinksIx][$i][$SItemIx] != 'undefined')
        {
          InitializeItem($i, $SItemIx, $MenuData);
        };
      };
    };
  };
};

/*===================================*/
/* Function definition: GetIxForID() */
/*===================================*/
function GetIxForID($ID, $IDsArray)
{
  var $Ix = new Number(-1);
  if ($ID != '')
  {
    for (var $i = 0; $i < $IDsArray.length; $i++)
    {
      if ($IDsArray[$i] == $ID)
      {
        $Ix = $i;
        $i = $IDsArray.length;
      };
    };
  };
  return $Ix;
};

/*====================================*/
/* Function definition: WorkingLink() */
/*====================================*/
function WorkingLink($LinkID, $MenuData)
{
  if
   (
     ($LinkID != '') &&
     (
       (typeof $MenuData[$ActiveLinkIDIx] == 'undefined') ||
       ($LinkID != $MenuData[$ActiveLinkIDIx])
     )
   )
  {
    return true;
  }
  else
  {
    return false;
  };
};

/*===================================*/
/* Function definition: ChangeItem() */
/*===================================*/
function ChangeItem($LinkNr, $ItemNr, $NameNr, $MenuData)
{
  if (typeof $MenuData[$LinksIx][$LinkNr][$ItemNr] != 'undefined')
  {
    if (typeof $MenuData[$LinksIx][$LinkNr][$ItemNr][$NamesIx][$NameNr] != 'undefined')
    {
      var $Item = document.getElementById($MenuData[$LinksIx][$LinkNr][$ItemNr][$ItemIDIx]);
      if ($Item != null)
      {
        switch ($MenuData[$LinksIx][$LinkNr][$ItemNr][$TypeIx])
        {
          case "Image":
          {
            $Item.src = $MenuData[$LinksIx][$LinkNr][$ItemNr][$ImagesIx][$NameNr].src;
            break;
          };
          case "Class":
          {
            $Item.className = $MenuData[$LinksIx][$LinkNr][$ItemNr][$NamesIx][$NameNr];
            break;
          };
        };
      };
    };
  };
};

/*==============================*/
/* Function definition: Click() */
/*==============================*/
function Click($LinkID, $MenuData)
{
  var $LinkNr = GetIxForID($LinkID, $MenuData[$LinkIDsIx]);
  if (($LinkNr != -1) && (WorkingLink($LinkID, $MenuData)))
  {
    var $Link = document.getElementById($LinkID);
    if (($Link != null) && ($MenuData[$LinksIx][$LinkNr][$URLIx] != ''))
    {
      if (typeof $Link.href != 'undefined')
      {
        if ($MenuData[$LinksIx][$LinkNr][$TargetIx] == '')
        {
          $Link.href = $MenuData[$LinksIx][$LinkNr][$URLIx];
        }
        else
        {
          $Link.href = 'javascript:void(0)';
          var $NewWindow = window.open
           ($MenuData[$LinksIx][$LinkNr][$URLIx], $MenuData[$LinksIx][$LinkNr][$TargetIx]);
          if (typeof $NewWindow == 'object')
          {
            $NewWindow.focus();
          };
        };
      };
    };
    if (typeof $MenuData[$ActiveLinkIDIx] != 'undefined')
    {
      var $ActiveLinkNr = GetIxForID($MenuData[$ActiveLinkIDIx], $MenuData[$LinkIDsIx]);
      if ($ActiveLinkNr != -1)
      {
        ChangeItem($ActiveLinkNr, $MItemIx, $DefaultIx, $MenuData);
        ChangeItem($ActiveLinkNr, $SItemIx, $DefaultIx, $MenuData);
      };
      ChangeItem($LinkNr, $MItemIx, $ActiveIx, $MenuData);
      ChangeItem($LinkNr, $SItemIx, $ActiveIx, $MenuData);
      $MenuData[$ActiveLinkIDIx] = $LinkID;
    };
  };
};

/*==================================*/
/* Function definition: MouseDown() */
/*==================================*/
function MouseDown($LinkID, $MenuData)
{
  var $LinkNr = GetIxForID($LinkID, $MenuData[$LinkIDsIx]);
  if (($LinkNr != -1) && (WorkingLink($LinkID, $MenuData)))
  {
    ChangeItem($LinkNr, $MItemIx, $MouseDownIx, $MenuData);
    ChangeItem($LinkNr, $SItemIx, $MouseDownIx, $MenuData);
  };
};

/*=================================*/
/* Function definition: MouseOut() */
/*=================================*/
function MouseOut($LinkID, $MenuData)
{
  var $LinkNr = GetIxForID($LinkID, $MenuData[$LinkIDsIx]);
  if (($LinkNr != -1) && (WorkingLink($LinkID, $MenuData)))
  {
    ChangeItem($LinkNr, $MItemIx, $DefaultIx, $MenuData);
    ChangeItem($LinkNr, $SItemIx, $DefaultIx, $MenuData);
  };
};

/*==================================*/
/* Function definition: MouseOver() */
/*==================================*/
function MouseOver($LinkID, $MenuData)
{
  var $LinkNr = GetIxForID($LinkID, $MenuData[$LinkIDsIx]);
  if (($LinkNr != -1) && (WorkingLink($LinkID, $MenuData)))
  {
    var $Link = document.getElementById($LinkID);
    if ($Link != null)
    {
      if (typeof $Link.href != 'undefined')
      {
        $Link.href = $MenuData[$LinksIx][$LinkNr][$StatusBarURLIx];
      };
    };
    ChangeItem($LinkNr, $MItemIx, $MouseOverIx, $MenuData);
    ChangeItem($LinkNr, $SItemIx, $MouseOverIx, $MenuData);
  };
};

/*===================================*/
/* Function definition: ResetItems() */
/*===================================*/
function ResetItems($MenuData)
{
  for (var $i = 0; $i < $MenuData[$LinkIDsIx].length; $i++)
  {
    if ($MenuData[$LinkIDsIx][$i] != '')
    {
      var $Link = document.getElementById($MenuData[$LinkIDsIx][$i]);
      if ($Link != null)
      {
        ChangeItem($i, $MItemIx, $DefaultIx, $MenuData);
        ChangeItem($i, $SItemIx, $DefaultIx, $MenuData);
      };
    };
  };
};
