$(document).ready(function(){
	$("a.advanced-search_btn").bind('click',function(){
		$('#advanced-search-holder').slideToggle("fast");
		return false;
	});
	
	
	//NEWSLETTER
	 $("#newsletter_txt").focus(function () {
         $(this).val('');
    });
	//
	$("#newsletter_frm").bind('submit',function(){
		var error = false
		var msg = "";
		var mailREGEX = /[_+a-z0-9-]+(\.[_+a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]{1,})*\.([a-z]{2,}){1}/;
		var tempData = $("#newsletter_txt").val();
		
		if( !mailREGEX.test($("#newsletter_txt").val()) && !error){
			error = true;
			msg += ("E-mail inválido");
		};
		
		//error checker
		if (error) {
			$("#newsletter_txt").addClass( 'alert' ).val(msg);
			setTimeout( "$('#newsletter_txt').removeClass('alert').val('')" , 1800 )
			return false;
		} else {
			$("#newsletter_txt").addClass( 'pass' ).val("Enviando petición");
			$.ajax({  
			   type: "POST",  
			   url: 'newsletter-subscriber.php',  
			   data: "umail="+tempData,  
			   success: function(response) {
				if(response == "1"){
					 $("#newsletter_txt").val("¡Registro exitoso!");
					 $('#newsletter_btn').remove()
				} else {
					var msg = (response == "2") ? 'E-mail inválido' : "E-mail ya existente";
					$("#newsletter_txt").removeClass( 'pass' ).addClass( 'alert' ).val(msg);
					setTimeout( "$('#newsletter_txt').removeClass('alert').val('')" , 2000 )
				}
			   }  
			 });  
			return false;
		}//end if
		return false;
	});
	
	
	///LOGIN
	$("#login-form").submit( function(){
		var vars = $("#login-form").serializeArray();
		$.ajax({
			type: "post",
			url: $("#login-form").attr("action"),
			data: vars, 
			success: function(data){
				$("#login").html(data);
			}
		});
		return false
	});
});

//////////////////////////////////////////////////////////////////////////////////////////
//	FUNCIONES DE ACCESOS
//////////////////////////////////////////////////////////////////////////////////////////
function noMemberYet(){
	$('#lregister-holder').slideToggle(700);
	//scrollAt("login", 200);
	return false;
};
function lostPass(){
	$("#lostpass").html('Ingresa la cuenta de correo que<br>diste de alta en el sitio.');
	$("#login-form #login_btn").val('Solicitar');
	$("#login-form #password").css('visibility','hidden');
	$("#login-form #tipo").val('contra');
	$("#login h3").html('Recuperar Contrase&ntilde;a');
};

//////////////////////////////////////////////////////////////////////////////////////////
// FUNCIONES DEL SCROLL ANIMADO
///////////////////////////////////////////////////////////////////////////////////////////////////////
function scrollAt(id, vel){
	$('html, body').animate({
		scrollTop: $("#"+id).offset().top
	}, vel);
	
	return false
};
function scrollTop(){
	scrollAt('main-holder',1000 );	
}


