//Globals
if ( !rs_isDefined (rs_refID) ) var rs_refID = 2050;                               //Refid
if ( !rs_isDefined (rs_stateFilter) ) var rs_stateFilter = 'ALL';                  //Two letter state filter
if ( !rs_isDefined (rs_countryFilter) ) var rs_countryFilter = 'ALL';              //Two letter country filter
if ( !rs_isDefined (rs_petFilter) ) var rs_petFilter = 'NO';                       //YES or NO, filter by pet-friendly
if ( !rs_isDefined ( rs_cName ) ) var rs_cName = 'http://secure.rezserver.com';    //CNAME of the site
if ( !rs_isDefined ( rs_numCalendars ) ) var rs_numCalendars = 1;                  //Number of months to show in calendar popup
if ( !rs_isDefined ( rs_popUp ) ) var rs_popUp = true;                             //Show valid-click popup on seach?
if ( !rs_isDefined ( rs_isBackEnd ) ) var rs_isBackEnd = false;                    //Is this Rezserver or the frontend?
if ( !rs_isDefined ( rs_noAutosuggest ) ) var rs_noAutosuggest = false;            //Skip autosuggest?
if ( !rs_isDefined ( rs_vcid ) ) var rs_vcid = 28948;                              //Valid-click ID for the popup
if ( !rs_isDefined ( rs_allowGroupBooking ) ) var rs_allowGroupBooking = true;     //Allow >= 5 rooms?
if ( !rs_isDefined ( rs_groupBookingURL ) ) var rs_groupBookingURL = '';           //What URL should invalid searches be sent to?
if ( !rs_isDefined ( rs_bookingMode ) ) var rs_bookingMode = false;                //Booking.com inventory?
if ( !rs_isDefined ( rs_currentProduct ) ) var rs_currentProduct = false;          //Current product 'hotel', 'car', 'vp', or 'air'

//Autosuggest
var rs_currentResult = 0;
var rs_request = null;                                                              //Current AJAX request

//Decide a default current product if none supplied 
if ( !rs_currentProduct )
{
    if ( rs_hotelActive )
        rs_currentProduct = 'hotel';
    else if ( rs_carActive )
        rs_currentProduct = 'car';
    else if ( rs_vpActive )
        rs_currentProduct = 'vp';
    else if ( rs_airActive )
        rs_currentProduct = 'air';
}

//Dates
var rs_rightNow = new Date();
var rs_today = new Date( rs_rightNow.getFullYear(), rs_rightNow.getMonth(), rs_rightNow.getDate() );
var rs_maxDate = new Date( rs_today.getFullYear(), rs_today.getMonth(), rs_today.getDate() + 330 );
var rs_daysInMonth = [31,rs_daysInFeb(rs_today.getFullYear()),31,30,31,30,31,31,30,31,30,31];
var rs_fullMonthNames = ['January','February','March','April','May','June','July','August','September','October','November','December'];
var rs_shortMonthNames = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];

//Product activation
if ( !rs_isDefined (rs_hotelActive) ) var rs_hotelActive = false;
if ( !rs_isDefined (rs_carActive) ) var rs_carActive = false;
if ( !rs_isDefined (rs_vpActive) ) var rs_vpActive = false;
if ( !rs_isDefined (rs_airActive) ) var rs_airActive = false;

//Check backend
if ( rs_isBackEnd )
    rs_cName = '';

//Get CSS
$('head').append('<link rel="stylesheet" type="text/css" href="' + rs_cName + '/inc/getMultiSearchboxCSS.php?refid=' + rs_refID + '&num=' + rs_numCalendars + '" title="default" />');
    


// ------------------ GENERAL FUNCTIONS ------------------ //
    
function rs_isDefined( variable )
{
    return (typeof(variable) == "undefined") ?  false : true;
}

function rs_doPop ( popVal )
{
    if ( rs_checkPop() )
    {
        var page = "http://www.hotelsbycity.com/hotels/pop_up.php?key=" + popVal + "&vcid=" + rs_vcid + "&skip_tig=true";
        var windowprops = "resizable=1,scrollbars=1,menubar=1,location=1,toolbar=1,titlebar=1,width=680,height=510, top=50, left=50";
        newWindow = window.open(page, 'HBCPop', windowprops);
        newWindow.blur();
		//open a temp window and close it to avoid popUnder becomes popUp on newer browser
		var temp=newWindow.open("about:blank");
		temp.close();
    }
}

function rs_checkPop()
{
    var oldTime = rs_readCookie("lastHBCPop");
    var rightNow = new Date();

    if ( oldTime == null )
    {
        rs_createCookie( "lastHBCPop", rightNow.getTime(), 0 );
        return ( true );
    }
    else
    {
        if ( (parseInt(oldTime) + (4 * 60 * 60 * 60 )) > (parseInt(rightNow.getTime())) )
        {
            return ( false );
        }
        else
        {
            rs_createCookie( "lastHBCPop", rightNow.getTime(), 0 );
            return ( true );
        }
    }
}

