function calcPrice()
{
	var useragent=navigator.userAgent.toLowerCase();
	var displayedrowstyle = "table-row";
	if (useragent.indexOf("msie") != -1) displayedrowstyle = "inline";
	
        // Változók
        var childWarning= document.getElementById('childwarning');
        var adultPrice= document.getElementById('adultprice');
        var childPrice= document.getElementById('childprice');
        var babyPrice= document.getElementById('babyprice');
        var adultNum= document.getElementById('adultnum');
        var childNum= document.getElementById('childnum');
        var babyNum= document.getElementById('babynum');
        var total= document.getElementById('total');
        //További árkalkulációs tételek
        var airportfee= document.getElementById('airportfee');
        var allowance= document.getElementById('kedvezmeny');
        var bizt1= document.getElementById('bizt1');
        var bizt2= document.getElementById('bizt2');
        var bizt3= document.getElementById('bizt3');
        var transfer= document.getElementById('transfer');
        var cancelprice= document.getElementById('cancelprice');
        var resort= document.getElementById('resort');
        var numperson=parseInt(adultNum.value)+parseInt(childNum.value)+parseInt(babyNum.value);
        var extrabedlabel= document.getElementById('extrabedlabel');
        var extrabed= document.getElementById('extrabed');
        var extrabedprice= document.getElementById('extrabedprice');
        if (extrabed.checked==true) numperson++;
        var repjegy= document.getElementById('repjegy');
        var repjegylabel= document.getElementById('repjegylabel');
        
        var vizumdij= document.getElementById('vizumdij');
        var szervizdij= document.getElementById('szervizdij');
        var felaregyagyas= document.getElementById('felaregyagyas');
        var felarszabad1= document.getElementById('felarszabad1');
        var felarszabad2= document.getElementById('felarszabad2');
        var felarszabad3= document.getElementById('felarszabad3');
        var felarszabad4= document.getElementById('felarszabad4');
        var felarszabad5= document.getElementById('felarszabad5');
        var felarszabad6= document.getElementById('felarszabad6');
        var felarszabad7= document.getElementById('felarszabad7');
        var felarszabad8= document.getElementById('felarszabad8');
        var felarszabad9= document.getElementById('felarszabad9');
        var felarszabad10= document.getElementById('felarszabad1');
        var felarreggeli= document.getElementById('felarreggeli');
        var felarvacsora= document.getElementById('felarvacsora');
        var felarfelpanzio= document.getElementById('felarfelpanzio');
        var felarteljespanzio= document.getElementById('felarteljespanzio');
        var felarall= document.getElementById('felarall');
        
        // További változók
        var mode= document.getElementById('alaparmode');
        var apartmanprice= document.getElementById('apartmanprice');
        var apartmanlabel= document.getElementById('apartmanlabel');
        var total1= document.getElementById('totaladult');
        var total2= document.getElementById('totalchild');
        var total3= document.getElementById('totalbaby');
        var airportlabel= document.getElementById('airportlabel');
        var foglalasidij= document.getElementById('foglalasidij');
        var foglalasidijlabel= document.getElementById('foglalasidijlabel');
        var basiclabel= document.getElementById('basiclabel');
        var classiclabel= document.getElementById('classiclabel');
        var premiumlabel= document.getElementById('premiumlabel');
        var allowancelabel= document.getElementById('allowancelabel');
        var transferlabel= document.getElementById('transferlabel');
        var resortlabel= document.getElementById('resortlabel');
        var cancellabel= document.getElementById('cancellabel');
        var days= document.getElementById('days');
        var nights= document.getElementById('nights');
        var totalRow= document.getElementById('totalrow');
        var napszorzo;
        var felaraktotal = 0;
        var apartmanTotal = 0;

        // Személyeket számolunk
        if (parseInt(mode.value) == 0) napszorzo = 1;
        else napszorzo = parseInt(days.value)-1; 
        adultTotal=adultNum.value*adultPrice.value*napszorzo;
        childTotal=childNum.value*childPrice.value*napszorzo;
        babyTotal=babyNum.value*babyPrice.value*napszorzo;

        // Részösszeget számolunk és kiírunk
        total1.innerHTML =Math.round(adultTotal)+".- Ft";
        total2.innerHTML =Math.round(childTotal)+".- Ft";
        total3.innerHTML =Math.round(babyTotal)+".- Ft";
        totalAirport=parseInt(airportfee.value)*numperson;
        airportlabel.innerHTML =totalAirport+".- Ft";
        totalFoglalasidij=parseInt(foglalasidij.value)*numperson;
        foglalasidijlabel.innerHTML =totalFoglalasidij+".- Ft";
        totalTransfer=numperson*parseInt(transfer.value);
        totalResort=numperson*parseInt(resort.value)*parseInt(days.value);
        document.getElementById('allpassengerslabel').innerHTML = "<b>"+numperson+" fő</b>";
	if (extrabedprice.value>0)
        {
        	document.getElementById('extrabedrow').style.display = displayedrowstyle;
		if (extrabed.checked==true)
	        {
	                extrabedlabel.innerHTML =""+parseInt(extrabedprice.value)*napszorzo+".- Ft";
	        	totalExtrabed=parseInt(extrabedprice.value)*napszorzo;
	        }
	        else
	        {
	                extrabedlabel.innerHTML ="-";
	                totalExtrabed=0;
	        }
	}
	else
	{
		totalExtrabed=0;
		document.getElementById('extrabedrow').style.display = 'none';
	}         
	
        totalCancel=Math.round(((adultTotal+childTotal+babyTotal+totalExtrabed+parseInt(apartmanprice.value))/100)*parseFloat(cancelprice.value));
        //alert(totalExtrabed);
	
        if (bizt1.checked==true)
        {
                biztTotal=numperson*parseInt(bizt1.value)*parseInt(days.value);
                basiclabel.innerHTML ="-";
                classiclabel.innerHTML ="-";
                premiumlabel.innerHTML =biztTotal+".- Ft";
        }
        else if (bizt2.checked==true)
        {
                biztTotal=numperson*parseInt(bizt2.value)*parseInt(days.value);
                basiclabel.innerHTML ="-";
                classiclabel.innerHTML =biztTotal+".- Ft";
                premiumlabel.innerHTML ="-";
        }
        else if (bizt3.checked==true)
        {
                biztTotal=numperson*parseInt(bizt3.value)*parseInt(days.value);
                basiclabel.innerHTML =biztTotal+".- Ft";
                classiclabel.innerHTML ="-";
                premiumlabel.innerHTML ="-";
        }
        else
        {
                biztTotal=0;
                basiclabel.innerHTML ="-";
                classiclabel.innerHTML ="-";
                premiumlabel.innerHTML ="-";
        }
        
        if (foglalasidij.value>0)
	{
		foglalasidijlabel.innerHTML =""+totalFoglalasidij+".- Ft";
		document.getElementById('reservationpricerow').style.display = displayedrowstyle;
	}
        else document.getElementById('reservationpricerow').style.display = 'none';

        if (airportfee.value>0)
	{
		airportlabel.innerHTML =""+totalAirport+".- Ft";
		document.getElementById('airportfeerow').style.display = displayedrowstyle;
	}
        else document.getElementById('airportfeerow').style.display = 'none';

        if (transfer.checked==true)
	{
		transferlabel.innerHTML =""+totalTransfer+".- Ft";
		document.getElementById('transferrow').style.display = displayedrowstyle;
	}
        else document.getElementById('transferrow').style.display = 'none';
        
	if (resort.checked==true)
	{
		resortlabel.innerHTML =""+totalResort+".- Ft";
		document.getElementById('resortrow').style.display = displayedrowstyle;
	}
        else document.getElementById('resortrow').style.display = 'none';
        
	if (cancelprice.checked==true)
	{
		cancellabel.innerHTML =""+totalCancel+".- Ft";
		document.getElementById('cancelpricerow').style.display = displayedrowstyle;
	}
        else document.getElementById('cancelpricerow').style.display = 'none';
        
	allowanceTotal = Math.round(((adultTotal+childTotal+babyTotal+totalExtrabed+parseInt(apartmanprice.value))/100)*parseInt(allowance.value));
        
	if (allowanceTotal>0)
	{
		allowancelabel.innerHTML ="-"+allowanceTotal+".- Ft";
		document.getElementById('allowancerow').style.display = displayedrowstyle;
	}
        else document.getElementById('allowancerow').style.display = 'none';
                
        if (repjegy.value>0)
	{
		repjegylabel.innerHTML = parseInt(repjegy.value)*numperson+".- Ft";
		document.getElementById('flyticketrow').style.display = displayedrowstyle;
	}
	else document.getElementById('flyticketrow').style.display = 'none';

        if (felaregyagyas.value>0 && numperson==1) 
	{
		felaregyagyaslabel.innerHTML = parseInt(felaregyagyas.value)*numperson*napszorzo+".- Ft";
		felaregyagyas.checked = true;
		document.getElementById('felaregyagyasrow').style.display = displayedrowstyle;
		felaraktotal = felaraktotal + parseInt(felaregyagyas.value)*numperson*napszorzo;
	}
	else
	{
		felaregyagyaslabel.innerHTML = '-';
		felaregyagyas.checked = false;
		document.getElementById('felaregyagyasrow').style.display = 'none';
	}

        if (apartmanprice.value>0) 
	{
		document.getElementById('apartmanpricerow').style.display = displayedrowstyle;
		apartmanTotal = parseInt(apartmanprice.value)*napszorzo;
		apartmanlabel.innerHTML = apartmanTotal+".- Ft";
	}
	else
	{
		apartmanlabel.innerHTML = '-';
		//felaregyagyas.checked = false;
		document.getElementById('apartmanpricerow').style.display = 'none';
	}

        if (vizumdij.value>0) 
	{
		document.getElementById('vizumdijlabel').innerHTML = parseInt(vizumdij.value)*numperson*napszorzo+".- Ft";
		vizumdij.checked = true;
		document.getElementById('vizumdijrow').style.display = displayedrowstyle;
		felaraktotal = felaraktotal + parseInt(vizumdij.value)*numperson*napszorzo;
	}
	else
	{
		document.getElementById('vizumdijlabel').innerHTML = '-';
		vizumdij.checked = false;
		document.getElementById('vizumdijrow').style.display = 'none';
	}
        if (szervizdij.value>0) 
	{
		document.getElementById('szervizdijlabel').innerHTML = parseInt(szervizdij.value)*numperson*napszorzo+".- Ft";
		szervizdij.checked = true;
		document.getElementById('szervizdijrow').style.display = displayedrowstyle;
		felaraktotal = felaraktotal + parseInt(szervizdij.value)*numperson*napszorzo;
	}
	else
	{
		document.getElementById('szervizdijlabel').innerHTML = '-';
		szervizdij.checked = false;
		document.getElementById('szervizdijrow').style.display = 'none';
	}
	
	if (felarszabad1.value>0)
	{
		document.getElementById('felarszabad1row').style.display = displayedrowstyle;
		if (felarszabad1.checked)
		{
			felarszabad1label.innerHTML = parseInt(felarszabad1.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad1.value)*numperson*napszorzo;
		}
		else felarszabad1label.innerHTML = '-';
	}
	else document.getElementById('felarszabad1row').style.display = 'none';
	
	if (felarszabad2.value>0)
	{
		document.getElementById('felarszabad2row').style.display = displayedrowstyle;
		if (felarszabad2.checked)
		{
			felarszabad2label.innerHTML = parseInt(felarszabad2.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad2.value)*numperson*napszorzo;
		}
		else felarszabad2label.innerHTML = '-';
	}
	else document.getElementById('felarszabad2row').style.display = 'none';

	if (felarszabad3.value>0)
	{
		document.getElementById('felarszabad3row').style.display = displayedrowstyle;
		if (felarszabad3.checked)
		{
			felarszabad3label.innerHTML = parseInt(felarszabad3.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad3.value)*numperson*napszorzo;
		}
		else felarszabad3label.innerHTML = '-';
	}
	else document.getElementById('felarszabad3row').style.display = 'none';

	if (felarszabad4.value>0)
	{
		document.getElementById('felarszabad4row').style.display = displayedrowstyle;
		if (felarszabad4.checked)
		{
			felarszabad4label.innerHTML = parseInt(felarszabad4.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad4.value)*numperson*napszorzo;
		}
		else felarszabad4label.innerHTML = '-';
	}
	else document.getElementById('felarszabad4row').style.display = 'none';

	if (felarszabad5.value>0)
	{
		document.getElementById('felarszabad5row').style.display = displayedrowstyle;
		if (felarszabad5.checked)
		{
			felarszabad5label.innerHTML = parseInt(felarszabad5.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad5.value)*numperson*napszorzo;
		}
		else felarszabad5label.innerHTML = '-';
	}
	else document.getElementById('felarszabad5row').style.display = 'none';

	if (felarszabad3.value>0)
	{
		document.getElementById('felarszabad3row').style.display = displayedrowstyle;
		if (felarszabad3.checked)
		{
			felarszabad3label.innerHTML = parseInt(felarszabad3.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad3.value)*numperson*napszorzo;
		}
		else felarszabad3label.innerHTML = '-';
	}
	else document.getElementById('felarszabad3row').style.display = 'none';

	if (felarszabad6.value>0)
	{
		document.getElementById('felarszabad6row').style.display = displayedrowstyle;
		if (felarszabad6.checked)
		{
			felarszabad6label.innerHTML = parseInt(felarszabad6.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad6.value)*numperson*napszorzo;
		}
		else felarszabad6label.innerHTML = '-';
	}
	else document.getElementById('felarszabad6row').style.display = 'none';
	
	if (felarszabad7.value>0)
	{
		document.getElementById('felarszabad7row').style.display = displayedrowstyle;
		if (felarszabad7.checked)
		{
			felarszabad7label.innerHTML = parseInt(felarszabad7.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad7.value)*numperson*napszorzo;
		}
		else felarszabad7label.innerHTML = '-';
	}
	else document.getElementById('felarszabad7row').style.display = 'none';

	if (felarszabad8.value>0)
	{
		document.getElementById('felarszabad8row').style.display = displayedrowstyle;
		if (felarszabad8.checked)
		{
			felarszabad8label.innerHTML = parseInt(felarszabad8.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad8.value)*numperson*napszorzo;
		}
		else felarszabad8label.innerHTML = '-';
	}
	else document.getElementById('felarszabad8row').style.display = 'none';

	if (felarszabad9.value>0)
	{
		document.getElementById('felarszabad9row').style.display = displayedrowstyle;
		if (felarszabad9.checked)
		{
			felarszabad9label.innerHTML = parseInt(felarszabad9.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad9.value)*numperson*napszorzo;
		}
		else felarszabad9label.innerHTML = '-';
	}
	else document.getElementById('felarszabad9row').style.display = 'none';

	/*if (felarszabad10.value>0)
	{
		document.getElementById('felarszabad10row').style.display = displayedrowstyle;
		if (felarszabad10.checked)
		{
			felarszabad10label.innerHTML = parseInt(felarszabad10.value)*numperson+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarszabad10.value)*numperson;
		}
		else felarszabad10label.innerHTML = '-';
	}
	else document.getElementById('felarszabad10row').style.display = 'none';*/

	if (felarreggeli.value>0)
	{
		document.getElementById('felarreggelirow').style.display = displayedrowstyle;
		if (felarreggeli.checked)
		{
			felarreggelilabel.innerHTML = parseInt(felarreggeli.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarreggeli.value)*numperson*napszorzo;
		}
		else felarreggelilabel.innerHTML = '-';
	}
	else document.getElementById('felarreggelirow').style.display = 'none';
	if (felarvacsora.value>0)
	{
		document.getElementById('felarvacsorarow').style.display = displayedrowstyle;
		if (felarvacsora.checked)
		{
			felarvacsoralabel.innerHTML = parseInt(felarvacsora.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarvacsora.value)*numperson*napszorzo;
		}
		else felarvacsoralabel.innerHTML = '-';
	}
	else document.getElementById('felarvacsorarow').style.display = 'none';
	if (felarfelpanzio.value>0)
	{
		document.getElementById('felarfelpanziorow').style.display = displayedrowstyle;
		if (felarfelpanzio.checked)
		{
			felarfelpanziolabel.innerHTML = parseInt(felarfelpanzio.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarfelpanzio.value)*numperson*napszorzo;
		}
		else felarfelpanziolabel.innerHTML = '-';
	}
	else document.getElementById('felarfelpanziorow').style.display = 'none';
	if (felarteljespanzio.value>0)
	{
		document.getElementById('felarteljespanziorow').style.display = displayedrowstyle;
		if (felarteljespanzio.checked)
		{
			felarteljespanziolabel.innerHTML = parseInt(felarteljespanzio.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarteljespanzio.value)*numperson*napszorzo;
		}
		else felarteljespanziolabel.innerHTML = '-';
	}
	else document.getElementById('felarteljespanziorow').style.display = 'none';
	if (felarall.value>0)
	{
		document.getElementById('felarallrow').style.display = displayedrowstyle;
		if (felarall.checked)
		{
			felaralllabel.innerHTML = parseInt(felarall.value)*numperson*napszorzo+".- Ft";
			felaraktotal = felaraktotal + parseInt(felarall.value)*numperson*napszorzo;
		}
		else felaralllabel.innerHTML = '-';
	}
	else document.getElementById('felarallrow').style.display = 'none';
	
        // Végösszeget számolunk és kiírunk
        
        priceTotal=adultTotal+childTotal+babyTotal+totalAirport+totalFoglalasidij+totalExtrabed+biztTotal-allowanceTotal+totalTransfer+totalResort+apartmanTotal+totalCancel+(parseInt(repjegy.value)*numperson)+felaraktotal;
        total.innerHTML = priceTotal+".- Ft";

        //Végül mahináljuk a végösszeges sort (nem írjuk ki, ha pl. nincs alapárunk)
        if ((adultTotal+childTotal+babyTotal)==0 && parseInt(apartmanprice.value)==0)
	{
		//totalRow.innerHTML ="<tr style='display:none;'></tr>";
		document.getElementById('totalalert').innerHTML = "Figyelem, a fenti végösszeg tájékoztató jellegű és nem tartalmazza az út alapárát!";
	}
	else document.getElementById('totalalert').innerHTML = "";

        if (childNum.value>1) childWarning.innerHTML ="<div class='childWarning'>A 2. idősebb gyermekár az 1. gyermekártól eltérhet, visszaigazolásunkban ez az ár is feltüntetésre kerül.</div>";
        else childWarning.innerHTML ="";
        
        if (days.value>=2) nights.innerHTML = days.value-1;
        else nights.innerHTML = "1";
	
	var calcLoaded = true;
}
