var preise = new Object();
preise["2009"] = new Object();
preise["2009"]["woche"] = new Object();
preise["2009"]["streifen"] = 11.00;
preise["2009"]["woche"]["isar"] = new Array(0, 11.50, 11.50, 13.80, 16.40, 18.90, 21.70, 24.30, 26.60, 29.30, 31.80, 34.20, 36.60, 39.30, 42.00, 44.30, 47.10);
preise["2009"]["woche"]["ausbildung2"] = new Array(0, 8.60, 8.60, 10.40, 12.30, 14.20, 16.30, 18.20, 20.00, 22.00, 23.90, 25.70, 27.50, 29.50, 31.50, 33.20, 35.30);
preise["2009"]["monat"] = new Object();
preise["2009"]["monat"]["isar"] = new Array(0, 42.00, 42.00, 50.40, 60.00, 69.20, 79.10, 88.70, 97.10, 106.90, 116.10, 124.80, 133.60, 143.40, 153.30, 161.80, 171.70);
preise["2009"]["monat"]["isar9uhr"] = new Array(0, 45.00, 45.00, 61.00);
preise["2009"]["monat"]["isar60"] = new Array(0, 37.00, 37.00, 53.00);
preise["2009"]["monat"]["ausbildung2"] = new Array(0, 31.50, 31.50, 38.00, 44.90, 51.80, 59.50, 66.40, 73.00, 80.30, 87.20, 93.80, 100.40, 107.70, 115.00, 121.20, 128.80);
preise["2009"]["monat"]["gruenejugend"] = new Array(0, 11.00, 11.00, 22.00);
preise["2010"] = new Object();
preise["2010"]["streifen"] = 11.50;
preise["2010"]["woche"] = new Object();
preise["2010"]["woche"]["isar"] = new Array(0, 12.10, 12.10, 14.50, 17.20, 19.80, 22.70, 25.50, 27.90, 30.70, 33.30, 35.80, 38.30, 41.20, 44.00, 46.40, 49.30);
preise["2010"]["woche"]["ausbildung2"] = new Array(0, 9.00, 9.00, 10.90, 12.90, 14.90, 17.00, 19.10, 20.90, 23.00, 25.00, 26.90, 28.70, 30.90, 33.00, 34.80, 37.00);
preise["2010"]["monat"] = new Object();
preise["2010"]["monat"]["isar"] = new Array(0, 44.20, 44.20, 52.90, 62.80, 72.30, 82.90, 93.10, 101.80, 112.10, 121.50, 130.70, 139.80, 150.40, 160.60, 169.40, 179.90);
preise["2010"]["monat"]["isar9uhr"] = new Array(0, 47.10, 47.10, 63.90);
preise["2010"]["monat"]["isar60"] = new Array(0, 38.70, 38.70, 55.50);
preise["2010"]["monat"]["ausbildung2"] = new Array(0, 32.90, 32.90, 39.80, 47.10, 54.40, 62.00, 69.70, 76.30, 84.00, 91.30, 98.20, 104.80, 112.80, 120.50, 127.00, 135.00);
preise["2010"]["monat"]["gruenejugend"] = new Array(0, 11.50, 11.50, 23.00);

