jQuery(document).ready( /* jQuery no conflict block */
	function($) {

		$("#kalkzarivky-vystupy").hide(); // na zacatku skryj tabulky s vysledky

	




	
	}
)

jQuery(window).load(function() {


		/* tooltip napovedy */

			jQuery('.otaznik').Tooltip({
				track: false, 
				sticky: true,
				delay: 0,
				showURL: false
			});	
						
//          jQuery('.otaznik').cluetip({sticky: true, arrows: true, dropShadow: false});							

}); 


// "1,234" -> float 1.234
function kalkToFloat(sNumber) {
	re=/,/g;
 	result=sNumber.replace(re,"."); 
	resultNumber=parseFloat(result);
	return resultNumber;
}

// 1.234 -> "1,234"
function kalkToString(myNumber) {
	re=/\./g;
	sMyNumber=myNumber.toString();
 	result=sMyNumber.replace(re,","); 
	return result;
}

/* Prikon zarovek ve W (obyc zarovka => zarivka) */
function ekvivalentniZarivka(normalniZarovka) {
	var aZarovky = new Array()
	aZarovky["25"]=9;
	aZarovky["40"]=11;
	aZarovky["60"]=15;
	aZarovky["75"]=18;
	aZarovky["100"]=23;
	return aZarovky[normalniZarovka];
}

/* zjisti sazbu za kWh v Kc pro domacnost nebo firmu */
function getSazba(typOdberatele) { 
	if(typOdberatele=="domacnost") {
		sazba = 4.51032;
	} else { // typOdberatele=="firma"
		sazba = 5.043458;	
	};
	return sazba;
}

/* zaokrouhlí číslo number na precision des. mist */
function roundNumber(number,precision) { 
	return Math.round(number * Math.pow(10,precision) ) / Math.pow(10,precision);
}


