function onmenuclick(obj,code)
{
	hide(obj);
	eval(code);
}

function show(obj)
{
 	if(typeof(obj) == "undefined")
		return;
 	obj.style.visibility = 'visible';
}

function hide(obj)
{
	if(typeof(obj) == "undefined")
		return;
	obj.style.visibility = 'hidden';
}

function SetColor(obj,color)
{
	if(typeof(obj) == "undefined")
		return;
	obj.style.backgroundColor = color;
}

function OnMouseOverBar(obj,rowid,colid,color)
{
	SetColor(obj,color);
	window.status = menuArr[rowid][colid][2];
}

function OnMouseOutOfBar(obj,rowid,colid,color)
{
	SetColor(obj,color);
	window.status = "";
}


function Initialize(rows,cols)
{
  menuArr = new Array();
  titles =  new Array();
  for(i=0; i< rows; i++)
  {
     titles[i] =  new Array(2)
	 titles[i][0] = "";
	 titles[i][1] = 0;
  }
  for (i=0; i < rows; i++) 
  {
	menuArr[i] = new Array(cols)
	for (j=0; j < cols; j++) 
	{
		menuArr[i][j] = new Array(3)
		for(k=0; k < 3 ; k++)
		 menuArr [i][j][k] = "";
	}
  }
}

function CreatePopUpMenu(rowid,x,y,width,height,hColor,dColor,bColor,items,align,border)
{
	if(!items)
	{
	   return;
	}
	var divHTML ;

	divHTML = "<DIV id=\"popup_"+rowid+"\"" ;
	divHTML += "style=\"position:absolute; top:"+y+"px; left:"+x+"px; width:"+width+"px; visibility:hidden; padding-left:"+border+"; background-color:"+bColor+";\" ";
	divHTML += "onmouseover=\"show(this);\" onmouseout=\"hide(this);\" >\n";
	divHTML += CreateSeparatorBar(bColor,width-(border*2),border);

	for (i=0;i<items;i++)
	{
		divHTML += CreateMenuBar('popup_'+rowid,rowid,i,width-(border*2),height,hColor,dColor,align);
		divHTML += CreateSeparatorBar(bColor,width-(border*2),border);
	}  
	  
	divHTML += "</DIV>";
	document.write(divHTML);
}

function CreateMenu(rowid,x,y,width,height,hColor,dColor,bColor,items,align,border)
{
	if(!items)
	{
	   return;
	}
	var divHTML ;
	var menuBar;
	menuBar ="<DIV id=\"main_div_"+rowid+"\" align=\""+align+"\" style=\" position:absolute; CURSOR: hand; top:"+y+"px; left:"+x+"px; width:"+width+"px; height:"+height+"px; visibility:visible;  background-color:"+dColor+";\" ";
	menuBar += " onmouseover=\"show(document.all[\'div_"+rowid+"\']);\"  onmouseout=\"hide(document.all[\'div_"+rowid+"\']);\" >"; 
	menuBar += titles[rowid][0] + " </DIV>";
	document.write (menuBar);
	y += document.all["main_div_"+rowid ].offsetHeight;

	divHTML = "<DIV id=\"div_"+rowid+"\"" ;
	divHTML += "style=\"position:absolute; top:"+y+"px; left:"+x+"px; width:"+width+"px; visibility:hidden; padding-left:"+border+"; background-color:"+bColor+";\" ";
	divHTML += "onmouseover=\"show(this);\" onmouseout=\"hide(this);\" >\n";
	divHTML += CreateSeparatorBar(bColor,width-(border*2),border);

	for (i=0;i<items;i++)
	{
		divHTML += CreateMenuBar('div_'+rowid,rowid,i,width-(border*2),height,hColor,dColor,align);
		divHTML += CreateSeparatorBar(bColor,width-(border*2),border);
	}  
	  
	divHTML += "</DIV>";
	document.write(divHTML);
}

function CreateSeparatorBar(dColor,width,border)
{
	var sepHTML; 
	sepHTML = "<DIV id=\"line_separator\" style=\"position:relative; height:1px; background-color:"+dColor+";\" >";
	sepHTML += "<img src=\"\" width=" + width  + " height="+border/2+"></DIV> \n";
	return sepHTML;
}

function CreateMenuBar(parent,rowid,colid,width,height,hColor,dColor,align)
{
	var subMenuHTML; 
	subMenuHTML = "\n<DIV align="+align+" id=\"div_"+rowid+"_"+colid+"\" style=\"position:left; CURSOR: hand; width:"+width+"px; background-color:"+dColor+";\" ";
	subMenuHTML += " onmouseover=\"OnMouseOverBar(this,"+rowid+","+colid+",\'"+hColor+"\');\" ";
	subMenuHTML += " onclick=\"onmenuclick(document.all[\'"+parent+"\'],\'" + menuArr[rowid][colid][1] + "\');\" ";
	subMenuHTML += " onmouseout=\"OnMouseOutOfBar(this,"+rowid+","+colid+",\'"+dColor+"\');\" >";
	subMenuHTML +=  menuArr[rowid][colid][0];
	subMenuHTML += " </DIV> \n";
	return subMenuHTML;
}

function TrackPopUp(obj)
{
	if(typeof(obj) == "undefined")
		return;
	var winWidth  = document.body.clientWidth;
	var winHeight = document.body.clientHeight;
	x = winWidth - (obj.offsetWidth + window.event.x);
	y = winHeight - (obj.offsetHeight + window.event.y);
	obj.style.left = x<0 ? window.event.x + x : window.event.x ;
	obj.style.top = y<0 ? window.event.y + y : window.event.y;	
	show(obj);
	return false;
}