function rs_createCookie(name,value,days)
{
    if (days)
    {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function rs_readCookie(name)
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++)
    {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function rs_getParent ( element )
{
    return '#' + ($(element).parents('.rs_multiSearchBoxes').attr('id'));
}

function rs_getAutocompleteParent ( element )
{
    var myregexp = /rs_multiSearchBoxAutosuggestContainer_([^ ])*/i;
    var match = myregexp.exec($(element).parents('.rs_multiSearchBoxAutosuggestContainer').attr('class'));
    if (match != null)
        return '.' + match[0];
    else
        return false;
}

function rs_loadRefData ()
{
    $.getJSON(rs_cName + '/inc/json_refData.php?refid=' + rs_refID + '&jsoncallback=?', function(data) {
        var xml = data.data[0].html;
        rs_stateFilter = ((/<stateFilter>[\s]*([^\s]*)[\s]*<\/stateFilter>/.exec(xml))[1]);
        if ( rs_stateFilter == '' )
            rs_stateFilter = 'ALL';
        rs_countryFilter = ((/<countryFilter>[\s]*([^\s]*)[\s]*<\/countryFilter>/.exec(xml))[1]);
        if ( rs_countryFilter == '' )
            rs_countryFilter = 'ALL';
        rs_petFilter = ((/<petFilter>[\s]*([^\s]*)[\s]*<\/petFilter>/.exec(xml))[1]);
        if ( rs_petFilter == 'true' )
            rs_petFilter = 'YES';
        else
            rs_petFilter = 'NO';
        if ( !rs_bookingMode )
        {
            rs_bookingMode = ((/<bookingFilter>[\s]*([^\s]*)[\s]*<\/bookingFilter>/.exec(xml))[1]);
            if ( rs_bookingMode == 'true' )
                rs_bookingMode = 'YES';
            else
                rs_bookingMode = 'NO';
        }
        rs_groupBookingURL = ((/<fiveRoomURL>[\s]*([^\s]*)[\s]*<\/fiveRoomURL>/.exec(xml))[1]);
        rs_allowGroupBooking = ((/<groupBookingMode>[\s]*([^\s]*)[\s]*<\/groupBookingMode>/.exec(xml))[1]);
        if ( parseInt(rs_allowGroupBooking, 10) == 2 )
            rs_allowGroupBooking = false;
        else
            rs_allowGroupBooking = true;
        rs_cName = ((/<cName>[\s]*([^\s]*)[\s]*<\/cName>/.exec(xml))[1]);
        if ( rs_cName == '' )
            rs_cName = 'http://secure.rezserver.com/';
        else
            rs_cName = 'http://' + rs_cName.replace('http://','');
        if ( rs_isBackEnd )
            rs_cName = '';
    });

}

function rs_fillProductTabs ( parent )
{
    var result = '';
    
    if ( rs_hotelActive )
        result += rs_generateProductTab ( 'Hotels', 'hotel', (rs_currentProduct == 'hotel' ? true : false), parent );
    if ( rs_carActive )
        result += rs_generateProductTab ( 'Rental Cars', 'car', (rs_currentProduct == 'car' ? true : false), parent );
    if ( rs_vpActive )
        result += rs_generateProductTab ( 'Flight + Hotel Packages', 'vp', (rs_currentProduct == 'vp' ? true : false), parent );
    if ( rs_airActive )
        result += rs_generateProductTab ( 'Flights', 'air', (rs_currentProduct == 'air' ? true : false), parent );
    
    $('.rs_multiSearchBoxTabsList', parent).html(result);
}

function rs_generateProductTab ( name, product, active, parent )
{
    var result = '<li class="rs_multiSearchBoxTab_' + product;
    if ( active )
        result += ' rs_multiSearchBoxTabActive';
    result += '"><a href="#" onclick="rs_switchTab(\'' + product + '\', \'' + parent + '\'); return false;">' + name + '</a></li>';
    
    return result;
}

function rs_fillProductSelect ( parent )
{
    var result = '';
    
    if ( rs_hotelActive )
        result += rs_generateProductOption ( 'Hotels', 'hotel', (rs_currentProduct == 'hotel' ? true : false), parent );
    if ( rs_carActive )
        result += rs_generateProductOption ( 'Rental Cars', 'car', (rs_currentProduct == 'car' ? true : false), parent );
    if ( rs_vpActive )
        result += rs_generateProductOption ( 'Vacation Packages', 'vp', (rs_currentProduct == 'vp' ? true : false), parent );
    if ( rs_airActive )
        result += rs_generateProductOption ( 'Flights', 'air', (rs_currentProduct == 'air' ? true : false), parent );
    
    $('.rs_multiSearchBoxSelect', parent).html(result);
}

function rs_generateProductOption ( name, product, active, parent )
{
    var result = '<option class="rs_multiSearchBoxOption_' + product + '"';
    if ( active )
        result += ' selected=SELECTED';
    result += ' value=\'' + product + '\'>' + name + '</option>';
    
    return result;
}

function rs_switchTab ( product, parent )
{
    rs_killRequest();
    $('.rs_multiSearchBoxCalendar').hide();
    $('.rs_multiSearchBoxAutosuggestResults').hide();
    
    $('.rs_multiSearchBoxTab_' + rs_currentProduct, parent).removeClass('rs_multiSearchBoxTabActive');
    $('.rs_multiSearchBoxOption_' + rs_currentProduct, parent).attr('selected', 'false');
    $('.rs_multiSearchBoxContent_' + rs_currentProduct, parent).hide();
    
    rs_currentProduct = product;
    $('.rs_multiSearchBoxTab_' + product, parent).addClass('rs_multiSearchBoxTabActive');
    $('.rs_multiSearchBoxOption_' + rs_currentProduct, parent).attr('selected', 'SELECTED');
    $('.rs_multiSearchBoxContent_' + rs_currentProduct, parent).show();
    
    if ( rs_currentProduct == "hotel" || rs_currentProduct == "vp" )
    {
        $('.rs_multiSearchBoxContent_' + rs_currentProduct + ' select[name=rs_rooms]').html ( rs_printRooms() );
    }
    
    if ( !$('.rs_multiSearchBoxForm_' + rs_currentProduct + ' input[name=refid]').length )
        $('.rs_multiSearchBoxForm_' + rs_currentProduct).append ( '<input name="refid" type="hidden" />' );    
    $('.rs_multiSearchBoxForm_' + rs_currentProduct + ' input[name=refid]').val(rs_refID);
    
    $('.rs_multiSearchBoxContent_' + rs_currentProduct + ' .rs_multiSearchBoxCalendar').each ( function ()
    {        
        if ( rs_getCalType ( $(this) ) == "checkIn" )
        {
            rs_drawCalendar ( rs_getCheckIn( rs_currentProduct, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) ), rs_today, rs_getCheckIn( rs_currentProduct, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) ), rs_getCheckOut( rs_currentProduct, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) ), rs_currentProduct, 'checkIn', false, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) );
        }
        else if ( rs_getCalType ( $(this) ) == "checkOut" )
        {
            rs_drawCalendar ( rs_getCheckOut( rs_currentProduct, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) ), rs_getCheckIn( rs_currentProduct, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) ), rs_getCheckOut( rs_currentProduct, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) ), rs_getCheckIn( rs_currentProduct, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) ), rs_currentProduct, 'checkOut', false, rs_getCalParent ( $(this) ), rs_getParent ( $(this) ) );
        }
    });
}

function rs_printRooms ()
{
    var result = '<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option>';
    if ( rs_allowGroupBooking )
        result += '<option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9+</option>';
    
    return result;
}

function rs_checkSearchForm ( product, parent )
{
    if ( product == 'hotel' )
        return rs_checkHotelSearchForm ( parent );
    else if ( product == 'car' )
        return rs_checkCarSearchForm ( parent );
    else if ( product == 'vp' )
        return rs_checkVPSearchForm ( parent );
    else if ( product == 'air' )
        return rs_checkAirSearchForm ( parent );
    
    return false;
}

