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() {
		$(this).next().slideToggle();
	});	
	$(this.faqShowAllHandler).click(function() {
		$(currentObject.faqContainer).find("a").next().show();

	});	
	$(this.faqHideAllHandler).click(function() {
		$(currentObject.faqContainer).find("a").next().hide();
	});

	
	$('#faqSearchText').setEnterHandler(function() {
	    currentObject.doSearch(); 
	});    
	
	$('#faqSearchHandler').click(function() {
		currentObject.doSearch(); 
	});    
	
		
}



jQuery.fn.setEnterHandler = function(handler)
{
	var enterKeyHahdler = handler;
	this.keypress(function (e) {  
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {     			
   			if (typeof(enterKeyHahdler) == 'function') 
   			{
   			    enterKeyHahdler();
   			}
   			return false;  
   		} 
   		else 
   		{  
   			return true;  
   		}  
   });      
}


faqObject.prototype.doSearch = function()
{
	var searchedText = $.trim($(this.faqSearchText).val().toUpperCase());
	if (searchedText == this.currentSearchedText) return;
	if (searchedText == '') 
	{ 
		this.currentSearchedText = '';
		$(this.faqContainer).removeHighlight(); 
		return true; 
	}

	this.currentSearchedText = searchedText; 
	$(this.faqContainer).find("a").next().hide();
	$(this.faqContainer).find("a").next(':contains("' + searchedText + '")').each(function() 
	{
		 $(this).show("fast");			 					
	});		

	
	
	
	$(this.faqContainer).removeHighlight();

	$(this.faqContainer).each(function()
	{ 
		$(this).highlight(searchedText); 
	});     

}

var faq = new faqObject();
$(document).ready(function() {
	faq.init();
	var qId = '';
		qId = window.location.hash;
	if(qId != '')
	{
		var id = '';
		id = qId.replace('#q',id);
		$('#q'+id).click();
	}
	
});

