var tan1 = 0;
var tan2 = 0;
var currentName = "";
var currentSubName = "";
var currentObject = null;
var currentSubObject = null;
var hideNavTimeout = null;
var hideSubNavTimeout = null;
var BODY_OFFSET_WIDTH_OFFSET = 9;

/**
* name name of the layer to be shown
* tag the object that contains the navigation button
*/

function showNav(name, tag, tagId) {
//	alert("showNav: name = " + name);
//    alert("showNav: tag = " + tag);
	offset = 0;
	if (tag) {
		if (document.all) {
			// ie
//			alert("1");
			ausgleich = window.innerWidth?window.innerWidth+1:document.getElementsByTagName('body')[0].offsetWidth;
//			alert("ausgleich = " + ausgleich);
			if (ausgleich < 936) ausgleich = 936;
			aNode = tag.parentNode.parentNode;
			offset = aNode.offsetLeft+ausgleich/2-478;
//			offset = tag.offsetLeft+ausgleich/2-520;
			showElement(name, offset);
		} else {
			// netscape
//            alert("2");
//			offset = tag.offsetLeft-30;
			if (tag && tag.parentNode) {
//				alert("document width: " + document.width);
				divNode = tag.parentNode.parentNode;
				offset = divNode.offsetLeft + window.innerWidth/2-468;
//				alert("offset = " + offset);
//				alert(divNode.tagName + " , " + divNode.offsetLeft); //(document.all?-520:-620+(screen.availWidth/2-500)) + 
				showElement(name, offset);
			}
		}
	}

	if (currentName != name) hideElement(currentName);
	currentName=name;
	tan2++;
}



/**
* name name of the layer to be shown
* tag the object that contains the navigation button
*/

function showSubNav(yPos, name, tagId) {
//	alert("showSubNav: name = " + name);
//    alert("showNav: tagId = " + tagId);
	var tag = getElement(tagId);
//    alert("showNav: tag = " + tag);
	PRIMARY_MENU_ENTRY_HEIGHT = 21;
	PRIMARY_MENU_ENTRY_WIDTH = 67;
	
	offset = 0;
	yoffset = yPos*PRIMARY_MENU_ENTRY_HEIGHT;
//	alert("yoffset = " + yoffset);
	if (tag) {
		if (document.all) {
			// ie
//			alert("1");
			ausgleich = window.innerWidth?window.innerWidth+1:document.getElementsByTagName('body')[0].offsetWidth;
//			alert("ausgleich = " + ausgleich);
			if (ausgleich < 936) ausgleich = 936;
			aNode = tag.parentNode.parentNode;
//			alert("aNode = " + aNode);
			offset = aNode.offsetLeft+ausgleich/2-379+PRIMARY_MENU_ENTRY_WIDTH;
//			offset = tag.offsetLeft+ausgleich/2-520;
			showSubElement(name, offset, yoffset);
		} else {
			// netscape
//            alert("2");
//			offset = tag.offsetLeft-30;
			if (tag && tag.parentNode) {
//				alert("document width: " + document.width);
				divNode = tag.parentNode.parentNode;
				offset = divNode.offsetLeft + window.innerWidth/2-364+PRIMARY_MENU_ENTRY_WIDTH;
//				alert("offset = " + offset);
//				alert(divNode.tagName + " , " + divNode.offsetLeft); //(document.all?-520:-620+(screen.availWidth/2-500)) + 
				showSubElement(name, offset, yoffset);
			}
		}
	}

	if (currentSubName != name) hideElement(currentSubName);
	currentSubName=name;
	tan2++;
}

function getInnerWidth() {
	if (window.innerWidth) {
		return window.innerWidth;
	} else {
		return document.body.offsetWidth + BODY_OFFSET_WIDTH_OFFSET;
	}
}

function showElement(name, offset) {
	if (document.getElementById) {
//		alert("search for object " + name);
		var obj = document.getElementById(name);
		if (obj) {
//			alert("obj found, offset= " + offset);
			if (offset != 0) {
				//ausgleich = window.innerWidth?window.innerWidth+1:document.getElementsByTagName('body')[0].offsetWidth;
				//if (ausgleich < 936) ausgleich = 936;
				//obj.style.left = ausgleich/2+offset;
//				alert("offset+166="+(offset+166));
//				alert("window.innerWidth="+window.innerWidth);
				if (offset+166>getInnerWidth()) {
					offset = getInnerWidth() - 166;
				}
				obj.style.left = offset + "px";
				obj.style.top = 132 + "px";
			}
			obj.style.display = "";
		}
	}
}

function showSubElement(name, offset, yoffset) {
//	alert("showSubElement(name="+name+", offset="+offset+", yoffset="+yoffset+")");
	if (document.getElementById) {
//		alert("search for object " + name);
		var obj = getElement(name);
		if (obj) {
//			alert("obj found, obj = " + obj);
			if (offset != 0) {
				//ausgleich = window.innerWidth?window.innerWidth+1:document.getElementsByTagName('body')[0].offsetWidth;
				//if (ausgleich < 936) ausgleich = 936;
				//obj.style.left = ausgleich/2+offset;
				if (offset+166>=getInnerWidth()) {
					offset = offset - 166-1-166;
					if (getInnerWidth() - 166-1-166 < offset) {
						offset = getInnerWidth() - 166-1-166;
					}
				}
				obj.style.left = offset + "px";
				obj.style.top = 132+yoffset + "px";
			}
			obj.style.display = "";
			currentSubObject = obj;
//			alert("object switched on");
		}
	}
}

function hideNav(name, currentTan) {
	if (!currentTan) {
		// set timeout so that we hide the layer in a short time
		hideNavTimeout = setTimeout("hideNav('"+name+"',"+(++tan2)+")", 300);
//		hideNav(name,++tan2);
	} else if (tan2 == currentTan) {
		// really hide it now
		hideElement(name);
		if (currentSubObject) {
			// also hide sub navigation layer, if exists
			currentSubObject.style.display = "none";
		}
		currentName="";
	}
}

function hideSubNav(name, currentTan) {
	if (!currentTan) {
		hideSubNavTimeout = setTimeout("hideSubNav('"+name+"',"+(++tan2)+")", 300);
//		hideNav(name,++tan2);
	} else if (tan2 == currentTan) {
		hideElement(name);
		hideNav(currentName, tan2);
		currentSubName="";
	}
}


/**
* needed because of ie bug that causes mouseOver and mouseOut events to be fired when hovering over a tags in the sub
* navigation layer
*/
function mouseOverSubNav() {
	clearTimeout(hideSubNavTimeout);
}

function hideElement(name) {
	if (document.getElementById) {
		var obj = document.getElementById(name);
		if (obj) {
			obj.style.display = "none";
		}
	}
}
