/* ************************
	CONFIG
************************ */


var initArrName = 1;
var corX = 0;
var corY = 0;
// 
var floatStart = 2;
//
var cssOffset = 1;
//
var menuUrl = "Home.aspx?PageId="
//
var isHorizontal = true;
//
// delimiter
var menuDelimiterCSS = "menuDelimiter"
var menuDelimiter2 = " | ";
//
// images
//var imgExt = ".gif";
//var imgMenu1 = true;
//var imgMenu1MouseOver= true;
//
//var imgMouseOverId;


/* ************************
	END CONFIG
************************ */


var isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
var NS4 = (document.layers) ? true : false;
var IEmac = ((document.all)&&(isMac)) ? true : false;
var IE = (document.all) ? true : false;
var IE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false;
var IE5 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 5.")!=-1)) ? true : false;
var IE6 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 6.")!=-1)) ? true : false;
var ver4 = (NS4 || IE) ? true : false;
var NS6 = (!document.layers) && (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;

function createMenu(arrId){
	if(eval("typeof(arrMenu" + arrId + ")!=\"undefined\"")){ 
		var tempArr = eval("arrMenu"+arrId);
		var level = tempArr[0];
		if (level < floatStart){
			createNestedMenu(arrId)
		} else {
			createFloatingMenu(arrId)
		}
	}
}

function createNestedMenu(arrId){
	var tempArr = eval("arrMenu"+arrId);
	var level = tempArr[0];	
	var cssLevel = cssOffset + level;	
	document.write ("<div id=\"menu" + arrId + "\" class=\"menuBox"+ cssLevel +"\">");	
	for (var i=1;i<tempArr.length;i++){
		var tempItemArr = tempArr[i].split("::");
		var menuItem = createMenuItem(tempItemArr[0], tempItemArr[1], arrId, i, level, tempItemArr[2]);
		document.write (menuItem);
		if (checkForDelimiter(i, tempArr.length, cssLevel)){
			writeDelimiter(cssLevel);
		}
		var tempArrId = arrId + "_" + i;		
		createMenu(tempArrId);			
	}
	document.write ("</div>");
}

function createFloatingMenu(arrId){
	var tempArr = eval("arrMenu"+arrId);
	var level = tempArr[0];	
	var cssLevel = cssOffset + level;	
	document.write ("<div id=\"menu" + arrId + "\" class=\"menuBox"+ cssLevel +"\" onMouseOver=\"evalShowDiv('" + arrId + "')\" onMouseOut=\"evalHideDiv('" + arrId + "')\" style=\"visibility:hidden;\">");	
	for (var i=1;i<tempArr.length;i++){
		var tempItemArr = tempArr[i].split("::");
		var menuItem = createMenuItem(tempItemArr[0], tempItemArr[1], arrId, i, level, tempItemArr[2]);
		document.write (menuItem)
		if (checkForDelimiter(i, tempArr.length, cssLevel)){
			writeDelimiter(cssLevel);
		}
	}
	document.write ("</div>");
	for (var j=1;j<tempArr.length;j++){	
		var tempArrId = arrId + "_" + j;		
		createMenu(tempArrId);		
	}
}

function createMenuItem(menuTitle, txtId, arrId, num, level, selected){
	var menuItem; 
	var cssLevel = cssOffset + level;
	var selected = checkSelected(selected);
	menuItem = "<div id=\"menu" + arrId + "-" + num + "\" class=\"menuItem"+ selected + cssLevel +"\" onMouseOver=\"showChild('" + arrId + "-" + num + "')\" onMouseOut=\"hideChild('" + arrId + "-" + num + "')\">";		
	if(eval("typeof(imgMenu" + arrId + ")!=\"undefined\"")){ 
		menuItem = menuItem + createImageLink(menuTitle, txtId, arrId);
	} else {
		menuItem = menuItem + createTextLink(menuTitle, txtId);
	}
	menuItem = menuItem +  "</div>";
	return menuItem;
}

function checkSelected(selected){
	var isSelected
	if(selected == "true") {
		isSelected = "Selected";
	} else {
		isSelected = "";
	} 
	return isSelected;
}

function createImageLink(menuTitle, txtId, arrId){
	var menuItem;
	if (txtId != ""){
		menuItem = "<a href=\"" + menuUrl + txtId + "\"";		
	} else {
		menuItem = "<a href=\"#\"";		
	}		
	if(eval("typeof(imgMenu" + arrId + "MouseOver)!=\"undefined\"")){
		var imgMouseOut = checkImageMouseOver(menuTitle, txtId);
		var imgMouseOver = imgUrl + txtId + "_on" + imgExt;
		menuItem = menuItem + " onMouseOver=\"menuImage" + txtId + ".src='" + imgMouseOver + "'\" onMouseOut=\"menuImage" + txtId + ".src='" + imgMouseOut + "'\""
	} 
	menuItem = menuItem + ">"
	menuItem = menuItem + "<img name=\"menuImage" + txtId + "\" src=\"" + imgMouseOut + "\" border=0 alt=\"" + menuTitle + "\">";
	menuItem = menuItem + "</a>"
	return menuItem;
}

function checkImageMouseOver(menuTitle, txtId){
	var img;
	if (imgMouseOverId == txtId) {
		img = imgUrl + txtId + "_on" + imgExt;
	} else {
		img = imgUrl + txtId + imgExt;		
	}
	return img;
}

function createTextLink(menuTitle, txtId) {
	var menuItem;
	if (txtId != ""){
		menuItem = "<a href=\"" + menuUrl + txtId + "\">" + menuTitle + "</a>";
	} else {
		menuItem = "<a href=\"#\">" + menuTitle + "</a>";		
	}		
	return menuItem;
}

function writeDelimiter(cssLevel){
	document.write ("<div class=\"" + menuDelimiterCSS + cssLevel + "\">" + eval("menuDelimiter" + cssLevel) + "</div>")
}

function checkForDelimiter(i, length, cssLevel){
	if(eval("typeof(menuDelimiter" + cssLevel + ")!=\"undefined\"")){
		if (i<(length-1)){
			return true;
		}
	}
}

// *************************************** 
// 
// *************************************** 
function arrangeDivs(Id){	
	if(eval("typeof(arrMenu" + Id + ")!=\"undefined\"")){ 
		var tempArr = eval("arrMenu"+Id);
		var level = tempArr[0];
		if (level >= floatStart){
			placeDiv(Id);
			hideDiv(Id);
		}
		var tempArr = eval("arrMenu"+Id);
		for (var i=0;i<tempArr.length;i++){	
			var tempArrId = Id + "_" + i;
			arrangeDivs(tempArrId);
		}
	}
}

function placeDiv(Id){
	var parentId = getParentId(Id);
	parentId = eval("document.getElementById('menu"+ parentId +"')");
		if (isHorizontal){
			var tempArr = eval("arrMenu"+Id);
			var level = tempArr[0];
			if (level == floatStart){			
				document.getElementById("menu"+Id).style.left = findPosX(parentId)+corX;
				document.getElementById("menu"+Id).style.top = findPosY(parentId)+parentId.offsetHeight+corY;		
			} else {
				document.getElementById("menu"+Id).style.left = findPosX(parentId)+parentId.offsetWidth+corX;
				document.getElementById("menu"+Id).style.top = findPosY(parentId)+corY;		
			}			
		} else {
				document.getElementById("menu"+Id).style.left = findPosX(parentId)+parentId.offsetWidth+corX;
				document.getElementById("menu"+Id).style.top = findPosY(parentId)+corY;		
		}	
}

function evalShowDiv(Id){
	var tempArr = eval("arrMenu"+Id);
	var level = tempArr[0];
	if (level >= floatStart){
		showDiv(Id);
		var parentId = getParentDiv(Id);
		if(eval("document.getElementById('menu"+ parentId +"')")){
			evalShowDiv(getParentDiv(Id));
		}	
	}
}

function evalHideDiv(Id){
	var tempArr = eval("arrMenu"+Id);
	var level = tempArr[0];
	if (level >= floatStart){
		hideDiv(Id);
		var parentId = getParentDiv(Id);
		if(eval("document.getElementById('menu"+ parentId +"')")){
			evalHideDiv(getParentDiv(Id));
		}			
	}
}

function showDiv(Id){
	eval("document.getElementById('menu"+ Id +"').style.visibility='visible';");
}

function hideDiv(Id){
	eval("document.getElementById('menu"+ Id +"').style.visibility='hidden';");
}

function showChild(Id){
	var childId = getChildId(Id);
	if(eval("document.getElementById('menu"+ childId +"')")){
		evalShowDiv(childId);	
	}
}

function hideChild(Id){
	var childId = getChildId(Id);
	if(eval("document.getElementById('menu"+ childId +"')")){
		evalHideDiv(getChildId(Id));
	}	
}

function findPosX(obj){
	var objLeft = 0;
	while (obj){
		objLeft += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return objLeft;
}

function findPosY(obj){
	var objTop = 0;
	while (obj){
		objTop += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return objTop;
}

function getParentId(Id){
	if (Id.charAt(Id.length-2) == '_'){				
		var endChar = Id.charAt(Id.length-1);
		var startStr = Id.slice(0,Id.length -2);
	}
	if (Id.charAt(Id.length-3) == '_'){
		var endChar = Id.slice(Id.length -2,Id.length -1);
		var startStr = Id.slice(0,Id.length -2);
	}
	return startStr + "-" + endChar;
}

function getChildId(Id){
	if (Id.charAt(Id.length-2) == '-'){		
		var endChar = Id.charAt(Id.length-1);
		var startStr = Id.slice(0,Id.length -2);
	}
	if (Id.charAt(Id.length-3) == '-'){
		var endChar = Id.slice(Id.length -2,Id.length -1);
		var startStr = Id.slice(0,Id.length -2);
	}
	return startStr + "_" + endChar;
}

function getParentDiv(Id){
  	var sliceStr = Id.slice(0,Id.length -2);
	return sliceStr;
}

function resizeWin() {
	arrangeDivs(initArrName);
}

// iniciranje
createMenu(initArrName);

//pozivanje pozicioniranja 
window.onload=function(){
	arrangeDivs(initArrName);
}

// resize
if (IE) {
	document.body.onresize = resizeWin;
} else {
	window.onresize=function(){
		resizeWin();
	}
}