function rs_checkHotelSearchForm ( parent )
{
    if ( ($('.rs_multiSearchBoxForm_hotel select[name=rs_hid]', parent).length && $('.rs_multiSearchBoxForm_hotel select[name=rs_hid]', parent).val() != '') || ($('.rs_multiSearchBoxForm_hotel input[name=rs_hid]', parent).length && $('.rs_multiSearchBoxForm_hotel input[name=rs_hid]', parent).val() != '') )
    {
        $('.rs_multiSearchBoxForm_hotel', parent).attr('action', rs_cName + '/hotel/?');
    }
    else if ( ($('.rs_multiSearchBoxForm_hotel select[name=rs_cid]', parent).length && $('.rs_multiSearchBoxForm_hotel select[name=rs_cid]', parent).val() != '') || ($('.rs_multiSearchBoxForm_hotel input[name=rs_cid]', parent).length && $('.rs_multiSearchBoxForm_hotel input[name=rs_cid]', parent).val() != '') || ($('.rs_multiSearchBoxForm_hotel input[name=rs_rid]', parent).length && $('.rs_multiSearchBoxForm_hotel input[name=rs_rid]', parent).val() != '') || ($('.rs_multiSearchBoxForm_hotel input[name=rs_lmark]', parent).length && $('.rs_multiSearchBoxForm_hotel input[name=rs_lmark]', parent).val().substing(0,3) == 'air') )
    {
        $('.rs_multiSearchBoxForm_hotel', parent).attr('action', rs_cName + '/city/?');
    }
    else
    {
        if ( $('.rs_multiSearchBoxForm_hotel .rs_multiSearchBoxAutosuggest', parent).val().replace(/[^a-zA-Z0-9]+/g,'') == ""  )
        {
            alert ( "Please enter a city to search for." );
            $('.rs_multiSearchBoxForm_hotel .rs_multiSearchBoxAutosuggest', parent).focus();
            return false;
        }
        
        $('.rs_multiSearchBoxForm_hotel', parent).attr('action', rs_cName + '/search/?');
    }

    if ( $('.rs_multiSearchBoxForm_hotel select[name=rs_rooms]', parent).length && $('.rs_multiSearchBoxForm_hotel select[name=rs_rooms]', parent).val() >= 5 && $('.rs_multiSearchBoxForm_hotel select[name=rs_rooms]', parent).val() <= 8 )
    {
        if ( rs_allowGroupBooking )
        {
            if ( rs_popUp )
                rs_doPop ( $('.rs_multiSearchBoxForm_hotel input[name=rs_city]', parent).val() );

            if ( rs_groupBookingURL != '' )
                window.location.href = rs_groupBookingURL;
            else
                window.location.href = "http://hotelsbycity.hotelplanner.com/Search/Index.cfm?City=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_city]', parent).val() + "&InDate=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_chk_in]', parent).val() + "&Outdate=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_chk_out]', parent).val() + "&NumRooms=" + $('.rs_multiSearchBoxForm_hotel select[name=rs_rooms]', parent).val() + "&sc=HBC" + rs_refID;
        }
        else
        {
            alert ( "Sorry, we only allow reservations betwen 1 and 4 rooms" );
        }

        return false;
    }
    else if ( $('.rs_multiSearchBoxForm_hotel select[name=rs_rooms]', parent).length && $('.rs_multiSearchBoxForm_hotel select[name=rs_rooms]', parent).val() > 8 )
    {
        if ( rs_allowGroupBooking )
        {
            if ( rs_popUp )
                rs_doPop ( $('.rs_multiSearchBoxForm_hotel input[name=rs_city]', parent).val() );

            if ( rs_groupBookingURL != '' )
                window.location.href = rs_groupBookingURL;
            else
                window.location.href = "http://hotelsbycity.hotelplanner.com/GroupForm.cfm?City=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_city]', parent).val() + "&InDate=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_chk_in]', parent).val() + "&Outdate=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_chk_out]', parent).val() + "&NumRooms=" + $('.rs_multiSearchBoxForm_hotel select[name=rs_rooms]', parent).val() + "&sc=HBC" + rs_refID;
        }
        else
        {
            alert ( "Sorry, we only allow reservations betwen 1 and 4 rooms" );
        }

        return false;
    }
    else if ( $('.rs_multiSearchBoxForm_hotel input[name=rs_chk_in]', parent).val() != 'mm/dd/yyyy' && $('.rs_multiSearchBoxForm_hotel input[name=rs_chk_out]', parent).val() != 'mm/dd/yyyy' && (((rs_stringToDate($('.rs_multiSearchBoxForm_hotel input[name=rs_chk_out]', parent).val()) - rs_stringToDate($('.rs_multiSearchBoxForm_hotel input[name=rs_chk_out]', parent).val()))/86400000) > 21) )
    {
        if ( rs_allowGroupBooking )
        {
            if ( rs_popUp )
                rs_doPop ( $('.rs_multiSearchBoxForm_hotel input[name=rs_city]', parent).val() );

            if ( rs_fiveRooms != '' )
                window.location.href = rs_groupBookingURL;
            else
                window.location.href = "http://hotelsbycity.hotelplanner.com/Search/Index.cfm?City=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_city]', parent).val() + "&InDate=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_chk_in]', parent).val() + "&Outdate=" + $('.rs_multiSearchBoxForm_hotel input[name=rs_chk_out]', parent).val() + "&NumRooms=" + $('.rs_multiSearchBoxForm_hotel select[name=rs_rooms]', parent).val() + "&sc=HBC" + rs_refID;
        }
        else
        {
            alert ( "Sorry, reservations have a maximum length of 21 days");
        }

        return false;
    }

    if ( rs_popUp )
        rs_doPop ( $('.rs_multiSearchBoxForm_hotel input[name=rs_city]', parent).val() );

    if ( $('.rs_multiSearchBoxForm_hotel input[name=rs_hid]', parent).length && $('.rs_multiSearchBoxForm_hotel input[name=rs_hid]', parent).val() != '' )
        $('.rs_multiSearchBoxForm_hotel .rs_multiSearchBoxButton', parent).attr('value','Checking...').css('background','#8AB531 url(' + rs_cName + '/img/load_trans.gif) no-repeat 87px 4px').css('width','107px').css('text-align','left');
    else
        $('.rs_multiSearchBoxForm_hotel .rs_multiSearchBoxButton', parent).attr('value','Searching...').css('background','#8AB531 url(' + rs_cName + '/img/load_trans.gif) no-repeat 87px 4px').css('width','107px').css('text-align','left');

    return true;
}

function rs_checkCarSearchForm ( parent )
{
    $('.rs_multiSearchBoxForm_car', parent).attr('action', rs_cName + '/car/results/?');
    
    if ( $('.rs_multiSearchBoxForm_car input[name=rs_pu_city]', parent).val().replace(/[^a-zA-Z0-9]+/g,'') == ""  )
    {
        alert ( "Please enter a pick up location." );
        $('.rs_multiSearchBoxForm_car input[name=rs_pu_city]', parent).focus();
        return false;
    }

    if ( $('.rs_multiSearchBoxForm_car input[name=rs_return_different]', parent).attr('checked') )
    {
        if ( $('.rs_multiSearchBoxForm_car input[name=rs_do_city]', parent).val().replace(/[^a-zA-Z0-9]+/g,'') == ""  )
        {
            alert ( "Please enter a drop off location." );
            $('.rs_multiSearchBoxForm_car input[name=rs_do_city]', parent).focus();
            return false;
        }
    }
    else
    {
        $('.rs_multiSearchBoxForm_car input[name=rs_do_city]', parent).val('');
        $('.rs_multiSearchBoxForm_car input[name=rs_do_cityid]', parent).val('');
        $('.rs_multiSearchBoxForm_car input[name=rs_do_airport]', parent).val('');
    }

    if ( $('.rs_multiSearchBoxForm_car input[name=rs_pu_date]', parent).val() == 'mm/dd/yyyy' || $('.rs_multiSearchBoxForm_car input[name=rs_pu_date]', parent).val() == '' )
    {
        alert ( "Please enter your pick up date." );
        $('.rs_multiSearchBoxForm_car .rs_multiSearchBoxCalendarContainer_checkIn .rs_multiSearchBoxCalendar', parent).show();
        return false;
    }
    else if ( $('.rs_multiSearchBoxForm_car input[name=rs_do_date]', parent).val() == 'mm/dd/yyyy' || $('.rs_multiSearchBoxForm_car input[name=rs_do_date]', parent).val() == '' )
    {
        alert ( "Please enter your drop off date." );
        $('.rs_multiSearchBoxForm_car .rs_multiSearchBoxCalendarContainer_checkOut .rs_multiSearchBoxCalendar', parent).show();
        return false;
    }
    else if ( $('.rs_multiSearchBoxForm_car input[name=rs_pu_date]', parent).val() == $('.rs_multiSearchBoxForm_car input[name=rs_do_date]', parent).val() && $('.rs_multiSearchBoxForm_car select[name=rs_pu_time]', parent).val() == $('.rs_multiSearchBoxForm_car select[name=rs_do_time]', parent).val() )
    {
        alert ( "Please choose a drop off time at least 30 minutes after your pick up time." );
        return false;
    }

    if ( rs_popUp )
        rs_doPop ( $('.rs_multiSearchBoxForm_car input[name=rs_pu_city]', parent).val() );

    $('.rs_multiSearchBoxForm_car .rs_multiSearchBoxButton', parent).attr('value','Checking...').css('background','#8AB531 url(' + rs_cName + '/img/load_trans.gif) no-repeat 87px 4px').css('width','107px').css('text-align','left');

    return true;
}

