/*
  vmenu.js
  Version 2.0
  Copyright (C) 2007, Andres Melguizo Velez
  Created: 20070316
  Modified: 20070316
*/

function TUI_VMenuItem(szLabel, szLink, szMouseOver, szMouseOut, szClick) {
  this.szLabel = szLabel;
  this.szLink = szLink;
  this.szMouseOver = szMouseOver;
  this.szMouseOut = szMouseOut;
  this.szClick = szClick;
  return(this);
}

// Create the object, related with a HTML element and the name of the variable being created
function TUI_VMenu(idMenu, szCodeName) {

  this.className = "TUI_VMenu";
  this.idMenu = idMenu;
  this.szCodeName = szCodeName;
  this.aMenuItems = new Array();
  this.szStyle = 'stVMenu';
  this.iActualItem = 0;
  //this.szTagDestiny = "";
  this.szTarget = "";
  this.szStartCode = "";
  this.szEndCode = "";

  // Set the base style name
  this.setStyle = function(szStyle) {
    this.szStyle = szStyle;
  }

  /*
  this.setTagDestiny = function(szTagDestiny) {
    this.szTagDestiny = szTagDestiny;
  }
  */

  this.setTarget = function(szTarget) {
    this.szTarget = szTarget;
  }

  this.setStartCode = function(szCode) {
    this.szStartCode = szCode;
  }

  this.setEndCode = function(szCode) {
    this.szEndCode = szCode;
  }

  // Draw all the items
  this.Draw = function(iActualItem) {
    var s = "";
    if(iActualItem != null)
      this.iActualItem = iActualItem;
    s += this.szStartCode;
    s += "<div id='_" + this.idMenu + "' class='" + this.szStyle + "'>\r\n";
    s += "  <ul>\r\n";
    for(var i = 0; i < this.aMenuItems.length; i++) {
      var szItemId = this.idMenu + "_" + i;
      if(i == this.iActualItem)
        s += "    <li class='" + this.szStyle + "-current'>";
      else
        s += "    <li>";
      s += "<a id='" + szItemId + "'";
      s += " href='" + this.aMenuItems[i].szLink + "'";
      if(this.szTarget != "")
        s += " target='" + this.szTarget + "'";
      s += " onclick='" + (this.aMenuItems[i].szClick ? this.aMenuItems[i].szClick : "") + this.szCodeName + ".Draw(" + i + "); return true;'";
      if(this.aMenuItems[i].szMouseOver)
        s += " onmouseover='" + this.aMenuItems[i].szMouseOver + "(this); return true;'";
      if(this.aMenuItems[i].szMouseOut)
        s += " onmouseout='" + this.aMenuItems[i].szMouseOut + "(this); return true;'";
      s += ">" + this.aMenuItems[i].szLabel + "</a>";
      s += "</li>\r\n";
    }
    s += "  </ul>\r\n";
    s += "</div>\r\n";
    s += this.szEndCode;

    // Set the HTML
    var oVMenu = document.getElementById(this.idMenu);
    if(oVMenu)
      oVMenu.innerHTML = s;
    //alert(s);
    //document.myForm.myInput.value = s;
  }
}