function recalculate(){

    // Strings:
    var monat_typ = $("#monat_typ").val();
    var woche_typ = $("#woche_typ").val();
    
    // Anzahl
    var monat_gruenejugend_raum = parseFloat($("#monat_gruenejugend_raum").val());
    var monat_ringe = parseFloat($("#monat_ringe").val());
    var monat_raum = parseFloat($("#monat_raum").val());
    var woche_ringe = parseFloat($("#woche_ringe").val());
    var ergebnis_zeitraum = parseFloat($("#ergebnis_zeitraum").val());
    
    // eingefügt von Marcel:
    ergebnis_zeitraum = 6.0;
    
    
    var monat_anzahl = parseFloat($("#monat_anzahl").val());
    var monat_gruenejugend_anzahl = parseFloat($("#monat_gruenejugend_anzahl").val());
    var woche_anzahl = parseFloat($("#woche_anzahl").val());
    var streifen_anzahl = parseFloat($("#streifen_anzahl").val());
    
    // Euro
    var zusatz = parseFloat($("#zusatz").val());
    if (isNaN(zusatz) || zusatz < 0) {
        zusatz = 0.0;
    }
    
    var tum_student = $("#tum").is(":checked");
    var use_ausbildung2 = false;
    var monat_preisindex = 0;
    
    if (monat_anzahl > 0) {
        if (monat_typ == "ausbildung2" || monat_typ == "isar") {
            monat_preisindex = monat_ringe;
            $("#box_monat_ringe").show();
            $("#box_monat_raum").hide();
        }
        else {
            monat_preisindex = monat_raum;
            $("#box_monat_ringe").hide();
            $("#box_monat_raum").show();
        }
        if (monat_typ == "ausbildung2") {
            use_ausbildung2 = true;
        }
    }
    else {
        $("#box_monat_ringe").hide();
        $("#box_monat_raum").hide();
    }
    
    if (woche_anzahl > 0) {
        $("#box_woche_ringe").show();
        if (woche_typ == "ausbildung2") {
            use_ausbildung2 = true;
        }
    }
    else {
        $("#box_woche_ringe").hide();
    }
    
    if (use_ausbildung2) {
        $("#monat_gruenejugend_raum").removeAttr('disabled');
        $("#text_gruenejugend").removeClass('grayed-out');
        if (monat_gruenejugend_raum > 0) {
            $("#box_monat_gruenejugend_anzahl").show();
        }
        else {
            $("#box_monat_gruenejugend_anzahl").hide();
            monat_gruenejugend_anzahl = 0;
        }
    }
    else {
        $("#box_monat_gruenejugend_anzahl").hide();
        $("#monat_gruenejugend_raum").attr('disabled', 'disabled');
        $("#text_gruenejugend").addClass('grayed-out');
        monat_gruenejugend_anzahl = 0;
    }
    
    var monat_ergebnis = monat_anzahl * preise["2010"]["monat"][monat_typ][monat_preisindex];
    var monat_ergebnis_alt = monat_anzahl * preise["2009"]["monat"][monat_typ][monat_preisindex];
    $("#monat_ergebnis").text(monat_ergebnis.toFixed(2) + " €");
    $("#monat_ergebnis_alt").text(monat_ergebnis_alt.toFixed(2) + " €");
    
    var monat_gruenejugend_ergebnis = monat_gruenejugend_anzahl * preise["2010"]["monat"]["gruenejugend"][monat_gruenejugend_raum];
    var monat_gruenejugend_ergebnis_alt = monat_gruenejugend_anzahl * preise["2009"]["monat"]["gruenejugend"][monat_gruenejugend_raum];
    $("#monat_gruenejugend_ergebnis").text(monat_gruenejugend_ergebnis.toFixed(2) + " €");
    $("#monat_gruenejugend_ergebnis_alt").text(monat_gruenejugend_ergebnis_alt.toFixed(2) + " €");
    
    var woche_ergebnis = woche_anzahl * preise["2010"]["woche"][woche_typ][woche_ringe];
    var woche_ergebnis_alt = woche_anzahl * preise["2009"]["woche"][woche_typ][woche_ringe];
    $("#woche_ergebnis").text(woche_ergebnis.toFixed(2) + " €");
    $("#woche_ergebnis_alt").text(woche_ergebnis_alt.toFixed(2) + " €");
    
    var streifen_ergebnis = streifen_anzahl * preise["2010"]["streifen"];
    var streifen_ergebnis_alt = streifen_anzahl * preise["2009"]["streifen"];
    $("#streifen_ergebnis").text(streifen_ergebnis.toFixed(2) + " €");
    $("#streifen_ergebnis_alt").text(streifen_ergebnis_alt.toFixed(2) + " €");
    
    var zusatz_ergebnis = zusatz * 1.048;
    var zusatz_ergebnis_alt = zusatz;
    $("#zusatz_ergebnis").text(zusatz_ergebnis.toFixed(2) + " €");
    $("#zusatz_ergebnis_alt").text(zusatz_ergebnis_alt.toFixed(2) + " €");
    
    var ausgaben_zeit = monat_ergebnis + monat_gruenejugend_ergebnis + woche_ergebnis;
    var ausgaben_einzel = streifen_ergebnis + zusatz_ergebnis;
    var ausgaben = ausgaben_zeit + ausgaben_einzel;
    var ausgaben_anzeige = ausgaben * (ergebnis_zeitraum / 6.0);
    var ausgaben_monat = ausgaben / 6.0;
    $("#ausgaben").text(ausgaben.toFixed(2) + " €");
    $("#ausgaben_anzeige").text(ausgaben.toFixed(2) + " €");
    $("#ausgaben_monat").text(ausgaben_monat.toFixed(2) + " €");
    
    var ausgaben_zeit_alt = monat_ergebnis_alt + monat_gruenejugend_ergebnis_alt + woche_ergebnis_alt;
    var ausgaben_einzel_alt = streifen_ergebnis_alt + zusatz_ergebnis_alt;
    var ausgaben_alt = ausgaben_zeit_alt + ausgaben_einzel_alt;
    var ausgaben_alt_anzeige = ausgaben_alt * (ergebnis_zeitraum / 6.0);
    $("#ausgaben_alt").text(ausgaben_alt.toFixed(2) + " €");
    
    
    var preis_sockel = 78.50;
    var preis_aufpreis = 143.50;
    var tum_nachlass = 29.50;
    
    if (tum_student) {
        preis_sockel -= tum_nachlass;
    }
    
    var ausgaben_semeti = preis_sockel + ausgaben;
    
    if (ausgaben_semeti >= preis_sockel + preis_aufpreis) {
        ausgaben_semeti = preis_sockel + preis_aufpreis;
        
        ausgaben_semeti_anzeige = ausgaben_semeti * (ergebnis_zeitraum / 6.0);
        preis_sockel_anzeige = preis_sockel * (ergebnis_zeitraum / 6.0);
        preis_aufpreis_anzeige = preis_aufpreis * (ergebnis_zeitraum / 6.0);
        $("#preis").text(ausgaben_semeti_anzeige.toFixed(2) + " € (= " + preis_sockel_anzeige.toFixed(2) + " € " + sockelbetrag + " + " + preis_aufpreis_anzeige.toFixed(2) + " € " + aufpreis + ")");
        
        ausgaben_semeti_anzeige_monat = ausgaben_semeti / 6.0;
        preis_sockel_anzeige_monat = preis_sockel / 6.0;
        preis_aufpreis_anzeige_monat = preis_aufpreis / 6.0;
        $("#preis_monat").text(ausgaben_semeti_anzeige_monat.toFixed(2) + " € (= " + preis_sockel_anzeige_monat.toFixed(2) + " € " + sockelbetrag + " + " + preis_aufpreis_anzeige_monat.toFixed(2) + " € " + aufpreis + ")");
        
        $("#auswertung_nur_sockel").hide();
        $("#auswertung_sockel").hide();
        $("#auswertung_aufpreis").show();
    }
    else 
        if (ausgaben < 0.01) {
            ausgaben_semeti = preis_sockel;
            ausgaben_semeti_monat = ausgaben_semeti / 6.0;
            $("#preis").text(ausgaben_semeti.toFixed(2) + " € " + sockelbetrag);
            $("#preis_monat").text(ausgaben_semeti_monat.toFixed(2) + " € " + sockelbetrag);
            $("#auswertung_nur_sockel").show();
            $("#auswertung_sockel").hide();
            $("#auswertung_aufpreis").hide();
        }
        else {
            ausgaben_semeti = preis_sockel;
            ausgaben_semeti_monat = ausgaben_semeti / 6.0;
            $("#preis").text(ausgaben_semeti.toFixed(2) + " € " + sockelbetrag + "  +  X");
            $("#preis_monat").text(ausgaben_semeti_monat.toFixed(2) + " € " + sockelbetrag + "  +  X");
            $("#mehrkosten").text(ausgaben.toFixed(2) + " € ");
            $("#mehrkosten_monat").text(ausgaben_monat.toFixed(2) + " € ");
            $("#auswertung_nur_sockel").hide();
            $("#auswertung_sockel").show();
            $("#auswertung_aufpreis").hide();
        }
    
}

jQuery(function($){
    $("select").change(recalculate);
    $("input").change(recalculate);
    
    $("#resetbutton").click(function(ev){
        ev.preventDefault();
        ev.stopPropagation();
        $("form")[0].reset();
        recalculate();
    });
    
    recalculate();
})

function reset_form(){
    $("form")[0].reset();
    recalculate()
}
