

	var menuBackgroundNormal = "#E27B12";
	var menuBackgroundHighlighted = "#F2AA6A";
    var rightToLeft = false;
    var isie50 = document.all && !document.fireEvent && !window.opera;


    function getObjectTop(obj) {
        // get the absolute top position of the object in the current context
		var offsettop = 0;
		if (obj != null) {
            var objParent;
            offsettop = obj.offsetTop;
			while (obj.offsetParent != null) {
                objParent = obj.offsetParent;
                obj = objParent;
				offsettop += obj.offsetTop;
			}
		}
		return offsettop;
	}

	function getObjectLeft(obj) {
        // get the absolute left position of the object in the current context
		var offsetleft = 0;
		if (obj != null) {
			if (rightToLeft && isie50) return obj.offsetLeft; /* hack */
            var objParent;
            offsetleft = obj.offsetLeft;
			while (obj.offsetParent != null) {
                objParent = obj.offsetParent;
                obj = objParent;
				offsetleft += obj.offsetLeft;
			}
   		}
		return offsetleft;
	}

    function isLeft(rubrikContObj) {
        // check if this is the leftmost rubrik by checking if there's one which has a left position more to the left
		if (!rubrikContObj) return false;
		var tmpObj, i;
		for (i = 1; i <= 6; i++) {
			tmpObj = document.getElementById("navrub"+i);
			if (rubrikContObj && tmpObj) {
				if (getObjectLeft(tmpObj) < getObjectLeft(rubrikContObj)) return false;
			}
		}
		return true;
	}


	function isRight(rubrikContObj) {
        // check if this is the rightmost rubrik by checking if there's one which has a left position more to the right
		if (!rubrikContObj) return false;
		var tmpObj, i;
		for (i = 1; i <= 6; i++) {
			tmpObj = document.getElementById("navrub"+i);
			if (rubrikContObj && tmpObj) {
				if (getObjectLeft(tmpObj) > getObjectLeft(rubrikContObj)) return false;
			}
		}
		return true;
	}

    /* idea for following scripts taken from javascript.faqts, prevent event bubblin in div containern */
    function containsDOM(container, containee) {
        var isParent = false;
        do {
            isParent = (container == containee);
            if (isParent) break;
            containee = containee.parentNode;
        } while (containee != null);
        return isParent;
    }

    function checkMouseEnter(element, evt) {
        var isEnter = true;
        var toElement = element;
        var toElementName = toElement.id.substr(0, toElement.id.length-1);
        var toElementNr = toElement.id.substr(toElement.id.length-1, 1);
        var fromElement, fromElementName, fromElementNameNr;
        if (evt.fromElement) {
            fromElement = evt.fromElement;
        } else if (evt.relatedTarget) {
            fromElement = evt.relatedTarget;
        }
        if (fromElement) {
            if (fromElement.id == "") {
                fromElement = fromElement.parentNode;
            }
            fromElementName = fromElement.id.substr(0, fromElement.id.length-1);
            fromElementNr = fromElement.id.substr(fromElement.id.length-1, 1);
            if (toElement.contains) {
              isEnter = !toElement.contains(fromElement);
            } else {
              isEnter = !containsDOM(toElement, fromElement);
            }
            if (isEnter) {
              if (((fromElementName == "navrub" && toElementName == "rubrikpulldown") ||
                   (fromElementName == "rubrikpulldown" && toElementName == "navrub")) && (fromElementNr == toElementNr)) {
                isEnter = false;
              }
            }
        }

        return isEnter;
    }

    function checkMouseLeave(element, evt) {
        var isLeave = true;
        var fromElement = element;
        var fromElementName = fromElement.id.substr(0, fromElement.id.length-1);
        var fromElementNr = fromElement.id.substr(fromElement.id.length-1, 1);
        var toElement, toElementName, toElementNameNr;
        if (evt.toElement) {
            toElement = evt.toElement;
        } else if (evt.relatedTarget) {
            toElement = evt.relatedTarget;
        }
        if (toElement) {
            if (toElement.id == "") {
                toElement = toElement.parentNode;
            }
            toElementName = toElement.id.substr(0, toElement.id.length-1);
            toElementNr = toElement.id.substr(toElement.id.length-1, 1);
            if (toElement.contains) {
              isLeave = !fromElement.contains(toElement);
            } else {
              isLeave = !containsDOM(fromElement, toElement);
            }
            if (isLeave) {
                if (((fromElementName == "navrub" && toElementName == "rubrikpulldown") ||
                     (fromElementName == "rubrikpulldown" && toElementName == "navrub")) && (fromElementNr == toElementNr)) {
                    isLeave = false;
                }
            }
        }
        return isLeave;
    }

  	function showMenu(rubrikNum) {
        if (!document.getElementById) return;
		var rubrikContName = "navrub" + rubrikNum;
		var rubrikContObj = document.getElementById(rubrikContName);  // the navigationsrubrik div
		var rubrikMenuName = "rubrikpulldown" + rubrikNum;
		var rubrikMenuObj = document.getElementById(rubrikMenuName);  // the pulldown to be made visible
		if (rubrikContObj && rubrikMenuObj) {
            // top position of pulldown = top position of rubrik container + height of the rubrik container
			var newtop = getObjectTop(rubrikContObj) + rubrikContObj.offsetHeight;

            // left position of pulldown = left position of rubrik container
            var newleft = getObjectLeft(rubrikContObj);

            var rubrikWidth = rubrikContObj.offsetWidth;
            // get real width (= mozilla fixes)
            if (document.defaultView) {
                if (document.defaultView.getComputedStyle) {
                    rubrikWidth = document.defaultView.getComputedStyle(rubrikContObj, "").getPropertyValue("width");
                    if (rubrikWidth.indexOf("px") != -1) {
                        rubrikWidth = rubrikWidth.substring(0, rubrikWidth.indexOf("px"));
                    }
                    // prevent some strange Mozilla bug i could not resolve any other way :(
                    if (rightToLeft && isLeft(rubrikContObj)) {
                        newleft = newleft+20;
                    }
                    if (!rightToLeft && isRight(rubrikContObj)) {
                        newleft = newleft-20;
                    }
                }
            }


			if (rightToLeft) {
                /* right align the layer, unless it is the leftmost or first rubrik container*/
                if (!isLeft(rubrikContObj)) {
                    newleft = newleft - rubrikContObj.offsetWidth / 2;
                }
            } else {
                /* if the layer is positioned at the right of the navigation then right-align it */
                if (isRight(rubrikContObj) && rubrikNum != 1) {
                    newleft = newleft - rubrikContObj.offsetWidth / 2;
                }
            }

            if (rightToLeft && isie50) {
                newleft = newleft - document.body.offsetWidth + 20;
            }

            rubrikContObj.style.backgroundColor = menuBackgroundHighlighted;
			rubrikMenuObj.style.width = (rubrikWidth * 3/2) + "px";

            rubrikMenuObj.style.left = newleft + "px";
			rubrikMenuObj.style.top = newtop + "px";
			rubrikMenuObj.style.visibility = "visible";
		}
	}

  	function hideMenu(rubrikNum, restorestyle) {
        if (!document.getElementById) return;
		var rubrikContName = "navrub" + rubrikNum;
		var rubrikContObj = document.getElementById(rubrikContName);
		var rubrikMenuName = "rubrikpulldown" + rubrikNum;
		var rubrikMenuObj = document.getElementById(rubrikMenuName);
		if (rubrikContObj && rubrikMenuObj) {
            if (restorestyle) {
                rubrikContObj.style.backgroundColor = menuBackgroundNormal;
			}
            rubrikMenuObj.style.visibility = "hidden";
            rubrikMenuObj.style.left = "0px";
            rubrikMenuObj.style.top = "-500px";
		}
	}


    /*
	function resizePrimNav() {
        // onresize handler for mozilla: get navigation top and bottom of the downmost navrub,
        // resize navigation object's height to bottom - top
	}
    */
