/* Top Level */

var topLevelHoriz =        0;

var topLevelBorder =       0;
var topLevelBorderItem =   0;
var topLevelBorderUpDn =   0;
var topLevelBorderC =      '#000000';
var topLevelBgC =          'transparent';
var topLevelBgImage =      '';
var topLevelBgRepeat =     'repeat-x';
var topLevelBgPosition =   'top left';
var topLevelFixedW =       125;
var topLevelSpacing =      0;

var topItemLpadding =      4;
var topItemRpadding =      2;
var topItemTpadding =      1;
var topItemBpadding =      2;

var topHeaderImage =       '';
var topHeaderHeight =      0;
var topHeaderBgC =         '#ffffff';
var topHeaderBgImage =     '';
var topHeaderBgRepeat =    'no-repeat';
var topHeaderBgPosition =  'top right';

var topFooterImage =       '';
var topFooterHeight =      10;
var topFooterBgC =         '#ffffff';
var topFooterBgImage =     '';
var topFooterBgRepeat =    'no-repeat';
var topFooterBgPosition =  'top right';

/* N-th Level */

var nLevelBorder =         1;
var nLevelBorderItem =     0;
var nLevelBorderUpDn =     1;
var nLevelBorderC =        '#d6d6d6';
var nLevelBgC =            '#e6e7e8';
var nLevelBgImage =        '';
var nLevelBgRepeat =       'repeat-x';
var nLevelBgPosition =     'top left';
var nLevelFixedW =         200;

var nHeaderImage =         '';
var nHeaderHeight =        0;
var nHeaderBgC =           '#f5f6f0';
var nHeaderBgImage =       '';
var nHeaderBgRepeat =      'no-repeat';
var nHeaderBgPosition =    'top right';

var nFooterImage =         '';
var nFooterHeight =        0;
var nFooterBgC =           '#f5f6f0';
var nFooterBgImage =       '';
var nFooterBgRepeat =      'no-repeat';
var nFooterBgPosition =    'top right';

var nItemLpadding =        4;
var nItemRpadding =        4;
var nItemTpadding =        2;
var nItemBpadding =        2;

/* All Levels */
								   
var itemLeftOffset =	   5;
var itemTopOffset =        0;
var itemBgCo =             '#f5f6f0';
var itemFontC =            '#3a3a3a';
var itemFontCo =           '#9f4e17';
var itemFontSize =         11;
var itemFontFamily =       'Arial';
var itemFontWeight =       'normal';
var itemTextDec =			'none';
var itemTextDecO =         'none';
								   
var imgPath =              pageurl + '/img';
	   
var arrowH =               'arrow.gif';
var arrowV =               'arrow_dn.gif';
var arrowWidth =           20;

var menuAutoHide =         1;
var menuHideWait =         1000;
var menuNextLevelWait =    200;
var containerId =          'navicontainer';

/* Kod - nie zmieniaj jesli nie rozumiesz */

function sBrowser() {
	this.GECKO = false;
	this.IE = false;
	this.OPERA = false;
	this.KHTML = false;

	if(window.opera) this.OPERA = true;
	else if(document.createNSResolver) this.GECKO = true;
	else if(document.getElementById && document.all) {
		if(navigator.userAgent.toLowerCase().indexOf('khtml') > -1) {
			this.KHTML = true;
		}
		else {
			this.IE = true;
		}
	}
}

var sb = new sBrowser();

var styleCursor = 'pointer';
if(sb.IE) styleCursor = 'hand';

/* Korekcja */

var chldTopItemRpadding = (arrowWidth > topItemRpadding) ? arrowWidth : topItemRpadding;
var chldNItemRpadding = (arrowWidth > nItemRpadding) ? arrowWidth : nItemRpadding;

/* Menu */

var nLevel = false;
var renderDelay = setTimeout('void(null)', 0);
var hideDelay = setTimeout('void(null)', 0);

