function Tuote(nimi, hinta, onPitoisuus, onPohjamuoto, onKorko, onSarja) {
    this.nimi = nimi;
    this.hinta = hinta;
    this.onPitoisuus = onPitoisuus;
    this.onPohjamuoto = onPohjamuoto;
    this.onKorko = onKorko;
    this.onSarja = onSarja;
}

function Lisaominaisuus(nimi, hinta, id, sulkeepois) {
    this.nimi = nimi;
    this.hinta = hinta;
    this.id = id;
    this.sulkeepois = sulkeepois;
}

var tuotteet = new Array(new Tuote("Vuosi", 20, false, true, true, false),
			 new Tuote("Pitoisuus", 20, true, false, true, false),
			 new Tuote("Nimi", 49, false, true, true, false),
			 new Tuote("Paikkakunta", 83, false, false, true, false),
			 new Tuote("Kasityo", 49, false, false, true, false),
			 new Tuote("Kruunu", 147, false, false, false, false),
			 new Tuote("CCM", 147, true, false, false, false),
			 new Tuote("Nimi-Pitoisuus",69, true, false, true, true),
			 new Tuote("Nimi-Pitoisuus-Vuosi",79, true, false, true, true),
			 new Tuote("Nimi-Pitoisuus-Paikkakunta",110, true, false, true, true),
			 new Tuote("Nimi-Pitoisuus-Paikkakunta-Vuosi",119, true, false, true, true),
			 new Tuote("Kruunu-Nimi",196, false, true, true, true),
			 new Tuote("Kruunu-Nimi-Pitoisuus",210, true, false, true, true),
			 new Tuote("Kruunu-Nimi-Pitoisuus-Vuosi",219, true, false, true, true),
			 new Tuote("Kruunu-Nimi-Pitoisuus-Paikkakunta",250, true, false, true, true),
			 new Tuote("Kruunu-Nimi-Pitoisuus-Paikkakunta-Vuosi",259, true, false, true, true),
			 new Tuote("CCM-Kruunu",294, true, false, false, true),
			 new Tuote("CCM-Kruunu-Nimi",332, true, false, true, true),
			 new Tuote("CCM-Kruunu-Nimi-Pitoisuus",350, true, false, true, true),
			 new Tuote("CCM-Kruunu-Nimi-Pitoisuus-Vuosi",359, true, false, true, true),
			 new Tuote("CCM-Kruunu-Nimi-Pitoisuus-Paikkakunta",400, true, false, true, true),
			 new Tuote("CCM-Kruunu-Nimi-Pitoisuus-Paikkakunta-Vuosi",409, true, false, true, true));

// array sisaltaa ne lisaominaisuudet, joiden kanssa epayhteensopiva

var lisaominaisuudet = new Array(new Lisaominaisuus("Kone", 9, "kone", new Array()),
				 new Lisaominaisuus("Kayra", 14, "kayra", new Array("rulla")),
				 new Lisaominaisuus("Kupera", 19, "kupera", new Array()),
				 new Lisaominaisuus("Korko", 24, "korko", new Array("lanka")),
				 new Lisaominaisuus("Kaari", 29, "kaari", new Array()),
				 new Lisaominaisuus("Lanka", 74, "lanka", new Array("korko")),
				 new Lisaominaisuus("Rulla", 90, "rulla", new Array("kayra")),
				 new Lisaominaisuus("Jono", 0, "jono", new Array()),

				 new Lisaominaisuus("Merkinta", 5, "merkinta", new Array()),
				 new Lisaominaisuus("Leimausmalli", 4, "leimausmalli", new Array())

);


var rivit = 0;


function disabloiTurhatKentat() {

    var tyyppi = document.getElementById("leimatyyppi");
    var indexi = tyyppi.selectedIndex;
    tyyppi = tyyppi.options[indexi].value;
   
    var i, j;

   // ainoastaan halutut ominaisuudet naytetaan
  
    for (i = 0; i < lisaominaisuudet.length; i++) {
	document.getElementById(lisaominaisuudet[i].id).removeAttribute("disabled");
    }
    
    // ja disabloidaan epayhteensopivat
    
    for (i = 0; i < lisaominaisuudet.length; i++) {
	if (document.getElementById(lisaominaisuudet[i].id).checked) {	    
	    for (j = 0; j < lisaominaisuudet[i].sulkeepois.length; j++) {		
		document.getElementById(lisaominaisuudet[i].sulkeepois[j]).disabled = "true";
	    }
	}
    }
    
    for (i = 0; i < tuotteet.length; i++) {
	if (tuotteet[i].nimi == tyyppi) {
	    !tuotteet[i].onPitoisuus ? document.getElementById("pitoisuus").disabled = "true" : document.getElementById("pitoisuus").removeAttribute("disabled");
	    !tuotteet[i].onPohjamuoto ? document.getElementById("pohjamuoto").disabled = "true": document.getElementById("pohjamuoto").removeAttribute("disabled");
	    !tuotteet[i].onKorko ? document.getElementById("korko").disabled = "true":document.getElementById("korko").removeAttribute("disabled");
	    !tuotteet[i].onSarja ? document.getElementById("jono").disabled = "true":document.getElementById("jono").removeAttribute("disabled");
	    break;
	}
    }
}

