/*
Dynamic menu script by lukasz Kaminski, 2006
*/

	function english() {
		document.getElementById("ensw").style.display='none';
		document.getElementById("plsw").style.display='block';
		document.getElementById("pl").style.display='none';
		document.getElementById("en").style.display='block';
		
	}
	
	function polish() {
		document.getElementById("ensw").style.display='block';
		document.getElementById("plsw").style.display='none';
		document.getElementById("pl").style.display='block';
		document.getElementById("en").style.display='none';	
	}
	
	

var t = {
	ww : function() { try{ initialize() } catch(e) {}}
};



var xmlDoc; 
var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
var ie 	= (typeof window.ActiveXObject != 'undefined'); 
var out = "";

function readXML(node, level) {	

	var nodeList = node.childNodes
	var indient = "";
	
	for(var i=0; i < nodeList.length; i++) {
		if(nodeList.item(i).getAttribute("display")!="0") {
			indient = '<img src="images/pixel.gif" width="'+(7*level)+'" height="1"/>';
	
			arrow 	= (level==0)?'<img src="images/arrow.gif" width="12" height="12" />':'';
			style 	= (level==0)?'':'style="display: none"'
			height 	= (level==0)?'27':'29'
			//script	= (childNodesCount(nodeList.item(i))>0)?'menuAction(this, '+allChildNodesAmount(nodeList.item(i))+', '+level+')':'';
			script	= 'menuAction(this, '+allChildNodesAmount(nodeList.item(i))+', '+level+')';
			
			out = out + '<tr '+style+' level="'+level+'">';
			out = out + '<td width="23" align="center" valign="middle">'+arrow+'</td>';
			if(level==0) {
				out = out + '<td height="'+height+'" align="left" style="position: relative;padding-top: 1px; padding-bottom: 3px; padding-left:'+(level*7)+'px; padding-right: 5px" valign="middle">'+indient+'<a href="#"  onClick="'+script+'" id="'+nodeList.item(i).getAttribute("id")+'" style="display: block; cursor: pointer; cursor: hand;" class="menu">'+nodeList.item(i).getAttribute("linkText")+'</a></td>';
			} else {
				out = out + '<td height="'+height+'" align="left" style="position: relative;padding-top: 1px; padding-bottom: 3px; padding-left:'+(level*7)+'px; padding-right: 5px; background-repeat:repeat-x; background-position:bottom; background-image:url(images/gray_pixel.gif); " valign="middle">'+indient+'<a href="#"  onClick="'+script+'" id="'+nodeList.item(i).getAttribute("id")+'" style="display: block; cursor: pointer; cursor: hand;" class="menu">'+nodeList.item(i).getAttribute("linkText")+'</a></td>';
			
			}
			out = out + '</tr>';		
			
			if(level==0) {
				out = out + '<tr>';
				out = out + '';
				out = out + '<td align="left" valign="middle" height="2"  colspan="2"><img src="images/menu_spacer.gif" /></td>';
				out = out + '</tr>';
			}   
			
			if(nodeList.item(i).hasChildNodes()) {			
				readXML(nodeList.item(i), level+1);
			}
		}
	}
	
	
	
}

function siteMap(node, level)  {
	
	var nodeList = node.childNodes
	var indient = "";
	
	for(var i=0; i < nodeList.length; i++) {
		
		indient = '<img src="images/pixel.gif" width="'+(15*level)+'" height="1"/>';
		arrow 	= '<img src="images/liArr.gif" style="margin-right: 5px" />';

		if(nodeList.item(i).getAttribute("href")!="#") {
			href='index.php?id='+nodeList.item(i).getAttribute("id")+'&lev='+level+'&t='+nodeList.item(i).getAttribute("templateId");
		} else {
			href ="#"	
		}
		document.write(indient+arrow+'<a  href="'+href+'" id="'+nodeList.item(i).getAttribute("id")+'" style="cursor: pointer; cursor: hand;">'+nodeList.item(i).getAttribute("linkText")+'</a><br />');
	
		if(nodeList.item(i).hasChildNodes()) {			
			siteMap(nodeList.item(i), level+1);
		}
	}	
}


function renderSiteMap(xmlFullPath) {
	
	if(moz) { 
		xmlDoc=document.implementation.createDocument("", "", null) 
		xmlDoc.onload = function() {
			siteMap(xmlDoc.documentElement, 0)
		};
		xmlDoc.load(xmlFullPath); 	
			
	} else if(ie) { 
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
		xmlDoc.async = false;
		xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4)  {
				siteMap(xmlDoc.documentElement, 0);
			}
		};	
		xmlDoc.load(xmlFullPath);	
	}
	
}

