
// Dia-Show im Headr
function Fader(id) {
	this.id = id;
	this.images = document.getElementById(id).getElementsByTagName("img");
	this.counter = 0;

	this.fadeOut = function (step) {
		var fader = this;

		step = step || 0;

		this.images[this.counter].style.opacity = step/100;
		this.images[this.counter].style.filter = "alpha(opacity=" + step + ")"; 

		step = step + 2;

		if (step <= 100) {
			window.setTimeout(function () { fader.fadeOut(step); }, 20);
		} else {
			window.setTimeout(function () { fader.fadeIn(step); }, 7000);
		}
	};

	this.fadeIn = function (step) {
		var fader = this;

		this.images[this.counter].style.opacity = step/100;
		this.images[this.counter].style.filter = "alpha(opacity=" + step + ")"; 

		step = step - 2;

		if (step >= 0) {
			window.setTimeout(function () { fader.fadeIn(step); }, 20);
		} else {
		
			window.setTimeout(function () { fader.next(); }, 1);
		}
	};

	this.next = function () {
		this.counter++;
		if (this.counter >= this.images.length) {
			this.counter = 1;
		}
		this.fadeOut();
	};
}

// Vallidation Index-Seite Vergleichsrechner
function validateForm(script, formName) {	

	var error = '';
	var allNodes = Form.serialize(formName);
	new Ajax.Request(script, {
		method : 'post',
		parameters: allNodes,
		onComplete: function(transport) {
			if (200 == transport.status) {				
				if (transport.responseText != '') {	
					var error = eval('(' + transport.responseText + ')');					
					var error_keys = array_keys(error);		
					for (var i = 0; i < error_keys.length; i++) {
						var errElmnt = document.getElementById(''+error_keys[i]+'Info');						
						alert(error[error_keys[i]]);
						errElmnt.innerHTML = error[error_keys[i]];
						errElmnt.className = 'rowInfo red';						
						document.getElementById(error_keys[i]).focus();
						return false;
					}
				} else {
					document.getElementById(formName).submit();
				}
			}
		}
	});
}

function array_keys( input, search_value, strict ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_keys( {firstname: 'Kevin', surname: 'van Zonneveld'} );
    // *     returns 1: {0: 'firstname', 1: 'surname'}
 
    var tmp_arr = new Array(), strict = !!strict, include = true, cnt = 0;
 
    for ( key in input ){
        include = true;
        if ( search_value != undefined ) {
            if( strict && input[key] !== search_value ){
                include = false;
            } else if( input[key] != search_value ){
                include = false;
            }
        }
 
        if( include ) {
            tmp_arr[cnt] = key;
            cnt++;
        }
    }
 
    return tmp_arr;
}

// Antrag: Prüfung der Checkboxen
function allowSubmit(element) {
    
	if (document.getElementById("agb").checked == true && document.getElementById("bedingungen").checked == true && document.getElementById("datenschutz").checked == true) {
       	document.getElementById("submit").disabled = false;
    } else {
        document.getElementById("submit").disabled = true;
    }
}

// Überprüfung der Anzahl ausgewählter Tarife im Leistungsvergleich / Peter Schories / 08.10.2009
// var zeile - Tabellenzeile der Ergebnisliste (Variable $tr)
// var rechner - Dateiname des Vergleichrechners
function checkVL(zeile,rechner) {
	// Anzahl der Zeilen feststellen
	gesamtAnz = document.getElementsByName('info[]').length;
	// Anzahl der ausgewählten Tarife feststellen
	anz = 0;
	for (i = 0; i < gesamtAnz; ++i){
	  if (document.getElementById('info_' + i).checked == true){
		anz = anz + 1;
	  }
	}
	// Fehlermeldung, wenn kein Tarif ausgewählt ist
	if(anz == 0){
		alert('Für den Leistungsvergleich muss mindestens ein Tarif ausgewählt sein.');
	}
	// Fehlermeldung bei mehr als 3 ausgewählten Tarifen
	if(anz >= 4){
		// Auswahlfenster
		Check = confirm("Es können nur bis zu 3 Tarife verglichen werden. Möchten Sie den Leistungsvergleich mit den bereits vorher ausgewählten Tarifen starten?");		
		if (Check == true){
			// Start des VL
			document.getElementById('info_' + zeile).checked = false;
			var compare_popup = window.open('', 'Compare', 'width=900, height=850, resizable=no, scrollbars=yes');
			document.ergebnisForm.setAttribute('target', 'Compare', 0);
			document.ergebnisForm.setAttribute('action', './' + rechner + '?action=compareRate', 0);
			document.ergebnisForm.setAttribute('action', './' + rechner + '?action=compareRate', 0);
			document.ergebnisForm.submit();compare_popup.focus();
		}
	}
}

