­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ (function($) { window['destination'] = null; if (!Array.isArray) { Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === '[object Array]'; }; } // make sure it is not intialized //http://getbootstrap.com/customize/?id=23dc7cc41297275c7297bb237a95bbd7 if(!jQuery.fn.adropdown) { if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3){}}(jQuery),+function(t){"use strict";function e(e){var n=e.attr("data-target");n||(n=e.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var i=n&&t(n);return i&&i.length?i:e.parent()}function n(n){n&&3===n.which||(t(a).remove(),t(o).each(function(){var i=t(this),a=e(i),o={relatedTarget:this};a.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(a[0],n.target)||(a.trigger(n=t.Event("hide.bs.adropdown",o)),n.isDefaultPrevented()||(i.attr("aria-expanded","false"),a.removeClass("open").trigger(t.Event("hidden.bs.adropdown",o)))))}))}function i(e){return this.each(function(){var n=t(this),i=n.data("bs.adropdown");i||n.data("bs.adropdown",i=new r(this)),"string"==typeof e&&i[e].call(n)})}var a=".adropdown-backdrop",o='[data-toggle="adropdown"]',r=function(e){t(e).on("click.bs.adropdown",this.toggle)};r.VERSION="3.3.7",r.prototype.toggle=function(i){var a=t(this);if(!a.is(".disabled, :disabled")){var o=e(a),r=o.hasClass("open");if(n(),!r){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("adropdown-backdrop").insertAfter(t(this)).on("click",n);var s={relatedTarget:this};if(o.trigger(i=t.Event("show.bs.adropdown",s)),i.isDefaultPrevented())return;a.trigger("focus").attr("aria-expanded","true"),o.toggleClass("open").trigger(t.Event("shown.bs.adropdown",s))}return!1}},r.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var i=t(this);if(n.preventDefault(),n.stopPropagation(),!i.is(".disabled, :disabled")){var a=e(i),r=a.hasClass("open");if(!r&&27!=n.which||r&&27==n.which)return 27==n.which&&a.find(o).trigger("focus"),i.trigger("click");var s=" li:not(.disabled):visible a",l=a.find(".adropdown-menu"+s);if(l.length){var d=l.index(n.target);38==n.which&&d>0&&d--,40==n.which&&d'); var $category_ddl = container.find('#asl-categories'); // Add the multiple tag if(settings.single_cat_select != '1') { $category_ddl.attr('multiple','multiple'); } if($category_ddl[0]) { // For NONE if(settings.single_cat_select == '1') { var $temp = $(''); $category_ddl.append($temp); } asl_search_categories = Object.values(asl_search_categories); asl_search_categories = (!settings.cat_sort)? sortBy(asl_search_categories, 'name', true): sortBy(asl_search_categories, 'ordr'); // Loop over the categories for (var _c in asl_search_categories) { var $temp = $(''); $category_ddl.append($temp); } $category_ddl[0].style.display = 'block'; // Default Category Selection if (settings.select_category) { settings.select_category = settings.select_category.split(','); var _cat_default = (settings.select_category.length == 1) ? settings.select_category[0] : settings.select_category; $category_ddl.val(_cat_default); } $category_ddl.multiselect({ enableFiltering: false, disableIfEmpty: true, enableCaseInsensitiveFiltering: false, nonSelectedText: settings.words.select_option, filterPlaceholder: settings.words.search || "Search", nonSelectedText: settings.words['category'] || "Select", nSelectedText: settings.words.selected || "selected", allSelectedText: (settings.words.all_selected || "All selected"), includeSelectAllOption: false, numberDisplayed: 1, maxHeight: 400, onChange : function(option, checked) { console.log('===> asl_search.js ===> 285'); } }); } // Geo-location Bind container.find('.asl-geo').bind('click', function(e) { geoLocatePosition(function(_coordinate) { search_input.val(settings.words.geo); clear.style.display = 'block'; destination = {location: _coordinate}; }, function(_text) { var $err_msg = $('
'); $err_msg.html(_text || 'Geo-Location is blocked, please check your preferences.'); $err_msg.appendTo('.asl-cont.asl-search'); window.setTimeout(function() { $err_msg.remove(); }, 5000); }); }); ///////////////////////////// ////// Attribute DDL///////// ///////////////////////////// var attr_keys = Object.keys(asl_attributes); for(var attr_key in attr_keys) { if (!attr_keys.hasOwnProperty(attr_key)) continue; var $attribute_ddl = container.find('#asl-' + attr_keys[attr_key]); // Add the multiple tag if(settings.single_cat_select != '1') { $attribute_ddl.attr('multiple','multiple'); } if($attribute_ddl[0]) { var attr_label = settings.words[attr_keys[attr_key]] || "Select"; // For NONE if(settings.single_cat_select == '1') { var $temp = $(''); $attribute_ddl.append($temp); } var attr_list_values = asl_attributes[attr_keys[attr_key]]; for (var _c in attr_list_values) { var $temp = $(''); $attribute_ddl.append($temp); } $attribute_ddl[0].style.display = 'block'; $attribute_ddl.multiselect({ enableFiltering: false, disableIfEmpty: true, enableCaseInsensitiveFiltering: false, nonSelectedText: settings.words.select_option, filterPlaceholder: settings.words.search || "Search", nonSelectedText: attr_label, nSelectedText: settings.words.selected || "selected", allSelectedText: (settings.words.all_selected || "All selected"), includeSelectAllOption: false, numberDisplayed: 1, maxHeight: 400, onChange : function(option, checked) { } }); } } ////////////////////////// //// FIND BUTTON/////// // ////////////////////////// /** * [search_button_event Event fired to perform the search] * @param {[type]} e [description] * @return {[type]} [description] */ function search_button_event(e) { ///var addr_value = $.trim(_input.value); var categories = ($category_ddl && $category_ddl.val())?$category_ddl.val(): null; var params = {}; if(settings.redirect_website == '1') { params['sl-web-redirect'] = 1; } if(settings.search_radius) { params['sl-radius'] = settings.search_radius; } if(categories && categories != '0') { params['sl-category'] = Array.isArray(categories)? categories.join(','): categories; } var search_text = $.trim(search_input.val()); var has_value = false; // Add the Attribute Values for(var attr_key in attr_keys) { if (!attr_keys.hasOwnProperty(attr_key)) continue; var $attribute_ddl = container.find('#asl-' + attr_keys[attr_key]); if($attribute_ddl[0]) { var attr_values = ($attribute_ddl.val())?$attribute_ddl.val(): null; if(attr_values && attr_values != '0') { params['sl-' + attr_keys[attr_key]] = Array.isArray(attr_values)? attr_values.join(','): attr_values; if(params['sl-' + attr_keys[attr_key]]) { has_value = true; } } } } // Add the additional query parameters if(settings['q-params']) { // explode it on & as multiple parameters can be passed var q_params = settings['q-params']; q_params = q_params.split('&'); // loop over the params for(var q = 0;q < q_params.length;q++) { var q_param = q_params[q]; q_param = q_param.split('='); if(q_param.length == 2) { q_param[0] = q_param[0].replace('amp;', ''); // add it in the main parameters list params[q_param[0]] = q_param[1]; } } } // when condition is positive to redirect if(destination || search_text || params['sl-category'] || has_value) { //?sl-category=2&sl-addr=Denver%2C+CO%2C+USA&lat=39.7392358&lng=-104.990251 if(search_input[0].required && !search_text) { search_input.addClass('on-error'); return; } // Address if(search_text) params['sl-addr'] = search_text; // Coordinates if(destination && typeof destination == 'object' && destination.location) { params['lat'] = destination.location.lat(); params['lng'] = destination.location.lng(); } window.location.href = settings.redirect + '?' + $.param(params); } else search_input.addClass('on-error'); }; // Make it Search Button container.find('#asl-btn-search').bind('click', search_button_event); // Make it searching on enter if(settings.enter_search) { search_input.bind('keyup', function(_e) { if (_e.keyCode == 13) { search_button_event(_e); } }); } }); }; // ASL GDPR Borlabs Callback window.asl_gdpr = function() { // Run the script $('.asl-cont.asl-search').asl_search_widget(); }; /* // Run the widget script aslInitializeWhenGAPIReady(function(){ // Run the script $('.asl-cont.asl-search').asl_search_widget(); }); */ // Run the script $('.asl-cont.asl-search').asl_search_widget(); })(jQuery);