// CSS Browser Selector   v0.2.3
// Documentation:         http://rafael.adm.br/css_browser_selector
// License:               http://creativecommons.org/licenses/by/2.5/
// Author:                Rafael Lima (http://rafael.adm.br)
// Contributors:          http://rafael.adm.br/css_browser_selector#contributors
var css_browser_selector = function() {
	var 
		ua = navigator.userAgent.toLowerCase(),
		is = function(t){ return ua.indexOf(t) != -1; },
		h = document.getElementsByTagName('html')[0],
		b = (!(/opera|webtv/i.test(ua)) && /msie (\d)/.test(ua)) ? ((is('mac') ? 'ieMac ' : '') + 'ie ie' + RegExp.$1)
			: is('gecko/') ? 'gecko' : is('opera') ? 'opera' : is('konqueror') ? 'konqueror' : is('applewebkit/') ? 'webkit safari' : is('mozilla/') ? 'gecko' : '',
		os = (is('x11') || is('linux')) ? ' linux' : is('mac') ? ' mac' : is('win') ? ' win' : '';
	var c = b+os+' js';
	h.className += h.className?' '+c:c;
}();

// dom scripting, s. 103
function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func()
		}
	}
}

// thias 090130

// dom scripting, p. 285f
addLoadEvent(prepareForms);
function prepareForms(){
	for (var i=0; i<document.forms.length; i++) {
		var thisform = document.forms[i];
		resetFields(thisform);
		/*
thisform.onsubmit = function() {
			return validateFields(this);
		}
*/
	}
}

/*
	fragt in jeder form die default-werte der input-felder ab, 
	macht bei onfocus das input-feld leer und 
	bei onblur wieder den alten text rein...
*/
function resetFields(whichform){
	for (var i=0; i<whichform.elements.length; i++) {
		var element = whichform.elements[i];
		if (element.type == "submit") continue;
		if (!element.defaultValue) continue;
		
		element.onfocus = function(){
			if (this.value == this.defaultValue) {
				this.value = "";
			}
		}
		
		element.onblur = function() {
			if (this.value == "") {
				this.value = this.defaultValue;
			}
		}
	}
}

// thias 090130 ENDE

addLoadEvent(bildLinksVorbereiten);

// dom scripting, s. 87
function bildLinksVorbereiten(){
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("bildauswahl")) return false;
	var bildauswahl = document.getElementById("bildauswahl");
	// nur die links bei "bildauswahl" sind betroffen!
	var links = bildauswahl.getElementsByTagName("a");
	for (var i=0; i<links.length; i++){
		links[i].onclick = function(){
			bildZeigen(this.getAttribute("href"));
			
			classeAnfuegen(this, "aktiv");
			
			return false;
		}
	}
}

// dom scripting. s.69
function bildZeigen(quelle){
	if (!document.getElementById) return false;
	var objekt = "bild";
	if (!document.getElementById(objekt)) return false;
	var objektID = document.getElementById(objekt);
	objektID.setAttribute("src",quelle);
}

// dom scripting. s.200
function classeAnfuegen(element, wert){
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("bildauswahl")) return false;
	var bildauswahl = document.getElementById("bildauswahl");
	// nur die links bei "bildauswahl" sind betroffen!
	var links = bildauswahl.getElementsByTagName("a");
	// zuerst von allen links die class entfernen
	for (var i=0; i<links.length; i++){
		links[i].className = "";
	}
	// dann dem betroffenen classe anfuegen
	element.className = wert;
}

// thias 17.8.2008
// bilder am rechten rand werden zufaellig bei starten der website aufgerufen
// diese blenden dann sanft ein!
//"bild" zuerst unsichtbar machen
document.write("<style type='text/css'>img#bild {visibility:hidden;} </style>"); 
addLoadEvent(zufallsStartBild);
function zufallsStartBild(){
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	
	var objekt = "bild";
	if (!document.getElementById(objekt)) return false;
	var objektID = document.getElementById(objekt);
	// ganz durchsichtig machen
	setOpacity(objektID, 0); 
	
	if (!document.getElementById("bildauswahl")) return false;
	var bildauswahl = document.getElementById("bildauswahl");
	
	// nur die links bei "bildauswahl" sind betroffen!
	var links = bildauswahl.getElementsByTagName("a");
	var linksAnzahl = links.length;
	var z = Math.round(Math.random() * (linksAnzahl - 1)); // -1 weil array bei 0 anfängt! z = zufallszahl
	
	bildZeigen(links[z].getAttribute("href"));
	classeAnfuegen(links[z], "aktiv");
	
	//jetzt wieder sichtbar machen uns sanft einblenden
	objektID.style.visibility = "visible";
	fadeIn("bild",0);
}

// image fadeIn
// http://clagnut.com/sandbox/imagefades/
function fadeIn(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += 10;
			window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 50); //umso kuerzer, um so schneller
		}
	}
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}
