//####################################################
//  Armortisationsrechner
//  angepasst wegen Föderung Freifeld, ohne Kunde-Feld   
//####################################################


 // Einsntellung der Gaspreise
 // Variablendefinition Global
 // Komma als Dezimalpunkt
 
  var kmjahr = 15000;
  var verbrauch = 8;
  var umruestungin = 2500;
 
   

// Variablendefinition Kraftstoff aus gaspreise.js
	var erdgaspreis = avg_cngpreis;


/////////////////////////////////////////////////////////
///  DO NOT CHANGE BELOW  -  AB HIER KEINE ÄNDERUNGEN  //
////////////////////////////////////////////////////////


// Erdgaspreis überschreiben, falls lokaler Preis manuel angegeben:
function alterprice()  {
   erdgaspreis = inkomma(this.document.amort.erdgaslocal.value);
   document.amort.erdgas.value = outkomma(erdgaspreis,3) + " €";
   }

// Variablen bei Load an Form übergeben 

window.onload=init;
function init()  {
   document.amort.kmjahr.value = kmjahr;
   document.amort.verbrauch.value = verbrauch;
   document.amort.umruestungin.value = umruestungin;
   document.amort.benzin.value = outkomma(benzinpreis,2);
   document.amort.diesel.value = outkomma(dieselpreis,2);
   document.amort.erdgas.value = outkomma(erdgaspreis,3) + " €";
   document.amort.erdgaslocal.value = outkomma(erdgaspreis,3);
 
  }
  
//Berechnung Armortisation

function amortisation() {

  //pruefen der Eingabefelder auf erwartete Werte
  if (formalert()== false)  return;
   
	
	// Variablendefinition aus Form-Feldern holen.
  // Bei Handeingabe mgl. unterschiedlich 
	var kostenjetzt = 0;
	var erdgaskosten = 0;
	var ersparnis = 0;	
	var amortisation = 0;
	var amortisationjahre = 0;
	var preis = 0;
	var ergebniskm = 0;
	var kmjahr = inkomma(this.document.amort.kmjahr.value);
	var umruestungin = inkomma(this.document.amort.umruestungin.value);
	var verbrauch = inkomma(this.document.amort.verbrauch.value);
	var benzinpreis = inkomma(this.document.amort.benzin.value);
	var dieselpreis = inkomma(this.document.amort.diesel.value);
	var foerderungkg = inkomma(this.document.amort.foerderungkg.value);
	var gasgruppe = this.document.amort.gasgruppe.value;
  var umruestung = 0; // kosten abzgl. Förderung
	var foerderung = 0; // Förderung SW
  
  var foerderungtype = this.document.amort.foerderungtype.value;
 
 
// variablen 100km
	var preiskm = 0;
	var epreiskm = 0;	
	var ersparnis = 0;
  var faktor = 0;

//pruefen welche Checkbox angeklickt ist (Benzin,Diesel)	

	if (document.amort.kraftstoff[0].checked == true) {
			preis = benzinpreis;
			if (gasgruppe == 'L') faktor = 1.3;
      else faktor = 1.5; // H-Gas
			document.amort.art1.value = "Benzin";
			document.amort.art2.value = "(Benzin)";
      
	}
	if (document.amort.kraftstoff[1].checked == true) {
			preis = dieselpreis;
			if (gasgruppe == 'L') faktor = 1.1;
      else faktor = 1.28; // H-Gas
     	document.amort.art1.value = "Diesel";
			document.amort.art2.value = "(Diesel)";

	}

// Ersparnis berechnen und ausgeben
	everbrauch = verbrauch / faktor;
	preiskm = preis * verbrauch;
	epreiskm = erdgaspreis * everbrauch;
	ersparnis = preiskm - epreiskm ;
  document.amort.ersparnis.value = outkomma(ersparnis,2);

//  Umrüstung Förderung berücksichtigen


if (foerderungtype == "eur" && foerderungkg >= 1) {  
		umruestung = umruestungin - foerderungkg;
} else if(foerderungtype == "kg" && foerderungkg >= 1) {

umruestung = umruestungin - (foerderungkg * erdgaspreis);

}	else umruestung = umruestungin;


// Förderung berechnen und prüfen, ob Mehrkosten negativ (sieht doof aus)
	foerderung = umruestungin - umruestung;
	foerderung = foerderung +0;

  nonegative(umruestung);
  
// Ausgabe KM im Formular als neue Variable	
  document.amort.kmjahr1.value = kmjahr +" km";

// Förderung (werte) in Formular übergeben und runden
	document.amort.foerderung.value = outkomma(foerderung,2) + " EUR";
 	document.amort.umruestung.value = outkomma(umruestung,0) + " EUR";


//Berechnung der Amortisation
	kostenjetzt = (kmjahr/ 100 * verbrauch * preis);
	erdgaskosten = (kmjahr / 100 * verbrauch/faktor *erdgaspreis);
	ersparnis = kostenjetzt - erdgaskosten;
	amortisationjahre = umruestung / ersparnis;
	ergebniskm = amortisationjahre * kmjahr;//kmjahrende+10;
	
	//Ausgabe der errechneten Werte in den Formularfeldern
  //	document.amort.kmjahr2.value = kmjahr + " km";
	document.amort.kostenj.value = outkomma(kostenjetzt,0) + " EUR";
	document.amort.kostene.value = outkomma(erdgaskosten,0) + " EUR";
	document.amort.erspar.value = outkomma(ersparnis,0) + " EUR";
	document.amort.ergebnis.value = outkomma(ergebniskm,0) + " km";
	if (amortisationjahre >= 0.9 && amortisationjahre <= 1.1) {
		document.amort.jahre.value = "einem Jahr";
	}
	else document.amort.jahre.value = outkomma(amortisationjahre,1) + " Jahren";
}


