var SearchSidebarValidator = function ($) { $.ajaxSetup({ cache: false }) var searchSidebarValidator = this; var ResourcesSidebar = $.parseJSON($('#Resources_Home_Sidebar').val()); searchSidebarValidator.validateOccupants = function () { var numOccupants = $('#occupants').val(); if (numOccupants != null && numOccupants.trim.length > 0 && !isWholeNumber(numOccupants)) { alert(ResourcesSidebar.NonNumericOccupants); return false; } return true; }; searchSidebarValidator.atLeastOneCheckboxSelected = function (chkClass, errorMessageIfEmpty) { if ($('input' + chkClass + ':checked').length == 0) { alert(errorMessageIfEmpty); return false; } return true; }; searchSidebarValidator.minimumSearchCriteria = function () { if (!searchSidebarValidator.atLeastOneCheckboxSelected('.chkSidebarFacilityTypes', ResourcesSidebar.MinimumOneCategory)) { return false; } if ($('#chkIsReservable').is(':checked') && !searchSidebarValidator.atLeastOneCheckboxSelected('.chkSidebarDays', ResourcesSidebar.MinimumOneDesirableDay)) { return false; } return true; }; searchSidebarValidator.validateMonies = function () { var result = FacilitiesCommon.validateMoneyRange( '#lowestPrice', '#highestPrice', ResourcesSidebar.LowReservation, ResourcesSidebar.HighReservation, false, false, ResourcesSidebar.InvalidMonetaryValue, ResourcesSidebar.WrongMoneyOrder ); return result; }; searchSidebarValidator.validateDatesAndTimes = function () { var result = FacilitiesCommon.validateDateTimeWithBothOptional( '#dateRangeStartPicker', '#dateRangeEndPicker', '#startTimePicker', '#endTimePicker', true, false, false, true, ResourcesSidebar.StartDate, ResourcesSidebar.EndDate, ResourcesSidebar.StartTime, ResourcesSidebar.EndTime, ResourcesSidebar.WrongTimeFormat, ResourcesSidebar.UnknownError, ResourcesSidebar.DatesInPastErrorMessage, ResourcesSidebar.WrongTimeOrderErrorMessage, ResourcesSidebar.BothDatesRequired, ResourcesSidebar.BothTimesRequiredStart, ResourcesSidebar.BothTimesRequiredEnd, ""); return result; }; searchSidebarValidator.validateSidebar = function () { if (!SearchSidebarValidator.minimumSearchCriteria()) { return false; } if ($('#chkIsReservable').is(':checked') && !SearchSidebarValidator.validateDatesAndTimes()) { return false; } if (!SearchSidebarValidator.validateOccupants()) { return false; } if ($('#chkIsReservable').is(':checked') && !SearchSidebarValidator.validateMonies()) { return false; } return true; }; return this; } (jQuery);