function rs_checkVPSearchForm ( parent )
{
    $('.rs_multiSearchBoxForm_vp', parent).attr('action', rs_cName + '/vp/search/?');
    
    if ( $('.rs_multiSearchBoxForm_vp input[name=rs_o_city]', parent).val().replace(/[^a-zA-Z0-9]+/g,'') == ""  )
    {
        alert ( "Please enter the city or airport you are leaving from." );
        $('.rs_multiSearchBoxForm_vp input[name=rs_o_city]', parent).focus();
        return false;
    }
    else if ( $('.rs_multiSearchBoxForm_vp input[name=rs_d_city]', parent).val().replace(/[^a-zA-Z0-9]+/g,'') == ""  )
    {
        alert ( "Please enter the city or airport you are traveling to." );
        $('.rs_multiSearchBoxForm_vp input[name=rs_d_city]', parent).focus();
        return false;
    }

    if ( $('.rs_multiSearchBoxForm_vp input[name=rs_chk_in]', parent).val() == 'mm/dd/yyyy' || $('.rs_multiSearchBoxForm_vp input[name=rs_chk_in]', parent).val() == '' )
    {
        alert ( "Please enter your departure date." );
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxCalendarContainer_checkIn .rs_multiSearchBoxCalendar', parent).show();
        return false;
    }
    if ( $('.rs_multiSearchBoxForm_vp input[name=rs_chk_out]', parent).val() == 'mm/dd/yyyy' || $('.rs_multiSearchBoxForm_vp input[name=rs_chk_out]', parent).val() == '' )
    {
        alert ( "Please enter your return date." );
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxCalendarContainer_checkOut .rs_multiSearchBoxCalendar', parent).show();
        return false;
    }
    else if ( (((rs_stringToDate($('.rs_multiSearchBoxForm_vp input[name=rs_chk_out]', parent).val()) - rs_stringToDate($('.rs_multiSearchBoxForm_vp input[name=rs_chk_in]', parent).val()))/86400000) > 21) )
    {
        if ( rs_allowGroupBooking )
        {
            if ( confirm( "Sorry, vacation packages can only be booked for stays of 21 days or less.\nIf you wish to search for only a hotel, click 'OK', otherwise click 'CANCEL' and modify your search." ) )
            {
                if ( rs_popUp )
                    rs_doPop ( $('.rs_multiSearchBoxForm_vp input[name=rs_d_city]', parent).val() );

                if ( rs_groupBookingURL != '' )
                    window.location.href = rs_groupBookingURL;
                else
                    window.location.href = "http://hotelsbycity.hotelplanner.com/Search/Index.cfm?City=" + $('.rs_multiSearchBoxForm_vp input[name=rs_d_city]', parent).val() + "&InDate=" + $('.rs_multiSearchBoxForm_vp input[name=rs_chk_in]', parent).val() + "&Outdate=" + $('.rs_multiSearchBoxForm_vp input[name=rs_chk_out]', parent).val() + "&NumRooms=" + $('.rs_multiSearchBoxForm_vp select[name=rs_rooms]', parent).val() + "&sc=HBC" + rs_refID;

                return false;    
            }
            else
            {
                $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxCalendarContainer_checkOut .rs_multiSearchBoxCalendar', parent).show();
                return false;
            }
        }
        else
        {
            alert ( "Sorry, vacation packages can only be booked for stays of 21 days or less" );
        }
    }
    
    
    if ( $('.rs_multiSearchBoxForm_vp input[name=rs_passengers]', parent).length != 0 )
    {
        var checkRoomsVal = rs_checkRooms( parent );
        if ( checkRoomsVal != 0 )
        {
            alert ( "Sorry, at most four guests can stay in each hotel room.\nPlease increase the number of rooms for your trip.\nFor the number of travellers you have selected, you will require at least " + checkRoomsVal + " rooms." );
            return false;
        }

        if ( !rs_fillPassengers( parent ) )
        {
            return false;
        }
    }

    if ( rs_popUp )
        rs_doPop ( $('.rs_multiSearchBoxForm_vp input[name=rs_d_city]', parent).val() );

    $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxButton', parent).attr('value','Checking...').css('background','#8AB531 url(' + rs_cName + '/img/load_trans.gif) no-repeat 87px 4px').css('width','107px').css('text-align','left');

    return true;
}

function rs_checkAirSearchForm ( parent )
{
    
}

// ------------------ AUTOCOMPLETE FUNCTIONS ------------------ //

function rs_killRequest ()
{
    if ( rs_request != null )
    {
        rs_request.abort();
        rs_request = null;
    }
}


function rs_blankResult ( product, subParent, parent )
{
    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggest', parent).css('background-image', 'none');
    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults', parent).hide();
    
    if ( product == 'hotel' )
    {
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_cid]', parent).val ('');
        if ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_lmark]', parent).css('display') == 'none' )
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_lmark]', parent).val('');
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_rid]', parent).val('');
    }
    else if ( product == 'car' )
    {
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_cityid]', parent).val ('');
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_cityid]', parent).val ('');
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_airport]', parent).val ('');
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_airport', parent).val ('');
    }
    else if ( product == 'vp' )
    {
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_o_cityid]', parent).val ('');
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_o_aircode]', parent).val ('');
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_d_cityid]', parent).val ('');
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_d_aircode]', parent).val ('');
    }
    
    //***NEED TO DO FOR AIR***
}

function rs_autocompleteIsVisible ( product, subParent, parent )
{
    if ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults', parent).css('display') == 'block' )
        return true;
    else
        return false;
}

function rs_saveChoice ( selectedResult, product, subParent, parent )
{
    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults', parent).hide();
    
    if ( product == 'hotel' )
    {    
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggest', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult + ' .cleanName', parent).text() );

        if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_cid]', parent).length )
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_cid' />");
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_cid]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('id') );
        
        var resultType = $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('class').split(' ').slice(0,1);
        
        if ( resultType == 'region' )
        {
            if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_rid]', parent).length )
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_rid' />");
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_rid]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('id') );            
        }
        else
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_rid]', parent).val('');
            
        if ( resultType == 'airport' )
        {            
            if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_lmark]', parent).length )
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_lmark' />");
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_lmark]', parent).val ( 'air' + $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult + ' .cleanName', parent ).text() );            
        }
        else if ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_lmark]', parent).css('display') == 'none' )
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_lmark]', parent).val('');
    }
    else if ( product == 'car' )
    {
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggest', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult + ' .cleanName', parent).text() );
        
        if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_pickUp' )
        {
            if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_cityid]', parent).length )
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_pu_cityid' />");
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_cityid]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('id') );
        }
        else if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_dropOff' )
        {
            if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_cityid]', parent).length )
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_do_cityid' />");
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_cityid]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('id') );
        }

        var resultType = $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('class').split(' ').slice(0,1);
        if ( resultType == 'airport' )
        {
            if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_pickUp' )
            {
                if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_airport]', parent).length )
                    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_pu_airport' />");
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_airport]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult + ' .cleanName', parent ).text() );
            }
            else if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_dropOff' )
            {
                if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_airport]', parent).length )
                    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_do_airport' />");
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_airport]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult + ' .cleanName', parent ).text() );
            }        
        }
    }
    else if ( product == 'vp' )
    {
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggest', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult + ' .cleanName', parent).text() );

        var resultType = $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('class').split(' ').slice(0,1);
        if ( resultType == 'airport' )
        {
            if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_origin' )
            {
                if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_o_aircode]', parent).length )
                    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_o_aircode' />");
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_o_aircode]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('id') );
            }
            else if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_destination' )
            {
                if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_d_aircode]', parent).length )
                    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_d_aircode' />");
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_d_aircode]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('id') );
            }        
        }
        else
        {
            if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_origin' )
            {
                if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_o_cityid]', parent).length )
                    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_o_cityid' />");
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_o_cityid]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('id') );
            }
            else if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_destination' )
            {
                if ( !$('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_d_cityid]', parent).length )
                    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent, parent).append("<input type='hidden' name='rs_d_cityid' />");
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_d_cityid]', parent).val ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent ).attr('id') );
            }
        }
    }

    rs_killRequest();
}

