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;	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,img) {
	var id = "";
	hundreds = 0;
	tens = 0;
	digits = 0;	id = "" + thousands + hundreds + tens + digits + "";
	menustr = "";
	menustr+= "<td id=\""+id+"\" onmouseover=\"expand(this)\" onmouseout=\"setmenus('');checkpos('"+id+"')\"><img src=\"" + img + "\" alt=\"" + menuname + "\" /></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);
}

