jQuery.extend(
  jQuery.expr[':'], { Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" 
});
if (typeof(faqObject) == 'undefined') 
{
    faqObject = function()
    {
        this.currentSearchedText = '';
        this.faqContainer        = '#faq';
        this.faqSearchHandler    = '#faqSearchHandler';
        this.faqSearchText       = '#faqSearchText';
        this.faqShowAllHandler   = '#faqShowAllHandler';
        this.faqHideAllHandler   = '#faqHideAllHandler';
    }
}
faqObject.prototype.init = function()
{
	var currentObject = this;		
	$(this.faqContainer).find("a").click(function() {
		
	$(currentObject.faqHideAllHandler).show();
		$(this).next().slideToggle("fast");
	});	
	$(this.faqShowAllHandler).click(function() {
		$(currentObject.faqHideAllHandler).show();
		//$(this).hide();
		$(currentObject.faqContainer).find("a").next().show("fast");
	});	
	$(this.faqHideAllHandler).click(function() {
		$(currentObject.faqShowAllHandler).show();
		$(this).hide();
		$(currentObject.faqContainer).find("a").next().hide("fast");
	});
	$(this.faqSearchHandler).click(function() {
		currentObject.doSearch();
	});
	$(this.faqSearchText).setEnterHandler(function() {
	    currentObject.doSearch(); 
	});    
}
faqObject.prototype.doSearch = function()
{
	var searchedText = $.trim($(this.faqSearchText).val().toUpperCase());
	if (searchedText == this.currentSearchedText) return;
	if (searchedText == '') 
	{ 
		this.currentSearchedText = '';
		$(this.faqContainer).removeHighlight(); 
		return; 
	}
	
	this.currentSearchedText = searchedText; 

	$(this.faqContainer).find("a").next().hide();
	$(this.faqContainer).find("a").next(":Contains(" + searchedText + ")").each(function() {
		 $(this).show("fast");			 					
	});		
	if($(this.faqContainer).find("a").next(":Contains(" + searchedText + ")").length)
	{
		$('#nothingFound').hide();
	}
	else
	{
		$('#nothingFound').html('There are no results found for "'+$.trim($(this.faqSearchText).val())+'"').show();
	}
	
	$(this.faqContainer).removeHighlight();
	$(this.faqContainer).each(function() { $.highlight(this, searchedText); });     
}

var faq = new faqObject();
$(document).ready(function() {
	faq.init();
});