addEV(window, 'load', installMenus);

var prefix = 'dm_';

var menus =
[
	[
		{
			normal: "Obrazki/menu/p01.gif",
			over:	"Obrazki/menu/p01_o.gif",
			desc:	"Świeczniki",
			href: '?go=swieczniki'
		},
		{
			normal: "Obrazki/menu/p02.gif",
			over:	"Obrazki/menu/p02_o.gif",
			desc:	"Kwietniki",
			href: '?go=kwietniki'
		},
		{
			normal: "Obrazki/menu/p03.gif",
			over:	"Obrazki/menu/p03_o.gif",
			desc:	"Artykuły dekoracyjne",
			href: '?go=dekoracujne'
		},
		{
			normal: "Obrazki/menu/p04.gif",
			over:	"Obrazki/menu/p04_o.gif",
			desc:	"Artykuły wyposarzenia wnętrz",
			href: '?go=wyp-wnetrz'
		},
		{
			normal: "Obrazki/menu/p05.gif",
			over:	"Obrazki/menu/p05_o.gif",
			desc:	"Karnisze",
			href: '?go=karnisze'
		},
		{
			normal: "Obrazki/menu/p06.gif",
			over:	"Obrazki/menu/p06_o.gif",
			desc:	"Deski do prasowania",
			href: '?go=deski'
		},
		{
			normal: "Obrazki/menu/p07.gif",
			over:	"Obrazki/menu/p07_o.gif",
			desc:	"Suszarki",
			href: '?go=suszarki'
		},
		{
			normal: "Obrazki/menu/p08.gif",
			over:	"Obrazki/menu/p08_o.gif",
			desc:	"Kwietniki z rurek",
			href: '?go=kwietnikirurka'
		}
	],
	
	
	
	[
		{
			normal: "Obrazki/menu/m01.gif",
			over:	"Obrazki/menu/m01_o.gif",
			desc:	"Drużyna",
			href:   '?go=druzyna'
		},
		{
			normal: "Obrazki/menu/m02.gif",
			over:	"Obrazki/menu/m02_o.gif",
			desc:	"Sponsoring",
			href:   '?go=sponsoring'
		},
		{
			normal: "Obrazki/menu/m03.gif",
			over:	"Obrazki/menu/m03_o.gif",
			desc:	"Prasa",
			href:   '?go=prasa'
		}
	]
	
];

var menabled = [];

function installMenus()
{
	if (!document.getElementsByTagName)
	return;

	var containers = getContainers(prefix);
	var rel = document.getElementsByTagName("body");
	rel = rel[0];

	for (var i = 0; i < containers.length; i++)
	{
		var container = containers[i];
		menabled[i] = false;
		var tdiv = document.createElement("div");
		tdiv.className = "dropmenu";
		tdiv.style.position = 'absolute';
		tdiv.style.display = 'none';
		tdiv.setAttribute("id", "dmc_" + (i + 1));
		tdiv.style.margin = '0';
		tdiv.style.padding = '0';
		tdiv.style.borderStyle = 'none';

		//add menu positions
		for (var m = 0; m < menus[i].length; m++)
		{
			var men = menus[i][m];
			var idiv = document.createElement("div");
			idiv.style.margin = '0';
			idiv.style.padding = '0';
			idiv.style.borderStyle = 'none';
			var img = document.createElement("img");
			img.src = men.normal;
			img.alt = men.desc;
			img.style.cursor = 'pointer';
			img.setAttribute('id', "dmi_" + m);
			addEV(img, 'mouseover', rollIn);
			addEV(img, 'mouseout', rollOut);
			addEV(img, 'click', mClick);
			idiv.appendChild(img);
			tdiv.appendChild(idiv);
		}

		rel.appendChild(tdiv);

		addEV(container, 'mouseover', showMenu);
		addEV(container, 'mouseout', hideMenu);
		addEV(tdiv, 'mouseout', hideMenu);
	}
}

function menable(idx, val)
{
	for (var i = 0; i < menabled.length; i++)
	{
		if (i != idx)
		{
			document.getElementById("dmc_" + (i+1)).style.display = 'none';
			menabled[i] = false;
		}
	}

	menabled[idx] = val;
}

