/*
* navi_top.js
*
*
* copyright © 2004 nikmultimedia, Inc.
*
* $ID$
*/

/**
* Steuert die Top Navigation
*
* \author Claus Muus
* \date 01/15/05
*/
var _naviTop;
function NaviTop ()
{
	this.overId;
	this.overDefaultId;
	this.overSrc;
	this.overImg = new Array ();
	this.overTableTimer;
	
	_naviTop = this;
	
	/**
	* laed die rollover Bilder vor
	*
	* \param id des Bildes
	*/
	this.preloadImage = function (id)
	{
		obj = document.getElementById ("navi_img_"+id);
		if (obj && /(.*)(\..*)/.exec(obj.src)) {
			this.overImg[id] = new Image ();
			this.overImg[id].src = RegExp.$1 + "_h" + RegExp.$2;
		}
	}
	
	/**
	* aktiviert ein rollover Bilde
	*
	* \param id des Bildes
	*/
	this.over = function  (id)
	{
		this.out ();
	
		this.show (id);
		this.overId = id;
	
		obj = document.getElementById ("navi_img_"+id);
		this.overSrc = obj.src;
		obj.src = this.overImg[id].src;
	}
	
	/**
	* deaktiviert ein rollover Bilde
	*
	* \param legt fest ob der default Menupunkt wieder aktiviertwerden soll
	*/
	this.out = function (showdefault)
	{
		if (obj = document.getElementById ("navi_img_"+this.overId)) {
			obj.src = this.overSrc;
		}
	
		if (showdefault) {
			this.show (this.overDefaultId);
		}
	}
	
	/**
	* setzt den aktiven Menupunkt
	*
	* \param id des Bildes
	*/
	this.aktiv = function (id)
	{
		this.overDefaultId = id;

		this.show (this.overId ? this.overId : id);

		obj = document.getElementById ("navi_img_"+id);
		if (obj && /([^_]*)(_s|_h)?(\..*)/.exec(obj.src)) {
			obj.src = RegExp.$1 + "_s" + RegExp.$3;
		}
	}
	
	/**
	* setzt den default Menupunkt zeitversetzt
	*/
	this.outTable = function ()
	{
		this.overTableTimer = setTimeout ("_naviTop.out (true)", 1000);
	}
	
	/**
	* hebt das zeitversetzte setzen des default Menupunktes auf
	*/
	this.overTable = function ()
	{
		clearTimeout (this.overTableTimer);
	}
	
	/**
	* zeigt eine Subnavi an
	*
	* \param id der Subnavi
	*/
	this.show = function (id)
	{
		var obj1 = document.getElementById ("subnavi_"+id);
		var obj2 = document.getElementById ("subnavi");

		if (obj2) {
			if (obj1)
				obj2.innerHTML = obj1.innerHTML;
			else
				obj2.innerHTML = "";
		}
	}
}
