if (typeof dw_included === 'undefined') { var dw_included = true; var search_href = window.location.href; if (typeof search_query_key == 'undefined') { var search_query_key = 'q'; } function processQuery(query) { query = trim(query); if (query.length < 2) { // Don't start working until 2 characters have been typed. query = ""; } if (typeof processQuery.lastQuery != 'undefined' && processQuery.lastQuery == query) { return false; // Don't re-send the same query. } if (typeof demowolfSearchPreProcess !== 'undefined') { demowolfSearchPreProcess(); } var search_data = {}; search_data[search_query_key] = query; search_data['ajax'] = 1; jQuery.get(search_href, search_data, function(data) { if (typeof data.s_visibility != 'undefined' && typeof data.d_visibility != 'undefined') { // Reset the accordion elements. if (typeof accordionOptions != 'undefined') { jQuery("#all-dw-series").find('[id$=-link]').parents('h3').show().end().find('[id$=-list]').show(); } for (var k in data.s_visibility) { var h3 = jQuery(k + "-link").parents('h3'); var list = jQuery(k + "-list"); var accordion = false; if (h3.hasClass('ui-accordion-header')) { if (!data.s_visibility[k]) { h3.hide(); list.hide(); } } else { if (data.s_visibility[k]) { h3.fadeIn().slideDown(); list.fadeIn().slideDown(); } else { if ($(h3).is(':hidden')) { h3.hide(); // In case the parent is what's actually hidden. } else { h3.fadeOut().slideUp(); } if ($(list).is(':hidden')) { list.hide(); // In case the parent is what's actually hidden. } else { list.fadeOut().slideUp(); } } } if (typeof data.d_visibility[k] != 'undefined') { for (var d in data.d_visibility[k]) { var d_elem = jQuery(d + ', ' + d + '-text, ' + d + '-mp4').first().parents('li,tr'); if (data.d_visibility[k][d]) { d_elem.show(); } else { d_elem.hide(); } } } } // Rebuild the accordion. if (typeof accordionOptions != 'undefined') { accordionOptions.active = false; jQuery("#all-dw-series").accordion('destroy').accordion(accordionOptions).accordion('activate', false); } } if (typeof demowolfSearchPostProcess !== 'undefined') { setTimeout(function() { demowolfSearchPostProcess(); }, 1000); } }, "json"); // Place the query in the query strings of all the series links jQuery("a[id^=dw-series]").each(function() { var href = jQuery(this).attr('href'); if (href.indexOf(processQuery.lastQuery) != -1) { href = href.replace(search_query_key + '=' + processQuery.lastQuery, search_query_key + '=' + query); } else { if (href.indexOf('?') == -1) { href += '?'; } else { href += '&'; } href += search_query_key + "=" + query; } jQuery(this).attr('href', href); }); processQuery.lastQuery = query; } // From phpjs.org function trim(str, charlist) { var whitespace, l = 0, i = 0; str += ''; if (!charlist) { // default list whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000"; } else { // preg_quote custom list charlist += ''; whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+$\^\:])/g, '$1'); } l = str.length; for (i = 0; i < l; i++) { if (whitespace.indexOf(str.charAt(i)) === -1) { str = str.substring(i); break; } } l = str.length; for (i = l - 1; i >= 0; i--) { if (whitespace.indexOf(str.charAt(i)) === -1) { str = str.substring(0, i + 1); break; } } return whitespace.indexOf(str.charAt(0)) === -1 ? str : ''; } jQuery(function() { if (typeof jQuery.fn.accordion !== 'undefined') { accordionOptions = { collapsible: true, autoHeight: false, icons: { header: "ui-icon-circle-arrow-e", headerSelected: "ui-icon-circle-arrow-s" } }; jQuery("#all-dw-series").accordion(accordionOptions); } searching = null; jQuery("#search_query").change(function() { processQuery(jQuery(this).val()); }).keyup(function() { var elem = this; clearTimeout(searching); searching = setTimeout(function() { jQuery(elem).change(); }, 500); }); jQuery("#dw-search").find("input[value='Search']").click(function() { jQuery("#search_query").change(); return false; }).end().find("input[name='reset']").click(function() { jQuery("#search_query").val('').change(); return false; }); }); }