var numParteien = 22; // Erste ID der Parteien bei der aktuellen Wahl (WICHTIG!)
var parteiSuffix = "partei";

if(window.addEventListener){ // Mozilla, Netscape, Firefox
	window.addEventListener( "load", startup, true );
}  else { // IE
	window.attachEvent( "onload", startup );
}

function startup() {
	var O = document.getElementById('summetipprow');
	if( O != null )
		O.style.display = 'block';
	if( !window.addEventListener ) { // IE
			alphaBackgrounds();
			alphaImg();
		}
	var T = document.getElementById( parteiSuffix + numParteien );
	while ( T ) {
		if ( T.value == 0 )
			T.value = "0.0";
		numParteien++;
		T = document.getElementById( parteiSuffix + numParteien );
	}
	calculateSum();
	numParteien--;
	setDefault( document.getElementById("name"), "Vorname Name" );
	setDefault( document.getElementById("email"), "name@domain.com" );
}

function calculateSum() {
	var I, sum=0;
	for ( var i = 1; i <= numParteien; i++ ) {
		I = document.getElementById( parteiSuffix + i );
		if ( I != null ) {
			I.value = I.value.replace(",",".");
			if ( I.value == "" )
				I.value = "0.0";
			if ( isNaN( I.value ) || I.value > 100 || I.value < 0 ) {
				alert('Der angegebene Prozentsatz ist keine gültige Zahlenangabe: '+ I.value );
				I.value = "0.0";
				I.className = "error";
				I.focus();
			} else {
				I.className = "";
				with (Math) {
					I.value = parseFloat(I.value).toFixed(1);
					sum += parseFloat(I.value);
				}
			}
		}
	}
	var rest = (100-sum).toFixed(1);
	if ( rest != 0 ) {
		if ( rest > 0 )
			rest =", es fehlen " + rest + " %";
		else {
			rest =", um " + -rest + " % zu viel";
		}
	} else 
		rest ="";
	var S = document.getElementById("summetipp");
	var newS = document.createTextNode( sum.toFixed(1) + " %" + rest );
	if ( S != null && newS != null ) {
		S.replaceChild( newS, S.firstChild );
		if( sum == "100.0" )
			S.className = "";
		else
			S.className ="error";
	}
}

function validate() {
	var sum=0;
	var error="";
	for ( var i = 1; i <= numParteien; i++ ) {
		I = document.getElementById( parteiSuffix + i );
		if ( I != null ) {
			with (Math) {
				I.value = parseFloat(I.value).toFixed(1);
				sum += parseFloat(I.value);
			}
		}
	}
	if ( parseFloat(sum).toFixed(1) != "100.0" ) {
		error += "Summe der Prozentsätze ist ungleich 100% (aktuell: " + sum + " %).\n";
	}
	var E = document.getElementById("email");
	var N = document.getElementById("name");
	if ( N.value == "Vorname Name" || N.value.length < 3 ) {
		error += "Geben Sie einen gültigen Namen an.\n";
	}
	if ( ( ( E.value.indexOf(".") < 3 ) && ( E.value.indexOf("@") < 1 ) ) || E.value == "name@domain.com" ) {
		error +="Geben Sie eine gültige E-Mail Adresse an.\n"
	}
	if ( error.length > 0 ) {
		alert( error );
		return false;
	} else {
		return true;
	}
}

function removeDefault( O, text ) {
	if ( O.value == text )
		O.value = "";
	else if ( O.value == 0 ) // for konquerer+safari
		O.value = "";
}

function setDefault( O, text ) {
	if ( O != null && O.value == "" )
		O.value = text;
}

function alphaBackgrounds(){
    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
    var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
    for (i=0; i<document.all.length; i++){
		var bg = document.all[i].currentStyle.backgroundImage;
		if (itsAllGood && bg){
			if (bg.match(/\-trans.png/i) != null){
				var mypng = bg.substring(5,bg.length-2);
				document.all[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+mypng+"', sizingMethod='crop')";
				document.all[i].style.backgroundImage = "url('/img/x.gif')";
			}
		}
    }
}

function alphaImg(){
    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
    var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
		if (itsAllGood && img.src.match(/\-trans.png/i) != null){
			img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src + "', sizingMethod='crop')";
			img.src = "/img/x.gif";
		}
	}
}

