/**
 * 'Home Automation' Roll-Over Button
 * FORMfields GMenu - http://www.formfields.com/
*/
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)

{

	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);

}
