/**
 *  Booking Widget Radios
 *  Hides the unwanted radios and labels at the top of the Zolv/ADT
 *  booking widget.
 *  Last modified: 2010-04-29 {pf}
 */
function bookingWidgetRadios() {
    $('#ADT-INJECTION-PLACEHOLDER .ADT-ComboSearch > a').hide();
}


/**
 *  Booking Widget Tabs
 *  Binds booking type switching to the ADT-supplied widget.
 *  Last modified: 2010-04-23 {pf}
 */
function bookingWidgetTabs() {
    
    //  Default state is "Flights only"
    $('input[name=ADT-ComboSelector]').attr('checked', false);
    $('input#ADT-Combo-FlightOnlyBookingForm-Selector').click();
    
    $('#bookingWidgetFlights').click( function() {
        
        var $thisTab = $(this);
        var $otherTab = $('#bookingWidgetHotels');
        
        if ( $('#ADT-FlightOnlyBookingForm').is(':hidden') ) {
            $thisTab.removeClass('inactive');
            $thisTab.addClass('active');
            $otherTab.removeClass('active');
            $otherTab.addClass('inactive');
            $('#ADT-FlightAndHotelBookingForm').hide();
            $('#ADT-FlightOnlyBookingForm').show();
        }
        
        if ( $('input#ADT-Combo-FlightOnlyBookingForm-Selector').is(':checked') == false ) {
            $('input#ADT-Combo-FlightOnlyBookingForm-Selector').click();
        }
        
        return false;
        
    });
    
    $('#bookingWidgetHotels').click( function() {
        
        var $thisTab = $(this);
        var $otherTab = $('#bookingWidgetFlights');
        
        if ( $('#ADT-FlightAndHotelBookingForm').is(':hidden') ) {
            $thisTab.removeClass('inactive');
            $thisTab.addClass('active');
            $otherTab.removeClass('active');
            $otherTab.addClass('inactive');
            $('#ADT-FlightOnlyBookingForm').hide();
            $('#ADT-FlightAndHotelBookingForm').show();
        }
        
        if ( $('input#ADT-Combo-FlightAndHotelBookingForm-Selector').is(':checked') == false ) {
            $('input#ADT-Combo-FlightAndHotelBookingForm-Selector').click();
        }
        
        return false;
        
    });
    
}


/**
 *  "Flying to Birmingham"
 *  This switches the booking widget to use BHX as the destination, not
 *  the origin.
 *  Last modified: 2010-05-04 {pf}
 */
function flyingToBirmingham() {
    
    if ( $('body').hasClass('flyingTo') ) {
        
        $('#ADT-BookDirection-Out-FH').attr('checked', false);
        $('#ADT-BookDirection-In-FH').click();
        
        $('#ADT-BookDirection-Out-F').attr('checked', false);
        $('#ADT-BookDirection-In-F').click();
        
    }
    
}


//  Zolv callback function assignments
function ADTSearchFormLoadCallback() {
    
    $('#bookingWidgetInner').removeClass('loading');
    $('#bookingWidgetInner').addClass('loaded');
    
    $('#ADT-INJECTION-PLACEHOLDER').show();
    
    bookingWidgetRadios();
    bookingWidgetTabs();
    
    flyingToBirmingham();
    
}


$(document).ready( function() {
    
    $('#bookingWidgetAlt').hide();
    
    $('#bookingWidgetInner').addClass('loading');
    
    var adtScript = document.createElement('script');
        adtScript.type = 'text/javascript';
        adtScript.src = 'http://staging.airportdirecttravel.co.uk/birminghamadt/injector/search/index';
    
    window.setTimeout( function() {
        if ("ADT_Loadscript" in window) {
            //  ADT script has loaded; do nothing
        }
        else {
            //  ADT script has timed out
            $('#bookingWidgetInner').removeClass('loading');
            $('#bookingWidgetInner').addClass('failed');
            $('#bookingWidgetAlt').show();
        }
    }, 7500);
    
    $('head').append(adtScript);
    
});
