var iataFrom, iataTo, openjawiataFrom, openjawiataTo, cbReturnTo, cbReturnFrom, divReturnFrom, divReturnTo, frm;

window.onload = function () {
    
	iataFrom = document.getElementById("iataFrom");
    iataTo = document.getElementById("iataTo");
    openjawiataFrom = document.getElementById("openjawiataFrom");
    openjawiataTo = document.getElementById("openjawiataTo");
    cbReturnTo = document.getElementById("cbReturnTo");
    cbReturnFrom = document.getElementById("cbReturnFrom");
    divReturnFrom = document.getElementById("returnfrom");
    divReturnTo = document.getElementById("returnto");
	onewaytrip = document.getElementById("onewaytrip");
	frm = document.getElementById("frmsearch");
	
    if (cbReturnFrom.checked) {
		divReturnFrom.style.display = 'inline';
    }

    if (cbReturnTo.checked) {
		divReturnTo.style.display = 'inline';
    }
	
	if (onewaytrip.checked) {
        setVis('returndate', 'none');
    }
}


$(document).ready(function () {
    // get the input field
    $.get('/xmlfeeds/vibe-airports.xml', function parseXML(xml) {
        var matchingAirports = [];
        $(xml).find('airport').each(function () {
            matchingAirports[matchingAirports.length] = {
                'value': $(this).text()
            };
        });

        var deptAirport = $('input#iataFrom');
		deptAirport.autocomplete(matchingAirports, {
			delay: 10,
			minChars: 1,
			matchContains: "word",
			formatItem: function (data) {
				return $(data).val();
			}
		});

        var destAirport = $('input#iataTo');
		destAirport.autocomplete(matchingAirports, {
			delay: 10,
			minChars: 1,
			matchContains: "word",
			formatItem: function (data) {
				return $(data).val();
			}
		});
		
		var returnTo = $('input#openjawiataTo');
		returnTo.autocomplete(matchingAirports, {
			delay: 10,
			minChars: 1,
			matchContains: "word",
			formatItem: function (data) {
				return $(data).val();
			}
		});
		
		var returnFrom = $('input#openjawiataFrom');
		returnFrom.autocomplete(matchingAirports, {
			delay: 10,
			minChars: 1,
			matchContains: "word",
			formatItem: function (data) {
				return $(data).val();
			}
		});
    });
});



function openJaw() {

    if (cbReturnFrom.checked || cbReturnTo.checked) {

        if (cbReturnFrom.checked) {
            divReturnFrom.style.display = 'inline';
        } else {
            divReturnFrom.style.display = 'none';
        }

        if (cbReturnTo.checked) {
            divReturnTo.style.display = 'inline';
        } else {
            divReturnTo.style.display = 'none';
        }

    } else {
        openjawiataTo.value = '';
        openjawiataFrom.value = '';
		divReturnFrom.style.display = 'none';
		divReturnTo.style.display = 'none';
    }


    if (cbReturnFrom.checked && cbReturnTo.checked) {
		
		// Empty 
		
    } else {

        if (cbReturnFrom.checked) {
            openjawiataTo.value = iataFrom.value;
            openjawiataFrom.focus();
        }

        if (cbReturnTo.checked) {
            openjawiataFrom.value = iataTo.value;
            openjawiataTo.focus();
        }
    }
}

function validateSearch() {

    
	var numAdults = document.getElementById("numAdults");
	var numChildren = document.getElementById("numChildren");
	var numInfants = document.getElementById("numInfants");
	var totalpax = (parseInt(numAdults[numAdults.selectedIndex].value) + parseInt(numChildren[numChildren.selectedIndex].value));
	var validDates = datePickerController.getSelectedDate("outboundMonthNumbers") && datePickerController.getSelectedDate("returnMonthNumbers");
	
	if (onewaytrip.checked) {
		validDates = datePickerController.getSelectedDate("outboundMonthNumbers");
	}
	
	if (iataFrom.value == "") {
        alert("Please specify departure city or airport");
        iataFrom.focus();
        return false
    }

    if (iataTo.value == "") {
        alert("Please specify destination city or airport");
        iataTo.focus();
        return false
    }	
	
	if (!validDates) {
        alert("Please enter valid travel dates");
        return false
    }

    if (totalpax > 9) {
        alert("The maximum number of Adult and Child seats allowed in a single online booking is 9.\n\nPlease call 08718 551 551 to make this reservation.");
        return false
    }

    if (numInfants[numInfants.selectedIndex].value > numAdults[numAdults.selectedIndex].value) {
        alert("Airline regulations stipulate that you must travel with one adult per infant.\n\nIf you are travelling with " + numInfants[numInfants.selectedIndex].value + " infants, then you must take " + numInfants[numInfants.selectedIndex].value + " adults.");
        numAdults.focus();
        return false
    }
	
	oneWay();
	
	iataFrom.removeAttribute("autocomplete");
	iataTo.removeAttribute("autocomplete");
	openjawiataFrom.removeAttribute("autocomplete");
	openjawiataTo.removeAttribute("autocomplete");

    frm.submit();

    return true
}