//////////////////////////////////////////////////////////////////////////////////////////
//	FUNCIONES DE PAGINADO, SORTEO DE RESULTADOS, LISTAS, ETC...
//////////////////////////////////////////////////////////////////////////////////////////
function resultados(){
	//desaparecémos el contenedor
	$("#results-list").hide();
	$("#ui_loading_page").show();
	scrollAt("content-holder", 1000);

	//cargámos los resultados
	$.get(
		search_obj.file,
		search_obj,
		function(data){
			//mostrámos los resultados
			$("#results-list").html(data);
			$("#results-list").fadeIn(1000);
			$("#ui_loading_page").hide();
		}
	);
	
};
function setPagina(i){
	search_obj.pagina = i;
	
	//marcámos la página principal
	for(j = 1; j <= search_pages; j++){
		if(j == i){
			$("#i_"+j).addClass("current");
		} else {
			$("#i_"+j).removeClass("current");
		}	;
	};
	
	//validación de los botones de navegación
	if (search_obj.pagina == 1){
		$(".nav.prev").hide();
	} else {
		$(".nav.prev").show();
	};
	if (search_obj.pagina == Math.floor( search_pages )){
		$(".nav.next").hide();
	} else {
		$(".nav.next").show();
	};

	//mostrámos los resultados
	resultados();
}
function setOrden(orden){
	$("#sort_fecha").attr("src", site_root+"images/recetas/fecha_"+((orden == 'fecha')?'select':'nav')+".png");
	$("#sort_titulo").attr("src", site_root+"images/recetas/nombre_"+((orden == 'titulo')?'select':'nav')+".png");
	$("#sort_dificultad").attr("src", site_root+"images/recetas/dificultad_"+((orden == 'dificultad')?'select':'nav')+".png");
	$("#sort_calificacion").attr("src", site_root+"images/recetas/calificacion_"+((orden == 'calificacion')?'select':'nav')+".png");
	$("#sort_tiempo").attr("src", site_root+"images/recetas/tiempo_"+((orden == 'tiempo')?'select':'nav')+".png");
	$("#sort_porciones").attr("src", site_root+"images/recetas/porciones_"+((orden == 'porciones')?'select':'nav')+".png");
	search_obj.orden = orden;
	setPagina(1);
}
function setOrdenMenus(orden){
	$("#sort_fecha").attr("src", site_root+"images/recetas/fecha_"+((orden == 'fecha')?'select':'nav')+".png");
	$("#sort_titulo").attr("src", site_root+"images/recetas/nombre_"+((orden == 'titulo')?'select':'nav')+".png");
	//$("#sort_dificultad").attr("src",_root_path+"images/recetas/dificultad_"+((orden == 'dificultad')?'select':'nav')+".png");
	$("#sort_calificacion").attr("src", site_root+"images/recetas/calificacion_"+((orden == 'calificacion')?'select':'nav')+".png");
	//$("#sort_tiempo").attr("src",_root_path+"images/recetas/tiempo_"+((orden == 'tiempo')?'select':'nav')+".png");
	//$("#sort_porciones").attr("src",_root_path+"images/recetas/porciones_"+((orden == 'porciones')?'select':'nav')+".png");
	search_obj.orden = orden;
	setPagina(1);
}


//////////////////////////////////////////////////////////////////////////////////////////
//	AJUSTAR LOS CAMPOS DE BUSQUEDA AVANZADA
///////////////////////////////////////////////////////////////////////////////////////////////////////
function ajustarBusquedaAvanzada(tipo){
	$("#ba_tipo_cocina").css("display",((tipo=='recetas')?'inline':'none'));
	$("#ba_tipos_recetas").css("display",((tipo=='recetas')?'inline':'none'));
	$("#ba_tipos_bebidas").css("display",((tipo!='bebidas')?'none':'inline'));
	$("#ba_tiempo").css("display",((tipo=='menus')?'none':'inline'));
	$("#ba_tipos_menus").css("display",((tipo=='menus')?'inline':'none'));
}


//////////////////////////////////////////////////////////////////////////////////////////
// FUNCION DE CARRUSEL
///////////////////////////////////////////////////////////////////////////////////////////////////////
var CarrouselPlaying = false;
function Carrousel(side, step, element, btnPrev, btnNext ){
	if(CarrouselPlaying) return;
	CarrouselPlaying = true
	
	//variables con posiciones y cálculos
	var parentW = Number(String( $("#"+element).parent().css('width') ).replace(/px/, ''));
	var width = Number(String( $("#"+element).css('width') ).replace(/px/, ''));
	var left = Number(String( $("#"+element).css('left') ).replace(/px/, ''));
	var leftTo = left + (side * step);
	
	//validación de los botones
	if (side < 0){
		$("#"+btnPrev).show();
		while (leftTo < (-1 * width) + parentW){
				leftTo += step;
				$("#"+btnNext).hide();
		}
	} else {
		$("#"+btnNext).show();
		while (leftTo > 0){
				leftTo -= step;
				$("#"+btnPrev).hide();
		}
	}
	
	//movémos el carrusel
	$("#"+element).animate({ 
		left: (leftTo)+'px'
	}, 1500, 'swing', function(){
		CarrouselPlaying = false;
	});
	return false;	
}


//////////////////////////////////////////////////////////////////////////////////////////
// BUSCAR DIRECTAMENTE DESDE LA LISTA DE KEYWORDS DE LAS RECETAS
//////////////////////////////////////////////////////////////////////////////////////////
function buscarIngrediente(keyword) {
	$("#search #search_txt").val(keyword);
	$("#search form").submit();
}


//////////////////////////////////////////////////////////////////////////////////////////
// FUNCION PARA SABER SI ALGO ESTA PRESENTE EN PANTALLA
//////////////////////////////////////////////////////////////////////////////////////////
function esVisible(elem){
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();
	//
    var elemTop = $("#"+elem).offset().top;
    var elemBottom = elemTop + $(elem).height();
	//
    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom) && (elemBottom <= docViewBottom) &&  (elemTop >= docViewTop) );
};


