/* 
**********************************************************************************************************************
**  Skript:     tpl.normal.js
**********************************************************************************************************************
**  Beschreib:	Beinhaltet Javascripts welche für das Navigationsmenu bei dem Standarttemplate gebraucht werden.
**
**********************************************************************************************************************
*/


// GLOBALE VARIABLEN (BROWSER-EIGENSCHAFTEN)
// *******************************************************************************************************************
var     isIE	= false,		// Flag ob Browser Internet Explorer
	isNS	= false,		// Flag ob Browser Netscape
	isNS6	= false,		// Flag ob Browser Netscape 6.x
	isDOM	= false;		// Flag DocumentObjectModel unterstützt wird

// GLOBALE VARIABLEN (STYLE-EIGENSCHAFTEN)
// *******************************************************************************************************************
var	lR,				// Parent vom anzusteuerenden Objekt
	sR,				// Children vom anzusteuerenden Objekt
	vis,				// Speicher für Eigenschaft sichtbar
	invis;				// Speicher für Eigenschaft unsichtbar

// GLOBALE VARIABLEN (STYLE-EIGENSCHAFTEN)
// *******************************************************************************************************************
var	oldwhich = 0,			// Speicher für altes, aktives Layer
	x=0,				// Zählvariable wenn User MouseOut macht
	layerTimer;			// Delay Variable


// BROWSER CHECK
// *******************************************************************************************************************
if (document.all) 
  {
    isIE= true;
    lR="document.all.";
    sR=".style";
    vis="visible";
    invis="hidden";
  }
if (document.layers)
  {
    isNS = true;
    lR="document.layers.";
    sR="";
    vis="show";
    invis="hide";
  }
if (document.getElementById &&!isIE) 
  {
    isDOM=true;
    lR="document.getElementById('";
    sR = "').style";
    invis ="hidden";
    vis = "visible"
  }
if (isDOM == true && navigator.appName =="Netscape")
  {
    isNS6 = true;
  }



