/*
Java-Script-Code der Azubi-Homepage
(c) ARBURG Internet-Gruppe 2006/2007
*/

/*
Arrayliste mit allen Trees, Subtrees und Contents
Trees = Oberste Menüpunkte, umrahmen 2. bzw. 3. Ebene - falls vorhanden
Subtrees = Menüpunkte in der 2. Ebene (Weiß mit orangenem Balken)
Contents = Menüpunkte der 3. Ebene (Zahl-buttons)
*/

var menu = new Array();

menu[0]  = 'subtree1';
menu[1]  = 'subtree2';
menu[2]  = 'subtree3';
menu[3]  = 'kfmcontent1';
menu[4]  = 'kfmcontent2';
menu[5]  = 'techcontent1';
menu[6]  = 'techcontent2';
menu[7]  = 'techcontent3';
menu[8]  = 'techcontent4';
menu[9]  = 'techcontent5';
menu[10] = 'techcontent6';
menu[11] = 'bacontent1';
menu[12] = 'bacontent2';
menu[13] = 'bacontent3';
menu[14] = 'bacontent4';
menu[15] = 'bacontent5';
menu[16] = 'bacontent6';
menu[17] = 'aktcontent1';
menu[18] = 'aktcontent2';
menu[19] = 'aktcontent3';
menu[20] = 'aktcontent4';
menu[21] = 'aktcontent5';
menu[22] = 'tree1';
menu[23] = 'tree2';
menu[24] = 'tree3';
menu[25] = 'projekt1';
menu[26] = 'projekt2';
menu[27] = 'projekt3';
menu[28] = 'projekt4';
menu[29] = 'projekt5';
menu[30] = 'projekt6';
menu[31] = 'tree4';
menu[32] = 'special1';
menu[33] = 'special2';

/*
Anlegen von Globalen Variablen, da diese zur Übergabe an andere Funktionen dienen
*/
var value_array = new Array();
var give_back = new Array();


function openLink(Frame, Weburl) {
	/*
	 * Öffnet Url im Frame
	 * --------------------
	 * Frame  = Name des Frames
	 * Weburl = Url des Links
	 *
	 */

	$(Frame).setAttribute('src', Weburl);
}

function closeAllTrees() {
	/*
	 * Schließt ALLE Trees
	 *
	 */
	 
	var i;
	
	for(i = 0; i < menu.length; i++) {
		if ($(menu[i]).getStyle('display') != 'none') {
				$(menu[i]).setStyle('display', 'none');
		}
	}
}

function closeAllTreesExceptOf(div_id) {
	 /*
	 * Blendet alle Trees aus, bis auf die, die im Funktionsaufruf übergeben wurden
	 *
	 */
	
	var i;
	var m;
	

	for(i = 0; i < menu.length; i++) {
		for(m = 0; m < div_id.length; m++) {
			//Überpüfen ob Tree angezeigt werden soll, ggf. Tree anzeigen bzw. ausblenden
			if (menu[i] == div_id[m]) {  			
				$(menu[i]).setStyle('display', 'block');
				break;
			} else {
				$(menu[i]).setStyle('display', 'none');
			}
		}  	
	}
}

function check(div_name, value_array, give_back) {
	/*
	 * Überprüft, ob gewählter Menüpunkt schon geöffnet ist
	 * ----------------------------------------------------------------------------
	 * div_name = Name des zu prüfenden Divs
	 * value_array = Liste der zu öffnenden Divs, im Falle, dass Menüpunkt geschlossen war
	 * give_back = Liste mit den zu schließenden Divs, im Falle, dass Menüpunkt schon geöffnet war
	 *
	 * Funktionsaufruf: (check('divelement', data = new Array('ober_divelement','unter_divelement1','unter_divelement2',...'unter_divelement3','unter_unter_divelement1',... 'unter_unter_divelementN' ), back = new Array('ober_divelement',...))
	 *
	 */
	 
	 
	// Überprüfen, ob div_name schon angezeigt wird
	if ($(div_name).getStyle('display') == 'block') {
		var i;
    	
		// Falls Daten schon angezeigt werden -> Überprüfen, ob aus dem Menüpunkt komplett herrausgegangen wird, oder bloß einen Schritt zurück
		for (i=0; i<=value_array.length; i++) {
    			
			// Falls ganz heraus -> Übergabe der Liste mit den neuens Divs an "closeAllTreesExceptOf"-Funktion
			if ($(div_name) == value_array[i]) {
    			closeAllTreesExceptOf(value_array);
			
			//Falls Schritt zurück -> Übergabe der Liste mit den Divs an "closeAllTreesExceptOf"-Funktion
			} else {
				closeAllTreesExceptOf(give_back); 
			}
    	  	
		}
	// Falls Daten noch nicht angezeigt -> Übergabe der Liste mit den zu öffnenden Div's an "closeAllTreesExceptOf"-Funktion
	} else {
		var j;
		
		for (j=0; j<=value_array.length; j++) {
			closeAllTreesExceptOf(value_array);
		}
	}
}


