// JavaScript Document

function updateFlightsDestinations(lang)
{		
	var myConn = new XHConn();			
	var CodPolo = document.getElementById("flights_gateway_dep0").options[document.getElementById("flights_gateway_dep0").selectedIndex].value;
	var ObjHotels	= document.getElementById('destinationContainer');
	ObjHotels.innerHTML = '<span style="color:red">Loading...</span>';	
	if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
	var fnWhenDone = function (oXML) {ObjHotels.innerHTML=oXML.responseText;};		
	myConn.connect("/ajax/get-flights-destinations.php", "POST", "lang="+ lang +"&gateway_dep=" + CodPolo, fnWhenDone);
}

function ValidaFlightForm(form)
{
        if (form.roundtripcheck0.checked)
	{
            if(form.flights_gateway_dep0.value==0)
            {
                    alert(document.getElementById('msg_select_departure_location').value);
                    form.flights_gateway_dep0.focus();
                    return false;
            }

            if (document.getElementById('flights_dest_dep0'))
            {
                    if(form.flights_dest_dep0.value==0)
                    {
                            alert(document.getElementById('msg_select_destination').value);
                            form.flights_dest_dep0.focus();
                            return false;
                    }
            }
            else
            {
                    alert(document.getElementById('msg_select_destination').value);
                    return false;
            }
        }

	if ((form.date_dep0.value=='') || (form.date_dep0.value=='yyyy-mm-dd'))
	{
		alert(document.getElementById('msg_enter_checkin_date').value);
		form.date_dep0.focus();
		return false;
	}	
	
	if (form.roundtripcheck0.checked)
	{		
		if ((form.date_dep1.value=='') || (form.date_dep1.value=='yyyy-mm-dd'))
		{
			alert(document.getElementById('msg_enter_checkout_date').value);
			form.date_dep1.focus();
			return false;
		}	
	}
        
	// Validar las fechas
	var date_dat = new Array();
	date_dat = form.date_dep0.value.split('-');
	var current1 = new Date(date_dat[0], date_dat[1]-1, date_dat[2]); // a new instance	
	//fixDate(current1);

	Date1 = current1.getTime();
	// Validar las fechas
	date_dat = form.date_dep1.value.split('-');
	var current2 = new Date(date_dat[0], date_dat[1]-1, date_dat[2]); // a new instance	
	//fixDate(current2);
	Date2 = current2.getTime();
		
	// Today
	var current3 = new Date(); // a new instance	
	//	fixDate(current3);
	var current4 = new Date(current3.getFullYear(), current3.getMonth(), current3.getDate())
	Today = current4.getTime();

	if(Date1 <= Today)
	{		
		alert(document.getElementById('msg_checkin_after_today').value);
		form.date_dep0.focus();
		return false;
	}
	if(((Date1 - Today)/86400000) < 5) 
	{
		alert(document.getElementById('msg_acept_flights_request').value);
		form.date_dep0.focus();
		return false;
	}
	
	if (form.roundtripcheck0.checked)
	{	
		if(Date1 >= Date2)
		{
			alert(document.getElementById('msg_checkout_after_checkin').value);
			form.date_dep1.focus();
			return false;
		}
	}
	return true;
}

function ValidaSelectionForm(form, dep_flights_count, ret_flights_count)
{
	dep_flights_ok = false;
	dep_hotels_ok = false;
	if (dep_flights_count > 0)
	{
		if (dep_flights_count > 1)
		{
			leng = form.departure_flight.length;
			for(i=0; i<leng; i++)
			{
				if (form.departure_flight[i].checked) 
				{
					dep_flights_ok = true;
					if (SetFlightsValues(form.departure_flight[i].value, 0)) dep_hotels_ok = true;		
				}
			}	
		}
		else
		{
			if (dep_flights_count == 1) 
			{
                                document.getElementById('departure_flight0').checked = true;
				dep_flights_ok = true;
				if (SetFlightsValues(document.getElementById('departure_flight0').value, 0)) dep_hotels_ok = true;
			}
		}		
	}
	else
	{
		dep_flights_ok = true;
		dep_hotels_ok = true;
	}
	
	ret_flights_ok = false;
	ret_hotels_ok = false;
	if (ret_flights_count > 0)
	{
		if (ret_flights_count > 1)
		{
			leng = form.return_flight.length;
			for(i=0; i<leng; i++)
			{
				if (form.return_flight[i].checked) 
				{
					ret_flights_ok = true;
					if (SetFlightsValues(0, form.return_flight[i].value)) ret_hotels_ok = true;		
				}
			}	
		}
		else
		{
			if (ret_flights_count == 1)
			{
                                document.getElementById('return_flight0').checked = true;
				ret_flights_ok = true;
				if (SetFlightsValues(0, document.getElementById('return_flight0').value)) ret_hotels_ok = true;
			}
		}		
	}
	else
	{
		ret_flights_ok = true;
		ret_hotels_ok = true;
	}
	
	if (dep_flights_ok && ret_flights_ok && dep_hotels_ok && ret_hotels_ok)
	{
		return true;
	}
	else 
	{
		if (!dep_flights_ok) alert(document.getElementById('msg_please_select_departure_flight').value);
		if (!ret_flights_ok) alert(document.getElementById('msg_please_select_return_flight').value);
		return false;
	}
}

function ValidateReturnHotels(returnFlightCode)
{	
	if (document.getElementById('return_from_hotel_' + returnFlightCode))
	{
		if	(!combo_ok('return_from_hotel_' + returnFlightCode)) 
		{
			alert(document.getElementById('msg_empty_hotel_name').value);
			return false;
		}		
	}
	if (document.getElementById('return_to_hotel_' + returnFlightCode))
	{
		if	(!combo_ok('return_to_hotel_' + returnFlightCode)) 
		{
			alert(document.getElementById('msg_empty_hotel_name').value);
			return false;
		}		
	}
	return true;
}


function ValidateDepartureHotels(departureFlightCode)
{	
	if (document.getElementById('departure_from_hotel_' + departureFlightCode))
	{
		if	(!combo_ok('departure_from_hotel_' + departureFlightCode)) 
		{
			alert(document.getElementById('msg_empty_hotel_name').value);
			return false;
		}		
	}	
	if (document.getElementById('departure_to_hotel_' + departureFlightCode))
	{
		if	(!combo_ok('departure_to_hotel_' + departureFlightCode)) 
		{
			alert(document.getElementById('msg_empty_hotel_name').value);
			return false;
		}		
	}	
	return true;
}

function SetFlightsValues(departureFlightCode, returnFlightCode)
{
	if (departureFlightCode > 0)
	{
		document.getElementById('departure_flight').value = departureFlightCode;
		
		if (!ValidateDepartureHotels(departureFlightCode))
		{
			return false;
		}
	}
	if (returnFlightCode > 0)
	{
		document.getElementById('return_flight').value = returnFlightCode;

		if (!ValidateReturnHotels(returnFlightCode))
		{
			return false;
		}
	}	
	return true;
}
