function ToggleLengthAndBreadth(p_intNumber) {
	for(l_intCount = 0; l_intCount < 4; l_intCount++) {
		if(l_intCount == p_intNumber) {
			document.Reservation.Length[l_intCount].disabled = false;
			document.Reservation.Breadth[l_intCount].disabled = false;
		}
		else {
			document.Reservation.Length[l_intCount].disabled = true;
			document.Reservation.Breadth[l_intCount].disabled = true;
		}
	}
}

function BookingStep1(p_strMessage) {
	if(ReadRadio(document.getElementsByName('DepartureDateHiringSumAndDiscount')) == '') {
		alert(p_strMessage);
		return false;
	}
	else {
		return true;
	}
}

function BookingStep2(p_intTravellerCount) {
	// check if a traveller entered a name (not default value). If so, BirthDate required
	var cName;
	var cInitial;
	var cTitle;
	var cBirth;
	var allOk = false;	

	for(i = 1; i <= p_intTravellerCount; i++) {
		cName = document.getElementById(i+'_rgName');
		cInitial = document.getElementById(i+'_rgInitial');
		cTitle = document.getElementById(i+'_rgTitle');
		cBirth = document.getElementById(i+'_rgBirth');
		
		if(cName.value == "")	{
			alert(oAlerts[0] + ' ' + i + '.');
			cName.focus(); return false;
		}
		if(cTitle[cTitle.selectedIndex].value == "")	{
			alert(oAlerts[1] + ' ' + i + '.');
			cTitle.focus(); return false;
		}
		if(!checkdate(cBirth.value)) {
			alert(oAlerts[2] + ' ' + i + '.');
			cBirth.focus(); return false;
		}	
		if(cBirth.value !='' && i==1) {
			if(!AgeCheck(cBirth.value,18)) {
				alert(oAlerts[3] + ' ' + i + '.');
				return false;
			}
		}
	}
	return true;
}

function BookingStep4(p_strMessage, p_blnOnApplication, p_strAvailabilityAlert)
{
 if (Check()) {
		if(!document.Reservation.Agreed.checked)
		{
			alert(p_strMessage);
			document.Reservation.Agreed.focus();
		} 
		else
		{
			if(p_blnOnApplication)
				alert(p_strAvailabilityAlert);
			document.forms['Reservation'].submit();
		}
	}
}

function SetPrice(p_cSource, p_cDestination, oElement)
{
	oSource = document.getElementById(p_cSource);
	oDestination = document.getElementById(p_cDestination);
	
	if(oSource && oDestination) {
		if(oElement.tagName == "SELECT")
			nCount = oElement[oElement.selectedIndex].index;
		else
			nCount = oElement.checked?1:0;
		oDestination.innerHTML = round_decimals(parseFloat(oSource.value.replace(",",".")) * nCount, 2).replace(".",",");
	}
}

function round_decimals(original_number, decimals) {
	var result1 = original_number * Math.pow(10, decimals);
	var result2 = Math.round(result1);
	var result3 = result2 / Math.pow(10, decimals);
	return pad_with_zeros(result3, decimals);
}

function pad_with_zeros(rounded_value, decimal_places) {
	// Convert the number to a string
	var value_string = rounded_value.toString();
  
	// Locate the decimal point
	var decimal_location = value_string.indexOf(".");

	// Is there a decimal point?
	if (decimal_location == -1) {
      
			// If no, then all decimal places will be padded with 0s
			decimal_part_length = 0;
      
			// If decimal_places is greater than zero, tack on a decimal point
			value_string += decimal_places > 0 ? "." : "";
	}
	else {

			// If yes, then only the extra decimal places will be padded with 0s
			decimal_part_length = value_string.length - decimal_location - 1;
	}
  
	// Calculate the number of decimal places that need to be padded with 0s
	var pad_total = decimal_places - decimal_part_length;
  
	if (pad_total > 0) {
		// Pad the string with 0s
		for (var counter = 1; counter <= pad_total; counter++) 
			value_string += "0";
	}
	return value_string;
}