//////////////////////////////////////////////////////////////////////////////////////////
// VALIDACION DE EMAIL
//////////////////////////////////////////////////////////////////////////////////////////
function validarEmail(Email){
	if (Email.length <=8 || Email.indexOf('@') < 2 || Email.indexOf('.') > (Email.length-3)){
		return false;
	}else{
		return true;	
	};
};



//////////////////////////////////////////////////////////////////////////////////////////
//	FUNCIONES PARA INVITAR AMIGOS/SOCIALES
//////////////////////////////////////////////////////////////////////////////////////////
function invitarAmigos(rootPath){
	$.fn.colorbox({href:rootPath+"invitar-amigos.php",iframe:true, innerWidth:774, innerHeight:514, transition:'none', opacity: 0.5, open:true});
}
function invite(rootPath){
	if (!$("#direcciones").val()){
		alert('No has puesto las direciones de tus amigos !!');	
	}else{
		var parentForm = $("#direcciones").parents('form:first');
		var vars = $(parentForm).serializeArray();
		$.post(rootPath+"_invitar.php", vars,
			function(data){
				$("#friends_fs").html(data);
				$("#submit_btn").hide();
		});
	};
};

//////////////////////////////////////////////////////////////////////////////////////////
//	FUNCION QUE AGREGAR UNA RECETA A 'MIS FAVORITOS'
//////////////////////////////////////////////////////////////////////////////////////////	
function agregarRecetario(_id, _tipo, _rootPath){
	$("#agregar-recetario").slideUp(function(){
			$.post(_rootPath+"_agregar_recetario.php", "id="+_id+"&tipo="+_tipo, function(data){
				//intercambiamos el botón
				$("#agregar-recetario").html("Receta dentro<br/> de mi recetario");
				$("#agregar-recetario").removeClass("agregar-recetario").addClass("favorito");
				setTimeout("$('#agregar-recetario').slideDown('slow');", 800)
				
				
				//agregámos al historial de favoritos
				$("#favorites-history").find("li:last").fadeOut("fast", function(){
					//removémos el item actual
					$(this).remove();
					$("#favorites-history").find("li:last").addClass('last')
					
					//agregámos el siguiente item
					$("#favorites-history").find("li:first").css('display', 'none')
					$("#favorites-history").prepend(data);
					$("#favorites-history").find("li:first").fadeIn('fast');
				})
			});
	});
};


//////////////////////////////////////////////////////////////////////////////////////////
// FUNCION DE 'PROXIMAMENTE'
//////////////////////////////////////////////////////////////////////////////////////////
function soon(){
	$.fn.colorbox({width:'250px', height:'150px', opacity:'.5',  transition:'none', html:'<table style="width:100%; height:100%; padding:20px;"><tr><td><h3>Pr&oacute;ximamente...</h3></td></tr></table>', open:true});
	return false;
};


//////////////////////////////////////////////////////////////////////////////////////////
//CAMBIO ENTRE COMENTARIOS Y DETALLE DE LA RECETA/BEBIDA
//////////////////////////////////////////////////////////////////////////////////////////
function swap(cual){
	var tab;
	switch(cual){
		case 'receta':
			tab_active = 'receta';
			tab_passive = 'comentarios';
			
			//content
			$("#comments-main").hide();
			$("#recipie-main-content").fadeIn();
			
		break;
		case 'comentarios':
			tab_active = 'comentarios';
			tab_passive = 'receta';
			
			//content
			$("#comments-main").fadeIn();
			$("#recipie-main-content").hide();
		break;
	
	};
	
	//tabs
	$('#tabs-holder').find('a[name='+tab_active+']').removeClass('passive');
	$('#tabs-holder').find('a[name='+tab_active+']').addClass('active');
	$('#tabs-holder').find('a[name='+tab_passive+']').removeClass('active');
	$('#tabs-holder').find('a[name='+tab_passive+']').addClass('passive');
	
	return false
}


//////////////////////////////////////////////////////////////////////////////////////////
//	FUNCION QUE SWITCHEA LOS RESULTADOS DESTACADOS
//////////////////////////////////////////////////////////////////////////////////////////
function toggleDestacados(toShow){
	$('#tabs li').each(function(index) {
		if (this.id == 'tab_'+toShow){
			$(this).find('a').addClass('active');
			$(this).find('a').removeClass('passive');
		} else {
			$(this).find('a').addClass('passive');
			$(this).find('a').removeClass('active');
		};
	});
	$('#destacados .container').each(function(index) {
		if (this.id == 'contenido_'+toShow){
			$(this).fadeIn();
		}else{
			$(this).hide();
		};
	});
};