function over() {

	clearTimeout(hideDelay);
	clearTimeout(renderDelay);

	if(this.img) {
		this.firstChild.src = this.imgO.src;
	}
	else {
		this.style.backgroundColor = itemBgCo;
		this.style.color = itemFontCo;
		this.style.textDecoration = itemTextDecO;
	}

	if(this.parentNode.oldOver && this.parentNode.oldOver != this) {

		if(this.parentNode.oldOver.img) {
			this.parentNode.oldOver.firstChild.src = this.parentNode.oldOver.img.src;
		}
		else {
			this.parentNode.oldOver.style.backgroundColor = 'transparent';
			this.parentNode.oldOver.style.color = itemFontC;
			this.parentNode.oldOver.style.textDecoration = itemTextDec;
		}

		if(this.parentNode.oldOver.child && this.parentNode.oldOver.child.isRendered) {
			this.parentNode.oldOver.child.remove();
		}
	}

	if(this.child && this.child.isRendered && this.child.con.oldOver) {

		if(this.child.con.oldOver.img) {
			this.child.con.oldOver.firstChild.src = this.child.con.oldOver.img.src;
		}
		else {
			this.child.con.oldOver.style.backgroundColor = 'transparent';
			this.child.con.oldOver.style.color = itemFontC;
			this.child.con.oldOver.style.textDecoration = itemTextDec;
		}

		if(this.child.con.oldOver.child && this.child.con.oldOver.child.isRendered) {
			this.child.con.oldOver.child.remove();
		}
	}

	this.parentNode.oldOver = this;

	if(this.child && !this.child.isRendered) {
		if(topLevelHoriz && this.parentNode.idnum == 0) {
			this.child.posX = this.parentNode.offsetLeft + this.offsetLeft;
			this.child.posY = this.parentNode.offsetTop + this.offsetHeight;
		}
		else {
			this.child.posX = this.parentNode.offsetWidth + this.parentNode.offsetLeft + itemLeftOffset;
			this.child.posY = this.parentNode.offsetTop + this.offsetTop + itemTopOffset;
		}

		nLevel = this.child;
		renderDelay = setTimeout('nLevel.render()', menuNextLevelWait);
	}
}

function restOver() {
	clearTimeout(hideDelay);
	clearTimeout(renderDelay);
}

function out() {
	clearTimeout(renderDelay);
	if(menuAutoHide) {
		hideDelay = setTimeout('menu.remove()', menuHideWait);
	}
}


function click() {
	if(this.link) {

		if(this.link.indexOf('javascript:') < 0 || this.link.indexOf('http://') < 0) {
			self.location = pageurl + this.link;
		}
		else {
			self.location = this.link;
		}

		clearTimeout(renderDelay);
		clearTimeout(hideDelay);
		menu.remove();
	}
}

function findChildren() {
	for(var x=0; x<mnuData.length; x++) {
		mnuData[x][5] = false;
		for(var y=0; y<mnuData.length; y++) {
			if(mnuData[y][1] == mnuData[x][0]) {
				mnuData[x][5] = true;
				break;
			}
		}
	}
}

function addHeader(obj, ref) {
	if(ref != 0 && nHeaderImage) {

		var hd = document.createElement('DIV');
		hd.style.position = 'relative';
		hd.style.backgroundColor = nHeaderBgC;

		if(nHeaderBgImage) {
			hd.style.backgroundImage = 'url("' + imgPath + '/' +  nHeaderBgImage + '")';
			hd.style.backgroundRepeat = nHeaderBgRepeat;
			hd.style.backgroundPosition = nHeaderBgPosition;
		}

		hd.onmouseover = restOver;
		hd.onmouseout = out;

		var hi = document.createElement('IMG');
		hi.id = 'head' + ref;
		hi.src = imgPath + '/' + nHeaderImage;
		hi.height = nHeaderHeight;

		hd.appendChild(hi);
		obj.appendChild(hd);
	}

	if(ref == 0 && topHeaderImage && !topLevelHoriz) {

		var hd = document.createElement('DIV');
		hd.style.position = 'relative';
		hd.style.backgroundColor = topHeaderBgC;

		if(topHeaderBgImage) {
			hd.style.backgroundImage = 'url("' + imgPath + '/' +  topHeaderBgImage + '")';
			hd.style.backgroundRepeat = topHeaderBgRepeat;
			hd.style.backgroundPosition = topHeaderBgPosition;
		}

		hd.onmouseover = restOver;
		hd.onmouseout = out;

		var hi = document.createElement('IMG');
		hi.id = 'head' + ref;
		hi.src = imgPath + '/' + topHeaderImage;

		hd.appendChild(hi);
		obj.appendChild(hd);
	}
}

function addFooter(obj, ref) {
	if(ref != 0 && nFooterImage) {

		var hd = document.createElement('DIV');
		hd.style.position = 'relative';
		hd.style.backgroundColor = nFooterBgC;

		if(nFooterBgImage) {
			hd.style.backgroundImage = 'url("' + imgPath + '/' +  nFooterBgImage + '")';
			hd.style.backgroundRepeat = nFooterBgRepeat;
			hd.style.backgroundPosition = nFooterBgPosition;
		}

		hd.onmouseover = restOver;
		hd.onmouseout = out;

		var hi = document.createElement('IMG');
		hi.id = 'head' + ref;
		hi.src = imgPath + '/' + nFooterImage;
		hi.height = nFooterHeight;

		hd.appendChild(hi);
		obj.appendChild(hd);
	}

	if(ref == 0 && topFooterImage && !topLevelHoriz) {

		var hd = document.createElement('DIV');
		hd.style.position = 'relative';
		hd.style.backgroundColor = topFooterBgC;

		if(topFooterBgImage) {
			hd.style.backgroundImage = 'url("' + imgPath + '/' +  topFooterBgImage + '")';
			hd.style.backgroundRepeat = topFooterBgRepeat;
			hd.style.backgroundPosition = topFooterBgPosition;
		}

		hd.onmouseover = restOver;
		hd.onmouseout = out;

		var hi = document.createElement('IMG');
		hi.id = 'head' + ref;
		hi.src = imgPath + '/' + topFooterImage;

		hd.appendChild(hi);
		obj.appendChild(hd);
	}
}

