// JavaScript Document
function useSuggestion(suggestion, container) {
	
	$("#"+container+"_submit").focus();
	$("#"+container+"_city").val(suggestion);
	$("#"+container+"search").slideUp("slow");
	predefined_city  = suggestion;
	return false;
}

function select_states(country, selector) {

	$(selector).load("ajax.states.php?country="+country);

}

function blink(object) {
	
	object.fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
}

var advanced_visible = false;
var filters_visible = false;

$(document).ready(function(){
						   

	$('#fast_city, #ciudad').focus(function(){
		if(predefined_city != '' && predefined_city == $(this).attr('value')) {
			$(this).attr('value', '');
		}
	});

	$('#fast_city, #ciudad').blur(function(){
		if(!$(this).attr('value')) {
			$(this).attr('value', predefined_city);
		}
	});
	
	$('.advanced_link').click(function(){
		if(advanced_visible) {
			$("#advanced").slideUp("slow");
			$("#fast").slideDown("slow");
			advanced_visible = false;
		}
		else {
			$("#advanced").slideDown("slow");
			$("#fast").slideUp("slow");
			advanced_visible = true;
			pageTracker._trackEvent('Search', 'Open advanced');
		}
		return false;
	});
	
	$('#link_infantil').click(function(){
		
		pageTracker._trackEvent('Search', 'Open infantil')
		if(!advanced_visible) {
			$("#advanced").slideDown("slow");
			$("#fast").slideUp("slow");
			advanced_visible = true;
		}
		
		$("#public").val('children');
		setTimeout("blink($('#public'))", 1200);
		
		return false;
	});

	$('#search_filters_show').click(function(){
		if(filters_visible) {
			$("#search_filters_contents").slideUp("slow");
			filters_visible = false;
		}
		else {
			$("#search_filters_contents").slideDown("slow");
			filters_visible = true;
		}
		return false;
	});


	$('#tabs li').click(function(){
		document.location = $(this).children("a").attr("href");
		return false;
	});
	
	
	$('#advanced_search_form').submit(function(){

		if( $("#advanced_city").val().length>2 || 
			$("#advanced_address").val().length>2 || 
			$("#advanced_name").val().length>2 ||
			$("#advanced_postal_code").val().length>2 || 
			$("#advanced_province").val().length>0
		  ) {
			return true;
		}
		else {
			alert('Debe seleccionar al menos uno de estos campos:\n- Localidad\n- Provincia\n- Código Postal\n- Dirección\n- Nombre de Templo (al menos tres letras)');
			return false;
		}
	});


	$('#fast_search_form').submit(function(){
										   
		if($("#hh_fast").val() == '') $("#hh_fast").attr("disabled", "disabled");
		if($("#c_feast_fast").val() == '') $("#c_feast_fast").attr("disabled", "disabled");
		if($("#fast_city").val().length>2) {
			return true;
		}
		else {
			alert('Debe escribir una localidad (al menos tres letras)');
			return false;
		}
	});

	$('#officia_search_form').submit(function(){
		
		if( $("#officia_city").val().length < 3 ) {
			alert('Debe escribir una localidad (al menos tres letras)');
			return false;
		}
		if( $("#officia_oficio").val().length < 1 ) {
			alert('Debe indicar el día');
			return false;			
		}
		else {
			return true;
		}
	});
	
	$('#closefastsearch').click(function(){
		$("#fastsearch").slideUp("slow");
		return false;
	});
	
	$('#closeadvancedsearch').click(function(){
		$("#advancedsearch").slideUp("slow");
		return false;
	});
	
	$('#closeofficiasearch').click(function(){
		$("#officiasearch").slideUp("slow");
		return false;
	});	

	$("#advanced_search_form").attr("autocomplete", "off");
	$("#fast_search_form").attr("autocomplete", "off");
	$("#officia_search_form").attr("autocomplete", "off");

	$("a.show_officia").click(function(){
		$(this).hide();
		$(".vcard #officia").slideDown();
		return false;
	});

	$(".show_aceprensa_info").click(function(){
		$("#aceprensa_info").toggle();
		return false;
	});	

	$(".show_misal_info").click(function(){
		$("#misal_info").toggle();
		return false;
	});
	
	$("#misal").click(function(){
		
		if($(this).attr('checked')) {	
			$("#misal_campos, #misal_info").show();
		}
		else {
			$("#misal_campos, #misal_info").hide();
		}
		return true;
	});		
		
	$('.open_register').click(function(){
		$("#login_form").slideUp();
		$("#remember_form").slideUp();
		$(".open_register").slideUp();
		$("#register_form").slideDown();
		return false;
	});
	
	$('.open_login').click(function(){
		$("#register_form").slideUp();
		$("#remember_form").slideUp();
		$("#login_form").slideDown();
		$(".open_register").slideDown();
		return false;
	});

	$('.open_remember').click(function(){
		$("#login_form").slideUp();
		$("#register_form").slideUp();
		$("#remember_form").slideDown();
		return false;
	});

/*	$("#register_form").validate({
		rules: {
			register_password: {
				required: true,
				minlength: 4
			},
			register_password2: {
				required: true,
				equalTo: '#register_password'
			},
			register_mail: {
				required: true,
				email: true
			}
		},
		messages: {
			register_password: {
				required: "Escriba una contraseña",
				minlength: "Debe tener más de 4 caracteres"	
			},
			register_password2: {
				required: "Escriba la misma contraseña",
				equalTo: "Contraseñas diferentes"	
			},
			register_mail: {
				required: "Escriba un e-mail",
				email: "El e-mail no es válido"	
			}
		}
	});*/

	$('#register_form').submit(function(){
										   
		if($("#register_mail").val() == '') {
			alert('Debe escribir su e-mail');
			return false;
		}
		else return true;	
	});

	$('#remember_form').submit(function(){
										   
		if($("#remember_mail").val() == '') {
			alert('Debe escribir su e-mail');
			return false;
		}
		else return true;	
	});	

	addtofavs_active = true;
	$('#addtofavs_link').click(function(){
	
		if(addtofavs_active) {
		
			if($(this).parent().hasClass('infavs')) action = 'delete';
			else action = 'insert';
			
			parrish = $(this).attr('rel');
			
			$(this).hide("slow");
			$('#addtofavs_response').load("/ajax.addtofavs.php?action="+action+"&parrish="+parrish);
			$('#addtofavs_response').show("slow");
			
			addtofavs_active = false;
			return false;
		}
		else {
		
			alert('unactive');
			$(this).css('pointer', 'none');
		}
		
	});

	
	/* SUGERENCIAS DE BÚSQUEDA AL INTRODUCIR LOCALIDADES EN EL BUSCADOR */
	
	var lastSearchString = '';
	var lastSearchResult = false;
	var ll = 0;
	
	function show_suggest(container, event) {
		
		if(event.keyCode == 13 || event.keyCode == 16 || event.keyCode == 9 || event.keyCode == 40) return true;
		
		var valor =  $("#"+container+"_city").val();
		var country =  $("#"+container+"_country_code").val();
		
		if(country == 'undefined') country = 'es';
		if(!country) country = 'es';

		if(valor.length > 1) {
			
			//alert(event.keyCode);
		
			if(ll>0 && valor.substring((-1)*ll, ll) == lastSearchString && !lastSearchResult) {

			}
			else {

				$.getJSON('/ajax.locations.php?q='+valor+'&country='+country, function(data){ 
					
					var suggestedlocations = 0;
					
					$.each(data.locations, function(i,item){ 
						if(suggestedlocations == 0) $("#"+container+"results").html('');
						suggestion = $(item.suggestion);
						if(item.starred == 1) starred = ' starred';
						else starred = '';
						
						if(item.remaining > 0) {
							$("#"+container+"results").append('<li>'+item.suggestion+'</li>');

						}
						else {
							$("#"+container+"results").append('<li><a class="suggestion'+starred+'" onclick="return useSuggestion(\''+item.suggestion+'\', \''+container+'\');" href="/buscar/?location='+item.suggestion+'">'+item.suggestion+'</a></li>');
						suggestedlocations++;
						}
					});
					
					if(suggestedlocations>0) {
						$("#"+container+"search").slideDown("slow");
						lastSearchResult = true;
						//alert ( $("#fastresults").html() );
					}
					else {
						lastSearchResult = false;
					}
					
				});  
				
			}
			
			lastSearchString = valor;
			ll = valor.length;
		}
		else 
		{
			$("#"+container+"results").html('');
			$("#"+container+"fastsearch").slideUp("slow");
		}
		return true;		
	}
	
	
	var container = '';
	
	$('#fast_city').keyup(function(event){
		container = 'fast';
		show_suggest(container, event);
	});
	
	$('#advanced_city').keyup(function(event){
		container = 'advanced';
		show_suggest(container, event);
	});
	
	$('#officia_city').keyup(function(event){
		container = 'officia';
		show_suggest(container, event);
	});

	$('.lightbox').lightBox();	
	
});
