;(function($){$.fn.simpleFAQ=function(options){var n=this;if(n.length<1){return n;}
n.addClass('simpleFAQList');options=(options)?options:{};options=auditOptions($.extend({},$.fn.simpleFAQ.defaults,options));if(options.data!=null){n.html('');for(var i=0,l=options.data.length;i<l;++i){n.append("<"+options.nodeType+" class='simpleFAQ'>"+" <p class='"+options.questionClass+"'>"+options.data[i].question+"</p>"+" <div class='"+options.answerClass+"'>"+
options.data[i].answer+"<p class='"+options.tagClass+"'>"+options.data[i].tags+"</p>"+"</div>"+"</"+options.nodeType+">");}}
var faqs=n.find(options.nodeType);faqs.find('.'+options.questionClass).css({cursor:'pointer'}).hover(function(){$(this).addClass('simpleFAQHover');},function(){$(this).removeClass('simpleFAQHover');}).bind('click.simpleFAQ',function(e){var faq=$(this).parent();if(options.showOnlyOne){n.find(options.nodeType).not(faq).removeClass('simpleFAQShowing').find('.'+options.answerClass).slideUp();}
$(this).siblings('.'+options.answerClass).slideToggle(function(){if($(this).is(':visible')){faq.addClass('simpleFAQShowing');n.trigger('show.simpleFAQ',[faq[0]]);}else{faq.removeClass('simpleFAQShowing');}});});faqs.find('.'+options.answerClass).hide();if(options.allowSearch){var hideFAQ=function(node){$(node).hide().removeClass('simpleFAQShowing').find('.'+options.answerClass).hide();}
var iNode=$(options.searchNode);if(iNode.length>0&&typeof $.score=='function'){hideFAQ(n.find(options.nodeType));iNode.append("<input type='text' id='simpleFAQSearch' />").find('#simpleFAQSearch').keyup(function(e){clearTimeout($.fn.simpleFAQ.keyTimeoutHandle);var input=this;if(input.value.length<1){hideFAQ(n.find(options.nodeType));n.trigger('sort.simpleFAQ',[[]]);return;}
$.fn.simpleFAQ.keyTimeoutHandle=setTimeout(function(){var scores=[];faqs.each(function(i){var faq=$(this);var tags=faq.find('.'+options.tagClass).text();var s=$.score(faq.text(),input.value);s+=scoreTags(input.value,tags);if(s>options.minSearchScore){scores.push([s,faq]);}else{hideFAQ($(this));}});if(options.sortSearch){scores.sort(function(a,b){return b[0]-a[0];});}
var results=[];$.each(scores,function(){n.append(this[1].show());results.push(this[1][0]);});n.trigger('sort.simpleFAQ',[results]);},$.fn.simpleFAQ.keyTimeout);});}}
var scoreTags=function(input,tags){var s=0;if(tags.length<1){return s;}
var words=input.split(' ');for(var i=0,l=words.length;i<l;++i){if(words[i].length<1){continue;}
if(tags.indexOf(words[i])>-1){s+=$.fn.simpleFAQ.tagMatchScore;}}
return s;}
return n;};var auditOptions=function(options){if(!options.data||!options.data.length||typeof options.data.splice!='function'){options.data=$.fn.simpleFAQ.defaults.data;}
if(typeof(options.nodeType)!='string'){options.nodeType=$.fn.simpleFAQ.defaults.nodeType;}
if(typeof(options.questionClass)!='string'){options.questionClass=$.fn.simpleFAQ.defaults.questionClass;}
if(typeof(options.answerClass)!='string'){options.answerClass=$.fn.simpleFAQ.defaults.answerClass;}
if(typeof(options.tagClass)!='string'){options.tagClass=$.fn.simpleFAQ.defaults.tagClass;}
if(typeof(options.showOnlyOne)!='boolean'){options.showOnlyOne=$.fn.simpleFAQ.defaults.showOnlyOne;}
if(typeof(options.allowSearch)!='boolean'){options.allowSearch=$.fn.simpleFAQ.defaults.allowSearch;}
if(typeof(options.minSearchScore)!='number'){options.minSearchScore=$.fn.simpleFAQ.defaults.minSearchScore;}
if(typeof(options.sortSearch)!='boolean'){options.sortSearch=$.fn.simpleFAQ.defaults.sortSearch;}
return options;}
$.fn.simpleFAQ.keyTimeout=400;$.fn.simpleFAQ.tagMatchScore=0.1;$.fn.simpleFAQ.defaults={data:null,nodeType:'li',questionClass:'question',answerClass:'answer',tagClass:'tags',showOnlyOne:false,allowSearch:false,searchNode:null,minSearchScore:0,sortSearch:false};})(jQuery);
