// globale CrossBrowser Daten:
 
 nav = (document.layers) ? 1 : 0;
  ie = (document.all) ? 1 : 0;
	w3c = (document.getElementById) ? 1:0;

if (nav){
  obj ="document.layers"; 
  eig =  "" ;
}
else if (ie){
  		obj = "document.all"; 
  		eig = ".style";
		}
else if(w3c){
  			obj = "document.getElementById("; 
  			eig =").style";
}

// style scripte:

a = new Array(2);
//1.id, 2.stylewerte

 function rechange(){
				var args=rechange.arguments;
				//saveStyle(args);
				for(var i=0;i<args.length;i++){
								var ebene = args[i];
        				E = eval(obj+'[\"'+ebene+'\"]'+eig);
      				  E.color = "444444";
        				E.backgroundColor = "f5f5f5";
        				E.textDecoration = "none";
    		}
}

//Šndert die diversen style-Eigenschaften. Also eine Demonstration.
// weitere Schritte: 1.vorhandene Eigenschaften in einer Variable (global) speichern
// 2. diese bei Mouse-out (z.B.) wieder aktivieren...
 function change(){
				var args=change.arguments;
                          				//saveStyle(args);
				for(var i=0;i<args.length;i++){
								var ebene = args[i];
        				E = eval(obj+'[\"'+ebene+'\"]'+eig);
      				  E.color = "dd4444";
        				E.backgroundColor = "f5f5f5";
        				E.textDecoration = "none";
    		}
 }

//noch micht fit samt rechangeZwei!!!!!!!!!
 function saveStyle(){
			  var args=saveStyle.arguments;
				for(var i=0;i<args.length;i++){
									var ebene = args[i];
        					E = eval(obj+'[\"'+ebene+'\"]'+eig);
 			     a[i][0] = args[i];
 			     a[i][1] = E.color;
         a[i][2] = E.backgroundColor;
         a[i][3] = E.textDecoration;
       alert( a[i][0], a[i][1], a[i][2], a[i][3]);    
     		}
 }

//liest die im Array a gespeicherten Daten und speichert Sie in den Argumenten
// Eine Abfrage auf die Richtigkeit der Zuordnung gibt es noch nicht!!
 function rechangeZwei(){
				var args=change.arguments;
				for(var i=0;i<args.length;i++){
								var ebene = args[i];
        E = eval(obj+'[\"'+ebene+'\"]'+eig);
        E.color = a[i][1];
        E.backgroundColor = a[i][2];
        E.textDecoration = a[i][3];
    }
 }


//Šndert die Ÿbergebenen style-Eigenschaften. Also eine Demonstration.
// weitere Schritte: 1.vorhandene Eigenschaften in einer Variable (global) speichern
// 2. diese bei Mouse-out (z.B.) wieder aktivieren...
 function changeColor(id,wert){
        				
                E = eval(obj+'[\"'+id+'\"]'+eig);
                
      				  E.color = wert;
    		
 }

// Show-Hide scripte:


 function show(){
				var args=show.arguments;
				for(var i=0;i<args.length;i++){
								var ebene = args[i];
        E = eval(obj+'[\"'+ebene+'\"]'+eig);
        E.visibility = "visible";
    }
 }
 function hide(){
				var args=hide.arguments;
				for(var i=0;i<args.length;i++){
								var ebene = args[i];
        E = eval(obj+'[\"'+ebene+'\"]'+eig);
        E.visibility = "hidden";
    }
 }

var HSElements = new Array(5);

//initialisiert das Array HSElements[] mit den vorhandenen in AbhŠngigkeit stehenden Objekten:
function init(){
	for(var i=0;i<init.arguments.length;i++){
		HSElements[i]=init.arguments[i];
	}
}

//erwartet keine Argumente, versteckt alle HSElements[]: 
function hideHSElements(){
	var m=HSElements.length;
	for(var i=0;i<m;i++){
		hide(HSElements[i]);
  }
}

//versteckt 1. mit function 	hideHSElements() alle, Ÿbergibt 2. in einer Schleife alle erhaltenen Argumente der function show():
function showHSElements(){
	hideHSElements();
	for(var i=0;i<showHSElements.arguments.length;i++){
		show (showHSElements.arguments[i]);
  }
}

//versteckt 1. mit function filter() alle nicht zu zeigenden, Ÿbergibt 2. in einer Schleife alle erhaltenen Argumente der function show(). Welche Lšsung ist besser??:
function showHSElementsAlt(){
	filter(showHSElementsAlt.arguments);
	for(var j=0;j<showHSElementsAlt.arguments.length;j++){
	show(showHSElementsAlt.arguments[j]);
	}
}
//wird von showHSElements aufgerufen, versteckt mit function 	hide() alle nicht zu zeigenden:
function filter(toshow){
	for(var i=0;i<HSElements.length;i++){//Die nicht als Argument auftretenden Elemente werden versteckt:
		for(var j=0;j<toshow.length;j++){
			if(HSElements[i] !=toshow[j]){
				hide(HSElements[i]);
			}
		}
	}
}

//Fenster šffnen scripte:

function fensterErzeugen(url) {
  neu = open(url, "navigation", "width=500,height=762");
}
function ejaFensterErzeugen(url) {
  neu = open(url, "navigation", "width=357,height=346");
}


