// 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

var navi = "m_00"; // ID des Default-Hauptpunktes - 
var subnavi = "s_00";  // ID des Default-Unterpunktes

function toggle(navi,subnavi) { // Formatierung der Navigationslinks ändern; wird von der aufgerufenen Frame-Seite ausgelöst

P7_swapClass(0,navi,'active','navi_lo','li');
P7_swapClass(0,subnavi,'sub_navi_hi','sub_navi_lo','li');
}

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 YY_checkform() { //v4.66
		//copyright (c)1998,2002 Yaromat.com
	  var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
	  for (var i=1; i<args.length;i=i+4){
		if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
		var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));
		myV=myObj.value;
		if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
		  if (myReq&&myObj.value.length==0){addErr=true}
		  if ((myV.length>0)&&(args[i+2]==1)){ //fromto
			var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
		  } else if ((myV.length>0)&&(args[i+2]==2)){
			  var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
		  } else if ((myV.length>0)&&(args[i+2]==3)){ // date
			var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
			if(myAt){
			  var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
			  var myDate=new Date(myY,myM,myD);
			  if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
			}else{addErr=true}
		  } else if ((myV.length>0)&&(args[i+2]==4)){ // time
			var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
		  } else if (myV.length>0&&args[i+2]==5){ // check this 2
				var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
				if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
				if(!myObj1.checked){addErr=true}
		  } else if (myV.length>0&&args[i+2]==6){ // the same
				var myObj1 = MM_findObj(args[i+1]);
				if(myV!=myObj1.value){addErr=true}
		  }
		} else
		if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
			  var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
			  var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
		  if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
		  if (args[i+2]==2){
			var myDot=false;
			for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
			if(!myDot){myErr+='* ' +args[i+3]+'\n'}
		  }
		} else if (myObj.type=='checkbox'){
		  if(args[i+2]==1&&myObj.checked==false){addErr=true}
		  if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
		} else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
		  if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
		}else if (myObj.type=='textarea'){
		  if(myV.length<args[i+1]){addErr=true}
		}
		if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
	  }
	  if (myErr!=''){alert('Zum Versenden dieses Formulars fehlen noch notwendige Daten:\t\t\t\t\t\n\n'+myErr)}
	  document.MM_returnValue = (myErr=='');
	}
	
	
function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  } 
}