/* 
**********************************************************************************************************************
**  Funktion:   PlaceLayers
**********************************************************************************************************************
**  Beschreib:	Setzt die Layers an den richtigen Ort
**
**  Parameter:  number	Anzahl Layer im benutzten Menu
**
**  Rückgabe:   keine
**********************************************************************************************************************
*/
   function placelayers(number)
{
for(i = 0; i < number; i++) {
   l = eval(lR + "l" + i + sR);

var  offsety = 16;

   obj = eval("document.images['"+ 'n' + i + "']");

      if (isIE) 
	{
          obj = eval("document.images['"+ 'n' + i + "']");
	}

      if (isNS)
	{
          obj = eval("document.images['"+ 'n' + i + "']");
	}

      if (!isIE && isDOM)
	{
          obj = eval("document.getElementById('"+ 'n' + i + "')");
	}


   var curtop = 0;
   var curleft = 0;
	if(isIE || isDOM)
	{
		while (obj.offsetParent)
		{
		if(curtop < 0)
			curtop = 0;	
	
			curtop += obj.offsetTop;
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (isNS) {
		curtop += obj.y;
		curleft += obj.x;
}
	l.top = curtop - 1;
	l.left = curleft + 150;

}
}
 
/* 
**********************************************************************************************************************
**  Funktion:   LayOver
**********************************************************************************************************************
**  Beschreib:	Schaltet Layer ein und lässt Bild zu on wechseln
**
**  Parameter:  which	Layernummer
**
**  Rückgabe:   keine
**********************************************************************************************************************
*/
function layOver(which)
 { 
   x=0;
   l = eval(lR + "l" + which + sR);
   eval("roll('n',"+which+",'On','lN')")
   if (oldwhich != which)
     {
	ol = eval(lR + "l" + oldwhich + sR);
	eval("roll('n',"+oldwhich+",'Off','lN')")
	ol.visibility = invis;
     }
   oldwhich = which;

   l.visibility = vis;

   clearTimeout(layerTimer);
 }


/* 
**********************************************************************************************************************
**  Funktion:   StopOver
**********************************************************************************************************************
**  Beschreib:	Lässt angezeigter Layer verschwinden und Bild wieder in Off wechseln
**
**  Parameter:  keine
**
**  Rückgabe:   keine
**********************************************************************************************************************
*/
function stopOver()
  {
    if (x<5) 
      {
	x++;
      }
    else
      {
	ol = eval(lR + "l" + oldwhich + sR);
	ol.visibility = invis;
	eval("roll('n',"+oldwhich+",'Off','lN')")
	x=0;
      }

    layerTimer = setTimeout("stopOver()",150)
  }


/* 
**********************************************************************************************************************
**  Funktion:   Rollover
**********************************************************************************************************************
**  Beschreib:	Wechselt Bild und Layer zwsichen visible und unvisible
**
**  Parameter:  sec	Anfang des Bildnamens
**		num	Bildernummer
**		state	off  -> Bild Off
**			on   -> Bild On
**		layer	Layer welcher eingeblendet werden soll
**
**  Rückgabe:   keine
**********************************************************************************************************************
*/

function roll(sec,num,state,layer)
 {
  if (layer=="")
    {
      eval("document.images['"+ sec + num + "'].src =" + sec + num + state + ".src;");
    }
  else 
    {
      if (isIE) 
	{
          eval("document.images['"+ sec + num + "'].src =" + sec + num + state + ".src;");
	}

      if (isNS)
	{
          eval("document.images['"+ sec + num + "'].src =" + sec + num + state + ".src;");
	}

      if (!isIE && isDOM)
	{
          eval("document.getElementById('" + sec + num + "').src = " + sec + num + state + ".src;");
	}
    }
 }

	
/* 
**********************************************************************************************************************
**  Funktion:   StartOver
**********************************************************************************************************************
**  Beschreib:	Löscht Zählvariable für MouseOut Ereignisse und Delay Variable
**
**  Parameter:  keine
**
**  Rückgabe:   keine
**********************************************************************************************************************
*/
function startOver()
  {
    x=0
    clearTimeout(layerTimer);
  }
	
/* 
**********************************************************************************************************************
**  Funktion:   ChangeBG
**********************************************************************************************************************
**  Beschreib:	Wechselt die Hintergrundfarbe des übergebenen Objektes
**
**  Parameter:  item		Objekt wo Farbe wechselt werden soll
**		color		Farbe welche dargestellt werden soll (Angabe in HEX)
**
**  Rückgabe:   keine
**********************************************************************************************************************
*/
function changebg(item, color)
  {
    if (document.getElementById)
      {
	theone = eval("document.getElementById('"+item+"')")
	theone.style.background = color
      }
  }


/* 
**********************************************************************************************************************
**  Funktion:   NSResize
**********************************************************************************************************************
**  Beschreib:	Umgeht den Netscape 4.x Resize Bug
**
**  Parameter:  keine
**
**  Rückgabe:   keine
**********************************************************************************************************************
*/
function NSresize()
{
  if (document.FIX.NSfix.initWindowWidth != window.innerWidth || document.FIX.NSfix.initWindowHeight != window.innerHeight) {
    document.location = document.location;
  }
}


/* 
**********************************************************************************************************************
**  Funktion:   NCheck
**********************************************************************************************************************
**  Beschreib:	Umgeht den Netscape 4.x Resize Bug
**
**  Parameter:  keine
**
**  Rückgabe:   keine
**********************************************************************************************************************
*/
function NSCheck()
{
  if ((navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) == 4))
    {
       if (typeof document.FIX == 'undefined')
         {
           document.FIX = new Object;
         }
       if (typeof document.FIX.FIX_scaleFont == 'undefined') 
         {
           document.FIX.NSfix = new Object;
           document.FIX.NSfix.initWindowWidth = window.innerWidth;
           document.FIX.NSfix.initWindowHeight = window.innerHeight;
         }
       
       window.onresize = NSresize;
    }
}
   