
if(typeof AO !== "object")
	AO={};
	
AO.InsuranceCalculator = function() {
	
	var price,kw,ccm;
	
	/*spans*/
	var pzpTxtEl, hpTxtEl; 
	/*selects*/
	var pzpEl, hpEl, priceEl, ccmEl, kwEl, poistovnaEl;
	
	// var pzpAvgRateKw = 136; // SKK
	// var pzpAvgRateCcm = 6.06; // SKK
	var pzpAvgRateKw = 4.51; // EUR
	var pzpAvgRateCcm = 0.2; // EUR
	var hpRatePriceMax = 0.046;
	var hpRatePriceMin = 0.026;
	
	var calculate = function () {
	
		
		
		var price = priceEl.get(0).value;	
		var kw = kwEl.get(0).value;	
		var ccm = ccmEl.get(0).value;	
		
		/*
		var hp = Math.round((price*hpRatePriceMin + price*hpRatePriceMax)/2);
		var pzp = Math.round((kw*pzpAvgRateKw + ccm*pzpAvgRateCcm)/2);
		*/
		var hp = Math.round((price*hpRatePriceMin + price*hpRatePriceMax)/2*100)/100;
		var pzp = Math.round((kw*pzpAvgRateKw + ccm*pzpAvgRateCcm)/2*100)/100;
		
		// alert('kalkulujem poistenie | pzp:'+pzp+' | hp:'+hp);
			
		return {pzp: pzp, hp: hp}		
	}
	
	var render = function(result){
		
		pzpTxtEl.html(result.pzp==0?'-':AO.Common.Util.numberFormat(result.pzp)+' &euro;');
		pzpEl.val(result.pzp);
		
		hpTxtEl.html(result.hp==0?'-':AO.Common.Util.numberFormat(result.hp)+' &euro;');
		hpEl.val(result.hp);
		
		/*
		// euro
		if(result.pzp==0)
			$('#poistenie_pzp_txt_euro').html('- &euro;');
		else
			$('#poistenie_pzp_txt_euro').html(AO.Common.Util.numberFormat(AO.Common.Util.skkToEur(result.pzp))+' &euro;');
			
		// euro
		if(result.hp==0)
			$('#poistenie_hp_txt_euro').html('- &euro;');
		else
			$('#poistenie_hp_txt_euro').html(AO.Common.Util.numberFormat(AO.Common.Util.skkToEur(result.hp))+' &euro;');
		*/
		
		// SKK
		if(result.pzp==0)
			$('#poistenie_pzp_txt').html('-,-Sk');
		else
			$('#poistenie_pzp_txt').html(AO.Common.Util.numberFormat(AO.Common.Util.eurToSkk(result.pzp))+',-Sk');
			
		// SKK 
		if(result.hp==0)
			$('#poistenie_hp_txt').html('-,-Sk');
		else
			$('#poistenie_hp_txt').html(AO.Common.Util.numberFormat(AO.Common.Util.eurToSkk(result.hp))+',-Sk');
	}
	
	var getInputs = function(){	
		price = priceEl.get(0).value;	
		kw = kwEl.get(0).value;	
		ccm = ccmEl.get(0).value;
	}
		
	return {
		/*
		setup {
			poi -> poistovna id			
		}
		*/
		init : function (setup){
			
			/*spans*/
			pzpTxtEl = $('#poistenie_pzp_txt_euro');
			hpTxtEl = $('#poistenie_hp_txt_euro');
			/*selects*/
			pzpEl = $('#poistenie_pzp');
			hpEl = $('#poistenie_hp');
			priceEl = $('#poistenie_cena');
			ccmEl = $('#poistenie_ccm');
			kwEl = $('#poistenie_kw');
			poistovnaEl = $('#id="poistenie_poistovna_type"');
																
			if(setup != undefined){
				AO.Common.Util.selectOptionByValue(poistovnaEl.get(0), setup.poistovna);				
			}
			
			this.calc();						
			priceEl.change(this.calc);
									
		},
		calc : function(){
			getInputs();			
			var result = calculate();
			render(result);
			return false;		
		},
		reset : function(){
			render({
				pzp: 0, 
				hp: 0
			});
		}
	}
}();
