var SearchSidebarReservableFlippers = function ($) { $.ajaxSetup({ cache: false }) var searchSidebarReservableFlippers = this; searchSidebarReservableFlippers.bindFlipperControl = function (id, whatToDo, returnFalse) { $(id).keypress(function () { $(this).click(); }); $(id).click(function () { whatToDo(); if (returnFalse) { return false; } }); }; searchSidebarReservableFlippers.flipAllCheckboxes = function (id, chkClass, markChecked) { searchSidebarReservableFlippers.flipCheckbox(id, markChecked); searchSidebarReservableFlippers.flipCheckboxes(chkClass, markChecked); }; searchSidebarReservableFlippers.flipCheckboxes = function (chkClass, markChecked) { if (!markChecked) { $(chkClass).removeAttr('checked'); } else { $(chkClass).attr('checked', true); } }; searchSidebarReservableFlippers.flipCheckbox = function (id, markChecked) { if (!markChecked) { $(id).removeAttr('checked'); } else { $(id).attr('checked', true); } }; searchSidebarReservableFlippers.flipDiv = function (isReservable) { if (isReservable) { $('#allActiveReservationFields').removeClass('inactive'); } else { $('#allActiveReservationFields').addClass('inactive'); } }; searchSidebarReservableFlippers.flipReservable = function (isReservable) { searchSidebarReservableFlippers.flipDiv(isReservable); searchSidebarReservableFlippers.flipCheckbox('#chkIsReservable', isReservable); searchSidebarReservableFlippers.flipActiveInactiveLink('#DaysButton', isReservable); searchSidebarReservableFlippers.flipActiveInactivePicker('#dateRangeStartPicker', isReservable); searchSidebarReservableFlippers.flipActiveInactivePicker('#dateRangeEndPicker', isReservable); searchSidebarReservableFlippers.flipActiveInactivePicker('#startTimePicker', isReservable); searchSidebarReservableFlippers.flipActiveInactivePicker('#endTimePicker', isReservable); searchSidebarReservableFlippers.flipActiveInactive('#lowestPrice', isReservable); searchSidebarReservableFlippers.flipActiveInactive('#highestPrice', isReservable); searchSidebarReservableFlippers.flipActiveInactive('#reservationFeeRate', isReservable); searchSidebarReservableFlippers.flipShowHideReservableDivs(isReservable); }; searchSidebarReservableFlippers.flipShowHideReservableDivs = function (isReservable) { if (isReservable) { $('#dateRangeDiv').show(); $('#timeRangeDiv').show(); $('#megaDaysContainer').show(); $('#optionsSelectedDays').show(); $('#reservationFeeDiv').show(); } else { $('#dateRangeDiv').hide(); $('#timeRangeDiv').hide(); $('#megaDaysContainer').hide(); $('#optionsSelectedDays').hide(); $('#reservationFeeDiv').hide(); } }; searchSidebarReservableFlippers.flipActiveInactivePicker = function (id, isReservable) { if (isReservable) { $(id).removeAttr('disabled'); $(id).next('span.t-select') .children('span.t-icon').css('visibility', 'visible'); } else { $(id).attr('disabled', true); $(id).next('span.t-select') .children('span.t-icon').css('visibility', 'hidden'); } }; searchSidebarReservableFlippers.flipActiveInactiveLink = function (id, isReservable) { if (isReservable) { $(id).removeClass('inactive'); $(id).unbind('click'); $(id).removeAttr('disabled'); searchSidebarReservableFlippers.bindFlipperControl('#DaysButton', SearchSidebarBinders.showHideDays, true); } else { $(id).addClass('inactive'); $(id).attr('disabled', true); $(id).unbind('click'); $(id).bind('click', function () { return false; }); } }; searchSidebarReservableFlippers.flipActiveInactive = function (id, isReservable) { if (isReservable) { $(id).removeAttr('disabled'); } else { $(id).attr('disabled', true); } }; searchSidebarReservableFlippers.resetDropDownsAndReservable = function () { searchSidebarReservableFlippers.flipReservable(false); searchSidebarReservableFlippers.flipAllCheckboxes('#CheckAllFacilityTypes', '.chkSidebarFacilityTypes', true); searchSidebarReservableFlippers.flipAllCheckboxes('#CheckAllDays', '.chkSidebarDays', true); searchSidebarReservableFlippers.flipAllCheckboxes('#CheckAllFeatures', '.chkSidebarFeatures', false); }; searchSidebarReservableFlippers.resetTextBoxes = function () { $('#dateRangeStartPicker').val(''); $('#dateRangeEndPicker').val(''); $('#startTimePicker').val(''); $('#endTimePicker').val(''); $('#occupants').val(''); $('#lowestPrice').val(''); $('#highestPrice').val(''); $('#keywords').val(''); }; return this; } (jQuery);