// JavaScript Document

// CSS-Klassen Switcher für Navigationsleisten etc.
// © EnEm agentur für neue medien - www.en-em.de
// Autor: Siegbert Müller
// für das Umschalten von CSS-Klassen aus php-includes oder Frameseiten
// Die im Navi-Link aufgerufene Seite ruft die "toggle"-Funktion per <body onLoad> auf

function toggle(mainnavi,subhead,subnavi) { // Formatierung der Navigationslinks ändern; wird von der aufgerufenen Frame-Seite ausgelöst
P7_swapClass(0,mainnavi,'navi_hi','navi_lo','li');
P7_swapClass(0,subhead,'subhead_hi','subhead_lo','li');
P7_swapClass(0,subnavi,'subnavi_hi','subnavi_lo','li');
}

// MM Standard + Project Seven Funktionen 

function P7_swapClass(){ //v1.4 by PVII
 var i,x,tB,j=0,tA=new Array(),arg=P7_swapClass.arguments;
 if(document.getElementsByTagName){for(i=4;i<arg.length;i++){tB=document.getElementsByTagName(arg[i]);
  for(x=0;x<tB.length;x++){tA[j]=tB[x];j++;}}for(i=0;i<tA.length;i++){
  if(tA[i].className){if(tA[i].id==arg[1]){if(arg[0]==1){
  tA[i].className=(tA[i].className==arg[3])?arg[2]:arg[3];}else{tA[i].className=arg[2];}
  }else if(arg[0]==1 && arg[1]=='none'){if(tA[i].className==arg[2] || tA[i].className==arg[3]){
  tA[i].className=(tA[i].className==arg[3])?arg[2]:arg[3];}
  }else if(tA[i].className==arg[2]){tA[i].className=arg[3];}}}}
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function P7AniMagic(el,x,y,a,b,c,s) {//v2.9 PVII-Project Seven Development
 var xx,yy,i,g,elo=el,f="",m=false,d="",pa='px';if(document.layers||window.opera){pa='';}
 x=parseInt(x);y=parseInt(y);var t='g.p7Magic=setTimeout("P7AniMagic(\''+elo+'\','; 
 if((g=MM_findObj(el))!=null){d=(document.layers)?g:g.style;}else{return;}
 if(parseInt(s)>0){eval(t+x+','+y+','+a+','+b+','+c+',0)",' + s+')');return;}
 xx=parseInt(d.left);if(isNaN(xx)){if(g.currentStyle){xx=parseInt(g.currentStyle.left);
 }else if(document.defaultView&&document.defaultView.getComputedStyle){
 xx=parseInt(document.defaultView.getComputedStyle(g,"").getPropertyValue("left"));}
 if(isNaN(xx)){xx=0;}}yy=parseInt(d.top);if(isNaN(yy)){if(g.currentStyle){yy=parseInt(g.currentStyle.top);
 }else if(document.defaultView&&document.defaultView.getComputedStyle){
 yy=parseInt(document.defaultView.getComputedStyle(g,"").getPropertyValue("top"));}
 if(isNaN(yy)){yy=0;}}if(c==1){x+=xx;y+=yy;m=true;c=0;}else if(c==2){m=false;
 if(g.p7Magic){clearTimeout(g.p7Magic);}}else{i=parseInt(a);if(g.p7Magic){clearTimeout(g.p7Magic);}
 if(xx<x){xx+=i;m=true;if(xx>x){xx=x;}}if(xx>x){xx-=i;m=true;if(xx<x){xx=x;}}
 if(yy<y){yy+=i;m=true;if(yy>y){yy=y;}}if(yy>y){yy-=i;m=true;if(yy<y){yy=y;}}}
 if(m){d.left=xx+pa;d.top=yy+pa;eval(t+x+','+y+','+a+','+b+','+c+',0)",'+b+')');}
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}


function open_subnavi(div,subnavi,x,y)
{
	try
	{
		if(document.getElementById(subnavi))
		{
			document.getElementById("cover_left").className="closed";
			//alert(subnavi + " true");
			P7AniMagic(div,x,y,10,15,0,0);
		}
	}	
	catch(x)
	{
		//alert(subnavi + " false");
	}
}

function unload_sub(href)
{
	if(document.getElementById("showroom_flash"))
	{
		var objekt = document.getElementById("showroom_flash")
		var anzahl = objekt.childNodes.length;
		objekt.style.visibility = "hidden";
		while(objekt.hasChildNodes())
		{
			var knoten = objekt.firstChild;
			if(document.all) //Browserweiche IE
				knoten.style.visibility = "hidden";
			objekt.nodeValue = "";
			objekt.removeChild(knoten);
		}
	}
	
	P7AniMagic('cover_left',-230,111,15,15,0,0);
	P7AniMagic('cover_right',787,111,25,15,0,0);
	window.setTimeout("window.location.href='"+href+"';", 500);
}



/* 'Transparenz 140104' (c) by cybaer@vampirehost.de
   --------------------
 Inhalt    : Stellt die Transparenz von Elementen ein (von 0-100%)
 Aufruf    : transparency(element,percentage)
 Parameter : element (Element, auf das der Effekt angewendet werden soll. Reihenfolge der Auswertung:
                      Object (z.B. document.images[1])
                      NAME-Attribut (z.B. "transparent")
                      ID-Attribut (z.B. "transparent")
                      HTML-Tag (z.B. "img")
             percentage (Optional: Prozentsatz der Transparenz, voreingestellt: 50%)
 Sprache   : JavaScript 1.1 (ungesichert), JavaScript 1.5 (gesichert)
 InlineFunc: -
 Konstante : -
 Variable  : -
 SystemVar : -
 ExternVar : -
 Rueckgabe : -
 Anmerkung : Benutzt die CSS-Styles "filter" (Internet Explorer) und "-moz-opacity" (Mozilla) mittels W3C-DOM
 Beispiele : HTML  : <img src="test.gif" onMouseOver="transparency(this,75);" onMouseOut="transparency(this,0);">
                  -> Das Bild test.gif wird zu 75% transparent, wenn die Maus drueber faehrt
             HTML  : <img id="T1" name="aussen" src="test.gif"><img id="T2" name="innen" src="test.gif"><img id="T3" name="Aussen" src="test.gif">
             Script: transparency(document.images[0],50%);
                  -> Das erste Bild des Dokuments wird halb transparent.
             Script: transparency("T1");
                  -> Das linke Bild (mit der ID "T1") wird halb transparent.
             Script: transparency("Aussen",25);
                  -> Das linke & rechte Bild (mit dem Namen "Aussen") werden viertel transparent.
             Script: transparency("img",75);
                  -> Alle Bilder (HTML-Tag <img>) werden dreiviertel transparent.
*/

function transparency(element,percentage) {
 // Lokale Variablen definieren
 var i, count, objStyle;

 // Browser unterstuetzt (W3C-)DHTML?
 if(document.getElementById) {

  // Wurde Object uebergeben und existiert es?
  if(typeof(element)=="object" && element) { obj=element; }
  // Ansonsten: Existiert (mindestens) ein HTML-Element mit passendem NAME-Attribut?
  else if (document.getElementsByName(element) && document.getElementsByName(element)[0]) { obj=document.getElementsByName(element); }
  // Ansonsten: Existiert ein HTML-Element mit passendem ID-Attribut?
  else if (document.getElementById(element)) { obj=document.getElementById(element); }
  // Ansonsten: Existiert (mindestens) ein passendes HTML-Element?
  else if (document.getElementsByTagName && document.getElementsByTagName(element) && document.getElementsByTagName(element)[0]) { obj=document.getElementsByTagName(element); }
  // Ansonsten: Kein passendes Objekt gefunden
  else { obj=false; }

  // Wenn ein Objekt existiert
  if(obj) {
   // Gueltigen Prozentwert definieren (Deckungswert)
   percentage=(typeof(percentage)=="undefined")?50:100-percentage;
   // Anzahl der passenden Elemente bestimmen
   count=(obj.length)?obj.length:1;
   // Diese Elemente durchgehen
   for(i=0;i<count;i++) {
    // (Arbeits-)Stylesheet-Objekt definieren
    objStyle=(obj.length)?obj[i].style:obj.style;
    // "filter(Alpha)"-Style setzen (fuer IE)
    objStyle.filter="Alpha(opacity="+percentage+", finishopacity="+percentage*", style=3)";
    // "-moz-opacity"-Style setzen (fuer Mozilla)
    objStyle.MozOpacity=""+percentage/100;
   }
  }

 }
}

// =============================== Direkt-Code ===============================

xJStrans=true; // Externes JavaScript geladen!


