/*
	--------------------------------------------------------------------------------- 
	datei:		guj_submenu.js
	project:	relaunch von guj.de
	--------------------------------------------------------------------------------- 

*/
/*
	notwendige Browserabfrage ueberprueft entsprechende eigenschaften!
*/
var d = document;

ie = ((d.all) && (!d.layers) && (!d.getElementById))? true : false;
ns = ((d.layers) && (!d.getElementById) && (!d.all)) ? true : false;
moz = ((d.getElementById) && (!d.layers)) ? true : false;


/*
	menu_top gibt die genaue vertikale position des gesamten menues an!
*/
var menu_top=97;
/*
	--------------------------------------------------------------------------------- 
	funktion layer_hide(id)
	schliesst entsprechende layer. 
		id = uebergibt die id`s der zu schliessenden layer
	--------------------------------------------------------------------------------- 
*/
function layer_hide(id) {
	if (ie){
		d.all[id].style.display='none';
	}
	else if (ns){
		d.layers[id].visibility='hide';
	}
	else if (moz){
		d.getElementById(id).style.visibility='hidden';
	}
}

/*
	--------------------------------------------------------------------------------- 
	funktion layer_show(id)
	oeffnet entsprechende layer. 
		id = uebergibt die id`s der zu oeffnenden layer
	--------------------------------------------------------------------------------- 
*/
function layer_show(id)
{
	if (ie){
		d.all[id].style.display='inline';
	}
	else if (ns){
		d.layers[id].visibility='show';
	}
	else if (moz){
		d.getElementById(id).style.visibility='visible';
	}
}

/*
	--------------------------------------------------------------------------------- 
	funktion layer_status(id)
	speichert den 'sichtbarkeits'-status entsprechender submenues.
		id = uebergibt die id`s der zu ueberpruefenden submenues
	--------------------------------------------------------------------------------- 
*/
function layer_status(id)
{
	var status;
	if (ie)
	{
		if (d.all[id].style.display=='none'){status='hide'}
		else {status='show'}
	}
	else if(ns)
	{
		if (d.layers[id].visibility=='hide'){status='hide'}
		else {status='show'}
	}
	else if(moz)
	{
		if (d.getElementById(id).style.visibility=='hidden'){status='hide'}
		else {status='show'}
	}
	return status;
}

/*
	--------------------------------------------------------------------------------- 
	funktion layer_height(id)
	speichert die Hoehe entsprechender submenues.
		id = uebergibt die id`s der zu ueberpruefenden submenues
	--------------------------------------------------------------------------------- 
*/
function layer_height(id)
{
	var status;
	if (ie)
	   {status=d.all[id].offsetHeight+d.all[id].style.pixelTop;}
	else if (ns)
	   {status=d.layers[id].top+d.layers[id].clip.height;}
	else if(moz)
	   {status=d.getElementById(id).offsetTop+d.getElementById(id).offsetHeight;}
	return status;
}

/*
	--------------------------------------------------------------------------------- 
	funktion layer_move(id,y,x)
	beim oeffnen eines submenues werden uebrige submenues verschoben.
		id = uebergibt die id`s der zu verschiebenen submenues
		x  = stellt den in der function layer_height ermittelten wert der Hoehe dar
		y  = ist immer '0', da die menues nicht horizontal verschoben werden
	--------------------------------------------------------------------------------- 
*/
function layer_move(id,x,y)
{
	if(ie)
	{
		d.all[id].style.left=x;
		d.all[id].style.top=y;
	}
	else if(ns)
	{
		d.layers[id].left=x;
		d.layers[id].top=y;
	}
	else if(moz)
	{
		d.getElementById(id).style.left=[x+'px'];
		d.getElementById(id).style.top=[y+'px'];
	}
}

/*
	--------------------------------------------------------------------------------- 
	funktion new_position()
	steuert die sichtbarkeit(layer_show) und die bewegung(layer_move) der menues und 
	die bewegung der submenues und bezieht sich dabei auf die in (layer_height) und 
	(layer_status) ermittelten werte.
	--------------------------------------------------------------------------------- 
*/
function new_position()
{
	s=menu_top;
	for (i=1; i<=menu_max; i++)
	{
		layer_show(['menu'+i]);
		layer_move(['menu'+i],0,s);
		s=layer_height(['menu'+i]);
		if (layer_status(['sub'+i])=='show')
		{
			layer_move(['sub'+i],0,s);
			s=layer_height(['sub'+i]);
		}
	}
}

/*
	--------------------------------------------------------------------------------- 
	funktion clickHandler(i,pfad)
	steuert die sichtbarkeit(layer_show) der submenues und sorgt fuer den bildaustausch
	der kleinen anzeigegrafiken.
		i = 	gibt die bildnummer des auszutauschenden bildes an
		pfad = 	speichert den in php festgehaltenen absoluten pfad des bildes
	--------------------------------------------------------------------------------- 
*/
function clickHandler(i,pfad){
	if (layer_status(['sub'+i])=='hide'){
		layer_show(['sub'+i])
		if (ie){
			d.images["c"+i].src =  pfad + 'subnav_top_black.gif';
		}
		if (ns){
			document.layers["menu"+i].document.images["c"+i].src = pfad + 'subnav_top_black.gif';
		}
		if (moz){
			d.images["c"+i].src = pfad + 'subnav_top_black.gif';
		}
	}
	else {
		layer_hide(['sub'+i])
		if (ie){
			d.images["c"+i].src = pfad + 'subnav_top_white.gif';
		}
		if (ns){
			document.layers["menu"+i].document.images["c"+i].src = pfad + 'subnav_top_white.gif';
		}
		if (moz){
			d.images["c"+i].src = pfad + 'subnav_top_white.gif';
		}
	}
	new_position();
}

/*
	--------------------------------------------------------------------------------- 
	funktion menu_hide()
	schliesst alle vorhandenen submenues.
	--------------------------------------------------------------------------------- 
*/
function menu_hide()
{
	for(j=1;j<=menu_max;j++)
	{
		layer_hide(['sub'+j]);
	}
}

/*
	--------------------------------------------------------------------------------- 
	funktion first()
	bei aufruf einer seite wird diese funktion als erstes aufgerufen.
	alle layer werden geschlossen und menues und submenues werden aufgebaut.
	--------------------------------------------------------------------------------- 
*/
function first(){
	menu_hide();
	new_position();
		for(nr=1;nr<=menu_max;nr++){
			layer_move(['menu'+nr],0,20*(nr-1)+97);
		}
	new_position();
}
