var cInflaceNajmu = function() {
	
	var el;
	
	this.init = function(){
		this.el = el = $('#InflaceNajmu');
		if (!el) {} else { 
			el.find('.but_count').unbind('click').bind('click', function(){
				InflaceNajmu.calculate(this.form);
			});
			el.find('.but_reset').unbind('click').bind('click', function(){
				$('.img_inflace').attr('src', ROOT + "data/kalkulacka/0.gif");
			});
			el.find('[name="najem"]').unbind('blur').bind('blur', function(){
				InflaceNajmu.validate(this.form);
			});
		}
	};
	
	this.validate = function(obj){
	 if (! CheckNumber(obj.najem.value, 'REAL'))
	  {
	  	window.alert('Opravte laskavě nájem - povolena jsou pouze celá čísla');
	  	el.find('[name="najem"]').focus();
	  };
	 if ((obj.najem.value == 0) || (obj.najem.value < 0))
	  {
	  	window.alert('Opravte laskavě nájem - nesmí být nula nebo být záporný');
	  	el.find('[name="najem"]').focus();
	  };
	};
	
	this.calculate = function(form){

//		window.alert(form.proc2.options[form.proc2.selectedIndex].value);
		  
		form.proc.value = form.proc2.options[form.proc2.selectedIndex].value;
		  
		var rok_najem = 12 * parseFloat(form.najem.value, 10);
		var rok_koef = 1 + parseFloat(form.proc.value, 10)/100;
		//window.alert("rok_koef: " + rok_koef + " rok_najem: " + rok_najem);
		form.za10let.value = Zaok10(rok_najem*suma_inflace(rok_koef,10));
		form.za20let.value = Zaok10(rok_najem*suma_inflace(rok_koef,20));
		form.za30let.value = Zaok10(rok_najem*suma_inflace(rok_koef,30));
		form.za40let.value = Zaok10(rok_najem*suma_inflace(rok_koef,40));
		$('.img_inflace').attr('src', ROOT + "data/kalkulacka/"+form.proc.value+".gif");
		
		if (typeof pageTracker == 'undefined') {} else {pageTracker._trackPageview("/cs/informace/spocitejte-si/inflace-najmu.html/spocitat/inflace/");}
	};

};

function Zaok10( x ) {
	return 10*Math.round(0.1*x);
};

function mcn(zakl, n) {  /* zakl na n-tou */
	  result = 1;
	  while (n > 0) {
	    result = result*zakl;
	    n--; }
	  return result;
};

function suma_inflace(kf, n) {
  return (mcn(kf,n)-1)/(kf-1);
};

function CheckNumber(StringToCheck, CheckedType)
{
 flag  = 0;
 point = 0;
 for ( i = 0; i < StringToCheck.length; i++)
     { var chr = StringToCheck.substring(i, i+1);
       if ( ((chr < "0") || (chr > "9")) &&
            (chr != ".") && (chr != "-")  ||
            ((chr == ".") && (CheckedType != "REAL")))
          flag = 1;
       if (chr == ".")
          {point = point +1}
     }
 if ((flag == 1) || (StringToCheck.length == 0) || (point > 1))
    { return false;}
 else
    return true;
};