function rs_setCurrentResult ( selectedResult, product, subParent, parent )
{
    if ( selectedResult == $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults li', parent).length )
        selectedResult = 0;

    if ( selectedResult == -1 )
        selectedResult = $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults li', parent).length - 1;

    rs_currentResult = selectedResult;

    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .selected', parent).removeClass('selected');
    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults .result_' + selectedResult, parent).addClass('selected');

    rs_killRequest();
}

function rs_runAutocomplete ( currentSearch, product, subParent, parent )
{
    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggest', parent).css('background', '#FFF url(' + rs_cName + '/img/loader.gif) no-repeat right 2px');
    
    if ( product == 'hotel' )
        var jsonSource = rs_cName + "/inc/json_autocomplete.php?stateFilter=" + rs_stateFilter + "&countryFilter=" + rs_countryFilter + "&petFilter=" + rs_petFilter + "&bookingFilter=" + rs_bookingMode +  "&query=" + currentSearch + "&jsoncallback=?";
    else if ( product == 'car' )
        var jsonSource = rs_cName + "/inc/json_car_autocomplete.php?stateFilter=" + rs_stateFilter + "&countryFilter=" + rs_countryFilter + "&query=" + currentSearch + "&jsoncallback=?";
    else if ( product == 'vp' )
    {
        if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_origin' )
            var jsonSource = rs_cName + "/inc/json_vp_autocomplete.php?stateFilter=" + rs_stateFilter + "&countryFilter=" + rs_countryFilter + "&query=" + currentSearch + "&container=origin&jsoncallback=?";
        else if ( subParent == '.rs_multiSearchBoxAutosuggestContainer_destination' )
            var jsonSource = rs_cName + "/inc/json_vp_autocomplete.php?stateFilter=" + rs_stateFilter + "&countryFilter=" + rs_countryFilter + "&query=" + currentSearch + "&container=destination&jsoncallback=?";
    }
    
    rs_request = $.getJSON(jsonSource,
        function(data)
        {
            rs_request = null;
            if ( data.data[0].html.indexOf('li') != -1 )
            {
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults', parent).html('<div class="rs_multiSearchBoxAutosuggestResultsContent">' + data.data[0].html + '</div>')
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults', parent).show();
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults', parent).bgiframe();
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggest', parent).css('background-image', 'none');

                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults li', parent).click ( function() { rs_saveChoice(($(this).attr('class').split(' ').slice(0)).toString().split('_').slice(-1).toString().split(',').slice(0, 1).toString(), product, subParent, parent); } );
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggestResults li', parent).mouseover ( function() { rs_setCurrentResult(($(this).attr('class').split(' ').slice(0)).toString().split('_').slice(-1).toString().split(',').slice(0, 1).toString(), product, subParent, parent); } );

                rs_setCurrentResult(0, product, subParent, parent);
            }
            else
            {
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxAutosuggest', parent).css('background-image', 'none');
            }
            
            rs_killRequest();
        }
    );        
}

$(document).ready ( function() {
    rs_loadRefData ();
    rs_fillProductTabs ( '#myForm' );
    rs_fillProductSelect ( '#myForm' );
    
    rs_switchTab ( rs_currentProduct, '#myForm' );
    
    $(document).click ( function(e) {
        var clicked = $(e.target);

        var visibleAutocomplete = $('.rs_multiSearchBoxForm_' + rs_currentProduct + ' .rs_multiSearchBoxAutosuggestResults:visible');        
        if ( visibleAutocomplete.length != 0 && rs_autocompleteIsVisible ( rs_currentProduct, rs_getAutocompleteParent(visibleAutocomplete), rs_getParent(visibleAutocomplete) ) )
        {                                       
            rs_blankResult( rs_currentProduct, rs_getAutocompleteParent(visibleAutocomplete), rs_getParent(visibleAutocomplete) );            
        }
        
        if ( !($(clicked).parents().is('.rs_multiSearchBoxCalendar') || $(clicked).parents().is('.rs_calendarBody')) && !$(clicked).is('.rs_multiSearchBoxCalendarShow') )
        {
            $('.rs_multiSearchBoxCalendar').hide();
        }        
    });
    
    $('.rs_multiSearchBoxAutosuggest').keydown ( function(event) {
 
        if ( !rs_noAutosuggest )
        {
            if ( event.keyCode != 16 )    //Shift
                rs_killRequest();

            if ( event.keyCode == 13 )  //Enter
            {
                if ( rs_autocompleteIsVisible ( rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) ) )
                {
                    rs_saveChoice ( rs_currentResult, rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
                    return false;   //Blocks the form submission
                }
                else
                    return true;    //This causes the form to submit
            }
            else if ( event.keyCode == 9 )  //Tab
            {
                if ( rs_autocompleteIsVisible ( rs_currentResult, rs_getAutocompleteParent($(this)), rs_getParent($(this)) ) )
                    rs_saveChoice ( rs_currentResult, rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
            }
            else if ( event.keyCode == 8 && $(this).val().length < 3 ) //Tab or backspace
                rs_blankResult( rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
        }
        else
            rs_blankResult( rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
    });

    $('.rs_multiSearchBoxAutosuggest').keyup ( function(event) {
        if ( !rs_noAutosuggest )
        {
            if ( event.keyCode != 16 )    //Shift
                rs_killRequest();

            if ( event.keyCode == 40 )  // Up
                rs_setCurrentResult ( rs_currentResult + 1, rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
            else if ( event.keyCode == 38 ) //Down
                rs_setCurrentResult ( rs_currentResult - 1, rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
            else if ( event.keyCode == 27 ) //Escape
                rs_blankResult( rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
            else if ( $(this).val().length >= 3 && ((event.keyCode >= 65 && event.keyCode <= 90) || event.keyCode == 8) ) //A-Z and backspace
                rs_runAutocomplete( $(this).val(), rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
            else if ( $(this).val().length < 3 )
                rs_blankResult( rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
        }
        else
        {
            rs_blankResult( rs_currentProduct, rs_getAutocompleteParent($(this)), rs_getParent($(this)) );
        }
    });
    
    $('.rs_multiSearchBoxContent_car .rs_multiSearchBoxForm_car input[name=rs_return_different]').click ( function() {
        if ( $('.rs_multiSearchBoxContent_car .rs_multiSearchBoxForm_car .rs_multiSearchBoxAutosuggestContainer_dropOff').css('display') == 'none' )
            $('.rs_multiSearchBoxContent_car .rs_multiSearchBoxForm_car .rs_multiSearchBoxAutosuggestContainer_dropOff').show();
        else
            $('.rs_multiSearchBoxContent_car .rs_multiSearchBoxForm_car .rs_multiSearchBoxAutosuggestContainer_dropOff').hide();
    });
});

// ------------------ CALENDAR FUNCTIONS ------------------ //

function rs_getCalType ( element )
{
    return ($(element).parents('.rs_multiSearchBoxCalendarContainer').attr('class')).replace("rs_multiSearchBoxCalendarContainer rs_multiSearchBoxCalendarContainer_", "");
}

function rs_getCalParent ( element )
{
    return '.' + ($(element).parents('.rs_multiSearchBoxCalendarGroupContainer').attr('class')).replace("rs_multiSearchBoxCalendarGroupContainer ", "");
}

function rs_daysInFeb ( year )
{
    if ( new Date(year,1,29).getDate()==29 )
        return 29;
    else
        return 28;
}

function rs_getDaysInMonth ( month, year )
{
	if ( month == 2 )
		return rs_daysInFeb ( year );
	else
		return rs_daysInMonth[month];
}

function rs_stringToDate ( string )
{
    var splitted = string.split("/");
    if ( splitted[0] == 'mm' || splitted[0] == null || splitted[0] == '' )
        return rs_today;
    else
        return new Date ( splitted[2], splitted[0]-1, splitted[1] );
}

function rs_getCheckIn ( product, subParent, parent )
{    
    if ( product == "hotel" || product == "vp" )
        return ( rs_stringToDate ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_in]', parent).val() ) );
    else if ( product == "car" )
        return ( rs_stringToDate ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_date]', parent).val() ) );
}

function rs_getCheckOut ( product, subParent, parent )
{
    if ( product == "hotel" || product == "vp" )
        return ( rs_stringToDate ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_out]', parent).val() ) );
    else if ( product == "car" )
        return ( rs_stringToDate ( $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_date]', parent).val() ) );
}

function rs_drawPrev ( month, year, product, calType, subParent, parent )
{
    var drawDate = new Date ( year, month, 1 );
    drawDate.setMonth ( drawDate.getMonth() -  1 );
    
    if ( calType == "checkIn" )
        rs_drawCalendar ( drawDate, rs_today, rs_getCheckIn(product, subParent, parent), rs_getCheckOut(product, subParent, parent), product, calType, true, subParent, parent );
    else
        rs_drawCalendar ( drawDate, rs_getCheckIn(product, subParent, parent), rs_getCheckIn(product, subParent, parent), rs_getCheckIn(product, subParent, parent), product, calType, true, subParent, parent );
}

function rs_drawNext ( month, year, product, calType, subParent, parent )
{
    var drawDate = new Date ( year, month, 1 );
    drawDate.setMonth ( drawDate.getMonth() + 1 );
    if ( calType == "checkIn" )
        rs_drawCalendar ( drawDate, rs_today, rs_getCheckIn(product, subParent, parent), rs_getCheckOut(product, subParent, parent), product, calType, true, subParent, parent );
    else
        rs_drawCalendar ( drawDate, rs_getCheckIn(product, subParent, parent), rs_getCheckIn(product, subParent, parent), rs_getCheckIn(product, subParent, parent), product, calType, true, subParent, parent );
}

function rs_setDay ( day, product, calType, subParent, parent )
{
    if ( calType == 'checkIn' )
    {
        var chk_in = rs_getCheckIn(product, subParent, parent);
        rs_setDate ( chk_in.getFullYear(), chk_in.getMonth(), day, product, calType, subParent, parent );
    }
    if ( calType == 'checkOut' )
    {
        var chk_out = rs_getCheckOut(product, subParent, parent);
        rs_setDate ( chk_out.getFullYear(), chk_out.getMonth(), day, product, calType, subParent, parent );
    }
}

function rs_setMonth ( month, product, calType, subParent, parent )
{
    if ( month.length == 1 )
    {
        $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarMonth' , parent).val(0);
    }
    else
    {
        var newMonth = month.split('-')[0];
        var newYear = month.split('-')[1];
        rs_setDate ( newYear, newMonth, 1, product, calType, subParent, parent );        
    }
}

function rs_setDate ( year, month, day, product, calType, subParent, parent  )
{
    $('.rs_multiSearchBoxCalendar').hide();

    var chk_in = rs_getCheckIn(product, subParent, parent);
    var chk_out = rs_getCheckOut(product, subParent, parent);

    if ( calType == 'checkIn' )
    {
        var chk_in = new Date ( year, month, day );
        if ( chk_in < rs_today )
            chk_in = new Date ( rs_today.getFullYear(), rs_today.getMonth(), rs_today.getDate() );
                
        if ( (product == "hotel" || product == "vp" || product == "air") && rs_getCheckOut(product, subParent, parent) <= chk_in )
        {
            var chk_out = new Date ( chk_in.getFullYear(), chk_in.getMonth(), chk_in.getDate() );
            chk_out.setDate ( chk_out.getDate() + 1 );
        }        
        else if ( product == "car" && rs_getCheckOut(product, subParent, parent) < chk_in )
        {
            var chk_out = new Date ( chk_in.getFullYear(), chk_in.getMonth(), chk_in.getDate() );
            chk_out.setDate ( chk_out.getDate() );
        }

        if ( product == "hotel" || product == "vp" )
        {
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_in]', parent).val( (chk_in.getMonth()+1) + '/' + chk_in.getDate() + '/' + chk_in.getFullYear() );
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_out]', parent).val( (chk_out.getMonth()+1) + '/' + chk_out.getDate() + '/' + chk_out.getFullYear() );
        }
        else if ( product == "car" )
        {
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_date]', parent).val( (chk_in.getMonth()+1) + '/' + chk_in.getDate() + '/' + chk_in.getFullYear() );
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_date]', parent).val( (chk_out.getMonth()+1) + '/' + chk_out.getDate() + '/' + chk_out.getFullYear() );
        }
        else if ( product == "air" )
        {
            //NEED TO DO FOR AIR
        }
    }
    else if ( calType == 'checkOut' )
    {
        var chk_out = new Date ( year, month, day );
        if ( chk_in < rs_today )
            chk_in = new Date ( rs_today.getFullYear(), rs_today.getMonth(), rs_today.getDate() );
            
        if ( (product == "hotel" || product == "air" || product == "vp") && chk_out <= chk_in )
        {
            chk_out = new Date ( chk_in.getFullYear(), chk_in.getMonth(), chk_in.getDate() );
            chk_out.setDate ( chk_out.getDate() + 1 );
        }
        else if ( product == "car" && chk_out < chk_in )
        {
            chk_out = new Date ( chk_in.getFullYear(), chk_in.getMonth(), chk_in.getDate() );
            chk_out.setDate ( chk_out.getDate() );
        }

        if ( product == "hotel" || product == "vp" )
        {
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_in]', parent).val( (chk_in.getMonth()+1) + '/' + chk_in.getDate() + '/' + chk_in.getFullYear() );
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_out]', parent).val( (chk_out.getMonth()+1) + '/' + chk_out.getDate() + '/' + chk_out.getFullYear() );        
        }
        else if ( product == "car" )
        {
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_date]', parent).val( (chk_in.getMonth()+1) + '/' + chk_in.getDate() + '/' + chk_in.getFullYear() );
            $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_date]', parent).val( (chk_out.getMonth()+1) + '/' + chk_out.getDate() + '/' + chk_out.getFullYear() );        
        }
        else if ( product == "air" )
        {
            //Need to do for air
        }
    }
    
    rs_drawCalendar ( chk_out, chk_in, chk_out, chk_in, product, 'checkOut', false, subParent, parent );
    rs_drawCalendar ( chk_in, rs_today, chk_in, chk_out, product, 'checkIn', false, subParent, parent );
}

function rs_printMonths ( minDate, drawDate, rs_maxDate, drawBlank )
{
    var result = '';
    var year = minDate.getFullYear();
    var printDate = new Date(minDate.getFullYear(), minDate.getMonth(), 1);
    
    if ( drawBlank )
    {
        result = '<option>Month</option><option>&nbsp;</option>';
    }

    while ( printDate <= rs_maxDate )
    {
        result += '<option';
        if ( printDate.getMonth() == drawDate.getMonth() && printDate.getFullYear() == drawDate.getFullYear() && drawBlank == false )
            result += ' selected=SELECTED';
        result += ' value="' + printDate.getMonth() + '-' + printDate.getFullYear() + '">' + rs_shortMonthNames[printDate.getMonth()] + ' `' + printDate.getFullYear().toString().slice(2,4) + '</option>';
        printDate.setMonth( printDate.getMonth() + 1);
    }

    return result;
}

function rs_printDays ( drawDate, minDate, rs_maxDate, drawBlank )
{
    var result = '';
    var printDate = new Date ( drawDate.getFullYear(), drawDate.getMonth(), 1 );
    if ( drawBlank )
    {
        result = '<option>Day</option>';
        return result;
    }

    for (var i = 1; i <= rs_getDaysInMonth(drawDate.getMonth(), drawDate.getFullYear()); i ++)
    {
        printDate.setDate(i);
        if ( printDate <= rs_maxDate && printDate >= minDate )
        {
            result += '<option value=\'' + i + '\'';
            if ( printDate.toDateString() == drawDate.toDateString() && drawBlank == false )
                result += ' selected=SELECTED';
            result += '>' + i + '</option>';
        }
    }

    return result;
}

function rs_drawCalendar ( drawDate, minDate, date, otherDate, product, calType, skipSelect, subParent, parent )
{
    var html = '<div class="rs_calendarBody"><div class="closerBar"><span onclick="$(\'.rs_multiSearchBoxCalendar\').hide();" class="closeSquare">x</span><div class="clear"></div></div>';
    var daysLeftInWeek = 7;
    var weeksToPrint = 6;

    if ( (product == "hotel" || product == "air" || product == "vp") && calType == 'checkOut' )
    {
        minDate = new Date ( minDate.getFullYear(), minDate.getMonth(), (minDate.getDate() + 1) );
        if ( minDate.getMonth() != drawDate.getMonth() && drawDate.getMonth() == rs_today.getMonth() && drawDate.getFullYear() == rs_today.getFullYear() && $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_in]', parent).val() == 'mm/dd/yyyy' && $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_out]', parent).val() == 'mm/dd/yyyy'  )
            drawDate = new Date ( minDate.getFullYear(), minDate.getMonth(), minDate.getDate() );
    }

    var buttonsHMTL = '';
    if (!(drawDate.getFullYear() == rs_maxDate.getFullYear() && drawDate.getMonth() == rs_maxDate.getMonth()))
        buttonsHMTL += "<span class='calendarNext' onclick='rs_drawNext(" + drawDate.getMonth() + ", " + drawDate.getFullYear() + ", \"" + product + "\", \"" + calType + "\", \"" + subParent + "\", \"" + parent + "\"); return false;'></span>";
    if (!(drawDate.getFullYear() == minDate.getFullYear() && drawDate.getMonth() == minDate.getMonth()) && (drawDate.getFullYear() == rs_maxDate.getFullYear() && drawDate.getMonth() == rs_maxDate.getMonth()))
        buttonsHMTL += "<span class='calendarPrev' style='margin-right:21px' onclick='rs_drawPrev(" + drawDate.getMonth() + ", " + drawDate.getFullYear() + ", \"" + product + "\", \"" + calType + "\", \"" + subParent + "\", \"" + parent + "\"); return false;'></span>";
    else if (!(drawDate.getFullYear() == minDate.getFullYear() && drawDate.getMonth() == minDate.getMonth()))
    {
        if ( !((calType == 'checkOut') && (drawDate.getFullYear() == minDate.getFullYear()) && (drawDate.getMonth()-1 == minDate.getMonth()) && (rs_getDaysInMonth(minDate.getMonth(), minDate.getFullYear()) == minDate.getDate())) )
            buttonsHMTL += "<span class='calendarPrev' onclick='rs_drawPrev(" + drawDate.getMonth() + ", " + drawDate.getFullYear() + ", \"" + product + "\", \"" + calType + "\", \"" + subParent + "\", \"" + parent + "\"); return false;'></span>";
    }

    if ( skipSelect == false )
    {
        if ( calType == "checkIn" )
        {
            if ( ((product == "hotel" || product == "vp") && $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_in]', parent).val() == 'mm/dd/yyyy') || (product == "car" && $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_pu_date]', parent).val() == 'mm/dd/yyyy') )
            {
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarMonth', parent).html( rs_printMonths(minDate, drawDate, rs_maxDate, true) );
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarDay', parent).html( rs_printDays(drawDate, minDate, rs_maxDate, true) );
            }
            else
            {
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarMonth', parent).html( rs_printMonths(minDate, drawDate, rs_maxDate, false) );
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarDay', parent).html( rs_printDays(drawDate, minDate, rs_maxDate, false) );
            }
        }
        else
        {
            if ( ((product == "hotel" || product == "vp") && $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_chk_out]', parent).val() == 'mm/dd/yyyy') || (product == "car" && $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' input[name=rs_do_date]', parent).val() == 'mm/dd/yyyy') )
            {
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarMonth', parent).html( rs_printMonths(minDate, drawDate, rs_maxDate, true) );
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarDay', parent).html( rs_printDays(drawDate, minDate, rs_maxDate, true) );
            }
            else
            {
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarMonth', parent).html( rs_printMonths(minDate, drawDate, rs_maxDate, false) );
                $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendarDay', parent).html( rs_printDays(drawDate, minDate, rs_maxDate, false) );
            }
        }
    }

    drawDate = new Date (drawDate.getFullYear(), drawDate.getMonth() - 1, 1);

    for ( var counter=0; counter<rs_numCalendars; counter++ )
    {
        drawDate = new Date (drawDate.getFullYear(), drawDate.getMonth() + 1, 1);

        html += "<table ";
        if ( (rs_numCalendars-1) == counter )
        {
            html += "style='float: right; margin-right: 4px;' ";
        }

        html += "cellspacing=0 cellpadding=0 border=0><tr class='topRow'><td colspan=7>";
        if ( counter == 0 )
            html += "<select onchange='rs_updateCalendar($(this).val(), \"" + product + "\", \"" + calType + "\", false, \"" + subParent + "\", \"" + parent + "\");'>" + rs_printMonths(minDate, drawDate, rs_maxDate, false) + "</select>";
        if ( counter != 0 )
            html += "<span class='calendarTitle'>" + rs_fullMonthNames[drawDate.getMonth()] + " " + drawDate.getFullYear() + "</span>";
        if ( counter == (rs_numCalendars-1) )
        {
            html += "<span class='calendarButtons'>";
            html += buttonsHMTL;
            html += "</span>";
        }
        html += "</td></tr><tr class='weekRow'><th>sun</th><th>mon</th><th>tue</th><th>wed</th><th>thu</th><th>fri</th><th>sat</th></tr><tr>";

        daysLeftInWeek = 7;
        weeksToPrint = 6;

        html += rs_printBlanks ( new Date(drawDate.getFullYear(), drawDate.getMonth(), 1).getDay() );
        daysLeftInWeek -= new Date(drawDate.getFullYear(), drawDate.getMonth(), 1).getDay();

        for (var i=1; i<=rs_getDaysInMonth(drawDate.getMonth(), drawDate.getFullYear()); i++)
        {
            var printingDate = new Date ( drawDate.getFullYear(), drawDate.getMonth(), i );
            var clickAdd = 'onclick="rs_setDate(' + drawDate.getFullYear() + ', ' + drawDate.getMonth() + ', ' + i + ', \'' + product + '\', \'' + calType + '\', \'' + subParent + '\', \'' + parent + '\'); return false;"';
            if ( printingDate.toDateString() == date.toDateString() && date.toDateString() != otherDate.toDateString() )
                html += '<td class="dateSquare currDate" ' + clickAdd + '><span>' + i + '</span></td>';
            else if ( printingDate.toDateString() == otherDate.toDateString() && date.toDateString() != otherDate.toDateString() )
            {
                if ( calType == 'checkOut' )
                    html += '<td class="dateSquare otherDate"><span>' + i + '</span></td>';
                else
                    html += '<td class="dateSquare otherDate" ' + clickAdd + '><span>' + i + '</span></td>';
            }
            else if ( printingDate < minDate || printingDate > rs_maxDate )
            {
                html += '<td class="dateSquare disabledDate"><span>' + i + '</span></td>';
            }
            else if ( (printingDate > date && printingDate < otherDate) || (printingDate < date && printingDate > otherDate) )
            {
                html += '<td class="dateSquare betweenDate" ' + clickAdd + '><span>' + i + '</span></td>';
            }
            else
                html += '<td class="dateSquare" ' + clickAdd + '><span>' + i + '</span></td>';
            daysLeftInWeek --;
            if ( daysLeftInWeek == 0 )
            {
                html = html + '</tr><tr>';
                daysLeftInWeek = 7;
                weeksToPrint --;
            }
        }

        if ( daysLeftInWeek != 7 )
        {
            html += rs_printBlanks ( daysLeftInWeek ) + '</tr>';
            weeksToPrint --;
        }

        for ( var i=weeksToPrint; i>0; i-- )
            html += '<tr>' + rs_printBlanks ( 7 ) + '</tr>';

        html += '</table>';
    }

    $('.rs_multiSearchBoxForm_' + product + ' ' + subParent + ' .rs_multiSearchBoxCalendarContainer_' + calType + ' .rs_multiSearchBoxCalendar', parent).html ( html + '</div>' );
}

