﻿//walidacja kontrolki DDL_SzerSzczelin
function walidujSilikon(pole) {
    ukryj_ostrzezenia("val_SzerSzczelin")
    if(pole.value != "") {
        var v1 = walidujSelect("DDL_SzerSzczelin", "val_SzerSzczelin")
        var v2 = walidujSelect("DDL_TypSilikonu", "val_TypSilikonu")     
        return v1 && v2
    }
    else
        return true
}

function walidacja() {
    var v1  = walidujSelect("DDL_RodzGr", "val_RodzGr")
    var v2  = walidujSelect("DDL_WymPlytek", "val_WymPlytek")
    var v3  = walidujSelect("DDL_SzerSpoiny", "val_SzerSpoiny")
    var v4  = walidujSelect("DDL_RodzZaprawy", "val_RodzZaprawy")
    var v5  = walidujSelect("DDL_RodzZaprawySc", "val_RodzZaprawySc")
    var v6  = walidujSelect("DDL_RodzSpoinySc", "val_RodzSpoinySc")
    var v7  = walidujSelect("DDL_GrupaSc", "val_GrupaSc")
    var v8  = walidujSelect("DDL_RodzZaprawyPo", "val_RodzZaprawyPo")
    var v9  = walidujSelect("DDL_RodzSpoinyPo", "val_RodzSpoinyPo")
    var v10  = walidujSelect("DDL_GrupaPo", "val_GrupaPo")
    var v11  = walidujTB("TB_PowSc", "val_PowSc")
    var v12 = walidujTB("TB_PowPo", "val_PowPo")
    var v13 = walidujTB("TB_DlSzczelin", "val_DlSzczelin")
    var v14 = walidujSilikon(document.getElementById("TB_DlSzczelin"))
    var v15 = walidujTB("TB_Rabat", "val_Rabat")
    if(v1 && v2 && v3 && v4 && v5 && v6 && v7 && v8 && v9 && v10 && v11 && 12 && v13 && v14 && v15)
        return true;
    else 
        return false
}   

