//<-- 
function onBoxChange() 
{
	var form 		= document.forms.book;
	var total 		= new Number(form.total.value);	
	var totalroom 		= new Number(form.totalroom.value);	
	var roomrate 		= new Number(form.roomrate.value);
	var adult		= new Number(form.adult.value);
	var package		= new Number(form.package.value);
	var disc_amount		= new Number(form.disc_amount.value);	

	var extra_adult		= new Number(form.extra_adult.value);
	var extra_adult_rate= new Number(form.extra_adult_rate.value);

	var extra_children		= new Number(form.extra_children.value);
	var extra_children_rate	= new Number(form.extra_children_rate.value);
	
	var nights 			= new Number(form.nights.value);
	var allgala			= new Number(form.allgala.value);
	
	var transfer_type		= new Number(form.transfer_type.value);
	var min_transfer_rate	= new Number(form.min_transfer_rate.value);
	var transfer_adult		= new Number(form.transfer_adult.value);
	var transfer_child		= new Number(form.transfer_child.value);
	
	var deposit 	= new Number(form.deposit.value);
	var service	= new Number(form.service.value);
	var vat	= new Number(form.vat.value);
	var book_fee 	= new Number(form.book_fee.value);
	
	var extra_adult_cal 	= new Number(0);
	var extra_children_cal 	= new Number(0);
	
	var gala_cal		= new Number(0);
	var tranfer_cal		= new Number(0);
	var amount_cal 		= new Number(0);
	var service_cal 	= new Number(0);
	var vat_cal 	= new Number(0);
	var deposit_cal 	= new Number(0);
	
	extra_adult_cal		= (nights*extra_adult*extra_adult_rate); // EXTRA ADULT CHARGE
	extra_children_cal	= (nights*extra_children*extra_children_rate); // EXTRA CHILDREN CHARGE
	
	for (var i=0; i<allgala; i++ ) {
		var gala_adult = new Number(form.elements["gala_adult_"+i].value);
		var gala_child = new Number(form.elements["gala_child_"+i].value);
		document.getElementById("gala_show_"+i).innerHTML = addCommas(((adult*gala_adult)+(extra_adult*gala_adult)+(extra_children*gala_child)).toFixed(2));
		form.elements["gala_rate["+i+"]"].value = ((adult*gala_adult)+(extra_adult*gala_adult)+(extra_children*gala_child)).toFixed(2);
		gala_cal += (adult*gala_adult)+(extra_adult*gala_adult)+(extra_children*gala_child);
	}
	
	if (transfer_type == 1){ 
		tranfer_cal = (adult*transfer_adult)+(extra_adult*transfer_adult)+(extra_children*transfer_child);
		if (tranfer_cal < min_transfer_rate) { 
			tranfer_cal = min_transfer_rate;
		}
	}
	else {
		tranfer_cal = 0;
	}
	amount_cal	= total-disc_amount+book_fee+extra_adult_cal+extra_children_cal+gala_cal+tranfer_cal;
	service_cal = (amount_cal*service)/100;
	vat_cal = ((amount_cal+service_cal)*vat)/100;

	gamount_cal	= amount_cal+service_cal+vat_cal; 

	deposit_cal = ((amount_cal+service_cal+vat_cal)*deposit)/100;



	
	form.extra_adult_charge.value	= extra_adult_cal.toFixed(2);
	form.extra_children_charge.value= extra_children_cal.toFixed(2);
	form.gala_charge.value			= gala_cal.toFixed(2);
	form.transfer_charge.value		= tranfer_cal.toFixed(2);
	form.amount.value				= amount_cal.toFixed(2);
	form.service_charge.value		= service_cal.toFixed(2);
	form.vat_charge.value		= vat_cal.toFixed(2);
	form.gamount.value		= gamount_cal.toFixed(2);
	form.deposit_charge.value		= deposit_cal.toFixed(2);
	
	document.getElementById("extra_adult").innerHTML			= extra_adult;
	document.getElementById("extra_adult_show").innerHTML 		= addCommas(extra_adult_cal.toFixed(2));
	document.getElementById("extra_children").innerHTML			= extra_children;
	document.getElementById("extra_children_show").innerHTML 	= addCommas(extra_children_cal.toFixed(2));
	document.getElementById("transfer_charge_show").innerHTML 	= addCommas(tranfer_cal.toFixed(2));
	document.getElementById("amount_show").innerHTML 			= addCommas(amount_cal.toFixed(2));
	document.getElementById("service_show").innerHTML 			= addCommas(service_cal.toFixed(2));
	document.getElementById("vat_show").innerHTML 			= addCommas(vat_cal.toFixed(2));
	document.getElementById("gamount_show").innerHTML 			= addCommas(gamount_cal.toFixed(2));
	document.getElementById("deposit_show").innerHTML 			= addCommas(deposit_cal.toFixed(2));
	return;
}


function addCommas(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
//-->

