/*

	application.js -- Applikationsweite Javascripts
	(C) 2007 Dibomedia Internetservices
	Autor: Stefan Keller, sk #at# dibomedia #dot# de
	File-Encoding: UTF-8


*/

/* ------------------------------------------------------------------------- */

// Regeln füer die Behaviour-Lib
// Die Javascript-Bibliothek Behaviour erlaubt die Definition von Event-
// Handlern auszerhalb einer HTML-Datei und somit die saubere Trennung von 
// Javascript und HTML.
// Mehr üeber Behaviour: http://www.bennolan.com/behaviour/

var wso_rules = {

	// Die Topmenüepunkte sind normale DIVs mit einem verlinkten Text.
	// Wir wollen erreichen, dass nicht nur der Textlink selbst, sondern auch
	// das DIV, das ihn enthaelt, anklickbar sein soll.
	// Wir ermitteln dazu einfach den ersten Link im DIV und nehmen dessen URL,
	// um bei Mausklick dahin weiterzuleiten.
	'div.topmenuitem' : function(element){
		element.onclick = function(){
			if (!this.id) return;
			var node = document.getElementById(this.id).firstChild;
			while (node != null) {
				// Zur URL des ersten Links im div springen
				if (node.nodeName == 'A' && node.href) {
					document.location.href=node.href;
					return;
				}
			  node = node.nextSibling;
			}
		}
	},

	// Das gleiche soll auch füer Untermenüepunkte gelten.
	'div.submenuitem' : function(element){
		element.onclick = function() {
			if ( !this.id ) return;
			var node = document.getElementById(this.id).firstChild;
			while ( node != null ) {
				// Zur URL des ersten Links im div springen
				if ( node.nodeName == 'A' && node.href ) {
					document.location.href=node.href;
					return;
				}
			  node = node.nextSibling;
			}
		}
	},

	// Die Tontraeger-Thumbs sollen auf Mausklick eine vergroeszerte Vorschau  
	// zeigen. Die Vorschauen liegen unter gleichem Namen wie die Thumbs
	// im Ordner '/images/tontraeger/big/ und sind dimensional exakt
	// dreimal groeszer als der Thumbnail. Das erlaubt uns das rechnerische
	// Anpassen der Fenstergroesze bezogen auf das Bild.
	'img.cd' : function(element){
		element.onclick = function() {
			if ( !this.src ) return;
			scale_factor = 3;
			// Bildnamen aus dem src-Attribut des Bildes holen
			image_name = this.src.split("/")[this.src.split("/").length - 1];
			// Bild in einem Popup-Fenster anzeigen
			opts = 'width='+ ((this.width * scale_factor)+3) +',height='+ ((this.height * scale_factor)+3) +',resizable=yes';
			img_abspath = "/images/tontraeger/big/" + image_name;
			// Warum image_name.split(".")[0]? Weil IE5.5 und 6 mit dem Punkt
			// im Dateinamen als Fensterbezeichner nicht klarkommen.
			f = window.open(img_abspath, image_name.split(".")[0], opts);
			f.focus();
		}
	},

	// Ein Klick auf das Logo soll zur Startseite füehren
	'#logo_header' : function(element){
		element.onclick = function() {
			document.location.href="/";
			return;
		}
	},

	'#logo_navbar' : function(element){
		element.onclick = function() {
			document.location.href="/";
			return;
		}
	}

};

Behaviour.register(wso_rules);

/* ------------------------------------------------------------------------- */

