jQuery.extend(
  jQuery.expr[':'], { Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" 
});
if (typeof(slideObject) == 'undefined') 
{
    slideObject = function()
    {
        this.currentSearchedText = '';
        this.slideContainer        = '#slide';
        this.slideSearchHandler    = '#slideSearchHandler';
        this.slideSearchText       = '#slideSearchText';
        this.slideShowAllHandler   = '#slideShowAllHandler';
        this.slideHideAllHandler   = '#slideHideAllHandler';
    }
}
slideObject.prototype.init = function()
{
	var currentObject = this;		
	$(this.slideContainer).find("a").click(function() {
		$(this).next().slideToggle("fast");
	});	
	$(this.slideShowAllHandler).click(function() {
		$(currentObject.slideHideAllHandler).show();
		$(this).hide();
		$(currentObject.slideContainer).find("a").next().show("fast");
	});	
	$(this.slideHideAllHandler).click(function() {
		$(currentObject.slideShowAllHandler).show();
		$(this).hide();
		$(currentObject.slideContainer).find("a").next().hide("fast");
	});
	$(this.slideSearchHandler).click(function() {
		currentObject.doSearch();
	});
}
slideObject.prototype.doSearch = function()
{
	var searchedText = $.trim($(this.slideSearchText).val().toUpperCase());
	if (searchedText == this.currentSearchedText) return;
	if (searchedText == '') 
	{
		this.currentSearchedText = '';
		$(this.slideContainer).removeHighlight(); 
		return; 
	}
	
	this.currentSearchedText = searchedText; 
	 
	$(this.slideContainer).find("a").next().hide();
	$(this.slideContainer).find("a").next(":Contains(" + searchedText + ")").each(function() {
		 $(this).show("fast");			 					
	});		
	$(this.slideContainer).removeHighlight();
	$(this.slideContainer).each(function() { $.highlight(this, searchedText); });     
}

var slide = new slideObject();
$(document).ready(function() {
	slide.init();
});
