// JavaScript Document

// global variable
var thisPage = '<%=ThisPage%>'

// AJAX variable
var request = false;
try {
  request = new XMLHttpRequest();
} catch (trymicrosoft) {
  try {
    request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
    try {
      request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (failed) {
      request = false;
    }
  }
}

if (!request)
  alert("Error initializing XMLHttpRequest!");
	
// Build Your Trip
var objFillArea
objFillArea = ""

function BuildTrip(obj,value,idFillArea)
{
	var routeType = ""
	
	// assign ajax URL parameters and fill area
	var url = "/includes/sp/build_trip.asp?objID=" + obj.id + "&value=" + value;
	objFillArea = idFillArea;
	
	if (value != '0|None|0|None')
	{
		request.open("GET", url, true);
		request.onreadystatechange = updatePage;
		request.send(null);	
	}
}

function resetTrip()
{
	document.getElementById('spanOneWayTo').innerHTML = '<select id="selOneWayTo" class="dropdown"><option value="0|None|0|None">A...</option></select>';
	document.getElementById('spanReturnFrom').innerHTML = '<select id="selReturnFrom" class="dropdown"><option value="0|None|0|None">De...</option></select>';
	document.getElementById('spanReturnTo').innerHTML = '<select id="selReturnTo" class="dropdown"><option value="0|None|0|None">A...</option></select>';
	
	changeBackgroundToBare(false);
	document.getElementById('trgInbound').style.visibility='visible';
}

function updatePage()
{	
	if (request.readyState == 4)
	{
		if (request.status == 200)
		{
			var response = request.responseText;
			objFillArea.innerHTML = response;

			// if the route is one way, ensure that the return from/to drop downs are disabled		
			if (document.frmBuildTrip.radioRouteType[0].checked)
			{
				document.getElementById('selReturnFrom').disabled = true;
				document.getElementById('selReturnTo').disabled = true;
			}
		}
		else if (request.status == 404)
		{
			alert("Page Does Not Exist!");
		}
		else
		{
			alert("Error: status code is " + request.status);
		}
	}
}
// End Build Your Trip

function disableReturn()
{
	document.getElementById('selReturnFrom').options[0].selected = true;
	document.getElementById('selReturnTo').options[0].selected = true;
	document.getElementById('selReturnFrom').disabled = true;
	document.getElementById('selReturnTo').disabled = true;
	
	document.getElementById('dteInbound').value = "";
	document.getElementById('trgInbound').style.visibility='hidden';
}

function enableReturn()
{
	document.getElementById('selReturnFrom').options[0].selected = true;
	document.getElementById('selReturnTo').options[0].selected = true;
	document.getElementById('selReturnFrom').disabled = false;
	document.getElementById('selReturnTo').disabled = false;
	
	document.getElementById('trgInbound').style.visibility='visible';
}

function displayVehicleInfo(obj)
{
	var txtVehicleValue = obj.options[obj.selectedIndex].value;

	if ((txtVehicleValue == "None") || (txtVehicleValue == "Motorcycle"))
	{
		document.frmBuildTrip.txtVehicleLength1.disabled = true;
		document.frmBuildTrip.txtVehicleHeight1.disabled = true;
		document.frmBuildTrip.txtVehicleLength1.value = "";
		document.frmBuildTrip.txtVehicleHeight1.value = "";
		
		changeBackgroundToBare(false);
		document.getElementById('tblVehicle1InfoHead').style.visibility='hidden';
		document.getElementById('tblVehicle1Info').style.visibility='hidden';
		document.getElementById('spanVehicleHeight1').style.visibility='hidden';
	}
	else 
	{
		document.frmBuildTrip.txtVehicleLength1.disabled = false;
		document.frmBuildTrip.txtVehicleHeight1.disabled = false;
		
		changeBackgroundToBare(true);
		document.getElementById('tblVehicle1InfoHead').style.visibility='visible';
		document.getElementById('tblVehicle1Info').style.visibility='visible';
		document.getElementById('spanVehicleHeight1').style.visibility='visible';
	}
	
	if (txtVehicleValue.search(/\+/) > -1)
	{
		document.frmBuildTrip.txtVehicleLength2.disabled = false;
		document.frmBuildTrip.txtVehicleHeight2.disabled = false;
		
		document.getElementById('tblVehicle2InfoHead').style.visibility='visible';
		document.getElementById('tblVehicle2Info').style.visibility='visible';
		document.getElementById('spanVehicleHeight2').style.visibility='visible';
	}
	else 
	{
		document.frmBuildTrip.txtVehicleLength2.disabled = true;
		document.frmBuildTrip.txtVehicleHeight2.disabled = true;
		document.frmBuildTrip.txtVehicleLength2.value = "";
		document.frmBuildTrip.txtVehicleHeight2.value = "";
		
		document.getElementById('tblVehicle2InfoHead').style.visibility='hidden';
		document.getElementById('tblVehicle2Info').style.visibility='hidden';
		document.getElementById('spanVehicleHeight2').style.visibility='hidden';
	}
	
	if (document.getElementById('chkCampingOnBoard').checked)
	{
		switch(txtVehicleValue)
		{
			case "Car+Caravan":
				document.frmBuildTrip.txtVehicleHeight1.value = "";
				document.frmBuildTrip.txtVehicleHeight2.value = "2.01";
				document.getElementById('spanVehicleHeight1').style.visibility='visible';
				document.getElementById('spanVehicleHeight2').style.visibility='hidden';
				break;
			
			case "Camper":
				document.frmBuildTrip.txtVehicleHeight1.value = "2.01";
				document.frmBuildTrip.txtVehicleHeight2.value = "";
				document.getElementById('spanVehicleHeight1').style.visibility='hidden';
				document.getElementById('spanVehicleHeight2').style.visibility='hidden';
				break;
			
			case "Camper+Baggage":
				document.frmBuildTrip.txtVehicleHeight1.value = "2.01";
				document.frmBuildTrip.txtVehicleHeight2.value = "";
				document.getElementById('spanVehicleHeight1').style.visibility='hidden';
				document.getElementById('spanVehicleHeight2').style.visibility='visible';
				break;
			
			case "Camper+Boat":
				document.frmBuildTrip.txtVehicleHeight1.value = "2.01";
				document.frmBuildTrip.txtVehicleHeight2.value = "";
				document.getElementById('spanVehicleHeight1').style.visibility='hidden';
				document.getElementById('spanVehicleHeight2').style.visibility='visible';
				break;
			
			case "Minibus":
				document.frmBuildTrip.txtVehicleHeight1.value = "2.01";
				document.frmBuildTrip.txtVehicleHeight2.value = "";
				document.getElementById('spanVehicleHeight1').style.visibility='hidden';
				document.getElementById('spanVehicleHeight2').style.visibility='hidden';
				break;
			
			case "Minibus+Caravan":
				document.frmBuildTrip.txtVehicleHeight1.value = "";
				document.frmBuildTrip.txtVehicleHeight2.value = "2.01";
				document.getElementById('spanVehicleHeight1').style.visibility='visible';
				document.getElementById('spanVehicleHeight2').style.visibility='hidden';
				break;
			
			case "Minibus+Baggage":
				document.frmBuildTrip.txtVehicleHeight1.value = "2.01";
				document.frmBuildTrip.txtVehicleHeight2.value = "";
				document.getElementById('spanVehicleHeight1').style.visibility='hidden';
				document.getElementById('spanVehicleHeight2').style.visibility='visible';
				break;
			
			case "Minibus+Boat":
				document.frmBuildTrip.txtVehicleHeight1.value = "2.01";
				document.frmBuildTrip.txtVehicleHeight2.value = "";
				document.getElementById('spanVehicleHeight1').style.visibility='hidden';
				document.getElementById('spanVehicleHeight2').style.visibility='visible';
				break;
		}
	}
}

function toggleBoxes(value)
{
	var dteToday = new Date();
	var dteOutbound = "";
	var dteInbound = "";
	var i = 0;
	var j = 0;
	
	if (value == 'reset')
	{
		// restore to previous state and hide message and passenger table
		document.getElementById('tblPassengerInfo').style.display='none'; 
		document.getElementById('tblPassengerInfo').style.visibility='hidden'; 
		
		document.getElementById('Step2a').style.display='block'; 
		document.getElementById('Step2a').style.visibility='visible'; 
		
		document.getElementById('Step2b').style.display='none'; 
		document.getElementById('Step2b').style.visibility='hidden'; 
		
		//document.getElementById('bottom_box').style.display='block'; 
		//document.getElementById('bottom_box').style.visibility='visible'; 
		
		//document.getElementById('island_bottom').style.display='block'; 
		//document.getElementById('island_bottom').style.visibility='visible'; 
		
		document.getElementById('footer').style.display='block'; 
		document.getElementById('footer').style.visibility='visible'; 
		
		//document.getElementById('RightBox2').style.display='block'; 
		//document.getElementById('RightBox2').style.visibility='visible';
		
		document.getElementById('txtVehicleLength1').disabled=true;
		document.getElementById('txtVehicleHeight1').disabled=true;
		
		document.getElementById('txtVehicleLength2').disabled=true;
		document.getElementById('txtVehicleHeight2').disabled=true;
		
		//document.getElementById('Step3').style.display='none';
		//document.getElementById('Step3').style.visibility='hidden';
		document.getElementById('ifrmResults').style.display='none';
		document.getElementById('ifrmResults').style.visibility='hidden';
		
		document.getElementById('spanVehicleType').innerHTML = "<select id='selVehicleType' name='selVehicleType' class='vehicles' onchange='displayVehicleInfo(this);'>	<option value='0' selected='selected'>Díganos si usted tiene un vehículo...</option>	<option value='Motorcycle'>Motocicleta</option>	<option value='Car'>Car</option>	<option value='Car+Baggage'>Car + Baggage Trailer</option>	<option value='Car+Boat'>Car + Boat Trailer</option>	<option value='Minibus'>Minibus</option>	<option value='Minibus+Baggage'>Minibus + Baggage Trailer</option>	<option value='Minibus+Boat'>Μinibus + Boat Trailer</option>	<option value='0' disabled='disabled'>-----------------------------------</option> <option value='None' style='font-weight:bold;'>Sólo Pasajeros/ningún vehículos</option> <option value='0' disabled='disabled'>-----------------------------------</option></select>"
		
		document.getElementById('tblVehicle1InfoHead').style.visibility='hidden';
		document.getElementById('tblVehicle1Info').style.visibility = 'hidden';
		document.getElementById('tblVehicle2InfoHead').style.visibility = 'hidden';
		document.getElementById('tblVehicle2Info').style.visibility = 'hidden';
		document.getElementById('spanVehicleHeight1').style.visibility='hidden';
		document.getElementById('spanVehicleHeight2').style.visibility='hidden';
	}
	else if (value == 'continue')
	{
		// not sure if we need this
		window.frames['ifrmResults'].document.body.innerHTML = '';
		
		// validate all routes
		if (document.frmBuildTrip.radioRouteType[0].checked)
		{
			// validate one way routes
			if (document.getElementById('selOneWayFrom').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de salida del puerto.');
				document.getElementById('selOneWayFrom').focus();
				return false;
			}
			else if (document.getElementById('selOneWayTo').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de puerto de llegada.');
				document.getElementById('selOneWayTo').focus();
				return false;
			}
			else if (document.getElementById('dteOutbound').value == '')
			{
				alert ( 'Por favor, elija la fecha de salida.');
				document.getElementById('dteOutbound').focus();
				return false;
			}
			else
			{
				if (document.getElementById('dteOutbound').value != '')
				{
					dteOutbound = getDateObject(document.getElementById('dteOutbound').value, "/");
					//alert (dteOutbound);
					//alert(dteToday);
					if (dteOutbound <= dteToday)
					{
						alert ( 'La fecha de salida no puede ser inferior o igual a la fecha de hoy. Por favor, elija la correcta fecha de salida.');
						document.getElementById('dteOutbound').focus();
						return false;
					}
				}
			}
		}
		else
		{
			// validate both one way and return routes
			if (document.getElementById('selOneWayFrom').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de salida del puerto.');
				document.getElementById('selOneWayFrom').focus();
				return false;
			}
			else if (document.getElementById('selOneWayTo').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de puerto de llegada.');
				document.getElementById('selOneWayTo').focus();
				return false;
			}
			else if (document.getElementById('selReturnFrom').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el puerto de salida de retorno.');
				document.getElementById('selReturnFrom').focus();
				return false;
			}
			else if (document.getElementById('selReturnTo').selectedIndex == 0)
			{
				alert ( 'Por favor, seleccione el retorno del puerto de llegada.');
				document.getElementById('selReturnTo').focus();
				return false;
			}
			else if (document.getElementById('dteOutbound').value == '')
			{
				alert ( 'Por favor, elija la fecha de salida.');
				document.getElementById('dteOutbound').focus();
				return false;
			}
			else if (document.getElementById('dteInbound').value == '')
			{
				alert ( 'Por favor, elija la fecha de regreso.');
				
				document.getElementById('dteInbound').focus();
				return false;
			}
			else
			{
				// verify that the departure date is not less than or equal to today's date
				if (document.getElementById('dteOutbound').value != '')
				{
					dteOutbound = getDateObject(document.getElementById('dteOutbound').value, "/");

					if (dteOutbound <= dteToday)
					{
						alert ('La fecha de salida no puede ser inferior o igual a la fecha de hoy. Por favor, elija la correcta fecha de salida.');
						document.getElementById('dteOutbound').focus();
						return false;
					}
				}
				
				// verify that the arrival date is not less than or equal to today's date
				if (document.getElementById('dteInbound').value != '')
				{
					dteInbound = getDateObject(document.getElementById('dteInbound').value, "/");

					if (dteInbound <= dteToday)
					{
						alert ('La fecha de regreso no puede ser inferior o igual a la fecha de hoy. Por favor, elija la correcta fecha de regreso.');
						document.getElementById('dteInbound').focus();
						return false;
					}
				}
				
				if ((document.getElementById('dteOutbound').value != '') && (document.getElementById('dteInbound').value != ''))
				{
					dteOutbound = getDateObject(document.getElementById('dteOutbound').value, "/");
					dteInbound = getDateObject(document.getElementById('dteInbound').value, "/");
					
					if (dteInbound <= dteOutbound)
					{
						alert ( 'La fecha de regreso no puede ser inferior o igual a la fecha de salida. Por favor, seleccione las fechas correctas. ');
						document.getElementById('dteOutbound').focus();
						return false;
					}
				}
			}
		}

		if (document.getElementById('selVehicleType').selectedIndex == 0)
		{
			if (document.getElementById('chkCampingOnBoard').checked)
			{
				alert ( 'Por favor, seleccione el tipo de caravana de vehículos.');
			}
			else
			{
				alert('Si no tiene un vehículo por favor seleccione "Sólo Pasajeros / ningún vehículos"');
			}
			document.getElementById('selVehicleType').focus();
			return false;
		}
		else
		{
			if (document.getElementById('txtVehicleLength1').disabled == false)
			{
				// validate the numeric values
				var vehLength1 = document.getElementById('txtVehicleLength1').value;
				
				if ((isNaN(parseFloat(vehLength1))) || (parseFloat(vehLength1) == 0))
				{
					alert ( 'Por favor, introduzca la longitud del vehículo.');
					document.getElementById('txtVehicleLength1').focus();
					return false;
				}
			}
			
			if (document.getElementById('txtVehicleHeight1').disabled == false)
			{
				// validate the numeric values
				var vehHeight1 = document.getElementById('txtVehicleHeight1').value;
				
				if ((isNaN(parseFloat(vehHeight1))) || (parseFloat(vehHeight1) == 0))
				{
					alert ( 'Por favor, entrar en el vehículo de altura.');
					document.getElementById('txtVehicleHeight1').focus();
					return false;
				}
			}
			
			if (document.getElementById('txtVehicleLength2').disabled == false)
			{
				// validate the numeric values
				var vehLength2 = document.getElementById('txtVehicleLength2').value;
				
				if ((isNaN(parseFloat(vehLength2))) || (parseFloat(vehLength2) == 0))
				{
					alert ( 'Por favor, introduzca el remolque / caravana longitud.');
					document.getElementById('txtVehicleLength2').focus();
					return false;
				}
			}
			
			if (document.getElementById('txtVehicleHeight2').disabled == false)
			{
				// validate the numeric values
				var vehHeight2 = document.getElementById('txtVehicleHeight2').value;
				
				if ((isNaN(parseFloat(vehHeight2))) || (parseFloat(vehHeight2) == 0))
				
				{
					alert ( 'Por favor, introduzca el remolque / caravana altura.');
					document.getElementById('txtVehicleHeight2').focus();
					return false;
				}
			}
						
		}
		
		var numPassengers = parseInt(document.frmBuildTrip.selNumPassengers.value);
		
		if (numPassengers > 0)
		{
			// hide right boxes and show message
			document.getElementById('tblPassengerInfo').style.display='block'; 
			document.getElementById('tblPassengerInfo').style.visibility='visible'; 
			
			document.getElementById('Step2a').style.display='none'; 
			document.getElementById('Step2a').style.visibility='hidden'; 
			
			document.getElementById('Step2b').style.display='block'; 
			document.getElementById('Step2b').style.visibility='visible'; 
			
			//document.getElementById('bottom_box').style.display='block'; 
			//document.getElementById('bottom_box').style.visibility='visible'; 		

			//document.getElementById('island_bottom').style.display='block'; 
			//document.getElementById('island_bottom').style.visibility='visible'; 

			document.getElementById('footer').style.display='block'; 
			document.getElementById('footer').style.visibility='visible'; 
			
			//document.getElementById('RightBox2').style.display='block'; 
			//document.getElementById('RightBox2').style.visibility='visible';
			
			//document.getElementById('Step3').style.display='none';
			//document.getElementById('Step3').style.visibility='hidden';
			document.getElementById('ifrmResults').style.display='none'; 
			document.getElementById('ifrmResults').style.visibility='hidden';
			
			//alert(numPassengers+1);
			
			// make the first section of passengers visible
			for (i=1; i <= numPassengers; i++)
			{
				if (document.frmBuildTrip.chkCampingOnBoard.checked == true)
				{
					// find the accommodation DECK since camping on board was selected
					for (j=0; j <= document.getElementById('selCategory'+i).length - 1; j++)
					{
						if (document.getElementById('selCategory' + i).options[j].text.search(/DECK/) > -1)
						{
							document.getElementById('selCategory' + i).options[j].selected = true;
						}
					}
					document.getElementById('selPassengerType' + i).options[0].selected = true;
					
					document.getElementById('selCategory' + i).disabled = true;
					document.getElementById('rowPassenger' + i).style.visibility='visible';
				}
				else
				{
					document.getElementById('selPassengerType' + i).options[0].selected = true;
					document.getElementById('selCategory' + i).options[0].selected = true;
					document.getElementById('selCategory' + i).disabled = false;
					document.getElementById('rowPassenger' + i).style.visibility='visible';
				}
			}
			
			// make the second section of passengers disappear
			for (i=numPassengers+1; i <= 9; i++)
			{
				document.getElementById('selPassengerType' + i).options[0].selected = true;
				document.getElementById('selCategory' + i).options[0].selected = true;
				document.getElementById('selCategory' + i).disabled = false;
				document.getElementById('rowPassenger' + i).style.visibility='hidden';
			}
		}
		else
		{
			alert ( 'Por favor seleccione el número de pasajeros.');
			return false;
		}
	}
	else if (value == 'passengers')
	{
		// check if the second window is active
		if (document.getElementById('tblPassengerInfo').style.display == 'block')
		{
			// modify the passenger information
			toggleBoxes('continue');
		}
	}
	else if (value == 'results')
	{
		// validate all routes
		if (document.frmBuildTrip.radioRouteType[0].checked)
		{
			// validate one way routes
			if (document.getElementById('selOneWayFrom').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de salida del puerto.');
				document.getElementById('selOneWayFrom').focus();
				return false;
			}
			else if (document.getElementById('selOneWayTo').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de puerto de llegada.');
				document.getElementById('selOneWayTo').focus();
				return false;
			}
			else if (document.getElementById('dteOutbound').value == '')
			{
				alert ( 'Por favor, elija la fecha de salida.');
				document.getElementById('dteOutbound').focus();
				return false;
			}
			else
			{
				if (document.getElementById('dteOutbound').value != '')
				{
					dteOutbound = getDateObject(document.getElementById('dteOutbound').value, "/");
					//alert (dteOutbound);
					//alert(dteToday);
					if (dteOutbound <= dteToday)
					{
						alert('La fecha de salida no puede ser inferior o igual a la fecha de hoy. Por favor, elija la correcta fecha de salida.');
						document.getElementById('dteOutbound').focus();
						return false;
					}
				}
			}
		}
		else
		{
			// validate both one way and return routes
			if (document.getElementById('selOneWayFrom').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de salida del puerto.');
				document.getElementById('selOneWayFrom').focus();
				return false;
			}
			else if (document.getElementById('selOneWayTo').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de puerto de llegada.');
				document.getElementById('selOneWayTo').focus();
				return false;
			}
			else if (document.getElementById('selReturnFrom').selectedIndex == 0)
			{
				alert ( 'Por favor seleccione el modo de puerto de llegada.');
				document.getElementById('selReturnFrom').focus();
				return false;
			}
			else if (document.getElementById('selReturnTo').selectedIndex == 0)
			{
				alert ( 'Por favor, seleccione el retorno del puerto de llegada.');
				document.getElementById('selReturnTo').focus();
				return false;
			}
			else if (document.getElementById('dteOutbound').value == '')
			{
				alert ( 'Por favor, elija la fecha de salida.');
				document.getElementById('dteOutbound').focus();
				return false;
			}
			else if (document.getElementById('dteInbound').value == '')
			{
				alert ( 'Por favor, elija la fecha de regreso.');
				
				document.getElementById('dteInbound').focus();
				return false;
			}
			else
			{
				// verify that the departure date is not less than or equal to today's date
				if (document.getElementById('dteOutbound').value != '')
				{
					dteOutbound = getDateObject(document.getElementById('dteOutbound').value, "/");

					if (dteOutbound <= dteToday)
					{
						alert('La fecha de salida no puede ser inferior o igual a la fecha de hoy. Por favor, elija la correcta fecha de salida.');
						document.getElementById('dteOutbound').focus();
						return false;
					}
				}
				
				// verify that the arrival date is not less than or equal to today's date
				if (document.getElementById('dteInbound').value != '')
				{
					dteInbound = getDateObject(document.getElementById('dteInbound').value, "/");

					if (dteInbound <= dteToday)
					{
						alert('La fecha de regreso no puede ser inferior o igual a la fecha de hoy. Por favor, elija la correcta fecha de regreso.');
						document.getElementById('dteInbound').focus();
						return false;
					}
				}
				
				if ((document.getElementById('dteOutbound').value != '') && (document.getElementById('dteInbound').value != ''))
				{
					dteOutbound = getDateObject(document.getElementById('dteOutbound').value, "/");
					dteInbound = getDateObject(document.getElementById('dteInbound').value, "/");
					
					if (dteInbound <= dteOutbound)
					{
						alert('La fecha de regreso no puede ser inferior o igual a la fecha de salida. Por favor, seleccione las fechas correctas.');
						document.getElementById('dteOutbound').focus();
						return false;
					}
				}
			}
		}

		if (document.getElementById('selVehicleType').selectedIndex == 0)
		{
			if (document.getElementById('chkCampingOnBoard').checked)
			{
				alert ( 'Por favor, seleccione el tipo de caravana de vehículos.');
			}
			else
			{
				alert('Si no tiene un vehículo por favor seleccione "Sólo Pasajeros / ningún vehículos"');
			}
			document.getElementById('selVehicleType').focus();
			return false;
		}
		else
		{
			if (document.getElementById('txtVehicleLength1').disabled == false)
			{
				// validate the numeric values
				var vehLength1 = document.getElementById('txtVehicleLength1').value;
				
				if ((isNaN(parseFloat(vehLength1))) || (parseFloat(vehLength1) == 0))
				{
					alert ( 'Por favor, introduzca la longitud del vehículo.');
					document.getElementById('txtVehicleLength1').focus();
					return false;
				}
			}
			
			if (document.getElementById('txtVehicleHeight1').disabled == false)
			{
				// validate the numeric values
				var vehHeight1 = document.getElementById('txtVehicleHeight1').value;
				
				if ((isNaN(parseFloat(vehHeight1))) || (parseFloat(vehHeight1) == 0))
				{
					alert ( 'Por favor, entrar en el vehículo de altura.');
					document.getElementById('txtVehicleHeight1').focus();
					return false;
				}
			}
			
			if (document.getElementById('txtVehicleLength2').disabled == false)
			{
				// validate the numeric values
				var vehLength2 = document.getElementById('txtVehicleLength2').value;
				
				if ((isNaN(parseFloat(vehLength2))) || (parseFloat(vehLength2) == 0))
				{
					alert ( 'Por favor, introduzca el remolque / caravana longitud.');
					document.getElementById('txtVehicleLength2').focus();
					return false;
				}
			}
			
			if (document.getElementById('txtVehicleHeight2').disabled == false)
			{
				// validate the numeric values
				var vehHeight2 = document.getElementById('txtVehicleHeight2').value;
				
				if ((isNaN(parseFloat(vehHeight2))) || (parseFloat(vehHeight2) == 0))
				{
					alert ( 'Por favor, introduzca el remolque / caravana altura.');
					document.getElementById('txtVehicleHeight2').focus();
					return false;
				}
			}
						
		}

		// now check if the passenger information is correct
		var numPassengers = document.getElementById('selNumPassengers').value;
		
		for (var i=1; i <= numPassengers; i++)
		{
			//alert(document.getElementById('selCategory' + i).selectedIndex);
			
			if (document.getElementById('selCategory' + i).selectedIndex == 0)
			{
				// found an invalid category
				alert ( 'Por favor, elija una categoría de alojamiento.');
				document.getElementById('selCategory' + i).focus();
				return false;
			}
		}
		
	}
	
	//var hh = new HelpHover();
	//hh.init();
	//alert(hh);
	return true;
}

function changeCategory(obj)
{	
	var i = 0;
	var id = obj.name.charAt(obj.name.length-1);	// identify which passenger triggered this change
	var passengerType = obj.value;	// get the passenger type
	var catLength = document.getElementById('selCategory'+id).length;
	
	// if infant was selected, default the category to DECK and disable category selection
	if (passengerType == 'Infant')
	{
		// search for DECK category
		for (i=0; i <= catLength-1; i++)
		{
			if (document.getElementById('selCategory'+id).options[i].text.search(/DECK/) > -1)
			{
				document.getElementById('selCategory'+id).options[i].selected = true;
			}
		}
		
		// disable category selection for infants
		document.getElementById('selCategory' + id).disabled = true;
	}
	else
	{
		// enable category selection for adults and children passenger types
		if (document.getElementById('chkCampingOnBoard').checked == false)
		{
			document.getElementById('selCategory' + id).disabled = false;
		}
	}
}

function toggleCategory(obj)
{
	var blnCampingOnBoard = obj.checked;
	
	var numPassengers = parseInt(document.frmBuildTrip.selNumPassengers.value);
	
	if (numPassengers > 0)
	{
		for (var i = 1; i <= numPassengers; i++)
		{
			if (blnCampingOnBoard)
			{
				// change to the DECK categories and disable them
				for (var j=0; j <= document.getElementById('selCategory'+i).length - 1; j++)
				{
					if (document.getElementById('selCategory' + i).options[j].text.search(/DECK/) > -1)
					{
						document.getElementById('selCategory' + i).options[j].selected = true;
					}
				}
				document.getElementById('selCategory' + i).disabled = true;
			}
			else
			{
				// reset all categories to default and enable them
				if (document.getElementById('selPassengerType' + i).value == 'Infant')
				{
					// change to the DECK categories and disable them
					for (var j=0; j <= document.getElementById('selCategory'+i).length - 1; j++)
					{
						if (document.getElementById('selCategory' + i).options[j].text.search(/DECK/) > -1)
						{
							document.getElementById('selCategory' + i).options[j].selected = true;
						}
					}
					document.getElementById('selCategory' + i).disabled = true;
				}
				else
				{
					//document.getElementById('selCategory' + i).options[0].selected = true;
					document.getElementById('selCategory' + i).disabled = false;
				}
			}
		}
	}
}

function changeVehicleType(obj)
{
	//alert(obj.checked);
	if (obj.checked)
	{
		// show camping on board services vehicle types only
		document.getElementById('spanVehicleType').innerHTML = "<select id='selVehicleType' name='selVehicleType' style='font-family:Tahoma;font-size:11px;color:#666666;width:200px; margin-left:5px;' onchange='displayVehicleInfo(this);'>	<option value='0' selected='selected'>Seleccione el tipo de caravana...</option>	<option value='Car+Caravan'>Car + Caravan</option>	<option value='Camper'>Camper</option>	<option value='Camper+Baggage'>Camper + Baggage Trailer</option>	<option value='Camper+Boat'>Camper + Boat Trailer</option>	<option value='Minibus'>Minibus</option>	<option value='Minibus+Caravan'>Minibus + Caravan</option>	<option value='Minibus+Baggage'>Minibus + Baggage Trailer</option>	<option value='Minibus+Boat'>Μinibus + Boat Trailer</option></select>"
	}
	else
	{
		// show normal vehicles
		document.getElementById('spanVehicleType').innerHTML = "<select id='selVehicleType' name='selVehicleType' style='font-family:Tahoma;font-size:11px;color:#666666;width:200px; margin-left:5px;' onchange='displayVehicleInfo(this);'>	<option value='0' selected='selected'>Díganos si usted tiene un vehículo...</option>	<option value='Motorcycle'>Motocicleta</option>	<option value='Car'>Car</option>	<option value='Car+Baggage'>Car + Baggage Trailer</option>	<option value='Car+Boat'>Car + Boat Trailer</option>	<option value='Minibus'>Minibus</option>	<option value='Minibus+Baggage'>Minibus + Baggage Trailer</option>	<option value='Minibus+Boat'>Μinibus + Boat Trailer</option>	<option value='0' disabled='disabled'>-----------------------------------</option> <option value='None' style='font-weight:bold;'>Sólo Pasajeros/ningún vehículos</option> <option value='0' disabled='disabled'>-----------------------------------</option> </select>"
	}
	
	// disable all dimensions
	document.frmBuildTrip.txtVehicleLength1.disabled = true;
	document.frmBuildTrip.txtVehicleLength1.value = "";
	document.frmBuildTrip.txtVehicleHeight1.disabled = true;
	document.frmBuildTrip.txtVehicleHeight1.value = "";
	
	document.frmBuildTrip.txtVehicleLength2.disabled = true;
	document.frmBuildTrip.txtVehicleLength2.value = "";
	document.frmBuildTrip.txtVehicleHeight2.disabled = true;
	document.frmBuildTrip.txtVehicleHeight2.value = "";
	
	changeBackgroundToBare(false);
	document.getElementById('tblVehicle1InfoHead').style.visibility='hidden';
	document.getElementById('tblVehicle1Info').style.visibility = 'hidden';
	document.getElementById('tblVehicle2InfoHead').style.visibility = 'hidden';
	document.getElementById('tblVehicle2Info').style.visibility = 'hidden';
	document.getElementById('spanVehicleHeight1').style.visibility='hidden';
	document.getElementById('spanVehicleHeight2').style.visibility='hidden';
}

function modifyAllCategories(obj)
{	
	var i = 0;
	var j = 0;
	var categoryID = obj.value;	// get the passenger type
	var numPassengers = document.getElementById('selNumPassengers').value;
	
	// find out which option was selected
	var index = document.getElementById('selCategory1').selectedIndex;
	
	if (index > 0)
	{
		for (i=1; i <= numPassengers; i++)
		{
			if (document.getElementById('selPassengerType' + i).value == 'Infant')
			{
				// do nothing (i.e., do not touch the category that belongs to infants)
			}
			else
			{
				document.getElementById('selCategory' + i).options[index].selected = true;
			}
		}
	}
}

function submitForm()
{
	//alert(toggleBoxes('results'));
	// check if the itinerary and passenger details are correct
	if (toggleBoxes('results') == true)
	{
		document.frmBuildTrip.action = "/includes/sp/results.asp?s=2";
		document.frmBuildTrip.target="ifrmResults";
		//alert(document.frmBuildTrip.action);
	
		document.frmBuildTrip.submit();
		
		//document.getElementById('Step3').style.display='block';
		//document.getElementById('Step3').style.visibility='visible';
		document.getElementById('ifrmResults').style.display='block';
		document.getElementById('ifrmResults').style.visibility='visible';
		
		//document.getElementById('bottom_box').style.display='none';
		//document.getElementById('bottom_box').style.visibility='hidden';
		
		//document.getElementById('island_bottom').style.display='none'; 
		//document.getElementById('island_bottom').style.visibility='hidden'; 

		document.getElementById('footer').style.display='none'; 
		document.getElementById('footer').style.visibility='hidden'; 
		
		//document.getElementById('RightBox2').style.display='none';
		//document.getElementById('RightBox2').style.visibility='hidden';
	}	
}

function getDateObject(dateString,dateSeperator)
{
	//This function return a date object after accepting 
	//a date string ans dateseparator as arguments
	var curValue=dateString;
	var sepChar=dateSeperator;
	var curPos=0;
	var cDate,cMonth,cYear;

	//extract day portion
	curPos=dateString.indexOf(sepChar);
	cDate=dateString.substring(0,curPos);
	
	//extract month portion				
	endPos=dateString.indexOf(sepChar,curPos+1);
	cMonth=dateString.substring(curPos+1,endPos);
	
	//extract year portion				
	curPos=endPos;
	endPos=curPos+5;			
	cYear=curValue.substring(curPos+1,endPos);
	
	//Create Date Object
	dtObject=new Date(cYear,cMonth-1,cDate);	
	return dtObject;
}

function number(e)
{
	var key;
	var keychar;
	
	if (window.event)
	{
		key = window.event.keyCode;
	}
	else if (e)
	{
		key = e.which;
	}
	else
	{
		return true;
	}
	
	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	
	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
	{
		return true;
	}
	// alphas and numbers
	else if ((("0123456789.").indexOf(keychar) > -1))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function changeBackgroundToBare(blnBare)
{
	if (blnBare)
	{
		document.getElementById("Step1").style.background = "url(../images/compare/search_background_bare.gif)";
		document.getElementById("Step1").style.backgroundRepeat = "no-repeat";
		document.getElementById("Step1").style.backgroundPosition = "61px 21px";
		document.getElementById("Step1").style.width = "292px";
		document.getElementById("Step1").style.height = "380px";
		document.getElementById("Step1").style.marginRight = "50px";
	}
	else
	{
		document.getElementById("Step1").style.background = "url(../images/compare/search_background.gif)";
		document.getElementById("Step1").style.backgroundRepeat = "no-repeat";
		document.getElementById("Step1").style.backgroundPosition = "61px 21px";
		document.getElementById("Step1").style.width = "292px";
		document.getElementById("Step1").style.height = "380px";
		document.getElementById("Step1").style.marginRight = "50px";
	}
}