function setContainerStyle(obj, ref, CHL) {

	obj.style.position = 'absolute';

	/* top level */
	if(ref == 0) {

		obj.style.backgroundColor = topLevelBgC;

		if(topLevelBgImage) {
			obj.style.backgroundImage = 'url("' + imgPath + '/' + topLevelBgImage + '")';
			obj.style.backgroundRepeat = topLevelBgRepeat;
			obj.style.backgroundPosition = topLevelBgPosition;
		}

		/* top level horizontal */
		if(topLevelHoriz) {

			if(topLevelSpacing) {
				obj.lastChild.style.marginRight = '0px';
			}

		}
		/* top level vertical */
		else {

			if(topLevelBorder) {
				if(topLevelBorderUpDn) {
					obj.firstChild.style.borderTop = topLevelBorder + 'px solid ' + topLevelBorderC;
					obj.lastChild.style.borderBottom = topLevelBorder + 'px solid ' + topLevelBorderC;
				}
				else {
					obj.firstChild.style.borderTop = 'none';
					obj.lastChild.style.borderBottom = 'none';
				}
			}

		}
	}

	/* other levels */
	else {

		obj.style.backgroundColor = nLevelBgC;

		if(nLevelBgImage) {
			obj.style.backgroundImage = 'url("' + imgPath + '/' + nLevelBgImage + '")';
			obj.style.backgroundRepeat = nLevelBgRepeat;
			obj.style.backgroundPosition = nLevelBgPosition;
		}

		if(nLevelBorder) {
			if(nLevelBorderUpDn) {
				obj.firstChild.style.borderTop = nLevelBorder + 'px solid ' + nLevelBorderC;
				obj.lastChild.style.borderBottom = nLevelBorder + 'px solid ' + nLevelBorderC;
			}
			else {
				obj.firstChild.style.borderTop = 'none';
				obj.lastChild.style.borderBottom = 'none';
			}
		}
	}
}

function setItemStyle(obj, ref, CHL) {

	obj.style.position = 'relative';

	obj.style.fontFamily = itemFontFamily;
	obj.style.fontWeight = itemFontWeight;
	obj.style.fontSize = itemFontSize + 'px';
	obj.style.lineHeight = 'normal';
	obj.style.color = itemFontC;
	obj.style.textDecoration = itemTextDec;

	if(obj.link) {
		obj.style.cursor = styleCursor;
	}
	else {
		obj.style.cursor = 'default';
	}

	/* top level items */
	if(ref == 0) {

		obj.style.padding = topItemTpadding + 'px ' + topItemRpadding + 'px ' + topItemBpadding + 'px ' + topItemLpadding + 'px';

		if(topLevelFixedW) {
			obj.style.width = topLevelFixedW - (2*topLevelBorder);
			if(sb.GECKO && (!CHL || obj.img)) obj.style.width = topLevelFixedW - (2*topLevelBorder) - topItemLpadding - topItemRpadding;
			if(sb.GECKO && CHL && !obj.img) obj.style.width = topLevelFixedW - (2*topLevelBorder) - topItemLpadding - chldTopItemRpadding;
		}

		/* top level horizontal */
		if(topLevelHoriz) {

			if(obj.style.setProperty) {
				obj.style.setProperty('float', 'left', 'important');
			}
			else {
				obj.style.styleFloat = 'left';
			}

			if(topLevelSpacing) {
				obj.style.marginRight = topLevelSpacing + 'px';
			}

			if(topLevelBorder) {
				obj.style.border = topLevelBorder + 'px solid ' + topLevelBorderC;
			}

			if(CHL) {
				if(!obj.img) {
					obj.style.paddingRight = chldTopItemRpadding;
					obj.style.backgroundImage = 'url("' +  imgPath + '/' + arrowV + '")';
					obj.style.backgroundPosition = 'right bottom';
					obj.style.backgroundRepeat = 'no-repeat';
				}
				else {
					obj.style.paddingRight = topItemRpadding;
				}
			}
		}
		/* top level vertical */
		else {

			if(topLevelBorder) {
				obj.style.borderLeft = topLevelBorder + 'px solid ' + topLevelBorderC;
				obj.style.borderRight = topLevelBorder + 'px solid ' + topLevelBorderC;
				if(topLevelBorderItem) {
					obj.style.borderBottom = topLevelBorder + 'px solid ' + topLevelBorderC;
				}
			}

			if(CHL) {
				if(!obj.img) {
					obj.style.paddingRight = chldTopItemRpadding;
					obj.style.backgroundImage = 'url("' +  imgPath + '/' + arrowH + '")';
					obj.style.backgroundPosition = 'right top';
					obj.style.backgroundRepeat = 'no-repeat';
				}
				else {
					obj.style.paddingRight = topItemRpadding;
				}
			}
		}
	}

	/* other level items */
	else {

		obj.style.padding = nItemTpadding + 'px ' + nItemRpadding + 'px ' + nItemBpadding + 'px ' + nItemLpadding + 'px';

		if(nLevelFixedW) {
			obj.style.width = nLevelFixedW - (2*nLevelBorder);
			if(sb.GECKO && !CHL) obj.style.width = nLevelFixedW - (2*nLevelBorder) - nItemLpadding - nItemRpadding;
			if(sb.GECKO && CHL) obj.style.width = nLevelFixedW - (2*nLevelBorder) - nItemLpadding - chldNItemRpadding;
		}

		if(nLevelBorder) {
			obj.style.borderLeft = nLevelBorder + 'px solid ' + nLevelBorderC;
			obj.style.borderRight = nLevelBorder + 'px solid ' + nLevelBorderC;
			if(nLevelBorderItem) {
				obj.style.borderBottom = nLevelBorder + 'px solid ' + nLevelBorderC;
			}
		}

		if(CHL) {
			obj.style.paddingRight = chldNItemRpadding;
			obj.style.backgroundImage = 'url("' +  imgPath + '/' + arrowH + '")';
			obj.style.backgroundPosition = 'right top';
			obj.style.backgroundRepeat = 'no-repeat';
		}
	}
}