function rs_updateCalendar ( drawVal, product, calType, skipSelect, subParent, parent )
{
    var chk_in = rs_getCheckIn(product, subParent, parent);
    var chk_out = rs_getCheckOut(product, subParent, parent);
    if ( calType == 'checkIn' )
        rs_drawCalendar ( new Date(drawVal.split('-')[1],drawVal.split('-')[0],1), chk_in, chk_out, chk_in, product, calType, true, subParent, parent );
    else if ( calType == 'checkOut' )
        rs_drawCalendar ( new Date(drawVal.split('-')[1],drawVal.split('-')[0],1), rs_today, chk_in, chk_out, product, calType, true, subParent, parent );        
}

function rs_printBlanks ( count )
{
    var result = "";
    for ( var i=1; i<=count; i++ )
        result += "<td class='dateSquare blank'>&nbsp;</td>";
    return result;
}

$(document).ready (
    function()
    {
        $('.rs_multiSearchBoxCalendarShow').click ( function() { $('.rs_multiSearchBoxCalendar').hide(); $('.rs_multiSearchBoxForm_' + rs_currentProduct + ' ' + rs_getCalParent ($(this)) + ' .rs_multiSearchBoxCalendarContainer_' + rs_getCalType($(this)) + ' .rs_multiSearchBoxCalendar', rs_getParent($(this))).show().bgiframe(); } );
        $('.rs_multiSearchBoxCalendar .closeSquare').click ( function() { $('.rs_multiSearchBoxCalendar').hide(); } );        
    }
);

