/**
 * Funções de busca para o site, funções relativas a busca, resultado de busca, devem ser postas aqui.
 * @copyright Binworks www.binworks.com.br
 * @author Julio Luiz <julio@binworks.,com.br>
 * @date 19/08/2008
 */
BestSeat.Busca = {	
	init: function() {
		with(this) {
			initBusca();
			opcoesAvancadas();
			carregaCalendario();
		}
	},
	initBusca: function() {
		$('input#query_busca, input#query_busca_footer')
			.focus(function(){
				//$(this).addClass('busca_over');
				if (!this.old_val)
					this.old_val = this.value;				
				if (this.value == this.old_val)
					this.value = "";
			})
			.blur(function(){
				//$(this).removeClass('busca_over');
				if ($.trim(this.value).length == 0)
					this.value = this.old_val || "";
			});
	},
	carregaCalendario: function() {
		Utils.loadScript('lib/jquery/ui/ui.datepicker.min.js');		
		Utils.loadScript('lib/jquery/ui/i18n/ui.datepicker-pt-BR.js');		
		Utils.loadCSS('lib/jquery/ui/css/ui.datepicker.css');
		if ($.datepicker) {
			//Teve que ser feito um approach para o componente funcionar corretamente, tendo em vista que seu funcionamento dá certo somente com elements input type="text".
			// Cria-se então um input dinamico para ação, atribuinto o valor
			$('div#calendario ul li:last')
				.append('<input name="data_calendario" id="data_calendario" maxlength="10" size="10" class="text_hidden" />')				
				.find('input')
					.datepicker({
								dateFormat: "yy-mm-dd",
								onSelect: function(date) {
									alert(date);
								},								
								clearText: ""
							})
				.parent()
					.find('a')
						.click(function(){
							$(this).next('input').get(0).focus();
						return false;
					});	
		}
	},
	opcoesAvancadas: function() {
		$('div#titulo_busca_componente a:last').click(function(){
			$('form#busca_componente div.opcoes_avancadas')
				.slideToggle('fast', function(){					
					var htmlLink = $(this).is(':visible') ? "- Fechar opções de busca" : "+ Mais opções de busca";
					if ($(this).is(':visible'))
						$(this).find('p input#keyword').val('').get(0).focus();
					$('div#titulo_busca_componente a:last').html(htmlLink);
				});
			this.blur();
			return false;
		});		
	}
};

$(document).ready(function(){BestSeat.Busca.init()});