function addCon(ref) {
	var c = document.createElement('DIV');
	c.id = 'con' + ref;
	c.idnum = ref;
	c.oldOver = false;

	addHeader(c, ref);

	for(var x=0; x<mnuData.length; x++) {

		var ID = mnuData[x][0];
		var REF = mnuData[x][1];
		var CNT = mnuData[x][2];
		var LNK = mnuData[x][3];
		var IMGSIZE = mnuData[x][4];
		var CHL = mnuData[x][5];

		if(REF == ref) {
			var i = document.createElement('DIV');
			i.id = 'itm' + ID;
			i.idnum = ID;
			if(LNK && LNK != '') {
				i.link = LNK;
			}

			i.onmouseover = over;
			i.onmouseout = out;
			i.onclick = click;

			if(IMGSIZE) {
				var imgOut = CNT.substring(0, CNT.indexOf('|'));
				var imgOver = CNT.substring(CNT.indexOf('|')+1, CNT.length);

				var imgW = IMGSIZE.substring(0, IMGSIZE.indexOf('x'));
				var imgH = IMGSIZE.substring(IMGSIZE.indexOf('x')+1, IMGSIZE.length);

				var g = document.createElement('IMG');
				g.src = imgPath + '/' + imgOut;
				g.width = imgW;
				g.height = imgH;
				i.appendChild(g);

				i.img = new Image();
				i.img.src = imgPath + '/' + imgOut;

				i.imgO = new Image();
				i.imgO.src =  imgPath + '/' + imgOver;
			}
			else {
				i.innerHTML = CNT;
			}

			if(CHL) {
				i.child = new level(ID);
			}

			setItemStyle(i, ref, CHL);
			c.appendChild(i);
		}
	}

	addFooter(c, ref);
	setContainerStyle(c, ref);

	return c;
}

function level(ref) {
	this.con = addCon(ref);
	this.posX = 0;
	this.posY = 0;
	this.isRendered = false;
	this.render = function() {
		this.con.style.left = this.posX;
		this.con.style.top = this.posY;
		document.getElementById(containerId).appendChild(this.con);
		this.isRendered = true;
	}
	this.remove = function() {
		for(var x=0; x<this.con.childNodes.length; x++) {
			if(this.con.childNodes[x].child && this.con.childNodes[x].child.isRendered) {
				this.con.childNodes[x].child.remove();
			}
		}

		if(this.con.idnum != 0) {
			document.getElementById(containerId).removeChild(this.con);
			this.isRendered = false;
		}
		if(this.con.oldOver) {

			if(this.con.oldOver.img) {
				this.con.oldOver.firstChild.src = this.con.oldOver.img.src;
			}
			else {
				this.con.oldOver.style.backgroundColor = 'transparent';
				this.con.oldOver.style.color = itemFontC;
				this.con.oldOver.style.textDecoration = itemTextDec;
				this.con.oldOver = false;
			}
		}
	}
}

function menuInit() {
	findChildren(); menu = new level(0); menu.render(); mnuData = null;
}