function renderMenu(xmlFullPath, sectionMenuId, sectionLevel) {
	
	if(moz) { 
		xmlDoc=document.implementation.createDocument("", "", null) 
		//alert(xmlFullPath);
		xmlDoc.onload = function() {
			//alert(xmlDoc.documentElement);
			readXML(xmlDoc.documentElement, 0)
			html = '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
			html = html + out;
			html = html + '</table>'
			document.getElementById('bod').innerHTML = html;
			rollOverMenu(sectionMenuId, sectionLevel);

		};

		window.onload = function() {
			//alert("zaladowano");
			xmlDoc.load(xmlFullPath);	
			t.ww();
		}
			
	} else if(ie) { 
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
		xmlDoc.async = false;
		
		xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4)  {
				readXML(xmlDoc.documentElement, 0);
				html = '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
				html = html + out;
				html = html + '</table>'				
				document.getElementById('bod').innerHTML = html;
				 rollOverMenu(sectionMenuId, sectionLevel);
				
			}
		};	

		window.onload = function() {
			//alert("zaladowano");
			xmlDoc.load(xmlFullPath);
			
			t.ww();//initialize();
		}
			
		
	}
	
}

function childNodesCount(node) {
	if(node.hasChildNodes()) {
		return node.childNodes.length;	
	} else {
		return 0;	
	}
}

function showChilds(hrefNode, childNodesAmount, level) {
	
	//childNodesAmount - liczba wezw bezporednio podrzdnych
	if(hrefNode!=undefined){
		elementToShow = (level==0)?hrefNode.parentNode.parentNode.nextSibling:hrefNode.parentNode.parentNode;	
		lastOpend = hrefNode;
		
		for(var i = 0; i<childNodesAmount; i++) {
			
			elementToShow = elementToShow.nextSibling		
			if(elementToShow.getAttribute("level")==(parseInt(level)+1)) {			
				if(ie) {
					elementToShow.style.display = 'block';
				} else {
					elementToShow.style.display = 'table-row';
				}
			} 
		} 
	}
	
}

function hideChilds(hrefNode, allChildNodesAmount, level) {
	
	//liczba wszytkich wz podrzdnych 
	elementToHide = (level==0)?hrefNode.parentNode.parentNode.nextSibling:hrefNode.parentNode.parentNode;	
	
	for(var i = 0; i<allChildNodesAmount; i++) {
		elementToHide = elementToHide.nextSibling;			
		elementToHide.style.display = 'none';		
	}
	
}

var levelopen = new Array();



function menuAction(hrefNode, allChildNodesAmount, level) {
	searchNode = null; //nalezy zawsze ustawic ta zmienna na null przed wywolaniem funkcji customGetElementById
	
	if(customGetElementById(xmlDoc.documentElement,hrefNode.getAttribute("id")).getAttribute("href")!="#") {
		myUrl = customGetElementById(xmlDoc.documentElement,hrefNode.getAttribute("id")).getAttribute("href")
	
		//loca
		//alert(myUrl	);
		location.href = myUrl;
		//"index.php?id="+hrefNode.getAttribute("id")+"&lev="+level	
	} else {		
			hideShow(hrefNode, allChildNodesAmount, level)		
	}	
}

function hideShow(hrefNode, allChildNodesAmount, level) {
	
	if(levelopen.length == 0 ) {	
		
		showChilds(hrefNode, allChildNodesAmount, level);
		visible = true;			
		
	} else {
		
		if(typeof levelopen[level]!='undefined') {
		
			if(levelopen[level][0]==hrefNode) {					
				if(levelopen[level][2]==true) {
					hideChilds(hrefNode, allChildNodesAmount, level);
					visible = false;					
				} else {					
					showChilds(hrefNode, allChildNodesAmount, level);	
					visible = true;					
				} 				
			} else {				
				hideChilds(levelopen[level][0], levelopen[level][1], level);				
				showChilds(hrefNode, allChildNodesAmount, level);				
				visible = true;				
				/*
					w przypadku ukrycia caego wza poprzez klikniecie na inny wze 
					rwnolegy (znajdujcy sie na tym samym poziomie)
					wartosci visible wszytkich wezlow podrzednych do ukrywanego
					ustwiane s na false
				*/
				for (var i in levelopen) {
				 	if(i>level) {
						levelopen[i][2] = false;
					}
				}
			}
			
		} else {
			showChilds(hrefNode, allChildNodesAmount, level);	
			visible = true;
		}
	}
	
	levelopen[level] = new Array(hrefNode, allChildNodesAmount, visible);
	
}



function allChildNodesAmount(node) {		
		var childNodesAmount = 0;
		var nodeList = node.childNodes;
		for(var i=0; i < nodeList.length; i++) {				
			childNodesAmount = childNodesAmount + 1;
			if(nodeList.item(i).hasChildNodes()) {			
				childNodesAmount = childNodesAmount + allChildNodesAmount(nodeList.item(i));
			} 				
		}	
		return childNodesAmount;		
}

function rolloverParents(id, level) {
	if(typeof id != 'undefined') {
		var paramsArray = new Array();
		var node = customGetElementById(xmlDoc2.documentElement, id)	
		/*paramsArray[0] = new Array(document.getElementById(id), allChildNodesAmount(node), level); 
		var i = 1
		if(node!=null) {
				while(node.parentNode.nodeName!="menu") {
				node = node.parentNode;
				paramsArray[i] = new Array(document.getElementById(node.getAttribute("id")), allChildNodesAmount(node), level-1); 		
				i++;
			}	
		}
		for(k = paramsArray.length, k = 0; k--) {
			hideShow(paramsArray[k][0],paramsArray[k][1],paramsArray[k][2]);
		}*/
	}

}