function asetaHinta() {

    var tyyppi = document.getElementById("leimatyyppi");
    var indexi = tyyppi.selectedIndex;
    tyyppi = tyyppi.options[indexi].value;

    var i, el;

    var hinta = 0;

    for (i = 0; i < tuotteet.length; i++) {
	if (tyyppi == tuotteet[i].nimi) {
	    
	    hinta = tuotteet[i].hinta;
	    break;
	}
    }

    for (i = 0; i < lisaominaisuudet.length; i++) {
	var el = document.getElementById(lisaominaisuudet[i].id);
	if (el.checked && !el.disabled) {
	    hinta += lisaominaisuudet[i].hinta;
	}
    }

    maara = document.getElementById("kpl").value;


    if (maara != parseInt(maara)) {
	alert("Virhe, anna numero lukumaaraksi.");
	return;
    }

    maara = parseInt(maara);

    hinta *= maara;

    var el = document.getElementById("hinta");
    el.value = hinta;
}
						    
function createOptions(sarja) {
    var i;

    document.forms[0].leimatyyppi.options.length = 0;

    var k = 0, t;
    
    for (i = 0; i < tuotteet.length; i++) {
 
	t = tuotteet[i];
	if (t.onSarja == sarja) {
	    
	    document.forms['leimat'].leimatyyppi.options[k] = new Option(t.nimi, t.nimi);
	    
	    k++;

	    //	    var o = document.createElement("option");
	    //	    var text = t.nimi;
	    //	    o.appendChild(document.createTextNode(text));
	    //	    o.setAttribute("name", t.nimi);
	    //	    o.setAttribute("value", t.nimi);
	    //	    o.setAttribute("onchange", "alert('aa');");

	    //	    valinta.appendChild(o);
	}
    }
}

function newItem() {
    rivit++;

    var kori = document.getElementById("ostoskori");

    var uusiRivi = document.createElement("tr");

    var sar = document.createElement("td");
    sar.appendChild(document.createTextNode(document.getElementById("leimatyyppi").value));

    uusiRivi.appendChild(sar);

    sar = document.createElement("td");
    sar.appendChild(document.createTextNode(document.getElementById("koko").value));
    uusiRivi.appendChild(sar);

    sar = document.createElement("td");
    
    var el = document.getElementById("pitoisuus");
    var text = !el.disabled ? el.value : "";
    sar.appendChild(document.createTextNode(text));
    uusiRivi.appendChild(sar);

    sar = document.createElement("td");
    el = document.getElementById("pohjamuoto");
    text = !el.disabled ? el.value : "";
    sar.appendChild(document.createTextNode(text));
    uusiRivi.appendChild(sar);

    var lisaomin = new Array();
    var i;

    for (i = 0; i < lisaominaisuudet.length; i++) {
	var el = document.getElementById(lisaominaisuudet[i].id);
	if (el.checked && !el.disabled) {
	    lisaomin.push(lisaominaisuudet[i].nimi);
	}
    }
	
    sar = document.createElement("td");
    sar.appendChild(document.createTextNode(lisaomin.join(", ")));
    uusiRivi.appendChild(sar);

    sar = document.createElement("td");
    sar.appendChild(document.createTextNode(document.getElementById("lisatiedot").value));
    uusiRivi.appendChild(sar);

    sar = document.createElement("td");
    sar.appendChild(document.createTextNode(document.getElementById("kpl").value));
    uusiRivi.appendChild(sar);

    sar = document.createElement("td");
    sar.appendChild(document.createTextNode(document.getElementById("hinta").value));
    uusiRivi.appendChild(sar);

    var hinta = document.getElementById("hinta").value;

    sar = document.createElement("td");

    var poisto = document.createElement("img");
    //    poisto.appendChild(document.createTextNode("x"));
    poisto.src = "http://www.kaivertamopaakkari.fi/manager/media/style/MODxLight/images/icons/delete.gif";
//    poisto.height = "16";
//    poisto.width = "32";
    poisto.onclick = function() {
	this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
	var this_hinta = parseInt(this.parentNode.previousSibling.firstChild.nodeValue);
	var tot_hinta = document.getElementById('total_hinta');
	tot_hinta.value = parseInt(tot_hinta.value) - this_hinta;
	varitaOstoskori();
    };
    sar.appendChild(poisto);
    sar.setAttribute("class", "poista");
    uusiRivi.appendChild(sar);

    var total = document.getElementById("total_hinta");

    total.value = parseInt(total.value) + parseInt(hinta);

    //    alert(uusiRivi.innerHTML);

    kori.tBodies[0].appendChild(uusiRivi);

    varitaOstoskori();
}

function varitaOstoskori() {
    var kori = document.getElementById("ostoskori");

    var rows = kori.tBodies[0].rows;

    var i, j;

    for (i = 0; i < rows.length; i++) {
	for (j = 0; j < rows[i].childNodes.length; j++) {
	    rows[i].childNodes[j].className = (i % 2) ? "pariton_rivi": "parillinen_rivi";
	}
    }

}

function vaihda(vaihe) {

    var lisays = document.getElementById("lisays");

    var yhteystiedot = document.getElementById("yhteystiedot");

    switch(vaihe) {
    case 1:
	lisays.style.display = "inline";
	yhteystiedot.style.display = "none";
	break;
    case 2:
	lisays.style.display = "none";
	yhteystiedot.style.display = "inline";
	break;
    case 3:
	break;
    }


}