var Conrad = {
    Groesse  : [ 1.5, 2, 4, 7, 9, 18, 30, 36 ],
    Material : {
        "Aushub" : ["S-chanf", 11.00],
        "Inert Material" : ["S-chanf", 16.00],
        "Mischabbruch ohne LS" : ["Bever", 70.00],
        "Mischabbruch mit wenig LS" : ["Bever", 133.00],
        "Mischabbruch mit viel LS" : ["Bever", 133.00],
        "Leichtstoffe" : ["Bever", 64.75],
        "Holz" : ["Bever", 28.80],
        "Bausperrgut" : ["Bever", 91.00],
        "Schrott sortiert" : ["Bever","Auf Anfrage"],
        "Wohlstandsschrott" : ["Bever","Auf Anfrage"],
        "Backstein, Ziegel ohne Feinanteile"  : ["Montebello", 35.20],
        "Felsabbruch, Bruchsteine" : ["Montebello", 8.25],
        "Betonabbruch bis 70 cm" : ["Montebello", 28.50],
        "Altbelag bis 50 cm" : ["Montebello", 35.20],
        "Verwertbarer Aushub" : ["Montebello", 9.00]
    },
    Standort : [
        "St. Moritz",
        "Celerina",
        "Samedan",
        "Pontresina/Punt Muragl",
        "Bever",
        "Suvretta",
        "ab Tinusbrücke",
        "Champfèr",
        "Silvaplana",
        "Sils",
        "Maloja + Fex",
        "La Punt",
        "Madulain",
        "Zuoz",
        "S-chanf",
        "Cinuos-chel",
        "Bergell Sopra Porta",
        "Bergell Sotto Porta"
    ],

    Kosten : {
    	"S-chanf" : {
            1.5 : [ 135,135,135,135,135,145,145,145,145,153,199,148,148,148,148,158,0,0 ],
            2   : [ 135,135,135,135,135,145,145,145,145,153,199,148,148,148,148,158,0,0 ],
            4   : [ 188,188,186,186,186,200,200,200,200,210,252,149,149,149,149,159,0,0 ],
            7   : [ 199,199,199,199,199,211,211,211,211,221,263,160,160,160,160,170,0,0 ],
            9   : [ 371,371,371,371,371,420,420,420,420,460,499,396,396,396,396,406,0,0 ],
            18  : [ 371,371,371,371,371,420,420,420,420,460,499,396,396,396,396,406,0,0 ],
            30  : [ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
            36  : [ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
    	},
        "Bever" : {
            1.5 : [ 147,147,147,147,147,153,153,153,153,165,210,160,160,160,160,170,0,0 ],
            2   : [ 147,147,147,147,147,153,153,153,153,165,210,160,160,160,160,170,0,0 ],
            4   : [ 147,147,147,147,147,153,153,153,153,165,210,149,149,149,149,160,0,0 ],
            7   : [ 158,158,158,158,158,164,164,164,164,176,221,160,160,160,160,171,0,0 ],
            9   : [ 262,262,262,262,262,315,315,315,315,360,432,299,299,299,299,312,0,0 ],
            18  : [ 262,262,262,262,262,315,315,315,315,360,432,299,299,299,299,312,0,0 ],
            30  : [ 307,307,307,307,307,360,360,360,360,399,470,333,333,333,333,345,0,0 ],
            36  : [ 307,307,307,307,307,360,360,360,360,399,470,333,333,333,333,345,0,0 ]
        },
        "Montebello" : {
            1.5 : [ 135,135,135,135,135,145,145,145,145,153,199,148,148,148,148,158,0,0 ],
            2   : [ 135,135,135,135,135,145,145,145,145,153,199,148,148,148,148,158,0,0 ],
            4   : [ 147,147,147,147,147,153,153,153,153,165,210,160,160,160,160,170,0,0 ],
            7   : [ 158,158,158,158,158,164,164,164,164,176,221,171,171,171,171,181,0,0 ],
            9   : [ 262,262,262,262,262,315,315,315,315,360,432,371,371,371,371,381,0,0 ],
            18  : [ 262,262,262,262,262,315,315,315,315,360,432,371,371,371,371,381,0,0 ],
            30  : [ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
            36  : [ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
        }
    },


    drawForm : function()
    {
        // Startwerte
        // --------------------------------------------------------- //
        var form = document.getElementById("rechner");
        document.getElementById("Angabe").innerHTML = Conrad["Groesse"][0];
        document.getElementById("Deponie").innerHTML = Conrad["Material"].Aushub[0];
        document.getElementById("Material2").innerHTML = Conrad.kaufm(Conrad["Material"].Aushub[1]);
        document.getElementById("info").innerHTML = "CHF/m3";
        // Selectbox - Groesse
        // --------------------------------------------------------- //
        var sel = document.createElement("select");
        sel.setAttribute("id", "s1");
        sel.onchange = function()
        {
            document.getElementById("Angabe").innerHTML = this.value;
            var preis = Conrad.kaufm(this.value * document.getElementById("s2").value.split("|")[1]);
            document.getElementById("formel2").innerHTML = (isNaN(preis)||preis<=0) ? "Auf Anfrage" : preis;

            var _m = form.elements[1][form.elements[1].selectedIndex].value.split("|")[0];
            var _s = form.elements[2].selectedIndex;
            var kosten = Conrad["Kosten"][_m][this.value][_s];
            document.getElementById("formel1").innerHTML = (isNaN(kosten)||kosten<=0) ? "Auf Anfrage" : Conrad.kaufm(kosten);

            var summe = parseFloat(document.getElementById("formel1").innerHTML)+parseFloat(document.getElementById("formel2").innerHTML);
            document.getElementById("summe").innerHTML = (isNaN(summe)||summe<=0) ? "Auf Anfrage" : Conrad.kaufm(summe);

        }
        for (var i=0, len = Conrad["Groesse"].length; i<len; i++)
        {
            var opt = document.createElement("option");
            opt.setAttribute("value", Conrad["Groesse"][i]);
            var txt = document.createTextNode(Conrad["Groesse"][i]);
            opt.appendChild(txt);
            sel.appendChild(opt);
        }
        document.getElementById("Groesse").appendChild(sel);
        // Selectbox - Material
        // --------------------------------------------------------- //
        var sel = document.createElement("select");
        sel.setAttribute("id", "s2");
        sel.onchange = function()
        {
            document.getElementById("Deponie").innerHTML = this.value.split("|")[0];
            document.getElementById("Material2").innerHTML = Conrad.kaufm(this.value.split("|")[1]);
            var preis = Conrad.kaufm(this.value.split("|")[1] * document.getElementById("s1").value);
            document.getElementById("formel2").innerHTML = (isNaN(preis)||preis<=0) ? "Auf Anfrage" : preis;

            var _g = form.elements[0][form.elements[0].selectedIndex].value;
            var _s = form.elements[2].selectedIndex;
            var kosten = Conrad["Kosten"][this.value.split("|")[0]][_g][_s];
            document.getElementById("formel1").innerHTML = (isNaN(kosten)||kosten<=0) ? "Auf Anfrage" : Conrad.kaufm(kosten);

            var summe = parseFloat(document.getElementById("formel1").innerHTML)+parseFloat(document.getElementById("formel2").innerHTML);
            document.getElementById("summe").innerHTML =  (isNaN(summe)||summe<=0) ? "Auf Anfrage" : Conrad.kaufm(summe);

            if (this.selectedIndex == 0)
            {
                document.getElementById("info").innerHTML = "CHF/m3";
            }
            else if (this.selectedIndex == 1)
            {
                document.getElementById("info").innerHTML = "Fr./m3";
            }
            else
            {
                document.getElementById("info").innerHTML = "Fr./to.";
            }
        }
        for (var i in Conrad["Material"])
        {
            var opt = document.createElement("option");
            opt.setAttribute("value", Conrad["Material"][i][0]+"|"+Conrad["Material"][i][1]);
            var txt = document.createTextNode(i);
            opt.appendChild(txt);
            sel.appendChild(opt);
        }
        document.getElementById("Material").appendChild(sel);
        // Selectbox - Standort
        // --------------------------------------------------------- //
        var sel = document.createElement("select");
        sel.setAttribute("id", "s1");
        sel.onchange = function()
        {

            var _g = form.elements[0][form.elements[0].selectedIndex].value;
            var _m = form.elements[1][form.elements[1].selectedIndex].value.split("|")[0];
            var kosten = Conrad["Kosten"][_m][_g][this.selectedIndex];
            document.getElementById("formel1").innerHTML = (isNaN(kosten)||kosten<=0) ? "Auf Anfrage" : Conrad.kaufm(kosten);

            var summe = parseFloat(document.getElementById("formel1").innerHTML)+parseFloat(document.getElementById("formel2").innerHTML);
            document.getElementById("summe").innerHTML =  (isNaN(summe)||summe<=0) ? "Auf Anfrage" :  Conrad.kaufm(summe);
        }
        for (var i=0, len = Conrad["Standort"].length; i<len; i++)
        {
            var opt = document.createElement("option");
            opt.setAttribute("value", Conrad["Standort"][i]);
            var txt = document.createTextNode(Conrad["Standort"][i]);
            opt.appendChild(txt);
            sel.appendChild(opt);
        }
        document.getElementById("Standort").appendChild(sel);
    },

    kaufm : function(x)
    {
        var k = (Math.round(x * 100) / 100).toString();
        k += (k.indexOf('.') == -1)? '.00' : '00';
        return k.substring(0, k.indexOf('.') + 3);
    }
};

window.onload = Conrad.drawForm;