// ------------------ VP FUNCTIONS ------------------ //

function rs_checkRooms ( parent )
{
    if ( ((parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_adults]', parent).val(), 10) + parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_children]', parent).val(), 10) )/parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_rooms]', parent).val(), 10)) > 4 )
        return (Math.ceil((parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_adults]', parent).val(), 10) + parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_children]', parent).val(), 10) )/parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_rooms]', parent).val(), 10)/4));
    else
        return 0;
}

function rs_fillPassengers ( parent )
{
    var passengersString = $('.rs_multiSearchBoxForm_vp select[name=rs_adults]', parent).val();
    var infantsCounter = 1;
    var lapsCounter = 0;
    var passengersCounter = parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_adults]', parent).val(), 10);

    for ( var i=1; i<=parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_children]', parent).val(),10); i++ )
    {
        
        passengersString += "^" + $('.rs_multiSearchBoxForm_vp .rs_child_' + i + '_age', parent).val();
        if ( $('.rs_multiSearchBoxForm_vp .rs_child_' + i + '_age', parent).val() == '0' )
        {
            
            passengersString += "-" + $('.rs_multiSearchBoxForm_vp input[name=rs_infant_' + infantsCounter + '_seating]:checked', parent).val();
            if ( $('.rs_multiSearchBoxForm_vp input[name=rs_infant_' + infantsCounter + '_seating]:checked', parent).val() == 'lap' )
            {
                lapsCounter ++;
            }
            else
            {
                passengersCounter ++;
            }
            infantsCounter ++; 
        }
        else
        {
            passengersCounter ++;
        }
    }

    $('.rs_multiSearchBoxForm_vp input[name=rs_passengers]', parent).val ( passengersString );

    if ( lapsCounter > parseInt($('.rs_multiSearchBoxForm_vp select[name=rs_adults]', parent).val(), 10) )
    {
        alert ( "Sorry, due to airline regulations, at most one lap infant is permitted per adult traveller." );
        return false;
    }

    if ( passengersCounter > 8 )
    {
        alert ( "Sorry, at most 8 passengers can travel for a vacation package." );
        return false;
    }

    return true;
}

