

$(document).ready(function() {

    $('#departCity').change(function() {    
        var showCity;
        showCity = this.value;
             
        $('#hdnTravelTo').val("");

        loadTravelTo();
        hideRows();
        showSelectedRow();
        hideAll(showCity);

        return false;
    });

    $('#arriveCity').change(function() {
        hideRows();
        showSelectedRow();
    });

    function showSelectedRow() {
        $('#hdnTravelTo').val($('#arriveCity option:selected').val());
        var rowName = $('#departCity option:selected').val() + '-to-' + $('#arriveCity option:selected').val();
        $('#' + rowName).fadeIn(300);
    }

    function hideRows() {
        $(".tixRow,.tixRowFR").css("display", "none");
    }

    function hideAll(showCity) {
        var theName = 'hidthis-';
        for (var i = 0; i < document.getElementById('departCity').options.length; i++) {
            x = i + 1;

            var departCity = document.getElementById('departCity').options[i].value;
            $('div#' + theName + departCity).hide();
        }

        $('div#hidthis-' + showCity).fadeIn(300);
    }

    function loadTravelTo() {
                     
        var travelto = document.getElementById('arriveCity');

        while (travelto.options.length > 0) {
            travelto.options[0] = null;
        }

        var buffaloAirportText = "";

        if ($('#departCity option[value="buffaloairport"]').text() == 'Buffalo Airport') {
            buffaloAirportText = "Buffalo Airport";
        }
        else {
            buffaloAirportText = "A\xC9roport Buffalo";
        }

        switch (document.getElementById('departCity').value) {
            case 'newyork':
                travelto.options[0] = new Option("Albany", "albany");
                travelto.options[1] = new Option("Binghamton", "binghamton");
                travelto.options[2] = new Option("Buffalo", "buffalo");
                travelto.options[3] = new Option("Montreal", "montreal");
                travelto.options[4] = new Option("Plattsburgh", "plattsburgh");
        				travelto.options[5] = new Option("Rochester", "rochester");
        				travelto.options[6] = new Option("Syracuse", "syracuse");
                travelto.options[7] = new Option("Toronto", "toronto");
                travelto.options[8] = new Option("Utica", "utica");
                break;
            case 'newyorkpenn':
                travelto.options[0] = new Option("Albany", "albany");
                travelto.options[1] = new Option("Buffalo", "buffalo");
                travelto.options[2] = new Option("Syracuse", "syracuse");
                travelto.options[3] = new Option("Toronto", "toronto");
                break;
            case 'toronto':
                travelto.options[0] = new Option("Buffalo", "buffalo");
                travelto.options[1] = new Option(buffaloAirportText, "buffaloairport");
                travelto.options[2] = new Option("New York", "newyork");
        				travelto.options[3] = new Option("New York Penn STA", "newyorkpenn");
        				travelto.options[4] = new Option("Rochester", "rochester");
        				travelto.options[5] = new Option("Syracuse", "syracuse");
                break;
            case 'buffalo':
                travelto.options[0] = new Option("New York", "newyork");
                travelto.options[1] = new Option("New York Penn STA", "newyorkpenn");
        				travelto.options[2] = new Option("Rochester", "rochester");
        				travelto.options[3] = new Option("Syracuse", "syracuse");
                travelto.options[4] = new Option("Toronto", "toronto");
                break;
            case 'syracuse':
                travelto.options[0] = new Option("Buffalo", "buffalo");
                travelto.options[1] = new Option("New York", "newyork");
                travelto.options[2] = new Option("New York Penn STA", "newyorkpenn");
                travelto.options[3] = new Option("Toronto", "toronto");
                break;
            case 'buffaloairport':
                travelto.options[0] = new Option("Toronto", "toronto");
                break;
            case 'rochester':
                travelto.options[0] = new Option("Buffalo", "buffalo");
                travelto.options[1] = new Option("New York", "newyork");
                travelto.options[2] = new Option("Toronto", "toronto");
                break;			
            case 'albany':
                travelto.options[0] = new Option("New York", "newyork");
                travelto.options[1] = new Option("New York Penn STA", "newyorkpenn");
                break;			
            case 'binghamton':
                travelto.options[0] = new Option("New York", "newyork");
                break;			
            case 'montreal':
                travelto.options[0] = new Option("New York", "newyork");
                break;			
            case 'plattsburgh':
                travelto.options[0] = new Option("New York", "newyork");
                break;			
            case 'utica':
                travelto.options[0] = new Option("New York", "newyork");
                break;			
        }

        var hdnTravelVal = $('#hdnTravelTo').val();
        if (hdnTravelVal != "") {
            $('#arriveCity').val(hdnTravelVal);
            $('#hdnTravelTo').val($('#arriveCity option:selected').val());
            hideRows();
            showSelectedRow();
            hideAll($('#departCity').val());
        } else {
            travelto.options[0].selected = true;
        }
    }
    
    //run on load
    loadTravelTo();
    showSelectedRow();


}); 
