/*******************************************************************
* Methoden für Formulare
*******************************************************************/

/**
* Methode selektiert den Knoten mit dem Namen prefix+value (falls value != '') und setzt dort das Attribut
* selected = "select".
* Dadurch kann man das selektierte Feld in einer DropDown Liste vorselektieren, sollte über TMailForm ein Fehler aufgetreten sein und das
* Formular erneut geladen werden.
*
* @param string		ein Prefix für die aktuelle Option zur Erzeugung einer eindeutigen ID (z.B. M1_)
* @param string		ein Postfix für die aktuelle Option  zur Erzeugung einer eindeutigen ID (z.B. gesicht)
*/
function select (prefix, value) {
	if (value) {
		var node = document.getElementsByName(prefix+value)[0];
		node.selected = "select";
	}
}

/**
* Methode löscht alle Angaben im Block mit der übergebenen ID
*
* @param string		ID des Blocks
*/				
function cleanUpBlock(strID) {
	try {
		$('#'+strID).css('display','none');
		$('#'+strID+' input.form-input').attr('value','');
		$('#'+strID+' input').removeAttr('checked');
	} catch (e) {}
}


/*******************************************************************
* Actionen, die nach Laden der Seite ausgeführt werden sollen
*******************************************************************/

$(document).ready(function() {

	/* ---------- Warenkorb IFrame Höhe anpassen ---------- */
	//try {
		//var framefenster = document.getElementById('myframe');
		//var tmp = framefenster.contentWindow.document.body;
		//alert(tmp.offsetHeight);
		
		/*if(framefenster.contentWindow.document.body) {
			var basket = framefenster.contentWindow.document.getElementById('basket');
			// Wähle BasketBtn aus (dort wo geklickt wird)
			var basketBtn = basket.childNodes[1].childNodes[1].childNodes[5];
			basketBtn.onclick = function() {
			// Öffnen + Schließen (aus Originalfunktion des Btn. übernommen)
			$(basket).toggleClass('is-open');
			// Größe neu setzen
			var framefensterHeight = framefenster.contentWindow.document.body.offsetHeight;
				if(document.all && !window.opera) {
					framefensterHeight = framefenster.contentWindow.document.body.scrollHeight;
				}
						
			framefenster.style.height = framefensterHeight + 'px';
			}
		}*/
	//} catch (err) {}

	/* ---------- Accordion ---------- */
	try {
		
		// Alle Elemente schließen
		$('.accordionContent').hide();
		$('.accordionButton').first().trigger('click');		
		
		$('.accordionButton').click(function() {

			var sections = $('.accordionButton');
			
			for (i = 0; i < sections.length; i++) {
				if (sections.get(i) != this) {
					// Zuklappen
					$(sections.get(i)).removeClass('on');
					$(sections.get(i)).next().slideUp('normal');				

					//Überschrift verschieben
					$(sections.get(i)).animate ( {
						'padding-top': '5'
					},'fast', function() {});
					$(sections.get(i)).children().animate ( {
						'margin-top': '0'
					},'fast', function() {});							
				}
			}
			

			
			//aufklappen
			if($(this).next().is(':hidden') == true) {
				$(this).addClass('on');
				$(this).next().slideDown('normal');
				$(this).animate ( {
					'padding-top': '10'
				},'fast', function() {
				});
				$(this).children().first().animate ( {
					'margin-top': '25'
				},'fast', function() {
				});							
			} 
		 });
		
	} catch (e) {}
	
	/* ---------- Hauptnavigation öffnen / schließen ---------- */
	
	try {
		// Öffnungsverzögerung
		var openDelay;
		var closeDelay;
	
		$('#mainnavigation .hasSub').mouseenter( function() {
			var openThis = $(this);
			t = false;
			openDelay = setTimeout(function(){
				// zusätzlich für IE 7 und 8 als inline Element 
				// scheint so das der IE damit probleme hat
				if ( $.browser.msie ) {
					var ver = $.browser.version ;
					if(ver == '7.0' || ver == '8.0')
						openThis.children('div.tx-mmgetpagecontent-pi1').css('display','block');
				}
				openThis.addClass('is-open');
			},400);		
		}).mouseleave( function(evt) {
			clearTimeout(openDelay);
			var newThis = $(this);
			var flyOut = $(this).children('div.tx-mmgetpagecontent-pi1');
			var flyOutOffset = flyOut.offset();
			
			// Das Flyout wird nur geschlossen, wenn sich der Mauszeiger auch wirklich nicht mehr in dem FlyOut befindet
			// => hier gab es Probleme im Opera 9.24 sowie bei ZEG in einem IE7 / 8 -> im IE konnte das Problem allerdings nicht reproduziert werden!!
			var closeFlyout = false;
			if (evt.pageX <= flyOutOffset.left ||
				evt.pageY <= flyOutOffset.top ||
				evt.pageX >= flyOutOffset.left + flyOut.width() ||
				evt.pageY >= flyOutOffset.top + flyOut.height()) {
					closeFlyout = true;
				}
			
			//$('div.login').append('<p>'+flyOut.width()+'</p>');
			if (closeFlyout) {
				// zusätzlich für IE 7 und 8 als inline Element 
				// scheint so das der IE damit probleme hat
				if ( $.browser.msie ) {
					var ver = $.browser.version ;
					if(ver == '7.0' || ver == '8.0')
						newThis.children('div.tx-mmgetpagecontent-pi1').css('display','none');
				}
				newThis.removeClass('is-open');			
			}	
		});
		
	
		
		
	} catch (e) {}
	
	/* ---------- Hauptmenüverlinkung deaktivieren ---------- */
	// die Deaktivierung über TS kann n icht erfolgen, da sonst der RO-Effekt nicht generiert wird
	// ist JS deaktiviert arbeiten Links ganz normal
	try {
		$('.disabled-link').click( function() {
			return false;
		});
	} catch (e) {}
	
});


