﻿window.onload = initAll;

var flag;
var redInputs;
var formOk;
function initAll() {
	resetSite();
	flag=false;
	redInputs = new Array();
}	



function showFlyout1() {
	
	if(!flag){
		document.getElementById("btnVorlagen").style.backgroundImage="url(fileadmin/wassersparkalkulator/img/btn_vorlagen2.gif)";
		document.getElementById("flyoutVorlagen").style.display = "block";		
	}
	else{
		document.getElementById("flyoutVorlagen").style.display = "none";
		document.getElementById("btnVorlagen").style.backgroundImage="url(fileadmin/wassersparkalkulator/img/btn_vorlagen.gif)"; 					
		}
	flag = !flag;
	
}


function hideFlyout1() {
	if(document.getElementById("flyoutVorlagen").style.display == "block")
	{
		document.getElementById("flyoutVorlagen").style.display = "none";
		document.getElementById("btnVorlagen").style.backgroundImage="url(fileadmin/wassersparkalkulator/img/btn_vorlagen.gif)"; 					
		flag = !flag;

	}
}
	
function toggleDivOn() {
		this.style.display = "block";
		return false;
}

	
function toggleDivOff() {
		this.style.display = "none";
		return false;
}

function underlineText(text1){
	document.getElementById(text1).style.textDecoration="underline";
}

function normalText(text1){
	document.getElementById(text1).style.textDecoration="none";
}

function setValues(vorlage, wcs, sp1, sp2, wc1, wc2,fWasser, aWasser) {
	
	    if(document.getElementById("details").style.display=="block")
	    {
    		document.getElementById("details").style.display="none"; //details ausblenden
    	}

	    document.getElementById("aktuelleVorlage").innerHTML=vorlage;	
		document.kalkulator.wcs.value=wcs;
		document.kalkulator.spuelung1.value=sp1;
		document.kalkulator.spuelung2.value=sp2;
		document.kalkulator.oldWC.value=wc1;
		document.kalkulator.newWC.value=wc2;
		document.kalkulator.frischwasser.value=fWasser;		
		document.kalkulator.abwasser.value=aWasser;		

		document.getElementById("btnVorlagen").style.backgroundImage="url(fileadmin/wassersparkalkulator/img/btn_vorlagen.gif)"; 
		document.getElementById("flyoutVorlagen").style.display = "none";				
		flag = !flag;
		
		berechnen();
}

function setIndividuell() {
	    if(document.getElementById("ersparnis").style.display=="block")
	    {
	    	document.getElementById("ersparnis").style.display="none";
			document.getElementById("detailsEinblenden").style.display="none";	
	
		    if(document.getElementById("details").style.display=="block")
		    {
	    		document.getElementById("details").style.display="none"; //details ausblenden
	    	}
	    }

	    document.getElementById("aktuelleVorlage").innerHTML="Individuelle Kalkulation";	
		document.kalkulator.wcs.value="";
		document.kalkulator.spuelung1.value="";
		document.kalkulator.spuelung2.value="";
		document.kalkulator.oldWC.value="";
		document.kalkulator.newWC.value="";
		document.kalkulator.frischwasser.value="";		
		document.kalkulator.abwasser.value="";		

		document.getElementById("btnVorlagen").style.backgroundImage="url(fileadmin/wassersparkalkulator/img/btn_vorlagen.gif)"; 
		document.getElementById("flyoutVorlagen").style.display = "none";				
		flag = !flag;
}


function resetSite() {
	    document.getElementById("aktuelleVorlage").innerHTML="Individuelle Kalkulation";	
		document.kalkulator.wcs.value="";
		document.kalkulator.spuelung1.value="";
		document.kalkulator.spuelung2.value="";
		document.kalkulator.oldWC.value="";
		document.kalkulator.newWC.value="";
		document.kalkulator.frischwasser.value="";		
		document.kalkulator.abwasser.value="";		
		
		return false;
}




function setDurchschnitt(fWasser, aWasser) {
		document.kalkulator.frischwasser.value=fWasser;		
		document.kalkulator.abwasser.value=aWasser;				
		return false;
}

function btnHover(){
		document.getElementById("btnBerechnen").style.backgroundImage="url(fileadmin/wassersparkalkulator/img/btn_berechnen2.jpg)"; 		
	}

function btnMouseOut(){
		document.getElementById("btnBerechnen").style.backgroundImage="url(fileadmin/wassersparkalkulator/img/btn_berechnen.jpg)"; 		
	}	






function setRedBorder(inputField)
{
    inputField.style.border="2px solid #d35858";
    redInputs[redInputs.length] = inputField;
}





