/**
 *
 * TODO: jos astioita ei valittuna niin laskee pesulle 10 e hmmm...
 *
 * javascript lomakkeenkäsittelijä laskee hinnat ja tarkistaa lomakkeen
 * alustavasti ennen php handleria
 * @author Piatti Oy , webmaster@piatti.fi
 *
 *
 * Creative Commons Attribution 2.0 License
 * http://creativecommons.org/licenses/by/2.0/
 *
 */
 
//////////////////////////////////////
// Tuoteluokka 

function Tuote (nimi,  hinta, luokka) {

	this.nimi = nimi;
	this.hinta = hinta;
	this.luokka = luokka;
	
}

//////////////////////////////////////
// Laskee summan lomakkeella valituista tuotteista.

function Laske() {

	// Vakiot pesun minimihinnalle ja prosentille
	var PESUMINIMI = 10;
	var PESUPROS = 0.20

	// muuttuja summalle ja nollataan aina alkuun
	var summa=0;
	// muuttuja pesulle
	var pesu=0;
	// muuttuja astioiden kokonaishinnalle.
	var astiat_hinta = 0;
	// muuttuja liinojen hinnalle
	var liinat_hinta = 0;
	
	// määritellään kenttät jonne summa syötetään
	var summaDiv = document.getElementById("summa");
	
	var kokonaishintaHidden = document.getElementById("kokonaishinta");

	// looppi jossa tuotteet ja niiden input kentät iteroidaan
	for(var j = 0; j < tuotteet.length; j++) {
	
		// input kentän id haetaan tuotteen nimi kentän tiedolla
		var input_id = document.getElementById(tuotteet[j].nimi);
		
		// Onko syötetty kpl määrää lomakkeelle	astioista	
    	if (input_id.value && tuotteet[j].luokka<7) {  
		
			astiat_hinta = astiat_hinta + (tuotteet[j].hinta * parseFloat( input_id.value) );
			
		}
	
	} 
 
 	// pesupalvelu, HOX: laske tämä ensin, jotta ei tule mukaan kuin astiat.
	if (document.getElementById("p100").checked && astiat_hinta>0) {

			var pesu = astiat_hinta * PESUPROS;
			
			if (pesu < PESUMINIMI	) {
				
				pesu = PESUMINIMI;
			}

		}
	
	// looppi jossa tuotteet ja vain liinat iteroidaan
	for(var j = 0; j < tuotteet.length; j++) {
	
		// input kentän id haetaan tuotteen nimi kentän tiedolla
		var input_id = document.getElementById(tuotteet[j].nimi);
		
		// Onko syötetty kpl määrää lomakkeelle	astioista	
    	if (input_id.value && tuotteet[j].luokka==7) {  
		
			liinat_hinta = liinat_hinta + (tuotteet[j].hinta * parseFloat( input_id.value) );
			
		}
	
	} 
		
	// Palveluiden iterointi
	for (var i = 0; i < palvelut.length; i++) {
		
		// input kentän id haetaan tuotteen nimi kentän tiedolla
		var input_id = document.getElementById(palvelut[i].nimi);
			
		// Onko palvelu valittuna	ja ei pesupalvelu	
		if (input_id.checked) {
			
				summa = summa + palvelut[i].hinta;
	
			}
		}
	
	// Lasketaan kaikki yhteen
	summa = summa + liinat_hinta + astiat_hinta + pesu;	
	
	// Syötetään summa sivulle	
	summaDiv.firstChild.nodeValue = summa.toFixed(2)+" euroa";
	
				//summaDiv.innerHTML = summa.toFixed(2) + " euroa";

	//Syötetään summa myös lomakkeelle hidden kenttään.
	kokonaishintaHidden.value = summa.toFixed(2);
				
				//document.getElementById("kokonaishinta").value = ""+summa.toFixed(2);
	
	
}

//////////////////////////////////////
// Lomakkeen tarkistus 

function Laheta(form){

	var nimi = form.nimi.value;
	var email = form.email.value;
	var alku = form.alkupvm.value;
	var loppu = form.loppupvm.value;
	
	if (form.ehdot.checked==true)
		{
		var ehdot = true;
		}
	
	
	if (nimi.length < 4) {

		alert("Nimi on pakollinen kenttä.");
		form.nimi.focus();
		return false;
		
	}
	
	if (email.length < 4 || email.indexOf("@") == -1) {

		alert("Sähköpostiosoite on pakollinen kenttä.");
		form.email.focus();
		return false;
		
	}
	
	if (!alku) {

		alert("Tarkista tilauksen alkupäivämäärä, kiitos.");
		form.alkupvm.focus();
		return false;
		
	}

	if (!loppu) {

		alert("Tarkista tilauksen loppupäivämäärä, kiitos.");
		form.loppupvm.focus();
		return false;
		
	}	
	
	if (!ehdot) {

		alert("Pyydämme tutustumaan vuokrausehtoihimme, kiitos.");
		form.ehdot.focus();
		return false;
		
	}	

}

//////////////////////////////////////
//Tyhjentää lomakkeen
function Tyhjaa() {
		
	if (!confirm("Haluatko varmasti tyhjentää kaikki kentät?")) 
	{
		return false
	}
	
	document.Tilauslomake.reset();
	
	Laske();
}

//////////////////////////////////////
// Luodaan uusi taulukko tuotteita varten

var tuotteet = new Array ();

/////////////////////////////////////
// Tuotteen lisäämisfunktio
function Lisaatuote (Tuote){
	
	tuotteet.push(Tuote);
}

/////////////////////////////////////
// Luodaan taulukko palveluille

var palvelut = new Array ();

/////////////////////////////////////
// Palvelun lisääminen
function Lisaapalvelu(Tuote){
	
	palvelut.push(Tuote);
	
}