function rs_updateChildren ( parent )
{
    if ( $('.rs_multiSearchBoxForm_vp select[name=rs_children]', parent).val() != '0' )
    {
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxChildrensAgesContainer .rs_multiSearchBoxChildrensAges', parent).html('');
        for ( var i=1; i<=parseInt( $('.rs_multiSearchBoxForm_vp select[name=rs_children]', parent).val(), 10 ); i ++ )
        {
            if ( i == 5 )
            {
                $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxChildrensAgesContainer .rs_multiSearchBoxChildrensAges', parent).append ( "<div class='clear' style='margin-top: 10px'></div>" );
                $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxChildrensAgesContainer .rs_multiSearchBoxChildrensAges', parent).append ( "<select style='margin-left: 110px' onchange='rs_updateInfants(\"" + parent + "\");' class='rs_child_" + i + "_age'><option value='17' selected=SELECTED>17</option><option value='16'>16</option><option value='15'>15</option><option value='14'>14</option><option value='13'>13</option><option value='12'>12</option><option value='11'>11</option><option value='10'>10</option><option value='9'>9</option><option value='8'>8</option><option value='7'>7</option><option value='6'>6</option><option value='5'>5</option><option value='4'>4</option><option value='3'>3</option><option value='2'>2</option><option value='0'>&lt;2</option></select>" );
            }
            else
                $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxChildrensAgesContainer .rs_multiSearchBoxChildrensAges').append ( "<select onchange='rs_updateInfants(\"" + parent + "\");' class='rs_child_" + i + "_age'><option value='17' selected=SELECTED>17</option><option value='16'>16</option><option value='15'>15</option><option value='14'>14</option><option value='13'>13</option><option value='12'>12</option><option value='11'>11</option><option value='10'>10</option><option value='9'>9</option><option value='8'>8</option><option value='7'>7</option><option value='6'>6</option><option value='5'>5</option><option value='4'>4</option><option value='3'>3</option><option value='2'>2</option><option value='0'>&lt;2</option></select>" );
        }
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxChildrensAgesContainer', parent).show();
        rs_updateInfants( parent );
    }
    else
    {
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxChildrensAgesContainer', parent).hide();
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxChildrensAgesContainer .rs_multiSearchBoxChildrensAges', parent).html('');
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxInfantsAgesContainer', parent).hide();
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxInfantsAgesContainer .rs_multiSearchBoxInfantsAges', parent).html('');
    }
}

function rs_updateInfants ( parent )
{
    $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxInfantsAgesContainer .rs_multiSearchBoxInfantsAges', parent).html('');
    
    var counter = 1;
    $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxChildrensAgesContainer .rs_multiSearchBoxChildrensAges select', parent).each ( function() {
        if ( parseInt($(this).val(),10) == 0 )
        {
            $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxInfantsAgesContainer .rs_multiSearchBoxInfantsAges', parent).append ( "<div class='subTile' style='height: 30px; float: none;'><span class='label' style='float: left; display: block; width: 110px; margin-top: 3px; font-weight: bold'>" + rs_getOrdinal(counter) + " Infant Seating:</span><input type='radio' class='rs_infant_" + counter + "_seating_lap' name='rs_infant_" + counter + "_seating' value='lap' /><label style='padding-right: 10px;' for='rs_infant_" + counter + "_seating_lap'>Lap infant</label><input type='radio' class='rs_infant_" + counter + "_seating_seat' name='rs_infant_" + counter + "_seating' value='seat' checked=CHECKED /><label style='padding-right: 20px;' for='rs_infant_" + counter + "_seating_seat'>Purchase Seat</label></div>" );
            counter ++;
        }
    });

    if ( $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxInfantsAgesContainer .rs_multiSearchBoxInfantsAges', parent).html() != '' )
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxInfantsAgesContainer', parent).show();
    else
        $('.rs_multiSearchBoxForm_vp .rs_multiSearchBoxInfantsAgesContainer', parent).hide();
}

function rs_getOrdinal(n)
{
   var s=["th","st","nd","rd"],
       v=n%100;
   return n+(s[(v-20)%10]||s[v]||s[0]);
}
