function cent(amount) {
     return (amount == Math.floor(amount)) ? amount + '.00' : (  (amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);
}

function total(what,number) {
    var amount = 0;
    for (var i=0;i<number;i++) {
        if (what.elements['price' + i].value == '')
            what.elements['price' + i].value == '0.00'; // fix for Opera.
        amount += (what.elements['price' + i].value - 0) * (what.elements['quantity' + i].value - 0);
    }
    what.amount.value = cent(Math.round(amount*Math.pow(10,2))/Math.pow(10,2));
}

function calculateTotal(frm)
{
     //declare quantities   
     var qtyFamilyPlus = 0;
     var qtyFamily = 0;
     var qtyChild = 0;
	 var qtyAdult = 0;
     
     //declare unit prices
	 var unitPriceFamilyPlus = 250;
     var unitPriceFamily = 125;
     var unitPriceChild = 15;
	 var unitPriceAdult = 50;
     
     //assign quantity values
     if (frm.QuantityFamilyPlus.value > 0){qtyFamilyPlus = parseInt(frm.QuantityFamilyPlus.value);} 
	 if (frm.QuantityFamily.value > 0){qtyFamily = parseInt(frm.QuantityFamily.value);}     
     if (frm.QuantityChild.value > 0){qtyChild = parseInt(frm.QuantityChild.value);}
	 if (frm.QuantityAdult.value > 0){qtyAdult = parseInt(frm.QuantityAdult.value);}
     
     //get quantity total - used for calculating print surcharge
     var qtyTotal = (qtyFamilyPlus + qtyFamily + qtyChild + qtyAdult) * 1;
     
     //calculate total
     var total = ((qtyFamilyPlus * unitPriceFamilyPlus) + (qtyFamily * unitPriceFamily) + (qtyChild * unitPriceChild) + (qtyAdult * unitPriceAdult)) * 1;
     
     frm.txtTotal.value = formatCurrency(total);
	 frm.hidTotal.value = formatCurrency(total);
     
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
    num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
    cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
    num = num.substring(0,num.length-(4*i+3))+','+
    num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + '$' + num + '.' + cents);
}