jQuery(function ($) {	$.fn.quicksearch = function (target, opt) {				var timeout, cache, rowcache, jq_results, val = '', e = this, options = $.extend({ 			delay: 100,			selector: null,			stripeRows: null,			loader: null,			noResults: '',			bind: 'keyup',			onBefore: function () { 				return;			},			onAfter: function () { 				return;			},			show: function () {				this.style.display = "";			},			hide: function () {				this.style.display = "none";			}		}, opt);				this.go = function () {						var i = 0, noresults = true, vals = val.toLowerCase().split(' ');						var rowcache_length = rowcache.length;			for (var i = 0; i < rowcache_length; i++)			{				if (this.test(vals, cache[i]) || val == "") {					options.show.apply(rowcache[i]);					noresults = false;				} else {					options.hide.apply(rowcache[i]);				}			}						if (noresults) {				this.results(false);			} else {				this.results(true);				this.stripe();			}						this.loader(false);			options.onAfter();						return this;		};				this.stripe = function () {						if (typeof options.stripeRows === "object" && options.stripeRows !== null)			{				var joined = options.stripeRows.join(' ');				var stripeRows_length = options.stripeRows.length;								jq_results.not(':hidden').each(function (i) {					$(this).removeClass(joined).addClass(options.stripeRows[i % stripeRows_length]);				});			}						return this;		};				this.strip_html = function (input) {			var output = input.replace(new RegExp('<[^<]+\>', 'g'), "");			output = $.trim(output.toLowerCase());			return output;		};				this.results = function (bool) {			if (typeof options.noResults === "string" && options.noResults !== "") {				if (bool) {					$(options.noResults).hide();				} else {					$(options.noResults).show();				}			}			return this;		};				this.loader = function (bool) {			if (typeof options.loader === "string" && options.loader !== "") {				 (bool) ? $(options.loader).show() : $(options.loader).hide();			}			return this;		};				this.test = function (vals, t) {			for (var i = 0; i < vals.length; i += 1) {				if (t.indexOf(vals[i]) === -1) {					return false;				}			}			return true;		};				this.cache = function () {						jq_results = $(target);						if (typeof options.noResults === "string" && options.noResults !== "") {				jq_results = jq_results.not(options.noResults);			}						var t = (typeof options.selector === "string") ? jq_results.find(options.selector) : $(target).not(options.noResults);			cache = t.map(function () {				return e.strip_html(this.innerHTML);			});						rowcache = jq_results.map(function () {				return this;			});						return this.go();		};				this.trigger = function () {			this.loader(true);			options.onBefore();						window.clearTimeout(timeout);			timeout = window.setTimeout(function () {				e.go();			}, options.delay);						return this;		};				this.cache();		this.results(true);		this.stripe();		this.loader(false);				return this.each(function () {			$(this).bind(options.bind, function () {				val = $(this).val();				e.trigger();			});		});			};});
