function CompraConfiavel()
{
	this._search_text = "Digite aqui o que você procura...";
}

CompraConfiavel.prototype = {
	constructor: CompraConfiavel,
	initialize: function()
	{
		this.install_search_help();
		this.insert_categories_separators();
		this.change_search_button();
	},
	
	insert_categories_separators: function()
	{
		var lis = $( "#categories li" ),
				size = lis.size();
		if( size === 0 )
		{
			return;
		}
		while( size-- )
		{
			lis.eq( size ).after( '<li class="separator">|</li>' );
		}
		// só faltou o primeiro...
		lis.eq( 0 ).before( '<li class="separator">|</li>' );
	},
	
	change_search_button: function()
	{
		var self = this;
		var button = $( "#search_go" );
		if( button.size() === 0 )
		{
			return;
		}
		button.hide().after( '<a id="js_search_go" href="#submit"><span>Buscar</span></a>' );
		
		$( "#js_search_go" ).click(
			function( e )
			{
				var q_value = $.trim( $( "#search_q" ).val() );
				if( q_value === "" || q_value === self._search_text )
				{
					alert( 'Ops, você esqueceu de preencher o termo de busca!' );
					$( "#search_q" ).focus();
					e.preventDefalt();
					return false;
				}
				$( "#search" )[0].submit();
				e.preventDefault();
			}
		);
	},
	
	install_search_help: function()
	{
		var self = this;
		var field = $( "#search_q" );
		if( field.length === 0 )
		{
			return;
		}
		field.
			focus( function(e){ self.show_search_help( e ) } ).
			blur( function(e){ self.hide_search_help( e ) } );
			
		var q_value = $.trim( field.val() );
		if( q_value === "" || q_value === this._search_text )
		{
			field.addClass( "help" ).val( this._search_text );
		}
	},
	show_search_help: function( e )
	{
		var field = $( e.target );
		if( $.trim( field.val() ) === this._search_text )
		{
			field.removeClass( "help" ).val( "" );
		}
	},
	hide_search_help: function( e )
	{
		var field = $( e.target );
		if( $.trim( field.val() ) === "" )
		{
			field.addClass( "help" ).val( this._search_text );
		}
	}
}

$(
	function()
	{
		var cc = new CompraConfiavel();
		cc.initialize();
	}
)
