function findposx(s,level)
{
if (level == 0)
{
var cnt = 2;
var idx = 0;
}
else
{
var cnt = 2;
var idx = 0;
}
var curLeft = 0;
if (s.offsetParent)
{
while (s.offsetParent && (idx < cnt))
{
curLeft += s.offsetLeft;
s = s.offsetParent;
idx+=1;
}
}
else if (s.x) { curLeft += s.x; }
return curLeft;
}
function findposy(s,level)
{
if (level == 0)
{
var cnt = 2;
var idx = 0;
}
else
{
var cnt = 2;
var idx = 0;
}
var curTop = 0;
if (s.offsetParent)
{
while (s.offsetParent && (idx < cnt))
{
curTop += s.offsetTop;
s = s.offsetParent;
idx +=1;
}
}
else if (s.x) { curTop += s.x; }
return curTop;
}
function setmenus(s)
{
curmenu = s;
}
function setsubmenus(s)
{
submenu = s;
var x = submenu.substring(0,3)
x = x + '0';
curmenu = x;
}
function expand(s)
{
curmenu = s.id;
var x = s.id;
var count = parseInt(x,10);
count += 100;
if (count < 1000)
{
x = '0' + count;
}
else
{
x = count;
}
var td = document.getElementById(x);
var posx = findposx(s,0);
var posy = findposy(s,0) + menuheight+9;
if (td != null)
{ 
td.style.left = "" + posx + "px";
td.style.top = "" + posy + "px";
td.style.display = 'block';
}
}
function checkpos(s)
{
stop = window.setTimeout("collapse('"+s+"')",005);
}
function checksubpos(s)
{
stopsub = window.setTimeout("collapsesub('"+s+"')",005);
}
function collapsesub(s)
{
if (s.substring(0,3) != submenu.substring(0,3))
{
var td = document.getElementById(s);
if (td != null)
{ 
var x = s;
var count = parseInt(x,10);
count += 1;
if (count < 1000)
{
x = '0' + count;
}
else
{
x = count;
}
td = document.getElementById(x);
if (td != null)
{
td.style.display = 'none';
}
}
}
if (s.substring(0,1) != curmenu.substring(0,1) || curmenu == '0') 
{
var td = document.getElementById(s);
if (td != null)
{ 
var x = s;
var y = x.substring(0,2);
y = y + '00';
td = document.getElementById(y);
if (td != null)
{
td.style.display = 'none';
}
}
}
}
function collapse(s)
{
if (s.substring(0,1) != curmenu.substring(0,1))
{
var td = document.getElementById(s);
if (td != null)
{ 
var x = s;
var count = parseInt(x,10);
count += 100;
if (count < 1000)
{
x = '0' + count;
}
else
{
x = count;
}
td = document.getElementById(x);
if (td != null)
{ td.style.display = 'none';}
}
}
}
function expandsub(s,direction)
{
submenu = s.id;
var x = s.id;
var count = parseInt(x,10);
count += 1;
if (count < 1000)	{
x = '0' + count;
}
else
{
x = count;
}
var td = document.getElementById(x);
if (direction == 'right')
{	
var posx = findposx(s,1) + menuwidth;
}
else
{
var posx = findposx(s,1) - menuwidth;
}
var posy = findposy(s,1);
if (td != null)
{ 
td.style.left = "" + posx + "px";
td.style.top = "" + posy + "px";
td.style.display = 'block';
}
}
function Menu()
{
this.addItem = addItem;
this.addsubmenu = addsubmenu;
this.addsubmenuitem = addsubmenuitem;
this.addlevel2menu = addlevel2menu;
this.addlevel2menuitem = addlevel2menuitem;
this.showMenu = showMenu;
thousands = 0;
hundreds = 0;
tens = 0;
digits = 0;
htmlstr="";
htmlstr += "<!--GMENU Version 2.1-->";
htmlstr += "<table cellpadding=0 cellspacing=0 border=0 class='gmenu'><tr><!--GMENUITEMS--></tr></table><!--SUBMENU-->";
htmlstr += "<!--End of Gmenu-->";
}
function addItem(menuname,lnk)
{
var id = "";
hundreds = 0;
tens = 0;
digits = 0;
id = "" + thousands + hundreds + tens + digits + "";
menustr = "";
menustr+= "<td class=\"gmenu\" width=\""+menuwidth+"\" id=\""+id+"\" onmouseover=\"expand(this)\" onmouseout=\"setmenus('');checkpos('"+id+"')\"><a href='"+lnk+"' class=\"gmenu\">"+menuname+"</a></td>";
menustr+="<!--GMENUITEMS-->";
htmlstr = htmlstr.replace("<!--GMENUITEMS-->",menustr);
thousands+=1;
}
function addsubmenu()
{
var id = "";
hundreds = hundreds + 1;
currentthousands = thousands - 1;
htmlstr = htmlstr.replace("<!--SUBMENUITEMS-->",'');	
id = "" + currentthousands + hundreds + tens + digits + "";
pid = "" + currentthousands + "000";
menustr = "";
menustr+="<div id=\""+id+"\" class=\"submenu\" style=\"position:absolute;left:0;top:0;display:none;z-index:10\" onmouseover=\"setmenus('"+id+"')\" onmouseout=\"setmenus('');checkpos('"+pid+"')\"><!--SUBMENUITEMS--></div>";
menustr+="<!--SUBMENU-->";
htmlstr = htmlstr.replace("<!--SUBMENU-->",menustr);	
}
function addsubmenuitem(name,lnk,direction)
{
var id = "";
tens = tens + 1;
digits = 0;
currentthousands = thousands - 1;
id = "" + currentthousands + hundreds + tens + digits + "";
menustr = "";
if (direction == 'left')
{
menustr+="<a id=\""+id+"\" href=\""+lnk+"\" onmouseover=\"setsubmenus('"+id+"');expandsub(this,'left')\" onmouseout=\"setsubmenus('');checksubpos('"+id+"')\">"+name+"</a>";
}
else
{
menustr+="<a id=\""+id+"\" href=\""+lnk+"\" onmouseover=\"setsubmenus('"+id+"');expandsub(this,'right')\" onmouseout=\"setsubmenus('');checksubpos('"+id+"')\">"+name+"</a>";
}
menustr+="<!--SUBMENUITEMS-->";
htmlstr = htmlstr.replace("<!--SUBMENUITEMS-->",menustr);
}
function addlevel2menu()
{
var id = "";
currentthousands = thousands - 1;
digits+=1;
htmlstr = htmlstr.replace("<!--LEVEL2ITEMS-->",'');	
id = "" + currentthousands + hundreds + tens + digits + "";
pid = "" + currentthousands + hundreds + tens + "0";
menustr = "";
menustr+="<div id=\""+id+"\" class=\"level2menu\" style=\"position:absolute;display:none;z-index:10\" onmouseover=\"setsubmenus('"+id+"')\" onmouseout=\"setsubmenus('');checksubpos('"+pid+"')\"><!--LEVEL2ITEMS--></div>";
menustr+="<!--SUBMENU-->";
htmlstr = htmlstr.replace("<!--SUBMENU-->",menustr);	
}
function addlevel2menuitem(name,lnk)
{
menustr = "";
menustr+="<a href='"+lnk+"'>"+name+"</a>";
menustr+="<!--LEVEL2ITEMS-->";
htmlstr = htmlstr.replace("<!--LEVEL2ITEMS-->",menustr);
}
function showMenu()
{
//	alert(htmlstr);
document.writeln(htmlstr);
}


