//-- My comment: - thanx for using this script, its great !! ----------------//

// Fix für JS-Fehler bei MouseOver und MouseOut, solange Seite noch nicht geladen.
function MenuDummy() 
{
	this.onMenuOver = function () {};
	this.onMenuOut = function () {};
}

function MenuObject() {
//-- beginn klasse ----------------------------------------------------------//

	//-- objektvariablen deklaration ----------------------------------------//
	this.timeoutContainer = null;
	this.timeoutDelay = 250;
	this.mainDefault = 0;
	this.subDefault = 0;
	this.mainActive = "";
	this.subActive = "";
	this.subsubActive = "";
	this.mainMenuItems = new Array();
	this.subMenuItems = new Array();
		
	//-- objektmethoden deklaration -----------------------------------------//
	this.setTimeoutDelay = setTimeoutDelay;
	this.setMainDefault = setMainDefault;
	this.setSubDefault = setSubDefault;
	this.createMainMenuItem = createMainMenuItem;
	this.createSubMenuItem = createSubMenuItem;
	this.returnLayerObject = returnLayerObject;
	this.timeOff = timeOff;
	this.onMenuOver = onMenuOver;
	this.onMenuOut = onMenuOut;
	this.onMainMenuOver = onMainMenuOver;
	this.onSubMenuOver = onSubMenuOver;

	//-- erzeugung einer globalen referenz des menu objects -----------------//
	
	nfovPck = this;
		
	//-- objektmethoden definition ------------------------------------------//
	function setTimeoutDelay(toDelay) {
		this.timeoutDelay = toDelay;
	}
	
	function setMainDefault(mmNo) {
		if (mmNo > 0 && mmNo < this.mainMenuItems.length) {
			this.mainDefault = mmNo;
			imgOn('IMG' + this.mainMenuItems[this.mainDefault][1]);
	    this.mainActive = this.mainDefault;
			//this.onMenuOver(this.mainDefault);
      //imgOn('IMG'+this.mainMenuItems[mmNo][1]);
		}
	}

	function setSubDefault(smNo) {
		if (this.mainDefault != 0 && this.mainMenuItems[this.mainDefault][0]) {
			if (smNo > 0 && smNo < this.subMenuItems[this.mainDefault].length) {
				this.subDefault = smNo;
				this.onSubMenuOver(this.mainDefault, this.subDefault);
			}
		}
	}
	
	function createMainMenuItem(imgFileId) {
		var mmNo = (this.mainMenuItems.length == 0) ? 1 : this.mainMenuItems.length;
		this.mainMenuItems[mmNo] = new Array();
		this.mainMenuItems[mmNo][0] = false;
		this.mainMenuItems[mmNo][1] = imgFileId;
	}

	function createSubMenuItem(mmNo, imgFileId) {
		if (this.subMenuItems.length < mmNo + 1) {
			this.mainMenuItems[mmNo][0] = true;
			this.subMenuItems[mmNo] = new Array();
			this.subMenuItems[mmNo][0] = this.returnLayerObject('DIV' + this.mainMenuItems[mmNo][1]);
		}
		var smNo = this.subMenuItems[mmNo].length;
		this.subMenuItems[mmNo][smNo] = new Array();
		this.subMenuItems[mmNo][smNo][0] = false;
		this.subMenuItems[mmNo][smNo][1] = imgFileId;
	}

	function returnLayerObject(id) {
		layerObj = null;
		if (is_nav && !is_dom) { layerObj = eval(window.document.layers[id]); }
		if (is_nav && is_dom) { layerObj = eval(window.document.getElementById(id).style); }
		if (is_ie) { layerObj = eval(window.document.all[id].style); }
		return layerObj;
	}

	function timeOff() {
		var mmOff = this.mainActive;
		var smOff = this.subActive;
		if (smOff != "") {
			this.subActive = "";
		}
		if (this.mainMenuItems[mmOff][0]) {
			imgOff('IMG' + this.mainMenuItems[mmOff][1]);
			this.subMenuItems[mmOff][0].visibility="hidden";
		}
		this.mainActive = "";
		if (this.mainDefault != 0) {
			if (this.subDefault != 0) {
				this.onMenuOver(this.mainDefault);
				this.onMenuOver(this.mainDefault, this.subDefault);
			}
			else {
				imgOn('IMG' + this.mainMenuItems[this.mainDefault][1]);
		    this.mainActive = this.mainDefault;
        //this.onMenuOver(this.mainDefault);
			}
		}
    // Aenderung fuer Suche-Input-Feld
    if ((is_nav && !is_dom) && (document.layers["suche"])) {
      document.layers["suche"].visibility = "visible";
    }
	} 
	
	function onMenuOver() {
		switch(arguments.length) {
			case 1: this.onMainMenuOver(arguments[0]); break;
			case 2: this.onSubMenuOver(arguments[0], arguments[1]); break;
			default: break;
		}
	} 

	function onMenuOut() {
		this.timeoutContainer = setTimeout('nfovPck.timeOff()', this.timeoutDelay);
	}

	function onMainMenuOver(onNo) {
		clearTimeout(this.timeoutContainer);
		if (this.subActive != "") {
			imgOff('IMG' + this.subMenuItems[this.mainActive][this.subActive][1]);
			this.subActive = "";
		}
		if (this.mainActive != "") {
      // Aenderung fuer Suche-Input-Feld
      if ((is_nav && !is_dom) && (document.layers["suche"])) {
        document.layers["suche"].visibility = "visible";
      }
			if (this.mainMenuItems[this.mainActive][0]) {
				this.subMenuItems[this.mainActive][0].visibility="hidden";
			}
			imgOff('IMG' + this.mainMenuItems[this.mainActive][1]);
		}
		if (this.mainMenuItems[onNo][0]) {
      // Aenderung fuer Suche-Input-Feld
      if ((is_nav && !is_dom) && (document.layers["suche"]) && ((onNo == 5) || (onNo == 6))) {
        document.layers["suche"].visibility = "hidden";
      }
			this.subMenuItems[onNo][0].visibility="visible";
		}
		imgOn('IMG' + this.mainMenuItems[onNo][1]);
		this.mainActive = onNo;
	} 

	function onSubMenuOver(actMenu, onNo) {
		clearTimeout(this.timeoutContainer);
		imgOn('IMG' + this.mainMenuItems[actMenu][1]);
		if (this.subActive != "") {
			imgOff('IMG' + this.subMenuItems[actMenu][this.subActive][1]);
		}
		imgOn('IMG' + this.subMenuItems[actMenu][onNo][1]);
		this.subActive = onNo;
	} 

//-- ende klasse ------------------------------------------------------------//
}