function showMenu(evt)
{
	var obj = (typeof(event) != 'undefined' ? event.srcElement : this);

	//prevent Explorer bug
	if (obj.nodeName.toLowerCase() != 'td')
	{
		obj = obj.parentNode.parentNode;
	}

	var eid = obj.getAttribute("id").match(/dm_([0-9]+)/);
	eid = eid[1];

	mobj = document.getElementById("dmc_" + eid);

	//set enabled flag
	menable(eid - 1, true);

	//calc x & y
	var ex = getX(obj);
	var ey = getY(obj);
	ey += obj.offsetHeight;
//	ex += obj.offsetWidth;

	mobj.style.display = 'block';
	mobj.style.left = ex + 'px';
	mobj.style.top = ey + 'px';
}

function hideMenu(evt)
{
	var obj = (typeof(event) != 'undefined' ? event.srcElement : this);
	var pobj =(typeof(event) != 'undefined' ? event : (evt ? evt : this));
	var po = obj.parentNode.parentNode;
	var eid = po.getAttribute("id").match(/dmc?_([0-9]+)/);
	eid = eid[1];

	//clear enabled flag
	menable(eid - 1, false);

	window.setTimeout('checkHM(' + eid + ')', 1000);
}

function rollIn(evt)
{
	var obj = (typeof(event) != 'undefined' ? event.srcElement : this);
	var pobj =(typeof(event) != 'undefined' ? event : (evt ? evt : this));
	var po = obj.parentNode.parentNode;
	var eid = po.getAttribute("id").match(/dmc?_([0-9]+)/);
	eid = eid[1];

	//swap images
	obj.src = obj.src.replace(/^(.*?)\/((?:[^\/](?!_o))*?)\.([^\/]*?)$/, "$1/$2_o.$3");

	//clear enabled flag
	menable(eid - 1, true);
}

function rollOut(evt)
{
	var obj = (typeof(event) != 'undefined' ? event.srcElement : this);
	var pobj =(typeof(event) != 'undefined' ? event : (evt ? evt : this));

	var po = obj.parentNode.parentNode;
	var eid = po.getAttribute("id").match(/dmc?_([0-9]+)/);
	eid = eid[1];

	//swap images
	obj.src = obj.src.replace(/^(.*?)\/([^\/]*?)_o\.([^\/]*?)$/, "$1/$2.$3");

	//clear enabled flag
	menable(eid - 1, false);

	window.setTimeout('checkHM(' + eid + ')', 1000);
}

function mClick(evt)
{
	var obj = (typeof(event) != 'undefined' ? event.srcElement : this);

	var po = obj.parentNode.parentNode;
	var eid = po.getAttribute("id").match(/dmc?_([0-9]+)/);
	eid = eid[1];

	var mid = obj.getAttribute("id").match(/dmi_([0-9]+)/);
	mid = mid[1];

	var l = menus[eid - 1][mid].href;
	window.location = l;
}

function checkHM(eid)
{
	if (!menabled[eid - 1])
	{
		document.getElementById("dmc_" + eid).style.display = 'none';
	}
}

function getX(obj)
{
	if (obj === null)
		return 0;
	return obj.offsetLeft + (obj.offsetParent === null ? 0 : getX(obj.offsetParent));
}

function getY(obj)
{
	if (obj === null)
		return 0;
	return obj.offsetTop + (obj.offsetParent === null ? 0 : getY(obj.offsetParent));
}

function checkClassName(obj, cn)
{
	if (obj !== null && typeof(obj.className) != 'undefined')
	{
		var regex = new RegExp('\\b' + cn + '\\b');
		return (obj.className.match(regex));
	}

	return false;
}

function appendClass(obj, styles)
{
	if (obj !== null && typeof(obj.className) != 'undefined')
	{
		var st = obj.className.split(' ');
		var stl = st.length;

nst:	for (var s in styles)
		{
			//find if this style is applied already
			for (var i in st)
			{
				if (styles[s] == st[i])
					continue nst;
			}
			//if not, then apply it
			st.push(styles[s]);
		}

		obj.className = st.join(' ');
	}
}

function clearClass(obj, regex)
{
	if (obj !== null && typeof(obj.className) != 'undefined')
	{
		var st = obj.className.split(' ');

		for (var i in st)
		{
			if (st[i].match(regex))
			{
				//delete
				delete st[i];
			}
		}

		obj.className = st.join(' ');
	}
}

function getContainers(prefix)
{
	var c = Array();

	var e = null;
	var i = 1;
	while (e = document.getElementById(prefix + (i++)))
	{
		c.push(e);
	}

	return c;
}

function addEV(obj, name, method)
{
	if (obj.addEventListener)
	{
		obj.addEventListener(name, method, false);
	}
	else if (obj.attachEvent)
	{
		obj.attachEvent('on' + name, method);
	}
}