// Dezimalkomma in Punkt und als Zahl definieren
function inkomma(str) {
   var str2 = str.split(',').join('.');
   return parseFloat(str2); 
}


//Ausgabe als Dezimalkomma mit def. Nachkommastellen keine negativen werte
// x = zu rundender Wert, n = Nachkomastellen	
function outkomma(x,n) {
  if (x <= 0 || x == Number.POSITIVE_INFINITY) return 0;
  var k = (Math.round(x * 10000) / 10000).toString();
  if (n == 1) var k = (Math.round(x * 10) / 10).toString();
  if (n == 2) var k = (Math.round(x * 100) / 100).toString();
  if (n == 3) var k = (Math.round(x * 1000) / 1000).toString();
   
  k += (k.indexOf('.') == -1)? '.00' : '00';
  var p = k.indexOf('.');
  if (n == 0) return k.substring(0, p); // Kein Komma ohne Nachstellen
  else return k.substring(0, p) + ',' + k.substring(p+1, p+n+1);
  }

function nonegative(value) {
  if (value < 0) value = 0;
	return value;
}

//pruefen der Eingabefelder auf erwartete Werte
function formalert() {

	if (document.amort.kmjahr.value == "" && document.amort.verbrauch.value == "" && document.amort.umruestungin.value == "") {
		alert("Um eine Amortisationsberechnung durchzuführen müssen Sie die Felder km/Jahr, Verbrauch und Kosten für Umrüstung oder Neukauf ausfüllen.");
		return false;
	}
	if (document.amort.kmjahr.value == "" && document.amort.verbrauch.value == "" && document.amort.umruestungin.value != "") {
		alert("Um eine Amortisationsberechnung durchzuführen müssen Sie die Felder km/Jahr und Verbrauch ausfüllen.");
		return false;
	}
	if (document.amort.kmjahr.value == "" && document.amort.verbrauch.value != "" && document.amort.umruestungin.value != "") {
		alert("Um eine Amortisationsberechnung durchzuführen müssen Sie das Feld km/Jahr ausfüllen.");
		return false;
	}
	if (document.amort.kmjahr.value != "" && document.amort.verbrauch.value == "" && document.amort.umruestungin.value != "") {
		alert("Um eine Amortisationsberechnung durchzuführen müssen Sie das Feld Verbrauch ausfüllen.");
		return false;
	}
	if (document.amort.kmjahr.value != "" && document.amort.verbrauch.value != "" && document.amort.umruestungin.value == "") {
		alert("Um eine Amortisationsberechnung durchzuführen müssen Sie das Feld Kosten für Umrüstung oder Neukauf ausfüllen.");
		return false;
	}
	if (document.amort.kmjahr.value == "" && document.amort.verbrauch.value != "" && document.amort.umruestungin.value == "") {
		alert("Um eine Amortisationsberechnung durchzuführen müssen Sie die Felder km/Jahr und Kosten für Umrüstung oder Neukauf ausfüllen.");
		return false;
	}
	if (document.amort.kmjahr.value != "" && document.amort.verbrauch.value == "" && document.amort.umruestungin.value == "") {
		alert("Um eine Amortisationsberechnung durchzuführen müssen Sie die Felder Verbrauch und Kosten für Umrüstung oder Neukauf ausfüllen.");
		return false;
	}
	if (document.amort.kmjahr.value < 1000) {
		alert("Bitte geben Sie einen Wert über 1000 km an.");
		return false;
	}
	

	
	//pruefen,ob eine Checkbox angeklickt ist
	if (document.amort.kraftstoff[0].checked == false && document.amort.kraftstoff[1].checked == false) {
		alert("Bitte wählen Sie eine Kraftstoffart aus");
		return false;
	}
}