function getWindowHeight() {
	
	if(window.ie) {
		if(document.documentElement.clientHeight) {
			return document.documentElement.clientHeight;
		} else {
			return document.body.clientHeight;
		}
	} else {
		return window.innerHeight;
	}

}


function motto_einblenden() {
	
	
	var effekt = new Fx.Styles($('motto_img'), {
		duration: 4000,
		transition: Fx.Transitions.quadIn
	});

		
	effekt.start({
		'opacity': [0, 1],
		'left': [1020, 550]
	}).chain(function(){
		effekt.options.duration = 1000;
		effekt.start({
			'opacity': [1, 0]
		});
	}).chain(function(){
		effekt.options.duration = 1000;
		effekt.start({
			'opacity': [0, 1]
		});
	}).chain(function(){
		effekt.options.duration = 1000;
		effekt.start({
			'opacity': [1, 0]
		});
	}).chain(function(){
		effekt.options.duration = 1000;
		effekt.start({
			'opacity': [0, 1]
		});
	});

}

function fixSize() {
	// URL von der im Frame geladenen Seite holen
	var source = parent.main.location.href;
	
	// letztes '\' suchen, falls Linux/Unix Server verwendet wird
	var index = source.lastIndexOf('\\');
	
	// letztes '/' suchen, falls Windows Server verwendet wird
	if(index == -1) {
		index = source.lastIndexOf('/');
	}

	// Dokumentenname mit index+1 herrausschneiden
	source = source.substr(index+1);
	
	/** 
	nun folgen viele switch-case-Statements die dann size('main', 'irgendwas-px'); aufrufen...
	Das Design ist einfach schlecht in statischem HTML umzusetzen..
	dynmisch mit JSP oder PHP wär das kein Problem...

	Seiten die höher als das Iframe sind müssen in einem case-Statement mir der entsprechenden
	Höhe aufgerufen werden.
	Seiten die kleiner oder gleich Iframe sind werden durch default abgedeckt.

	ACHTUNG!! 
	Es darf KEINE doppelten HTML-Dateien (betrifft allerdings nur die, die im Iframe geladen werden sollen) geben, 
	auch nicht wenn sie in verschiedenen Unterordnern liegen..

	*/

	
	switch(source) {
		case 'infotage2008.html': {
			size('main', '1000px');
			break;
		}	
		case 'hasco.html': {
			size('main', '825px');
			break;
		}
		case 'nwm.html': {
			size('main','600px');
			break;
		}
		case 'infoordner.html': {
			size('main','1000px');
			break;
		}
		case 'kunststoff.html': {
			size('main','800px');
			break;
		}
		case 'umweltschutz.html': {
			size('main','700px');
			break;
		}
		case 'kmesse.html': {
			size('main','600px');
			break;
		}
		case 'einfuehrung.html': {
			size('main','570px');
			break;
		}
		case 'bdm.html': {
			size('main','1200px');
			break;
		}

		default: {
			size('main');
			break;
		}

	

	}
}

function size(Frame, height) {
	
	if (size.arguments.length != 2) {
		height = "547px";
	} 
	
	
	/**
	 * Differenz Höhe in px zwischen Linkbereich und Newsbereich..
	 * ka wo sie her kommt, aber sie ist da..
	 * durch die Angabe hier ist sie aber nicht mehr sichtbar..
	 */
	diff = 10;
	
	var hoehe = 229;

	window_height = getWindowHeight();
	
	window_height -= hoehe;
	
	/*alert("gemessen" + window_height);
	alert("übergeben" + height);*/
	
	if(window_height > height.toInt()) {
		height = window_height;
		height = height + "px";
	}
	
	$(Frame).setStyle('height', height);
	//$('strich_vert').setStyle('height', height);
	
}