function licz() {
    if(walidacja() == true) {
        /************************** Kontrolki **************************/
        //Grunt
        var gr_k    = document.getElementById("DDL_RodzGr")
        var gr_id   = gr_k.options[gr_k.selectedIndex].value
        //Wymiar plytek
        var wp_k    = document.getElementById("DDL_WymPlytek")
        var wp_id	= wp_k.options[wp_k.selectedIndex].value
        //Szerokosc spoiny
        var ss_k    = document.getElementById("DDL_SzerSpoiny")
        var ss_id	= ss_k.options[ss_k.selectedIndex].value
        //Zaprawa
        var za_k    = document.getElementById("DDL_RodzZaprawy")
        var za_id   = za_k.options[za_k.selectedIndex].value
        //Zaprawa sciany
        var zasc_k    = document.getElementById("DDL_RodzZaprawySc")
        var zasc_id   = zasc_k.options[zasc_k.selectedIndex].value
        //Zaprawa podlogi
        var zapo_k    = document.getElementById("DDL_RodzZaprawyPo")
        var zapo_id   = zapo_k.options[zapo_k.selectedIndex].value
        //Spoina sciany
        var spsc_k    = document.getElementById("DDL_RodzSpoinySc")
        var spsc_id   = spsc_k.options[spsc_k.selectedIndex].value
        //Grupa spoiny sciany
        var grsc_k    = document.getElementById("DDL_GrupaSc")
        var grsc_id   = grsc_k.options[grsc_k.selectedIndex].value
        //Spoina podlogi
        var sppo_k    = document.getElementById("DDL_RodzSpoinyPo")
        var sppo_id   = sppo_k.options[sppo_k.selectedIndex].value
        //Grupa spoiny sciany
        var grpo_k    = document.getElementById("DDL_GrupaPo")
        var grpo_id   = grpo_k.options[grpo_k.selectedIndex].value
        //Dlugosc szczelin dylatacjynych
        var ds_k	= document.getElementById("TB_DlSzczelin")
        var ds	    = popraw_wartosc(ds_k.value)
       //Szerokosc szczelin dylatacyjnych
        var ssz_k	= document.getElementById("DDL_SzerSzczelin")
        var ssz_id	= ssz_k.options[ssz_k.selectedIndex].value
       //Typ silikonu
        var ts_k	= document.getElementById("DDL_TypSilikonu")
        var ts_id	= ts_k.options[ts_k.selectedIndex].value
        //Pole powierzchni scian
        var powsc_k   = document.getElementById("TB_PowSc")
        var powsc     = popraw_wartosc(powsc_k.value)  
        //Pole powierzchni podlog
        var powpo_k   = document.getElementById("TB_PowPo")
        var powpo     = popraw_wartosc(powpo_k.value)  
        //Rabat
        var rabat_k = document.getElementById("TB_Rabat")
        var rabat   = popraw_wartosc(rabat_k.value)
        
        /************************** Obliczenia **************************/
        //Obiekt do oksportu wynikow
        var eksport = new Object()

        //zapisujemy cene sumaryczna materialow        
        var cena = 0
        var cena_r = 0

        //wyniki - pasek z tytulem
        if(rabat == 0) {
				piszWynikiTytulBezRabatu()
				piszWynikiTytulBezRabatuDoDruku2(powsc+powpo)
		}
        else  {
            piszWynikiTytulZRabatem()
            piszWynikiTytulZRabatemDoDruku2(rabat, powsc+powpo)
        }
        //Grunt
        //arg konstruktora: id, pole powierzchni, rabat, rodzaj podloza
        this.gr = new Grunt(gr_id, powsc + powpo, rabat, "beton");
        gr.obliczenia()
        gr.pisz()
        cena += parseFloat(gr.dajCene())
        cena_r += parseFloat(gr.dajCeneR())
        eksport.gr = gr

        //Zaprawa, tworzymy jesli jest wymagana
        //arg konstruktora: id, pole powierzchni, rabat, wymiar plytek
        //wybrano taka sama zaprawe dla scian i podlog
        if(document.getElementById("zew").style.display == "none") {
            if(zasc_id == zapo_id) {
                var za = new Zaprawa(zasc_id, powsc + powpo, rabat, wp_id);
                za.obliczenia()
                za.pisz()
                cena += parseFloat(za.dajCene())
                cena_r += parseFloat(za.dajCeneR())
                eksport.za = za
            }
            //wybrano rozne zaprawy dla scian i podlog
            else {
                var zasc = new Zaprawa(zasc_id, powsc, rabat, wp_id);
                zasc.obliczenia()
                zasc.pisz()
                cena += parseFloat(zasc.dajCene())
                cena_r += parseFloat(zasc.dajCeneR())
                eksport.zasc = zasc

                var zapo = new Zaprawa(zapo_id, powpo, rabat, wp_id);
                zapo.obliczenia()
                zapo.pisz()
                cena += parseFloat(zapo.dajCene())
                cena_r += parseFloat(zapo.dajCeneR())
                eksport.zapo = zapo
            }
        }
        else {
            var za = new Zaprawa(za_id, powsc + powpo, rabat, wp_id);
            za.obliczenia()
            za.pisz()
            cena += parseFloat(za.dajCene())
            cena_r += parseFloat(za.dajCeneR())
            eksport.za = za
        }

        //Spoina - tworzymy jeden albo dwa obiekty
        //arg konstruktora: id, rabat, grupa, wymiar plytek, szerokosc spoiny
        if((spsc_id == sppo_id) && (grsc_id == grpo_id)) {
            var sp = new Spoina(spsc_id, powsc + powpo, rabat, grsc_id, wp_id, ss_id);
            sp.obliczenia()
            sp.pisz()
            cena += parseFloat(sp.dajCene())
            cena_r += parseFloat(sp.dajCeneR())
            eksport.sp = sp
        }
        else {
            var spsc = new Spoina(spsc_id, powsc, rabat, grsc_id, wp_id, ss_id);
            spsc.obliczenia()
            spsc.pisz()
            cena += parseFloat(spsc.dajCene())
            cena_r += parseFloat(spsc.dajCeneR())
            eksport.spsc = spsc

            var sppo = new Spoina(sppo_id, powpo, rabat, grpo_id, wp_id, ss_id);
            sppo.obliczenia()
            sppo.pisz()
            cena += parseFloat(sppo.dajCene())
            cena_r += parseFloat(sppo.dajCeneR())
            eksport.sppo = sppo
        }
        //Uszczelniacz - tworzymy obiekt jezeli uzytkownik podaje dlugosc szczelin
        if(ds > 0) {
            //arg konstruktora: id, rabat, dlugosc dylatacji, 
            //szerokosc szczelin, typ uszczelniacza
            var usz = new Uszczelniacz("CS 25", rabat, ds, ssz_id, ts_id);
            usz.obliczenia()
            usz.pisz()
            cena += parseFloat(usz.dajCene())
            cena_r += parseFloat(usz.dajCeneR())
            eksport.usz = usz
        }
       
        /************************** Sumaryczna cena **************************/
        //pasek podsumowania
        if(rabat == 0)
            piszWynikiSumaBezRabatu(floatToCurr(cena))
        else {
            piszWynikiSumaZRabatem(floatToCurr(cena), floatToCurr(cena_r))
        }
          
    document.getElementById("BTN_Drukuj").disabled = false

        //document.getElementById('wyniki').innerHTML += 'id kc : '+kc.dajId()+'<br>';
        //document.getElementById('wyniki').innerHTML += 'nazwa kc: '+kc.dajNazwe()+'<br>';  

	return eksport
    }
    else {
        alert("Wypełnij poprawnie formularz.")
    }
}

function zapisz() {
	var l = new licz()
	alert("Id gruntu: "+l.mp.dajId())
}
