// Author: Vince Reid, vince@virtualred.net
// Copyright: Internet Business Solutions S.L.
// http://www.virtualred.net
// VirtualMenu: v1.2
var ie=document.all
var ns6=document.getElementById&&!document.all
var ns=document.layers
var opera=false
if(ie){
	var agent  = navigator.userAgent.toLowerCase();
	opera = (agent.indexOf("opera") != -1);
}
function showsubmenu() {
if(ie||ns6)
	this.style.visibility="visible"
else if(ns)
	this.visibility="show";
}
function hidesubmenu() {
if(ie||ns6)
	this.style.visibility="hidden"
else if(ns)
	this.visibility="hide";
}
function setsubmenu(themenu,mn) {
var offsetleft = 0
if(ie){
	var mnp = mn
	do
	{
		offsetleft += mnp.offsetLeft
		mnp = mnp.offsetParent
	} while (mnp != null);
	mnn = eval(mn.id+"sub");
	mnn.style.pixelTop = themenu.offsetTop + 14
	mnn.style.pixelLeft = offsetleft
	mnn.style.visibility="hidden"
}
else if(ns){
	mnn = eval('document.layers.'+mn.id+"sub");
	mnn.left = mn.pageX
	mnn.top = mn.pageY-3
	mnn.visibility="hide"
}
else if(ns6){
	mnn = document.getElementById(mn.id+"sub");
	mnn.style.top = mn.offsetTop + 14
	mnn.style.left = mn.offsetLeft;
	mnn.style.visibility="hidden"
}
mnn.onmouseover=showsubmenu
mnn.onmouseout=hidesubmenu
}
function menushow(mn) {
if(ie){
	var mnp = mn
	var offsetleft = 0
	var offsettop = 0
	do
	{
		offsetleft += mnp.offsetLeft
		offsettop += mnp.offsetTop
		mnp = mnp.offsetParent
	} while (mnp != null);
	mnn = eval(mn.id+"sub");
	mnn.style.pixelTop = offsettop + 14
	mnn.style.pixelLeft = offsetleft
	mnn.style.visibility="visible"
}
else if(ns){
	mnn = eval(mn+'sub');
	mnp=eval(mn+'glob.'+mn)
	mnn.left = mnp.pageX
	mnn.top = mnp.pageY-3
	mnn.visibility="show"
}
else if(ns6){
	mnn = document.getElementById(mn.id+'sub');
	mnn.style.top = mn.offsetTop + 14
	mnn.style.left = mn.offsetLeft
	mnn.style.visibility="visible"
}
}
function menuhide(mn) {
if(ie){
	mnn = eval(mn.id+"sub");
	mnn.style.visibility="hidden"
}
else if(ns){
	mnn = eval(mn+'sub');
	mnn.visibility="hide"
}
else if(ns6){
	mnn = document.getElementById(mn.id+'sub');
	mnn.style.visibility="hidden"
}
}
var globmenuid=1
globalmenus = new Array()
function Menu() {
	Menu.prototype.addMenu = function addMenu(mid, mtext) {
		if (globalmenus[mid])
			alert('Menu id '+mid+' is already defined as '+globalmenus[mid]);
		if (submenustarted==true)
			alert('You have to define all the main menus before defining the sub menus');
		globalmenus[mid]=mid
		if(ie){
			this.htmlstr += '<td align="'+this.maincalign+'" bgcolor="'+this.maincbgcolor+'" bordercolor="'+this.maincbordercolor+'">';
			this.htmlstr += '<div id="'+mid+'" onMouseover="menushow(this)" onMouseout="menuhide(this)" STYLE="position:relative; z-index: 6">';
			this.htmlstr += '<font color="'+this.fontcolor+'" face="'+this.font+'" size="'+this.size+'">'+mtext+'</font></div></td>';
		}
		else if(ns){
			this.htmlstr += '<td align="left" bgcolor="'+this.maincbgcolor+'" bordercolor="'+this.maincbordercolor+'">';
			this.htmlstr += '<ilayer id="'+mid+'glob">';
			this.htmlstr += '<layer id="'+mid+'" bgcolor="'+this.maincbgcolor+'" onmouseover="menushow(\'document.layers.'+mid+'\')" onMouseout="menuhide(\'document.layers.'+mid+'\')">';
			this.htmlstr += '<font color="'+this.fontcolor+'" face="'+this.font+'" size="'+this.size+'">'+mtext+'</font></layer></ilayer></td>\n';
		}
		else if(ns6){
			this.htmlstr += '<td align="'+this.maincalign+'" bgcolor="'+this.maincbgcolor+'" bordercolor="'+this.maincbordercolor+'">';
			this.htmlstr += '<div id="'+mid+'" onMouseover="menushow(this)" onMouseout="menuhide(this)" STYLE="position:relative; z-index: 6">';
			this.htmlstr += '<font color="'+this.fontcolor+'" face="'+this.font+'" size="'+this.size+'">'+mtext+'</font></div></td>';
		}
	}
	Menu.prototype.addSubMenu = function addSubMenu(mid, mtext, murl) {
		if (globalmenus[mid]==null)
			alert('The menu id ' + mid + ' is not defined');
		if(this.currentsubmenu != mid) {
			if(this.currentsubmenu!=null){
				if(ns)
					this.htmlsubstr += '</table></layer>';
				else
					this.htmlsubstr += '</table></div>';
			}
			this.currentsubmenu=mid;
			if(ie||ns6)
				this.htmlsubstr += '<div id="'+mid+'sub" style="position:absolute; z-index:2; visibility: hidden;">\n';
			else if(ns)
  				this.htmlsubstr += '<layer id="'+mid+'sub" visibility="hide">&nbsp;\n';
			this.htmlsubstr += '<table border="'+this.subtborder+'" cellspacing="'+this.subtspacing+'" cellpadding="'+this.subtpadding+'" bgcolor="'+this.subtbgcolor+'">\n';
		}
		this.htmlsubstr += '<tr><td align="'+this.subcalign+'" bgcolor="'+this.subcbgcolor+'" bordercolor="'+this.subcbordercolor+'"><font color="'+this.fontcolor+'" face="'+this.font+'" size="'+this.size+'">&nbsp;<a href="'+murl+'">'+mtext+'</a>&nbsp;</font></td></tr>\n';
	}
	Menu.prototype.startMenu = function startMenu() {
		if (ie||ns6) {
			if(opera)
				this.htmlstr += '<div id="vrmenu'+globmenuid+'" STYLE="position:relative">\n';
			else
				this.htmlstr += '<div id="vrmenu'+globmenuid+'" STYLE="position:absolute">\n';
		}
		this.htmlstr += '<table border="'+this.maintborder+'" cellspacing="'+this.maintspacing+'" cellpadding="'+this.maintpadding+'" bgcolor="'+this.maintbgcolor+'"><tr>\n';
	}
	Menu.prototype.showMainMenu = function showMainMenu() {
		if(ie||ns6)
			this.htmlstr += '</tr></table></div>';
		else if(ns)
			this.htmlstr += '</tr></table></layer>';
		document.write(this.htmlstr);
	}
	Menu.prototype.showMenu = function showMenu() {
		if(ie||ns6)
			this.htmlsubstr += '</table></div>';
		else if(ns)
			this.htmlsubstr += '</table></layer>';
		document.write(this.htmlsubstr);
		for(men in globalmenus) {
			if(globalmenus[men]!=1) {
				if(ie)
					setsubmenu(eval('document.all.vrmenu'+globmenuid),eval(document.all[men]));
				else if(ns)
					setsubmenu(eval('document.layers.'+men+'glob'),eval('document.'+men+'glob.document.'+men));
				else if(ns6)
					setsubmenu(eval(document.getElementById('vrmenu'+globmenuid)),eval(document.getElementById(men)));
				globalmenus[men]=1
			}
		}
		globmenuid++
	}
	Menu.prototype.maintableprops = function(bgcolor,spacing,padding,border){
		this.maintbgcolor = bgcolor
		this.maintspacing = spacing
		this.maintpadding = padding
		this.maintborder = border
	}
	Menu.prototype.maincellprops = function maincellprops(align,bgcolor,bordercolor){
		this.maincalign = align
		this.maincbgcolor = bgcolor
		this.maincbordercolor = bordercolor
	}
	Menu.prototype.subtableprops = function subtableprops(bgcolor,spacing,padding,border){
		this.subtbgcolor = bgcolor
		this.subtspacing = spacing
		this.subtpadding = padding
		this.subtborder = border
	}
	Menu.prototype.subcellprops = function subcellprops(align,bgcolor,bordercolor){
		this.subcalign = align
		this.subcbgcolor = bgcolor
		this.subcbordercolor = bordercolor
	}
	Menu.prototype.fontdetails = function fontdetails(font,size,color){
		this.font = font
		this.size = size
		this.fontcolor = color
	}
	this.maintableprops("#cfcfcf",1,2,1)
	this.maincellprops("center","#cfcfcf","#000000")
	this.subtableprops("#cfcfcf",1,2,1)
	this.subcellprops("left","#eeeeee","#000000")
	this.fontdetails("Arial",3,"#000000")
	this.currentsubmenu=null
	this.htmlstr = ""
	this.htmlsubstr = ""
	submenustarted=false
	globalmenus['vrmenu'+globmenuid]=1
}
