window.addEvent('domready', function() {

	var slides_02 = $$(".toggler_02"); // Takes any element with the class "toggler_02"
	var slides_03 = $$(".toggler_03"); // Takes any element with the class "toggler_03"
	var slides_04 = $$(".toggler_04"); // Takes any element with the class "toggler_03"
	
	var btns_01 = $$(".link_01") ; // Ditto for class "link_01"
	var btns_02 = $$(".link_02") ; // Ditto for class "link_02"
	var btns_03 = $$(".link_03") ; // Ditto for class "link_02"
	
	var mySlide = [];
	var mySlide2 = [];
	var mySlide3 = [];

	var openSlide = -1; //Create a flag variable to be checked and test if any slide is opened;
	var openSlide_02 = -1; //Create a flag variable to be checked and test if any slide is opened;
	var openSlide_03 = -1; //Create a flag variable to be checked and test if any slide is opened;
	
	var open1 = false;
	var open2,open3;

	slides_02.each(function(slide, idx) { //For each element in slides do...
		if(btns_01[idx].className.match(/btn_active/)){
		        mySlide[idx] = new Fx.Slide(slide, {mode: 'horizontal'}).show();
		        openSlide = idx;
		}else{
			mySlide[idx] = new Fx.Slide(slide, {mode: 'horizontal'}).hide(); //Create an array with the Fx.Slide for each element in slides and hides it;
		}
		
		btns_01[idx].addEvent('click', function(e) { //Add a click event for each element in btns;
			e = new Event(e);
			if ( openSlide == -1 ) { //Check if a slide has been opened before;
				openSlide = idx;
				mySlide[idx].slideIn(); //Slide In the slide;
				btns_01[idx].addClass("btn_active"); // Fügt Klasse für aktives Element hinzu
			} else {
				if ( openSlide_02 == -1 ) {
					mySlide[openSlide].slideOut();
					btns_01[openSlide].removeClass("btn_active"); // Entfernt Klasse für aktives Element 
				} else {
					if ( openSlide_03 == -1 ) {
						mySlide2[openSlide_02].slideOut();
						openSlide_02 = -1;
						mySlide[openSlide].slideOut();
						btns_01[openSlide].removeClass("btn_active"); // Entfernt Klasse für aktives Element
					} else {
						mySlide3[openSlide_03].slideOut();
						openSlide_03 = -1;
						mySlide2[openSlide_02].slideOut();
						openSlide_02 = -1;
						mySlide[openSlide].slideOut();
						btns_01[openSlide].removeClass("btn_active"); // Entfernt Klasse für aktives Element
					}
				}
				mySlide[idx].slideIn(); //Slide In the slide;
				btns_01[idx].addClass("btn_active"); // Fügt Klasse für aktives Element hinzu
				if ( openSlide != idx ) openSlide = idx; //openSlide will now be the current open slide;
				else {
					btns_01[openSlide].removeClass("btn_active");
					openSlide = -1; //If closing the open item, will reset openSlide to it's initial state;
				}
			}
			e.stop();
		});
	});

	slides_03.each(function(slide2, idx2) { //For each element in slides do...		
		if(btns_02[idx2].className.match(/btn_active/)){
		        mySlide2[idx2] = new Fx.Slide(slide2, {mode: 'horizontal'}).show();
		        openSlide_02 = idx2;
		}else{
			mySlide2[idx2] = new Fx.Slide(slide2, {mode: 'horizontal'}).hide(); //Create an array with the Fx.Slide for each element in slides and hides it;
		}

		
		btns_02[idx2].addEvent('click', function(e2) { //Add a click event for each element in btns;
			e2 = new Event(e2);
			if ( openSlide_02 == -1 ) { //Check if a slide has been opened before;
				openSlide_02 = idx2;
				mySlide2[idx2].slideIn(); //Slide In the slide;
				btns_02[idx2].addClass("btn_active"); // Fügt Klasse für aktives Element hinzu
			} else {
				if ( openSlide_03 == -1 ) {
					mySlide2[openSlide_02].slideOut(); //Slide Out the previous openened slide;
					btns_02[openSlide_02].removeClass("btn_active"); // Entfernt Klasse für aktives Element
				}
				else {
					mySlide2[openSlide_02].slideOut();
					btns_02[openSlide_02].removeClass("btn_active"); // Entfernt Klasse für aktives Element
					mySlide3[openSlide_03].slideOut();
					btns_03[openSlide_03].removeClass("btn_active"); // Entfernt Klasse für aktives Element
					openSlide_03 = -1;
				}
				mySlide2[idx2].slideIn(); //Slide In the slide;
				btns_02[idx2].addClass("btn_active"); // Fügt Klasse für aktives Element hinzu
				if ( openSlide_02 != idx2 ) openSlide_02 = idx2; //openSlide will now be the current open slide;
				else {
					btns_02[openSlide_02].removeClass("btn_active");
					openSlide_02 = -1; //If closing the open item, will reset openSlide to it's initial state;
				}
			}
			e2.stop();
		});
	});

	slides_04.each(function(slide3, idx3) { //For each element in slides do...
		if(btns_03[idx3].className.match(/btn_active/)){
		        mySlide3[idx3] = new Fx.Slide(slide3, {mode: 'horizontal'}).show();
		        openSlide_03 = idx3;
		}else{
			mySlide3[idx3] = new Fx.Slide(slide3, {mode: 'horizontal'}).hide(); //Create an array with the Fx.Slide for each element in slides and hides it;
		}

		btns_03[idx3].addEvent('click', function(e3) { //Add a click event for each element in btns;
			e3 = new Event(e3);
			if ( openSlide_03 == -1 ) { //Check if a slide has been opened before;
				openSlide_03 = idx3;
				mySlide3[idx3].slideIn(); //Slide In the slide;
				btns_03[idx3].addClass("btn_active"); // Fügt Klasse für aktives Element hinzu
				
			} else {
				mySlide3[openSlide_03].slideOut(); //Slide Out the previous openened slide;
				btns_03[openSlide_03].removeClass("btn_active"); // Entfernt Klasse für aktives Element
				mySlide3[idx3].slideIn(); //Slide In the slide;
				btns_03[idx3].addClass("btn_active"); // Fügt Klasse für aktives Element hinzu
				if ( openSlide_03 != idx3 ) openSlide_03 = idx3; //openSlide will now be the current open slide;
				else {
					btns_03[openSlide_03].removeClass("btn_active");
					openSlide_03 = -1; //If closing the open item, will reset openSlide to it's initial state;
				}
			}
			e3.stop();
		});
	});

});