function berechnen(){
	
	if(formOk == false) // ist formOK = false sind bereits input fields rot umrandet --> diese roten border müssen weg
	{
		if(redInputs.length > 0)
		{
			for (var i = 0; i < redInputs.length; ++i) { 				redInputs[i].style.border="1px solid #96aec5";
			}
			redInputs = new Array ();
			document.getElementById("error").style.display="none";	
		}
		
	}

	formOk = true;	

	
	var wcs=document.kalkulator.wcs.value;
	
	tmpWcs=Number(wcs);
	if(isNaN(tmpWcs))  // ist die Eingabe eine Zahl?	{
		if( wcs.search(/,.+/) != -1) // enthält der eingegebene String ein Komma
		{
			wcs = wcs.replace((/,/g), "."); // Komma durch Punkt ersetzen
		}
		
		tmpWcs=Number(wcs);
		if(isNaN(tmpWcs))		{	
			setRedBorder(document.kalkulator.wcs);
			formOk = false;
		}	}
	else{
		if(wcs=="")
		{ 
			setRedBorder(document.kalkulator.wcs);
			formOk = false;
		}
	}
	wcs=Number(wcs);
		
			
	var sp1=document.kalkulator.spuelung1.value;
	
	tmpsp1=Number(sp1);
	if(isNaN(tmpsp1))  // ist die Eingabe eine Zahl?	{
		if( sp1.search(/,.+/) != -1) // enthält der eingegebene String ein Komma
		{
			sp1 = sp1.replace((/,/g), "."); // Komma durch Punkt ersetzen
		}
		
		tmpsp1=Number(sp1);
		if(isNaN(tmpsp1))		{				setRedBorder(document.kalkulator.spuelung1);
			formOk = false;
		}	}
	else{
		if(sp1=="")
		{ 
			setRedBorder(document.kalkulator.spuelung1);
			formOk = false;
		}
	}	
	sp1=Number(sp1);
	
	var sp2=document.kalkulator.spuelung2.value;
	
	tmpsp2=Number(sp2);
	if(isNaN(tmpsp2))  // ist die Eingabe eine Zahl?	{
		if( sp2.search(/,.+/) != -1) // enthält der eingegebene String ein Komma
		{
			sp2 = sp2.replace((/,/g), "."); // Komma durch Punkt ersetzen
		}
		
		tmpsp2=Number(sp2);
		if(isNaN(tmpsp2))		{				setRedBorder(document.kalkulator.spuelung2);
			formOk = false;
		}	}
	else{
		if(sp2=="")
		{ 
			setRedBorder(document.kalkulator.spuelung2);
			formOk = false;
		}
	}	
	sp2=Number(sp2);
	
		
	var oldWC= document.kalkulator.oldWC.value;
	tmpoldWC=Number(oldWC);
	if(isNaN(tmpoldWC))  // ist die Eingabe eine Zahl?	{
		if( oldWC.search(/,.+/) != -1) // enthält der eingegebene String ein Komma
		{
			oldWC = oldWC.replace((/,/g), "."); // Komma durch Punkt ersetzen
		}
		
		tmpoldWC=Number(oldWC);
		if(isNaN(tmpoldWC))		{				setRedBorder(document.kalkulator.oldWC);
			formOk = false;
		}	}
	else{
		if(oldWC=="")
		{ 
			setRedBorder(document.kalkulator.oldWC);
			formOk = false;
		}
	}
	oldWC=Number(oldWC);
	
	
	var newWC=document.kalkulator.newWC.value;
	tmpnewWC=Number(newWC);
	if(isNaN(tmpnewWC))  // ist die Eingabe eine Zahl?	{
		if( newWC.search(/,.+/) != -1) // enthält der eingegebene String ein Komma
		{
			newWC = newWC.replace((/,/g), "."); // Komma durch Punkt ersetzen
		}
		
		tmpnewWC=Number(newWC);
		if(isNaN(tmpnewWC))		{				setRedBorder(document.kalkulator.newWC);
			formOk = false;
		}	}
	else{
		if(newWC=="")
		{ 
			setRedBorder(document.kalkulator.newWC);
			formOk = false;
		}
	}
	newWC=Number(newWC);

	
	var fWasser=document.kalkulator.frischwasser.value;		
	tmpfWasser=Number(fWasser);
	if(isNaN(tmpfWasser))  // ist die Eingabe eine Zahl?	{
		if( fWasser.search(/,.+/) != -1) // enthält der eingegebene String ein Komma
		{
			fWasser = fWasser.replace((/,/g), "."); // Komma durch Punkt ersetzen
		}
		
		tmpfWasser=Number(fWasser);
		if(isNaN(tmpfWasser))		{				setRedBorder(document.kalkulator.frischwasser);
			formOk = false;
		}	}
	else{
		if(fWasser=="")
		{ 
			setRedBorder(document.kalkulator.frischwasser);
			formOk = false;
		}
	}	
	fWasser=Number(fWasser);
	
	var aWasser=document.kalkulator.abwasser.value;	
	tmpaWasser=Number(aWasser);
	if(isNaN(tmpaWasser))  // ist die Eingabe eine Zahl?	{
		if( aWasser.search(/,.+/) != -1) // enthält der eingegebene String ein Komma
		{
			aWasser = aWasser.replace((/,/g), "."); // Komma durch Punkt ersetzen
		}
		
		tmpaWasser=Number(aWasser);
		if(isNaN(tmpaWasser))		{				setRedBorder(document.kalkulator.abwasser);
			formOk = false;
		}	}
	else{
		if(aWasser=="")
		{ 
			setRedBorder(document.kalkulator.abwasser);
			formOk = false;
		}
	}	
	aWasser = Number(aWasser);





	if(formOk == true) // Berechnung ausführen wenn im Formular alle Werte korrekt eingegeben wurden
	{


		
		if(newWC>=oldWC) //Neues WC muss weniger verbrauchen als das alte WC
		{
			document.getElementById("errorText").innerHTML= "Der Wasserverbrauch des neuen WCs muss <br /> geringer sein als der Verbrauch des alten WCs.";
			document.getElementById("error").style.display="block";
			setRedBorder(document.kalkulator.newWC);
			formOk = false;	
			
		    if(document.getElementById("ersparnis").style.display=="block")
		    {
		    	document.getElementById("ersparnis").style.display="none";
				document.getElementById("detailsEinblenden").style.display="none";	
		
			    if(document.getElementById("details").style.display=="block")
			    {
		    		document.getElementById("details").style.display="none"; //details ausblenden
		    	}
		    }
	    			
			return false;
		}
	
		wasserpreis=(fWasser + aWasser) / 1000;
		
		// Berechnungen altes WC
		var literOldSparsp;
		if(oldWC <= 6 && oldWC >=4) // liegt der Wasserverprauch einer Vollspülung zwischen 6 und 4 Liter?
		{
			literOldSparsp = 3;	// Sparpülung = 3 Liter		
		}
		else
		{
			literOldSparsp = oldWC * 0.5;		// Sparpülung = 50% der Vollspülung
		}
		
		var literOldWC_proTag = runde(wcs * ((sp1 * oldWC) + (sp2 * literOldSparsp))); // Literverbrauch des alten WC pro Tag
		var euroOldWC_proTag = runde(literOldWC_proTag * wasserpreis);											
	
		var literOldWC_proWoche =runde(literOldWC_proTag * 7);
		var euroOldWC_proWoche = runde(literOldWC_proWoche * wasserpreis);
		
		var literOldWC_proMonat =runde(literOldWC_proTag * 30);
		var euroOldWC_proMonat = runde(literOldWC_proMonat * wasserpreis);
		
		var literOldWC_proJahr = runde(literOldWC_proTag * 365);
		var euroOldWC_proJahr = runde(literOldWC_proJahr * wasserpreis);	
	
	
		// Berechnungen neues WC	
		var literNewSparsp;
		if(newWC <= 6 && newWC >=4) // liegt der Wasserverprauch einer Vollspülung zwischen 6 und 4 Liter?
		{
			literNewSparsp = 3;	// Sparpülung = 3 Liter		
		}
		else
		{
			literNewSparsp = newWC * 0.5;		// Sparpülung = 50% der Vollspülung
		}
			
														
		var literNewWC_proTag =runde(wcs * ((sp1 * newWC) + (sp2 * literNewSparsp))); // Literverbrauch des neuen WC pro Tag
		var euroNewWC_proTag = runde(literNewWC_proTag * wasserpreis);												
	
		var literNewWC_proWoche = runde(literNewWC_proTag * 7);
		var euroNewWC_proWoche = runde(literNewWC_proWoche * wasserpreis);
		
		var literNewWC_proMonat = runde(literNewWC_proTag * 30);
		var euroNewWC_proMonat = runde(literNewWC_proMonat * wasserpreis);
		
		var literNewWC_proJahr = runde(literNewWC_proTag * 365);
		var euroNewWC_proJahr = runde(literNewWC_proJahr * wasserpreis);	
		
	
		var ersparnis_proTag = runde(euroOldWC_proTag - euroNewWC_proTag);	
		var ersparnis_proWoche = runde(euroOldWC_proWoche - euroNewWC_proWoche);		
		var ersparnis_proMonat = runde(euroOldWC_proMonat - euroNewWC_proMonat);	
		var ersparnis = runde(euroOldWC_proJahr - euroNewWC_proJahr);	
	
	
		//Werte in table1 ausgeben
	      
		document.getElementById("wcField").innerHTML="Anzahl WCs: " + wcs;
	
		document.getElementById("sp1Field").innerHTML=unescape("Vollsp%FClungen: " + sp1);	
		document.getElementById("sp2Field").innerHTML=unescape("Sparsp%FClungen: " + sp2);	
		document.getElementById("oldWCField").innerHTML="Altes WC: " + oldWC +" Liter";	
		document.getElementById("newWCField").innerHTML="Neues WC: " + newWC +" Liter";	
		document.getElementById("fWasserField").innerHTML="Frischwasser: " + fWasser +" &euro;";	
		document.getElementById("aWasserField").innerHTML="Abwasser: " + aWasser + " &euro;";		
		document.getElementById("ergebnis").innerHTML= "+ " + ersparnis + "&euro;";
		
		document.getElementById("oldWCFieldTable2").innerHTML=oldWC +" Liter <br> WC";	
		document.getElementById("newWCFieldTable2").innerHTML=newWC +" Liter <br> WC";	
		
		document.getElementById("literNewWC_proTag").innerHTML=literNewWC_proTag + " Liter";
		document.getElementById("euroNewWC_proTag").innerHTML=euroNewWC_proTag +" &euro;";										
		document.getElementById("literNewWC_proWoche").innerHTML=literNewWC_proWoche + " Liter";
		document.getElementById("euroNewWC_proWoche").innerHTML=euroNewWC_proWoche +" &euro;";
		document.getElementById("literNewWC_proMonat").innerHTML=literNewWC_proMonat + " Liter";
		document.getElementById("euroNewWC_proMonat").innerHTML=euroNewWC_proMonat +" &euro;";
		document.getElementById("literNewWC_proJahr").innerHTML=literNewWC_proJahr + " Liter";
		document.getElementById("euroNewWC_proJahr").innerHTML=euroNewWC_proJahr	+" &euro;";
	
		document.getElementById("literOldWC_proTag").innerHTML=literOldWC_proTag + " Liter";
		document.getElementById("euroOldWC_proTag").innerHTML=euroOldWC_proTag +" &euro;";										
		document.getElementById("literOldWC_proWoche").innerHTML=literOldWC_proWoche + " Liter";
		document.getElementById("euroOldWC_proWoche").innerHTML=euroOldWC_proWoche +" &euro;";
		document.getElementById("literOldWC_proMonat").innerHTML=literOldWC_proMonat + " Liter";
		document.getElementById("euroOldWC_proMonat").innerHTML=euroOldWC_proMonat +" &euro;";
		document.getElementById("literOldWC_proJahr").innerHTML=literOldWC_proJahr + " Liter";
		document.getElementById("euroOldWC_proJahr").innerHTML=euroOldWC_proJahr	+" &euro;";
	
		document.getElementById("ersparnis_proTag").innerHTML=ersparnis_proTag	+" &euro;";
		document.getElementById("ersparnis_proWoche").innerHTML=ersparnis_proWoche	+" &euro;";
		document.getElementById("ersparnis_proMonat").innerHTML=ersparnis_proMonat	+" &euro;";
		document.getElementById("ersparnis_proJahr").innerHTML=ersparnis	+" &euro;";
						
		document.getElementById("ersparnis").style.display="block";
		document.getElementById("detailsEinblenden").style.display="block";	
	}
	else
	{	
		document.getElementById("errorText").innerHTML= "Tragen Sie in die rot <br /> gekennzeichneten Felder eine Zahl ein.";
		document.getElementById("error").style.display="block";

	    if(document.getElementById("ersparnis").style.display=="block")
	    {
	    	document.getElementById("ersparnis").style.display="none";
			document.getElementById("detailsEinblenden").style.display="none";	
	
		    if(document.getElementById("details").style.display=="block")
		    {
	    		document.getElementById("details").style.display="none"; //details ausblenden
	    	}
	    }
	}
}


function runde(x) {
  var k = (Math.round(x * 100) / 100).toString();  k += (k.indexOf('.') == -1)? '.00' : '00';  return k.substring(0, k.indexOf('.') + 3);}


function detailsEinblenden(){
		document.getElementById("details").style.display="block";	
}


function detailsAusblenden(){
		document.getElementById("details").style.display="none";	
}