//Script developed by Alexey
//for support visit http://www.geocities.com/menulite
//submitted to A1 JavaScripts - www.a1javascripts.com
// check browser version

NS4 = (document.layers) ? 1 : 0;

function layer_enter (id)
{
	on_layer_id = id;
}

function layer_exit (id)
{
on_layer_id = - 1;
setTimeout ('hide('+ id +')', delay/5);
}

function menu_enter (id,ref_id)
{
	if (buff_id >= 0)
		hide (buff_id);
	show (id,ref_id);
	active_layer_id = id;
}

function menu_exit (id)
{
	setTimeout ('hide('+ id +')', delay);
	buff_id = active_layer_id;
	active_layer_id = -1;
}

function show (id,ref_id)
{
	
	if (!NS4)
	{
		var x = findPosX(document.getElementById(ref_id));
		if (x)
		{
			document.getElementById('Menu' + id).style.left = x;
		}
		document.getElementById('Menu' + id).style.visibility = "visible";
	}
	else
	{
		document.layers[id].visibility = "visible";
	}
}

function findPosX(obj)
{
	var curleft = 0;
	try
	{
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
	} catch (e) { } 
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	try
	{
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
	} catch (e) { } 
	return curtop;
}

function hide (id)
{
	if (active_layer_id != id && on_layer_id != id)
	{
		if (!NS4)
			document.getElementById('Menu' + id).style.visibility = "hidden";
		else
			document.layers[id].visibility = "hide";
	}
}



function generate_layers ()
{
	for (i = 0; i < menu_content.length; i++)
	{
		var curWidth = (menu_widths[i] == null || typeof menu_widths[i] == "undefined") ? menu_width : menu_widths[i];
		
		if (!NS4)
			layer_header = '<div id=Menu' + i +
				   	   ' onMouseOver="layer_enter (' + i + ');" onMouseOut = "layer_exit (' + i + ');"' +
				           ' style="visibility: hidden; position: absolute; left: ' + (left_corner_x + curWidth*i) +
				           '; top: ' + left_corner_y + ';">';
		else
			layer_header = '<layer id=' + i +
						   ' onMouseOver="layer_enter (' + i + ');" onMouseOut = "layer_exit (' + i + ');"' +
					   ' visibility=hide left=' + (left_corner_x + curWidth*i) +
						   ' top = ' + left_corner_y + '>';

		layer_header += '<table width=' + curWidth + ' cellpadding=0 cellspacing=0 border=0><tr>' +
					    '<td bgcolor=' + border_color + '><table width=' + curWidth + ' cellpadding=0 ' +
					    'cellspacing=' + border_size + ' border=0><tr><td width=' + curWidth + ' bgcolor=' + back_color + '>';

		elements = menu_content[i].split (/\s*\|\s*/);
		layer_body = '';
		for (j = 0; j < elements.length; j++)
		{
			layer_body += elements[j];	
			if ((NS4 && j < elements.length - 1) || (!NS4 && j < elements.length - 1))
				layer_body += '</td></tr><tr><td width=' + curWidth + ' bgcolor=' + back_color + '>';
		}
		layer_footer = '</td></tr></table></td></tr></table>';
		if (!NS4)
			layer_footer += '</div>';
		else
			layer_footer += '</layer>';
		document.writeln (layer_header + layer_body + layer_footer);

	}

}

generate_layers ();
