﻿/*
#Region "History"
'20100121 - RH - Added parameter to indicate that it's a package we're adding
#End Region
*/

function spSelectRoom(Reference, CacheID, Price) {
    $('Selected_' + Reference).value = CacheID;
    $('BasePrice_' + Reference).value = Price;

    if ($F('OptionsVisible_' + Reference) == 'true') {
        spLoadOptions(Reference);
    } else {
        spUpdatePrices(Reference);
    };
};

function spLoadSupplements(cacheID, Reference) {
    new Ajax.Request('/ajax/Search_Supplements.aspx?cacheID=' + cacheID + '&Adults=' + $F('Adults_' + Reference) + '&Children=' + $F('Children_' + Reference) + '&Infants=' + $F('Infants_' + Reference) + '&AccommodationReference=' + Reference, {
        method: 'get',
        onSuccess: function(transport) {
            $('Supplements_' + Reference).update(getContent(transport.responseText));
            spDelayShowOptions(Reference);
            spUpdatePrices(Reference);
        }
    });
};

function spLoadFlights(cacheID, Reference) {
    new Ajax.Request('/ajax/Search_AlternateFlights.aspx?cacheID=' + cacheID + '&BasePrice=' + $F('BasePrice_' + Reference) + '&OB=' + $F('OB_FlightNumber') + '&IB=' + $F('IB_FlightNumber'), {
        method: 'get',
        onSuccess: function(transport) {
            $('Flights_' + Reference).update(getContent(transport.responseText));
            spDelayShowOptions(Reference);
            spUpdatePrices(Reference);
        }
    });
};

function spBasket(Reference) {
    wait('Adding', 'Please wait while we add your package to your basket');

    var s = 'addToBasket.aspx?';

    s += 'cacheID=';
    s += $F('Selected_' + Reference);

    if ($F('OptionsVisible_' + Reference) == 'true') {

        if ($F('Selected_a_' + Reference) != '') {
            s = 'addToBasket.aspx?cacheID=';
            s += $F('Selected_a_' + Reference);
        };

        s += '&Supplements=';

        var i = 0;
        var added = 0;

        while ($('chk_s_' + Reference + '_' + i)) {
            if ($('chk_s_' + Reference + '_' + i).checked) {
                if (added > 0) {
                    s += ',';
                };

                s += $F('cache_s_' + Reference + '_' + i);

                added++;
            };
            i++;
        };
    };

    s += '&Adults=';
    s += $F('Adults_' + Reference);
    s += '&Children=';
    s += $F('Children_' + Reference);
    s += '&Infants=';
    s += $F('Infants_' + Reference);
    s += '&package=true';
    
    document.location.href = s;
};

function spUpdatePrices(Reference) {
    var base = parseFloat($F('BasePrice_' + Reference));
    var p = 0;
    var i = 0

    if ($F('OptionsVisible_' + Reference) == 'true') {
        while ($('chk_a_' + Reference + '_' + i)) {
            if ($('chk_a_' + Reference + '_' + i).checked) {
                base = parseFloat($F('chk_a_' + Reference + '_' + i));
            };
            i++;
        };

        i = 0;

        while ($('chk_s_' + Reference + '_' + i)) {
            if ($('chk_s_' + Reference + '_' + i).checked) {
                p += parseFloat($F('chk_s_' + Reference + '_' + i));
            };
            i++;
        };
    };

    $('TotalPrice_' + Reference).update(formatCurrency(base + p));

    spHighLight(Reference);
};


function spSelectAlternative(Reference, CacheID, Price) {
    $('Selected_a_' + Reference).value = CacheID;
    spUpdatePrices(Reference);
};

function spSelectSupplement(Reference) {
    spUpdatePrices(Reference);
};

function spHighLight(Reference) {
    var i = 0;

    while ($('tr_r_' + Reference + '_' + i)) {
        if ($('chk_r_' + Reference + '_' + i).checked) {
            $('tr_r_' + Reference + '_' + i).setStyle({ background: '#efefef' });
        } else {
            $('tr_r_' + Reference + '_' + i).setStyle({ background: '#fff' });
        };
        i++;
    };

    i = 0;
    while ($('tr_a_' + Reference + '_' + i)) {
        if ($('chk_a_' + Reference + '_' + i).checked) {
            $('tr_a_' + Reference + '_' + i).setStyle({ background: '#eee' });
        } else {
            $('tr_a_' + Reference + '_' + i).setStyle({ background: '#fff' });
        };
        i++;
    };

    i = 0;
    while ($('tr_s_' + Reference + '_' + i)) {
        if ($('chk_s_' + Reference + '_' + i).checked) {
            $('tr_s_' + Reference + '_' + i).setStyle({ background: '#eee' });
        } else {
            $('tr_s_' + Reference + '_' + i).setStyle({ background: '#fff' });
        };
        i++;
    };
};

function spTellMeMore(Reference) {
    document.location.href = '/Accommodation.aspx?Reference=' + Reference;
};

function spLoadOptions(Reference) {
    spHideOptions(Reference);
    spLoadFlights($F('Selected_' + Reference), Reference);
    spLoadSupplements($F('Selected_' + Reference), Reference);
};

function spToggleOptions(Reference) {
    if ($F('OptionsVisible_' + Reference) == 'false') {
        spLoadOptions(Reference);

        $('OptionsVisible_' + Reference).value = 'true';
        $('ShowHideOptions_' + Reference).update('Hide Flights &amp; Board Options');
    } else {
        spHideOptions(Reference);

        $('OptionsVisible_' + Reference).value = 'false';
        $('ShowHideOptions_' + Reference).update('Change Flights or Board Basis');
        spUpdatePrices(Reference);
    };
};



function spDelayShowOptions(Reference) {
    $('OptionsLoaded_' + Reference).value++;

    if ($F('OptionsLoaded_' + Reference) == '2') {
        $('Options_' + Reference).blindDown({ queue: 'q' });
    };
};

function spHideOptions(Reference) {
    $('OptionsLoaded_' + Reference).value = 0;
    $('Options_' + Reference).hide();
};
