/**FILE FÜR ALLE KLEINEREN JS**/


// seitenrating
function changeImage (wert,name){
	this.document.getElementById(name).src = "pic-content/thermo"+wert+".gif";
}


// infobox 
function infoboxOver (n) {
	var node = document.getElementById(n);
	node.style.display = "block";
}
function infoboxOut(n) {
	var node = document.getElementById(n);
	node.style.display = "none";
}




// fuugus, 16. nov. 2009

// allgemeine ajax funktion die automatisch alle formfields absendet, für evolution displaynoframe setzt sowie 
// das resultat des ajax-calls in einen vordefinierten container schreibt. geht aus wenn das form im container ist.
// node = this
// formname = name des formulars (alle formfields ausser button/submit werden übernommen)
// container = id des DIV containers welcher durch den neuen HTML content ersetzt wird

// SPECIAL A
// falls eine funktion mit namen "#formname#_onLoad" existiert wird diese 
// nach dem laden des ajaxcalls ausgeführt 

// SPECIAL B
// falls span elemente innerhalb des containers den namen "ajaxfade" haben, und es vor und nach dem call die gleiche
// anzahl in der gleichen reihenfolge sind, wird (nur für geänderte werte!) ein fade des textes von rot 
// nach "ursprungsfarbe" vorgenommen.


// aufruf zb aus inc.tragbarkeit.ergebnis.cfm
// achtung: bitte auf jeden fall alle forms so programmieren dass sie auch ohne JS funktionieren. 
// 			mit isDefined(submit button name) arbeiten
var replaceAktionFadeList = null;
function replaceAktion(node, formname, container) {	
	var response = "";
	var nodes = null;
	var url = '';
	var before = null;
	var after = null;
	var b = null;
	var a = null;
	
	// ajax init
	if(window.XMLHttpRequest)
		var http = new XMLHttpRequest(); // die meisten browser inkl. ie7
	else if (window.ActiveXObject)
		var http = new ActiveXObject("Microsoft.XMLHTTP"); // ie5 & ie6
					
	if(http)
	{
	
		// ajax function define 
		http.onreadystatechange = function()
		{
			if(http.readyState == 4) 
			{
				response = http.responseText; // result schreiben
						
				// neuer div container mit http response, dann über alle divs loopen bis boxAjaxContainer gefunden wurde							
				// damit wird der inhalt des containers mit dem neuen inhalt überschrieben
				nodes = document.createElement("div");
				nodes.innerHTML = response;
				nodes = nodes.getElementsByTagName('div');		
				found = false;
				for (var i=0; i<nodes.length; i++) {		
					if (nodes[i].id == container) {		
						found = true;
						before = document.getElementById(container);	
						after = nodes[i];
						
						// SPECIAL B
						b = before.getElementsByTagName('span');
						a = after.getElementsByTagName('span');
						replaceAktionFadeList = new Array();
						if (b.length == a.length) {
							for (var j=0; j<b.length; j++) {	
								a[j].id = '';
								if (b[j].className == 'ajaxfade' && b[j].innerHTML != a[j].innerHTML) {
									a[j].id = 'dofadehere'+replaceAktionFadeList.length;
									replaceAktionFadeList.push(a[j].id);
								}	
							}
						}
						
						before.innerHTML = after.innerHTML;
						
						// SPECIAL A
						try { eval(formname+'_onLoad();'); }	
						catch (e){}
					}
				}
				
				// error handling (z.b. für coldfusionfehler = kein container)
				if(!found) {
					alert('error on this site:\n'+'index.cfm?displaynoframe=1'+url+'&unique=' +Math.random());
				}
				
				replaceAktionFade(51,51,255);
				
			}
		}
		
		// über alle formelemente loopen und [url] mit key/value pairs bestücken
		nodes = document.forms[formname].elements;		
		for (i=0; i<nodes.length; i++) {		
				//checkbox abfangen (true/false) und auf false setzen wenn nicht checked
				if (nodes[i].type == 'checkbox' && nodes[i].value == 'true' && !nodes[i].checked) {
					nodes[i].value='false'
				}
				
				if (nodes[i].type != 'submit' && nodes[i].type != 'button') {
				url = url +'&' +nodes[i].name +'=' +escape(nodes[i].value);
			}
		}
		
		// submit-button noch in url anhängen
		if (node.type == 'submit' || node.type == 'button') {
			url = url +'&' +node.name +'=true';
		}
		
		// ajax http get
		// alert('index.cfm?displaynoframe=1'+url+'&unique=' +Math.random());
		http.open('GET','index.cfm?displaynoframe=1'
			+url
			+'&unique=' +Math.random(),true);
		http.send(null);	
		
	} 
	else {	
		submit();		
	}			
	
	return false;
}
// SPECIAL B
var replaceAktionTimer = null;
function replaceAktionFade(r,g,b) {
	if (replaceAktionFadeList) {
		window.clearTimeout(replaceAktionTimer);
		 
		for (var i=0; i<replaceAktionFadeList.length; i++) {
			document.getElementById('dofadehere'+i).style.color = "rgb("+r+","+g+","+b+")";
		}
		
		r = (r - 5);
		g = (g - 5);
		b = (b - 5);
		
		if (r > 51 || g > 51 || b > 51) // endfarbe >> ja nicht "0" .. sonst gibts einen endlosloop
			replaceAktionTimer = window.setTimeout("replaceAktionFade("+r+","+g+","+b+")", 100);
		/*
		else
			alert('ende der transition');	
		*/
	}
}

