// JavaScript Document
function laske_kulutus(){
	var kulutus,lammitys,vedenlammitys,valaistus,ruoka,sahkolaitteet,lammitysmuoto;
	kulutus=0;
	lammitys=0;
	vedenlammitys=0;
	valaistus=0;
	ruoka=0;
	sahkolaitteet=0;
	
	var pa;
	pa=document.getElementsByName("pinta_ala")[0].value;
	
	if (IsNumeric(pa)==false || pa==''){
	//	alert('Pinta-ala puuttuu tai ei ole numero');
	} else {
	//	alert('moi pa='+pa);
		// Pakolliset tiedot annettu
		// Lasketaan kulutus
		var asukasluku,asukasluku1,asumismuoto;
		asukasluku=get_asukasluku();
		asukasluku1=get_asukasluku1(asukasluku);
		asumismuoto=parseInt(getradio_value("asumismuoto"));

		lammitys=laske_lammitys(pa);
		lammitysmuoto=parseInt(getradio_value("lammitysmuoto"));
		vedenlammitys=laske_vedenlammitys(asukasluku,asumismuoto,lammitysmuoto);
		valaistus=laske_valaistus(asumismuoto,pa);
		ruoka=laske_ruoka(asukasluku1);
		sahkolaitteet=laske_sahkolaitteet(asukasluku,asukasluku1);
	}
	// Näytä tulokset
	
	kulutus=lammitys + vedenlammitys + valaistus + ruoka + sahkolaitteet;
	document.getElementById("kulutus").innerHTML=format(kulutus);
	
	document.getElementById("lammitys").innerHTML=format(lammitys);
	document.getElementById("vedenlammitys").innerHTML=format(vedenlammitys);
	document.getElementById("valaistus").innerHTML=format(valaistus);
	document.getElementById("ruoka").innerHTML=format(ruoka);
	document.getElementById("sahkolaitteet").innerHTML=format(sahkolaitteet);
	
	if (kulutus==0) kulutus=1;
	kulutus=kulutus/2.17;
	document.getElementById("lammitys_bar").width=100*lammitys/kulutus;
	document.getElementById("vedenlammitys_bar").width=100*vedenlammitys/kulutus;
	document.getElementById("valaistus_bar").width=100*valaistus/kulutus;
	document.getElementById("ruoka_bar").width=100*ruoka/kulutus;
	document.getElementById("sahkolaitteet_bar").width=100*sahkolaitteet/kulutus;
}
function format(num1){
	return Math.round(num1);
}
function getradio_value(name1){
	var i,ret,group1,s;
	ret=0;
	group1=document.getElementsByName(name1);
	for (i=0;i<group1.length;i++){
		s=group1.item(i);
		if (s.checked){
			ret=s.value;
			return ret;
		}
	}
	return ret;
}
function get_count(name1){
	var ret,s;
	ret=0;
	s=document.getElementsByName("check"+name1).item(0);
	if (s.checked){
		s=document.getElementsByName("check"+name1+"text").item(0);
		ret=s.value;
		if (ret=='') ret=0;
		if (IsNumeric(ret)==false) ret=0;
	}
	return ret;
}
function laske_ruoka(asukasluku1){
	var jaa_viileakaappi,jaakaappi,jaakaappi_pakastin;
	var kylmio,pakastin,sahkoliesi;

	jaa_viileakaappi=parseInt(get_count("4"));
	jaakaappi=parseInt(get_count("5"));
	jaakaappi_pakastin=parseInt(get_count("6"));
	kylmio=parseInt(get_count("7"));
	pakastin=parseInt(get_count("8"));
	sahkoliesi=parseInt(get_count("9"));
	
	var ret;
	ret = 0;
	

	ret = ret + 350*jaa_viileakaappi; 

	ret = ret + 300*jaakaappi; // ??

	ret = ret + 600*jaakaappi_pakastin; 

	ret = ret + 500*kylmio; 
	
	ret = ret + 550*pakastin; 
	
	var s;
	if (sahkoliesi>0){
	//	ret = ret + 300+(sahkoliesi*(25*asukasluku1*asukasluku1-25*asukasluku1));  // = 1hlö 300, 2hlö 350, 3hlö 450, 4hlö 600
		s=400+(25*asukasluku1*asukasluku1-25*asukasluku1);
		if (s>600)s=600;
		ret = ret + s*sahkoliesi;
	}
	
	return ret;
}
function laske_sahkolaitteet(asukasluku,asukasluku1){
	var astianpesukone,pyykinpesukone,kuivausrumpu;
	var tietokone,televisio,viihde_elektroniikka,sahkokiuas;

	astianpesukone=parseInt(get_count("1"));
	pyykinpesukone=parseInt(get_count("2"));
	kuivausrumpu=parseInt(get_count("3"));
	tietokone=parseInt(get_count("10"));
	televisio=parseInt(get_count("11"));
	viihde_elektroniikka=parseInt(get_count("12"));
	sahkokiuas=parseInt(get_count("13"));
	
	
	var ret;
	ret = 0;
	
	ret = ret + 600*astianpesukone; //  = lämminvesiliit 300, kylmävesiliit 600 ??
	
	if (pyykinpesukone>0)
		ret = ret + 100+(100*pyykinpesukone * asukasluku1);  //  = 1hlö 200, 2hlö 300, 3hlö 400, 4hlö 500
	
	ret = ret + 600*kuivausrumpu; 
	
	ret = ret + 150*tietokone; 
	
	if (televisio>0)
		ret = ret + 150+(150*televisio*12*asukasluku)/100; // =130+(130*12*asukasluku)/100
	
	if (viihde_elektroniikka>0)
		ret = ret + 130+(130*viihde_elektroniikka*12*asukasluku)/100; // =130+(130*12*asukasluku)/100
	
	ret = ret + 9*sahkokiuas*52; //	Oletus: Kertalämmitteinen

	ret = ret + 180+(180*12*asukasluku)/100; // Pienlaitteet

	return ret;
}
function get_asukasluku1(asukasluku){
	var ret;
	ret=asukasluku-0.5;
	if (ret>3)ret=3;
	ret=ret+1;
	return ret;
}
function get_asukasluku(){
	var ret;
	ret=parseInt(getradio_value("asukasluku"));
	ret=ret+0.5;
	return ret;
}
function laske_vedenlammitys(asukasluku,asumismuoto,lammitysmuoto){
	// Toimii vain puulämmityksen yhteydessä = 900 kWh x asukasluku
	//  - ei anna tulosta muissa tapauksissa
	var ret;
	ret=0;
	if (asumismuoto==1 || asumismuoto==2){ // omakoti tai rivitalo
		switch(lammitysmuoto){
			case 5: // maalämpö
				ret=900 * asukasluku / 2.5;
				break;
			case 1:
			case 2:
			case 3:
			case 4:
			case 6: // puu
				ret=900 * asukasluku;
				break;
		}
	}
	return ret;
}
function laske_valaistus(asumismuoto,pa){
	var ret,asumismuoto;
	var k,min1;
	ret=0;
	switch(asumismuoto){
		case 1: // omakoti
			k=8; min1=600;
		break;
		case 2: // rivitalo
			k=7; min1=250;
		break;
		case 3: // kerrostalo
			k=6; min1=150;
		break;
	}
	ret=k*pa;
	if (ret<min1)ret=min1;
	return ret;
}
function laske_lammitys(pa){
//	Lämmitettävät neliöt (m2) x 3,5 x k x lto
//	k = riippuvainen lämmitysmuodosta ja kiinteistön iästä
//	lto = lämmöntalteenottokerroin (arvo on 1, jos lto tai luonnollinen ilmanvaihto ja 1,1, jos lto:ta ei ole)
	var lto,k,k2,ret,asumismuoto,lammitysmuoto;
	lto=1.1; // Peruslaskuri
	k=0;
	k2=0;
	ret=0;
	asumismuoto=parseInt(getradio_value("asumismuoto"));
	lammitysmuoto=parseInt(getradio_value("lammitysmuoto"));
	// Oletus: rakentamisvuosi 1980-luku 
	switch(asumismuoto){
		case 1: // Omakoti
			switch(lammitysmuoto){
				case 1: // Suora sähkö
					k=27;
					break;
				case 2: // Osittain varaava sähkö
					k=30;
					break;
				case 3: // Varaava vesikeskus sähkölämmitys
					k=32;
					break;
				case 4: // Vesikiertoinen sähkölämmitys sähkökattilalla ?? = Osittain varaava sähkö
					k=30;
					break;
				case 5: // Maalämpöpumppu ?? =Varaava vesikeskus sähkölämmityksen" lämmitykseen lasketun energian jakaa luvulla 2,5(lämpökerroin).
					k=32/2.5;
					break;
				case 6: // Puulämmitys
					k2=540;
					break;
				case 7: // Kaukolämmitys
					k2=540;
					break;
				case 8: // Öljylämmitys
					k2=700;
					break;
			}
			break;
		case 2:	// Rivitalo
			switch(lammitysmuoto){
				case 1: // Suora sähkö
					k=27;
					break;
				case 2: // Osittain varaava sähkö
					k=30;
					break;
			}
			break;
	}
	if (k==0){
		// Suora-arvo käytössä
		ret=k2;
	} else {
		ret=pa * 3.5 * k * lto;
	}
	return ret;
}
function aseta_oletuskpl(name1,value1){
	// Aseta oletus kpl:määräksi yksi tai poista se
	var s,s2;
	s=document.getElementsByName(name1+'text').item(0);
	s2=document.getElementsByName(name1).item(0);
	if (s2.checked){
		if (s.value=='')s.value=value1;
	} else {
		s.value='';
	}
}


function IsNumeric(sText)
{
   // Tarkista onko kokonaisluku
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}


