function roundTo(num,pow){
  num *= Math.pow(10,pow);
  num = (Math.round(num)/Math.pow(10,pow))+ "" ;
  if(num.indexOf(".") == -1)
	num += "." ;
  while(num.length - num.indexOf(".") - 1 < pow)
	num += "0" ;
  return num ;
}
		
function calcular() {
	var taxp = 0.09;
	var tax;
	var total;
	var extrabed;
	var extrabedtax;
	var total_tax;

	var camas = Array("King","Queen","Full","Full Double","King Deluxe","Queen Deluxe Double","Full Double Deluxe");
	var totales = new Array(4);
	totales[0] = new Array(110,110,95,125,130,130,130);
	totales[1] = new Array(120,120,100,135,140,140,140);
	totales[2] = new Array(120,120,100,135,140,140,140);
	totales[3] = new Array(0,0,0,135,0,0,140);

	var extrabeds = new Array(4);
	extrabeds[0] = new Array(0,0,0,0,0,0,0);
	extrabeds[1] = new Array(0,0,0,0,0,0,0);
	extrabeds[2] = new Array(20,20,20,0,20,20,0);
	extrabeds[3] = new Array(0,0,0,0,0,0,0);
	
	var details = new Array(4);
	details[0] = new Array("1 person, king bed","1 person, queen bed","1 person, full bed","1 person, 2 full beds","1 person, king bed deluxe","1 person, queen bed deluxe","1 person, full bed deluxe");
	details[1] = new Array("2 persons, king bed","2 persons, queen bed","2 persons, full bed","2 persons, 2 full beds","2 persons, king bed deluxe","2 persons, queen bed deluxe","2 person, 2 persons, 2 full beds deluxe");
	details[2] = new Array("2 persons, 1 king bed + additional bed","2 persons, 1 queen bed + additional bed","2 persons, 1 full bed + additional bed","3 persons, 2 full beds","3 persons, king bed deluxe + additional bed","3 persons, queen bed deluxe + additional bed","3 person, 2 full beds deluxe");
	details[3] = new Array("Not available for King Bed Type","Not available for Queen Bed Type","Not available for Full Bed Type","4 persons, 2 full beds","Not available for King Deluxe Bed Type","Not available for Queen Deluxe Bed Type","23 person, 4 persons, 2 full beds deluxe");

	$.each(camas, function(index,value) {
		if ($("#bed").val() == value) { bed = index; }
	})
	persons = $("#persons").val()-1;

	total = totales[persons][bed];
	tax = total*taxp;
	extrabed = extrabeds[persons][bed];
	extrabedtax = taxp*extrabed;
	total_tax = total+tax+extrabed+extrabedtax;

	$("#descr").html("Cost per room for "+details[persons][bed]);
	$("#selected_room").val(details[persons][bed]);
	$("#total").html("$"+roundTo(total,2));
	$("#tax").html("$"+roundTo(tax,2));
	$("#extrabed").html("$"+roundTo(extrabed,2));
	$("#extrabedtax").html("$"+roundTo(extrabedtax,2));
	$("#total_tax").html("$"+roundTo(total_tax,2));
	$("#x_total_tax").val(roundTo(total_tax,2));
}

$(function() {
		   
	$("#b_form").validate();
	$("#c_form").validate();
	
	/*$("#checking_in").datepicker({
		showOn: 'button',
		buttonImage: 'themes/web/img/calendar.png',
		buttonImageOnly: true
	});
	$("#checking_out").datepicker({
		showOn: 'button',
		buttonImage: 'themes/web/img/calendar.png',
		buttonImageOnly: true
	});*/
	
	$("#arrival").datepicker({
		showOn: 'button',
		buttonImage: 'themes/web/img/calendar.png',
		buttonImageOnly: true,
		constrainInput: true
	});
	
	var dates = $( "#checking_in, #checking_out" ).datepicker({
		showOn: 'button',
		minDate: 0,
		buttonImage: 'themes/web/img/calendar.png',
		buttonImageOnly: true,
			onSelect: function( selectedDate ) {
				var option = this.id == "checking_in" ? "minDate" : "maxDate",
					instance = $( this ).data( "datepicker" ),
					date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings );
				dates.not( this ).datepicker( "option", option, date );
			}
		});
	
	$("#persons").change(function() {
		calcular();
	})
	
	$("#rooms").change(function() {
		calcular();
	})
	
	$("#bed").change(function() {
		calcular();
	})
	
	calcular();
})
