// MOOTOOLS

// Objekt für alle Funktionen die innerhalb Seite ausgeführt werden sollen definieren
var site = {
	
	// Funktion die aufgerufen wird, nachdem Seite vollständig geladen wurde
	start: function() {
		
		// TOOLTIPPS
		// Für alle Elemente mit title Attribut und der Klasse ".tooltip" Tooltips generieren
		 var myTips = new Tips($$('.tooltip'), {
			// Verzögerung bis zum Anzeigen auf 0 setzen
			timeOut: 0,
			// beim Anzeigen einfaden
			onShow: function(tip){
				//tip.setStyle('visibility', 'visible'); -< this is the default, to be overridden in the options like this:
				var tipsFadeIn = new Fx.Style(tip, 'opacity', {duration: 150});
				tipsFadeIn.start(1);
			},
			// beim verstecken ausfaden
			onHide: function(tip){
				var tipsFadeOut = new Fx.Style(tip, 'opacity', {duration: 150});
				tipsFadeOut.start(0);
			}
		  });
		 
		 // Anzeigen der Standard Tooltips des IE verhinden
		 // Dieser zeigt ALT Tag von bildern an
		 var allToolTipLinks = $$('.tooltip img');
		 for(var i=0; i<allToolTipLinks.length; i++) {
			allToolTipLinks[i].alt = '';
		 }
	}
};

//----------------------------------------------------------------------

// Funktion lädt beim MouseOver über einen Link eine Grafik in einen <div> Container
// Bei MouseOut wird die Grafik wieder aus dem DOM entfernt
// Link muss wie folgt aussehen
// <a href="..." rel="rollover" class="dateiname" title="Linktitel">Link</a>

// ID des Containers in dem Grafiken angezeigt werden
var containerID = "bildanzeige";

// [optional] Verzeichnis in dem sich die Grafiken befinden (Pfad relativ von HTML Datei aus)
var grafikVerz = "";

// [optional] Dateiendung der Grafiken
var dateiendung = "";

function linkRolloverImageOn(element){
	
	// <div> Element mit ID für Rollover Grafiken auslesen
	var ziel = document.getElementById(containerID);
	
	// Wenn bereits Bild vorhanden dieses Entfernen
	// Erstes Element in <div> Container (Grafik) auswählen
	var grafik = ziel.childNodes[ziel.childNodes.length-1];
	
	if(grafik) {
		// Grafik entfernen
		ziel.removeChild(grafik);
	};
	
	// Klassenname des Links auslesen
	var dateiname = element.className;
	
	// Pfad zur Datei generieren
	dateiname = grafikVerz+dateiname+dateiendung;
	
	// Grafikdatei erzeugen
	var grafik = document.createElement("img");
	// Quelle des Bildes einfügen
	grafik.setAttribute("src",dateiname);
	
	// Grafik dem <div> Container anfügen
	ziel.appendChild(grafik);
}

function linkRolloverImageOff(){
	
	/*
	// <div> Element mit ID für Rollover Grafiken auslesen
	var ziel = document.getElementById(containerID);
	
	// Erstes Element in <div> Container (Grafik) auswählen
	var grafik = ziel.childNodes[ziel.childNodes.length-1];

	// Grafik entfernen
	ziel.removeChild(grafik);	
	*/
}


function linkRolloverImageSetup(){
  
	// Alle Link Tags des Dokuments in Array schreiben
	var linktag = document.getElementsByTagName("a");
	
	// Einzelnes Linktag abarbeiten
	for (var i=0; i<linktag.length; i++){
		
		// Überprüfen ob Linktag rel="rollover" hat
		if(/rollover/.test(linktag[i].rel)) {
			
			// Klassennamen des Links auslesen
			// Dieser entspricht dem Dateinamen der Grafik die angezeigt werden soll
			// Verzeichnis und Dateiendung werden Dateinamen hinzugefügt
			var rolloversrc = linktag[i].getAttribute("class");
			rolloversrc = grafikVerz+rolloversrc+dateiendung;
			
			// Grafikdatei preloaden
			linktag[i].rolloversrc_img = new Image();
			linktag[i].rolloversrc_img.src = rolloversrc;
			
			// Event Handler
			linktag[i].onmouseover=function(){linkRolloverImageOn(this);};
			linktag[i].onmouseout=function(){linkRolloverImageOff();};
		}
	}
}


//----------------------------------------------------------------------

// Funktion zum Hinzufügen eines onchange Events für Produkt Direktwahl Formular
// Dadurch wird wert der <select> Box bei Auswahl einer Option automatisch versendet

function produktDirektWahl(){
  
	// <select> Element mit ID für Produkt Direktwahl auslesen
	var select_elem = document.getElementById("produktselect");
	
	// Select Element Die OnChange Funktion anfügen
	select_elem.onchange=function(){this.form.submit();};
}


//----------------------------------------------------------------------

// Funktion fügt Links mit Klasse "backlink" JavaScript Funktion hinbzu um eine Seite zurückzuspringen

function backLink(){
  
	// <select> Element mit ID für Produkt Direktwahl auslesen
	var allBackLinks = $$("a.backlink");
	
	for(var i=0; i<allBackLinks.length; i++) {
		allBackLinks[i].setAttribute('href', 'javascript:history.back()');
	}
}

//----------------------------------------------------------------------

// Effekte Laden wenn Seite komplett geladen ist
window.addEvent('domready', site.start);
window.addEvent('domready', produktDirektWahl);
window.addEvent('domready', linkRolloverImageSetup);
window.addEvent('domready', backLink);
