// JavaScript Document
var lastOpenMenu = [null,null,null,null];
var lastOpenMenuItem = [null,null,null,null];
var resetHandle = null;

function move(from, to, addX, addY) {
	var y = from.offsetTop;
	var x = from.offsetLeft;
	var parent = from.offsetParent;
	while (parent != null) {
		y += parent.offsetTop;
		x += parent.offsetLeft;
		parent = parent.offsetParent;
	}
	x += addX;
	y += addY;
	to.style.top = y + 'px';
	to.style.left= x + 'px';
}

function getMenuLevel(containerID) {
	var tmp = document.getElementById(containerID);
	if (tmp != null) {
		var level = tmp.getAttribute("level");
		if (level != null) {
			return parseInt(level);
		}
	}
	return 1;
}

function onMenuOut(containerID) {
	if (getMenuLevel(containerID) > 1) {
		return setTimeout("hideMenu(\"" + containerID + "\");", 500);
	}
}

function hideMenu(containerID) {
	var tmp = document.getElementById(containerID);
	if (tmp != null) {
		tmp.style.display = "none";
		var level = getMenuLevel(containerID);
		// Change this level menu status
		if (lastOpenMenuItem[level] != null) {
			lastOpenMenuItem[level].className = 'menuLevel' + level;
			lastOpenMenuItem[level].parentNode.className = 'menuLevel' + level;
			lastOpenMenuItem[level] = null;
		}  
	}
}

function showMenu(parent, containerID) {
	var level = getMenuLevel(containerID);
	closeMenuLevels(parent,level);
	if (parent != null && parent.parentNode != null) {
		parent.className = 'menuLevel' + level + 'Selected';
		parent.parentNode.className = 'menuLevel' + level + 'Selected';
		lastOpenMenuItem[level] = parent;
		if (parent.parentNode.getAttribute("first") != null) {
			var leftC = document.getElementById("menuLevel" + level + "LeftCorner");
			if (leftC != null) {
				leftC.className = "menuLevel" + level + "LeftCornerSelected"
			}
		}
		if (parent.parentNode.getAttribute("last") != null) {
			var rightC = document.getElementById("menuLevel" + level + "RightCorner");
			if (rightC != null) {
				rightC.className = "menuLevel" + level + "RightCornerSelected"
			}
		}
	}
	var tmp = document.getElementById(containerID);
	if (tmp != null) {
		lastOpenMenu[(1 + level)] = tmp;
		tmp.style.display = "inline";
		if (level > 1) {
			var userAgent = navigator.userAgent;
			var offset = (userAgent.indexOf("MSIE") != -1) ? [-26,13] : [-13,16];
			move(parent, tmp, offset[0], offset[1]);
		}
	}
}

function closeMenuLevels(parent,level) {
	clearResetMenu();
	//Close all submenus
	for (var i = level + 1; i < lastOpenMenu.length; i++) {
		if (lastOpenMenu[i] != null) {
			lastOpenMenu[i].style.display = 'none';
			lastOpenMenu[i] = null;
		}
		if (lastOpenMenuItem[i] != null) {
			lastOpenMenuItem[i].className = 'menuLevel' + i;
			lastOpenMenuItem[i].parentNode.className = 'menuLevel' + i;
			lastOpenMenuItem[i] = null;
		}
	}
	// Change this level menu status
	if (lastOpenMenuItem[level] != null) {
		var timerVar = "menuContainer" + lastOpenMenuItem[level].id + "timer";
		onMenuOver(eval("typeof(" + timerVar + ") != 'undefined' ? " + timerVar + " : null;"));
		lastOpenMenuItem[level].className = 'menuLevel' + level;
		lastOpenMenuItem[level].parentNode.className = 'menuLevel' + level;
		if (lastOpenMenuItem[level].parentNode.getAttribute("first") != null) {
			var leftC = document.getElementById("menuLevel" + level + "LeftCorner");
			if (leftC != null) {
				leftC.className = "menuLevel" + level + "LeftCorner"
			}
		}
		if (lastOpenMenuItem[level].parentNode.getAttribute("last") != null) {
			var rightC = document.getElementById("menuLevel" + level + "RightCorner");
			if (rightC != null) {
				rightC.className = "menuLevel" + level + "RightCorner"
			}
		}
	}
}

function onMenuOver(timerID) {
	if (timerID != null) {
		clearTimeout(timerID);
		timerID = null;
	}
}

function setMenuId(elem) {
	var tmp = document.getElementById("MenuID");
	if (tmp != null) {
		tmp.value=elem;
	}
}

function getMenuId() {
	var tmp = document.getElementById("MenuID");
	if (tmp != null) {
		return tmp.value;
	}
	return "";
}

function clearResetMenu() {
	if(resetHandle != null) {
		clearTimeout(resetHandle);
	}
	resetHandle = null;
}

function initResetMenu() {
	clearResetMenu();
	var timeoutValue = parseInt(5000);
	if (!isNaN(timeoutValue) && timeoutValue > 0) {
		resetHandle = setTimeout("resetMenu()", timeoutValue);
	}
}

function resetMenu() {
	clearResetMenu();
	initializeMenu("products");
}

function initializeMenu(selectedMenu) {
	var menuItem = document.getElementById(selectedMenu);
	var menuContainerID = "menuContainer" + selectedMenu;
	showMenu(menuItem, menuContainerID);
}

Date.prototype.addHours = function(h) {
	this.setTime(this.getTime() + (h * 60 * 60 * 1000));
	return this;
}

var numCrumbs = 0;
var tafTimer = null;
var searchFieldChanged = false;
var searchPosting = false;

function setCrumbDetail(crumbdetail) {
	document.getElementById('crumbdetail').innerHTML=crumbdetail;
}

function setCrumbDisplay(crumb_id, disp) {
}

function hideCrumbs() {
}

function showCrumbs() {
}

function showCrumb2() {
}

function setNumCrumbs() {
	setInfo(0);
}

function setInfo(step) {
}

function top_onload() {
	initializeMenu( "products");
	setNumCrumbs();
}

function startSolution(targetWorkflow, params) {
	if(params != null && params != "") {
		targetWorkflow += params;
	}
    if(targetWorkflow.indexOf("?") > 0) {
		targetWorkflow += '&menu-id=' + getMenuId();
	} else {
		targetWorkflow += '?menu-id=' + getMenuId();
	}
	if (targetWorkflow.indexOf("catalog-id") < 0 && targetWorkflow.indexOf("catalog_id") < 0) {
	    targetWorkflow += '&current-catalog-id=12F0696583E04D86B9B79B0FEC01C087';
	}
	if(targetWorkflow.indexOf("category-id") < 0 && targetWorkflow.indexOf("category_id") < 0) {
		targetWorkflow += '&current-category-id=0E1C2E8C8B2A40C09E11FF1C95A3B8CE';
	}
	loadContent(targetWorkflow);
}
function loadContent(url, timeout) {
	document.location.href = url;
}

function doOnLoadsFunctions() {
	if(typeof(top_onload) == "function") {
		top_onload();
	}
	if(typeof(left_onload) == "function") {
		left_onload();
	}
	if(typeof(right_onload) == "function") {
		right_onload();
	}
	if(typeof(content_onload) == "function") {
		content_onload();
	}
	if(typeof(promos_onload) == "function") {
		promos_onload();
	}
	if(typeof(quickbuy_onload) == "function") {
		quickbuy_onload();
	}
}

function doUnLoadFunctions() {
	if(typeof(clearXMLHttpReq) == "function") {
		clearXMLHttpReq();
	}
}