function spocitejUsporu() {

	jQuery(document).ready( /* jQuery no conflict block */
		function($) {
			errMsg=""; // hlaseni pri spatne/neuplne vyplnenem formulari
			


			/* nactu vstupni udaje ****************************************************/
			sInpOdberatel = $("input[@name=kalkzarivky-domfir][@checked]").val();

			sInpPrikon = $("#kalkzarivky-prikon").val();
			sInpZarovek = $("#kalkzarivky-zarovek").val();
			sInpProvoz = $("#kalkzarivky-provoz").val();

			sInpCenaZarivky = $("#kalkzarivky-cena-zarivky").val();
			sInpZivotnost = $("#kalkzarivky-zivotnost").val();
			
			/* otestuji vstupni udaje ****************************************************/
			regexpOdberatel=/^(domacnost|firma)$/;
			regexpPrikon=/^[0-9]+$/;
			regexpInt=/^[1-9][0-9]*$/;
			regexpDecimal1=/^[1-9][0-9]*(,[0-9])?$|^0,[1-9]$/; // 0,1 az nekonecno cela cisla nebo desetinna s jednim des. mistem

			validInpOdberatel=regexpOdberatel.test(sInpOdberatel); 
			validInpPrikon=regexpPrikon.test(sInpPrikon); 
			validInpZarovek=regexpInt.test(sInpZarovek); 
			validInpProvoz=regexpDecimal1.test(sInpProvoz); 		

			validInpCenaZarivky=regexpInt.test(sInpCenaZarivky); 					
			validInpZivotnost=regexpInt.test(sInpZivotnost);
			

			if (!validInpOdberatel)	{
				errMsg+="- Zvolte druh odběratele (Domácnost nebo Firma).\n";
			};
			if (!validInpPrikon)	{
				errMsg+="- Zvolte příkon žárovky.\n";
			};
			if (!validInpZarovek)	{
				errMsg+="- Zadejte počet žárovek jako celé číslo.\n";
			};
			if (!validInpProvoz)	{
				errMsg+="- Zadejte počet hodin provozu žárovek v hodinách \n  (celé číslo nebo desetinné číslo s přesností na jedno desetinné místo).\n";
			};
			if ( (sInpCenaZarivky ||  sInpZivotnost) && (!validInpZarovek ||  !validInpZivotnost) )	{
				errMsg+="- Zadejte pořizovací cenu zářivky a životnost zářivky (v hodinách) jako celé číslo\n  nebo ponechte obě pole pole prázdná.\n";
			};
			
			flagNavratnost=false; // flag zda budu zobrazovat usporu a navratnost po dobu zivotnosti usporne zarovky
			if( sInpCenaZarivky &&  sInpZivotnost) { 
				flagNavratnost = true;
			};

			
			if(!errMsg) { /* všechny udaje spravne vyplneny */
				var sportrebaRokZarovkaW;
				var sportrebaRokZarivkaW;
				var sportrebaRokZarovkaKc;
				var sportrebaRokZarivkaKc;
				var sazbaKWh = getSazba(sInpOdberatel); // zjisti sazbu za kWh pro domacnost/firmu
				
				// SPOTREBA - spotreba zarovka/zarivka kWh/Kc
				spotrebaRokZarovkaKWh = sInpPrikon *  sInpZarovek * kalkToFloat(sInpProvoz) * 365 / 1000;
				spotrebaRokZarivkaKWh = ekvivalentniZarivka(sInpPrikon) *  sInpZarovek * kalkToFloat(sInpProvoz) * 365 / 1000;

				spotrebaRokZarovkaKc=spotrebaRokZarovkaKWh*getSazba(sInpOdberatel);
				spotrebaRokZarivkaKc=spotrebaRokZarivkaKWh*getSazba(sInpOdberatel);

				// SPOTREBA - zaokrouhleni a prevedeni na string
				
				sOutSpotrebaRokZarovkaKWh = kalkToString( roundNumber(spotrebaRokZarovkaKWh,2) );
				sOutSpotrebaRokZarivkaKWh = kalkToString( roundNumber(spotrebaRokZarivkaKWh,2) );
				sOutSpotrebaRokZarovkaKc = kalkToString( roundNumber(spotrebaRokZarovkaKc,2) );
				sOutSpotrebaRokZarivkaKc = kalkToString( roundNumber(spotrebaRokZarivkaKc,2) );
				sOutUsporaRokKwh = kalkToString( roundNumber( (spotrebaRokZarovkaKWh-spotrebaRokZarivkaKWh),2) );
				sOutUsporaRokKc  = kalkToString( roundNumber( (spotrebaRokZarovkaKc-spotrebaRokZarivkaKc),2) );

				
				// SPOTREBA - vepsání do HTML tabulky

				$("#inpPrikonZarovka").text(sInpPrikon);
				$("#inpPrikonZarivka").text( ekvivalentniZarivka(sInpPrikon) );
				$(".inpZarovek").text(sInpZarovek);
				$(".inpProvoz").text(sInpProvoz);

				$("#outSpotrebaRokZarovkaKWh").text(sOutSpotrebaRokZarovkaKWh);
				$("#outSpotrebaRokZarivkaKWh").text(sOutSpotrebaRokZarivkaKWh);
				$("#outSpotrebaRokZarovkaKc").text(sOutSpotrebaRokZarovkaKc);
				$("#outSpotrebaRokZarivkaKc").text(sOutSpotrebaRokZarivkaKc);
				$("#outUsporaRokKwh").text(sOutUsporaRokKwh);
				$("#outUsporaRokKc").text(sOutUsporaRokKc);

/*
				alert("Spotreba zarovka kWh: " + sOutSpotrebaRokZarovkaKWh );	
				alert("Spotreba zarivka kWh: " + sOutSpotrebaRokZarivkaKWh );	

				alert("Spotreba zarovka Kc: " + sOutSpotrebaRokZarovkaKc );	
				alert("Spotreba zarivka Kc: " + sOutSpotrebaRokZarivkaKc );	
				
				alert("Za rok usetrite kWh: " + sOutUsporaRokKwh );	
				alert("Za rok usetrite Kč: " + sOutUsporaRokKc );	
*/
				if ( flagNavratnost ) {

					// NAVRATNOST - vypocty
					iUsporaZaZivostnostKWh = (sInpPrikon - ekvivalentniZarivka(sInpPrikon)) * sInpZivotnost * sInpZarovek / 1000;
					iUsporaZaZivostnostKc  = iUsporaZaZivostnostKWh * getSazba(sInpOdberatel);
					iNavratnostInvestice   = Math.ceil( ( sInpCenaZarivky * sInpZarovek ) / ( (spotrebaRokZarovkaKc-spotrebaRokZarivkaKc) / 12) ); // navratnost v mesicich (zaokr. nahoru)
					
					// NAVRATNOST - zaokrouhleni a prevedeni na string
					sOutNavratnostInvestice = kalkToString( iNavratnostInvestice );
					sOutUsporaZaZivostnostKWh = kalkToString( roundNumber( iUsporaZaZivostnostKWh ,2) );
					sOutUsporaZaZivostnostKc = kalkToString( roundNumber( iUsporaZaZivostnostKc ,2) );

					// NAVRATNOST - vepsání do HTML tabulky					
					$("#inpCenaZarivky").text(sInpCenaZarivky);
					$("#inpZivotnost").text(sInpZivotnost);					
					
					$("#outNavratnostInvestice").text(sOutNavratnostInvestice);
					$("#outUsporaZaZivostnostKWh").text(sOutUsporaZaZivostnostKWh);
					$("#outUsporaZaZivostnostKc").text(sOutUsporaZaZivostnostKc);

/*
					alert("Návratnost investice do úsporné zářivky (měsíců): " + sOutNavratnostInvestice );	
					alert("Úspora po dobu životnosti zářivky (kWh): " + sOutUsporaZaZivostnostKWh );	
					alert("Úspora po dobu životnosti zářivky (Kč): " + sOutUsporaZaZivostnostKc );	
*/
				} else { // nejsou data pro vypocet navratnosti
					$(".zarivky-navratnost").hide();
				};
				$("#kalkzarivky-vystupy").show(); // zobraz vysledky
				$("#kalkzarivky-vstupy").hide(); // schovej vstupni formular
				
				
			} else { /* NE všechny udaje spravne vyplneny */

				alert(errMsg);

			};
		
		}
	)

} /* END - spocitejUsporu() */
