jQuery.fn.quicksearch=function(C){this.timeout=null;this.settings=$.extend({position:"prepend",attached:"body",formId:"quicksearch",labelText:"Quick Search",labelClass:"qs_label",inputText:null,inputClass:"qs_input",loaderId:"loader",loaderClass:"loader",loaderImg:null,loaderText:"Loading...",stripeRowClass:null,hideElement:null,delay:500,classShow:null,focusOnLoad:false,randomElement:"qs"+Math.floor(Math.random()*1000000)},C||{});var D=this;var B=new jQuery._form(this.settings);var E=new jQuery._key(this.settings);var A=new jQuery._loader(this.settings);var F=new jQuery._stripe(this.settings.stripeRowClass);B.initialize();A.setTo("hide");if(this.settings.stripeRowClass!=null){$(D).each(function(){if(D.settings.hideElement=="grandparent"){F.go(this.parentNode.parentNode)}else{if(D.settings.hideElement=="parent"){F.go(this.parentNode)}else{F.go(this)}}});F.reset()}$("form.quicksearch").submit(function(){return false});$('input[@rel="'+this.settings.randomElement+'"]').keydown(function(G){switch(G.keyCode){case 9:case 13:case 38:case 40:G.preventDefault();break;default:clearTimeout(this.timeout);this.timeout=setTimeout(function(){A.setTo("show");setTimeout(function(){E.setKey();$(D).each(function(){if(D.settings.hideElement=="grandparent"){var H=$(this).parent().parent()}else{if(D.settings.hideElement=="parent"){var H=$(this).parent()}else{var H=$(this)}}if(E.test(this)){$(H).show()}else{$(H).hide()}if(D.settings.stripeRowClass!=null){if(D.settings.hideElement=="grandparent"){F.go(this.parentNode.parentNode)}else{if(D.settings.hideElement=="parent"){F.go(this.parentNode)}else{F.go(this)}}}});if(D.settings.classShow!=null){$(D.settings.classShow).show()}F.reset()},D.settings.delay);setTimeout(function(){A.setTo("hide")},D.settings.delay)},D.settings.delay);break}})};jQuery._key=function(A){this.key="";this.settings=A;this.getKey=function(){return this.key};this.setKey=function(){var C=$('input[@rel="'+this.settings.randomElement+'"]').val();var D=C.replace(/\s{2,}/g," ").toLowerCase();var B=D.split(" ");for(var E in B){var F=new RegExp(/([^A-Za-z0-9])/gi);if(B[E]==""){B.splice(E,1)}}this.key=B};this.test=function(C){if(this.getKey()==""){return true}else{var F=this.getKey();var D=$._stripHtml($(C).html());for(var B=0;B<F.length;B++){var E=D.indexOf(F[B]);if(E==-1){return false}}return true}}};jQuery._form=function(A){this.settings=A;this.initialize=function(){this.placeForm();if(this.settings.focusOnLoad){this.focusOnLoad()}if(this.settings.inputText!=""&&this.settings.inputText!=null){this.toggleText()}};this.placeForm=function(){var C=this.settings.position;var B=this.settings.attached;if(C=="before"){$(B).before(jQuery._makeForm(this.settings))}else{if(C=="prepend"){$(B).prepend(jQuery._makeForm(this.settings))}else{if(C=="append"){$(B).append(jQuery._makeForm(this.settings))}else{$(B).after(jQuery._makeForm(this.settings))}}}};this.focusOnLoad=function(){$('input[@rel="'+this.settings.randomElement+'"]').get(0).focus()};this.toggleText=function(){var B=this;$('input[@rel="'+this.settings.randomElement+'"]').focus(function(){if($(this).val()==B.settings.inputText){$(this).val("")}}),$('input[@rel="'+this.settings.randomElement+'"]').blur(function(){if($(this).val()==""){$(this).val(B.settings.inputText)}})}};jQuery._loader=function(A){this.settings=A;this.setTo=function(B){if(this.settings.loaderId){if(B=="hide"){$('input[@rel="'+this.settings.randomElement+'"]').parent().find(".loader").hide()}else{$('input[@rel="'+this.settings.randomElement+'"]').parent().find(".loader").show()}}}};jQuery._makeForm=function(A){this.settings=A;this.mform=function(){return'<form action="#" id="'+this.settings.formId+'" class="quicksearch">'+this.mlabel()+this.minput()+this.mloader()+"</form>"};this.mlabel=function(){if(!this.isEmpty(this.settings.labelText)){return'<label for="'+this.settings.inputId+'" class="'+this.settings.labelClass+'">'+this.settings.labelText+"</label> "}return""};this.minput=function(){var B=(!this.isEmpty(this.settings.inputText))?this.settings.inputText:"";return'<input type="text" value="'+B+'" rel="'+this.settings.randomElement+'" class="'+this.settings.inputClass+'" /> '};this.mloader=function(){if(!this.isEmpty(this.settings.loaderImg)){return'<img src="'+this.settings.loaderImg+'" alt="Loading" id="'+this.settings.loaderId+'" class="'+this.settings.loaderClass+'" />'}else{return'<span id="'+this.settings.loaderId+'" class="'+this.settings.loaderClass+'">'+this.settings.loaderText+"</span>"}};this.isEmpty=function(B){return(B==null||B==undefined||B==""||B==0)?true:false};return this.mform()};jQuery._stripHtml=function(B){var C=new RegExp(/\<[^\<]+\>/g);var A=B.replace(C,"");A=A.toLowerCase();return A};jQuery._stripe=function(A){this.i=0;this.set=A;this.go=function(B){this.removeClasses(B);if(B.getAttribute("style")!="display: none;"){$(B).addClass(this.set[this.i%this.set.length]);this.i+=1}};this.removeClasses=function(C){for(var B=0;B<this.set.length;B++){if(this.i%this.set.length!=B){$(C).removeClass(this.set[B])}}};this.reset=function(){this.i=0}};
