////////////////////////
//    FORM LOGEO	  //
////////////////////////

// Valida el logeo al sistema
function validate_logeo()
{

	var login = $("#log").val();
	var pass = $("#pwd").val();
	
	var server = $("#form-logeo").attr("action");
	var error = false;
	
	// Valido login y pass
	if (login == "" || pass == ""){
		$("#logeo-error").slideDown();
		$("#logeo-error").html('<img src="' + server + '/img/icons/exclamation.png" alt="exclamacion" class="icon" /> Faltan datos por introducir');
	}else{
		
		// Valido login con formato e-mail
		var patron=/^[^@ ]+@[^@ ]+.[^@ .]+$/;
		var t1=patron.test(login);
		if (t1 == false){
			$("#logeo-error").slideDown();
			$("#logeo-error").html('<img src="' + server + '/img/icons/exclamation.png" alt="exclamacion" class="icon" /> El correo electrónico no tiene el formato adecuado');
		}else{
			$("#logeo-error").slideUp();
			$("#logeo-error").html("");
			var param = "login=" + login + "&pass=" + pass;
			$.ajax({
				async:true,
				type: "post",
				dataType: "xml",
				contentType: "application/x-www-form-urlencoded",
				url:server + "/includes/sc-logeo.php",
				data:param,
				success:validate_logeo_sc,
				timeout:10000,
				error:null
			});
		}
	}
	
	return false;
	
}
function validate_logeo_sc(t)
{
	var html = $("html", t).text();
	var error = $("error", t).text();
	if (error){
		$("#logeo-error").slideDown();
		$("#logeo-error").html(error);
	}else{
		$("#form-logeo").attr({ action: html });
		document.getElementById("form-logeo").submit();
	}
}

// Solicitar invitación
function solicitar(){
	var server = $("#form-logeo").attr("action");
	document.location.href = server + "/solicitar-invitacion/";
	return false;
}


////////////////////////
//   FORM REGISTRO	  //
////////////////////////

// Mide el nivel del password en tiempo real
function passwordMeter(pass, login)
{
	var resultado = passwordStrength(pass, login);
	var clase = resultado.substr(11).toLowerCase();
	$("#registro-contrasena_error").removeClass("pass_corta");
	$("#registro-contrasena_error").removeClass("pass_mala");
	$("#registro-contrasena_error").removeClass("pass_media");
	$("#registro-contrasena_error").removeClass("pass_buena");
	$("#registro-contrasena_error").removeClass("pass_fuerte");
	$("#registro-contrasena_error").addClass("pass_" + clase);
	
	$("#registro-contrasena_error").slideDown();
	$("#registro-contrasena_error").html(resultado);
}

// Valida el registro
function validate_registro()
{
	var nombre = $("#registro-nombre").val();
	var contrasena = $("#registro-contrasena").val();
	var contrasena2 = $("#registro-contrasena2").val();
	var acepto = $("#registro-acepto").attr("checked");
	var email = $("#registro-email").val();
	
	var error_nombre = false;
	var error_contrasena = false;
	var error_contrasena2 = false;
	var error_acepto = false;
	var error = false;
	
	// Valido nombre
	if (nombre == ""){ 	error_nombre = true; }
	
	// Compruebo password
	if (contrasena == ""){
		error_contrasena = true;
		var contrasena_msg = "Contraseña Inválida";
	}else{
		if (contrasena.length<6){
			error_contrasena = true;
			var contrasena_msg = "Contraseña Corta";
		}else{
			if (contrasena != contrasena2){
				error_contrasena2 = true;				
			}else{						
				error_contrasena = false;
				error_contrasena2 = false;
			}
		}
	}
	
	// Valido aceptacion
	if (acepto == false){ error_acepto = true; }
	
	
	// Comprobamos errores
	if (error_nombre || error_contrasena || error_contrasena2 || error_acepto){
		
		if (error_nombre){
			$("#registro-nombre_error").slideDown();
			$("#registro-nombre_error").html("No has introducido tu nombre personal");
		}else{
			$("#registro-nombre_error").slideUp();
			$("#registro-nombre_error").html("");
		}
		
		if (error_contrasena){
			$("#registro-contrasena_error").slideDown();
			$("#registro-contrasena_error").html(contrasena_msg);
		}else{
			$("#registro-contrasena_error").slideUp();
			$("#registro-contrasena_error").html("");
		}
		
		if (error_contrasena2){
			$("#registro-contrasena2_error").slideDown();
			$("#registro-contrasena2_error").html("No coincide la confirmación de contraseña");
		}else{
			$("#registro-contrasena2_error").slideUp();
			$("#registro-contrasena2_error").html("");
		}
		
		if (error_acepto){
			$("#registro-acepto_error").slideDown();
			$("#registro-acepto_error").html("No has aceptado las condiciones de uso de InnovaTravel");
		}else{
			$("#registro-acepto_error").slideUp();
			$("#registro-acepto_error").html("");
		}		
	}else{
		
		$("#registro-nombre_error").slideUp();
		$("#registro-nombre_error").html("");
		$("#registro-contrasena_error").slideUp();
		$("#registro-contrasena_error").html("");
		$("#registro-contrasena2_error").slideUp();
		$("#registro-contrasena2_error").html("");
		$("#registro-acepto_error").slideUp();
		$("#registro-acepto_error").html("");		
		
		var param = "nombre=" + nombre + "&contrasena=" + contrasena + "&email=" + email;
		$.ajax({
			async:true,
			type: "post",
			dataType: "xml",
			contentType: "application/x-www-form-urlencoded",
			url:"../../includes/sc-registro.php",
			data:param,
			success:validate_registro_sc,
			timeout:10000,
			error:null
		});
	}
	
	return false;
}
function validate_registro_sc(t)
{
	var html = $("html", t).text();
	$("#form-registro").attr({ action: html });
	document.getElementById("form-registro").submit();
}






////////////////////////////////////
//   FORM SOLICITUD INVITACION	  //
////////////////////////////////////

// Chequea el email en tiempo real
function validate_email(email)
{
	var patron=/^[^@ ]+@[^@ ]+.[^@ .]+$/;
	var t1=patron.test(email);
	if (email != ""){
		if (t1 == false){
			$("#invitacion-email_error").slideDown();
			$("#invitacion-email_error").html("El correo electrónico indicado no es válido");
		}else{
			var param = "email=" + email;
			$.ajax({
				async:true,
				type: "post",
				dataType: "xml",
				contentType: "application/x-www-form-urlencoded",
				url:"../includes/sc-check_invitacion_email.php",
				data:param,
				success:validate_email_sc,
				timeout:10000,
				error:null
			});
			$("#invitacion-email_error").slideUp();
			$("#invitacion-email_error").html("");
		}
	}	
	return false;
}
function validate_email_sc(t)
{
	var html = $("html", t).text();
	if (html != "libre"){
		$("#invitacion-email_error").slideDown();
		$("#invitacion-email_error").html(html);
	}else{
		$("#invitacion-email_error").slideUp();
		$("#invitacion-email_error").html("");
	}
}

// Valida la solicitud de invitacion
function validate_solicitud_invitacion()
{
	var emprendedor = $("#invitacion-tipo_1").attr("checked");
	var colaborador = $("#invitacion-tipo_2").attr("checked");
	var tipo = "";
	var email = $("#invitacion-email").val();
	var nombre = $("#invitacion-nombre").val();
	var interes = $("#invitacion-interes").val();
	var web = $("#invitacion-web").val();
	var blog = $("#invitacion-blog").val();	
	var facebook = $("#invitacion-facebook").val();
	var twitter = $("#invitacion-twitter").val();
	var linkedin = $("#invitacion-linkedin").val();
	var xing = $("#invitacion-xing").val();
	var acepto = $("#invitacion-acepto").attr("checked");
	
	var error_tipo = false;
	var error_email = false;
	var error_nombre = false;
	var error_interes = false;
	var error_perfil = false;
	var error_perfil_web = false;
	var error_perfil_blog = false;
	var error_perfil_facebook = false;
	var error_perfil_twitter = false;
	var error_perfil_linkedin = false;
	var error_perfil_xing = false;
	var error_acepto = false;
	var error = false;
	
	// Valido tipo de usuario
	if (emprendedor){ tipo = "emprendedor"; };
	if (colaborador){ tipo = "colaborador"; };	
	if (tipo == ""){
		error_tipo = true;
	}
		
	// Valido e-mail
	var patron=/^[^@ ]+@[^@ ]+.[^@ .]+$/;
	var t1=patron.test(email);
	if (email == ""){
		error_email = true;
		var email_msg = "No has introducido tu correo electrónico";
	}else{
		if (t1 == false){
			error_email = true;
			var email_msg = "El correo electrónico indicado no es válido";
		}
	}
	
	// Valido nombre
	if (nombre == ""){ 	error_nombre = true; }
		
	// Valido intereses
	if (interes == ""){ error_interes = true; }
	
	
	// Valido perfiles
	if (web == ""){ error_perfil_web = true; }
	if (blog == "")	{ error_perfil_blog = true; }
	if (facebook == ""){ error_perfil_facebook = true; }
	if (twitter == ""){ error_perfil_twitter = true; }
	if (linkedin == ""){ error_perfil_linkedin = true; }
	if (xing == ""){ error_perfil_xing = true; }		
	
	if (error_perfil_web && error_perfil_blog && error_perfil_facebook && error_perfil_twitter && error_perfil_linkedin && error_perfil_xing){
		error_perfil = true;
	}
	
	
	// Valido aceptacion
	if (acepto == false){ error_acepto = true; }
	
	// Comprobamos errores
	if (error_tipo || error_email || error_nombre || error_interes || error_perfil || error_acepto){
		
		if (error_tipo){
			$("#invitacion-tipo_error").slideDown();
			$("#invitacion-tipo_error").html("No has seleccionada ningún rol para tu usuario");
		}else{
			$("#invitacion-tipo_error").slideUp();
			$("#invitacion-tipo_error").html("");
		}
		
		if (error_email){
			$("#invitacion-email_error").slideDown();
			$("#invitacion-email_error").html(email_msg);
		}else{
			$("#invitacion-email_error").slideUp();
			$("#invitacion-email_error").html("");
		}
		
		if (error_nombre){
			$("#invitacion-nombre_error").slideDown();
			$("#invitacion-nombre_error").html("No has introducido tu nombre personal");
		}else{
			$("#invitacion-nombre_error").slideUp();
			$("#invitacion-nombre_error").html("");
		}
		
		if (error_interes){
			$("#invitacion-interes_error").slideDown();
			$("#invitacion-interes_error").html("No has indicado tu motivo de interés en InnovaTravel");
		}else{
			$("#invitacion-interes_error").slideUp();
			$("#invitacion-interes_error").html("");
		}
		
		if (error_perfil){
			$("#invitacion-perfil_error").slideDown();
			$("#invitacion-perfil_error").html("No has seleccionado ningún perfil en redes sociales, blog o web");
		}else{
			$("#invitacion-perfil_error").slideUp();
			$("#invitacion-perfil_error").html("");
		}
		
		if (error_acepto){
			$("#invitacion-acepto_error").slideDown();
			$("#invitacion-acepto_error").html("No has aceptado las condiciones de uso de InnovaTravel");
		}else{
			$("#invitacion-acepto_error").slideUp();
			$("#invitacion-acepto_error").html("");
		}
		
	}else{
		
		$("#invitacion-tipo_error").slideUp();
		$("#invitacion-tipo_error").html("");
		$("#invitacion-email_error").slideUp();
		$("#invitacion-email_error").html("");
		$("#invitacion-nombre_error").slideUp();
		$("#invitacion-nombre_error").html("");
		$("#invitacion-interes_error").slideUp();
		$("#invitacion-interes_error").html("");
		$("#invitacion-perfil_error").slideUp();
		$("#invitacion-perfil_error").html("");
		$("#invitacion-acepto_error").slideUp();
		$("#invitacion-acepto_error").html("");
			
		var param = "email=" + email;
		$.ajax({
			async:true,
			type: "post",
			dataType: "xml",
			contentType: "application/x-www-form-urlencoded",
			url:"../includes/sc-check_invitacion_email.php",
			data:param,
			success:validate_solicitud_invitacion_sc,
			timeout:10000,
			error:null
		});
	}
	
	return false;
}
function validate_solicitud_invitacion_sc(t)
{
	var html = $("html", t).text();
	if (html != "libre"){
		$("#invitacion-email_error").slideDown();
		$("#invitacion-email_error").html(html);
	}else{
		$("#invitacion-email_error").slideUp();
		$("#invitacion-email_error").html("");
		document.getElementById("form-solicitud_invitacion").submit();
	}
}




////////////////////////////////////
//   FORM RECUPERAR PASSWORD	  //
////////////////////////////////////

// Chequea el email en tiempo real
function validate_recuperar_password()
{
	var email = $("#recuperar-email").val();
	var patron=/^[^@ ]+@[^@ ]+.[^@ .]+$/;
	var t1=patron.test(email);
	if (email != ""){
		if (t1 == false){
			$("#recuperar-email_error").slideDown();
			$("#recuperar-email_error").html("El correo electrónico indicado no es válido");
		}else{
			var param = "email=" + email;
			$.ajax({
				async:true,
				type: "post",
				dataType: "xml",
				contentType: "application/x-www-form-urlencoded",
				url:"../includes/sc-check_recuperar_email.php",
				data:param,
				success:validate_recuperar_password_sc,
				timeout:10000,
				error:null
			});
			$("#recuperar-email_error").slideUp();
			$("#recuperar-email_error").html("");
		}
	}
	return false;
}
function validate_recuperar_password_sc(t)
{
	var html = $("html", t).text();
	if (html == "libre"){
		$("#recuperar-email_error").slideDown();
		$("#recuperar-email_error").html("El correo electrónico indicado no existe");
	}else{
		$("#recuperar-email_error").slideUp();
		$("#recuperar-email_error").html("");
		document.getElementById("form-recuperar_password").submit();
	}
}

// Mide el password nuevo
function passwordMeterRecuperar(pass, login)
{
	var resultado = passwordStrength(pass, login);
	var clase = resultado.substr(11).toLowerCase();
	$("#restablecer-contrasena_error").removeClass("pass_corta");
	$("#restablecer-contrasena_error").removeClass("pass_mala");
	$("#restablecer-contrasena_error").removeClass("pass_media");
	$("#restablecer-contrasena_error").removeClass("pass_buena");
	$("#restablecer-contrasena_error").removeClass("pass_fuerte");
	$("#restablecer-contrasena_error").addClass("pass_" + clase);
	
	$("#restablecer-contrasena_error").slideDown();
	$("#restablecer-contrasena_error").html(resultado);
}

// Valida el password restablecido
function validate_restablecer_password()
{
	var contrasena = $("#restablecer-contrasena").val();
	var contrasena2 = $("#restablecer-contrasena2").val();
	var email = $("#restablecer-email").val();
	
	var error_contrasena = false;
	var error_contrasena2 = false;
	var error = false;
	
	// Compruebo password
	if (contrasena == ""){
		error_contrasena = true;
		var contrasena_msg = "Contraseña Inválida";
	}else{
		if (contrasena.length<6){
			error_contrasena = true;
			var contrasena_msg = "Contraseña Corta";
		}else{
			if (contrasena != contrasena2){
				error_contrasena2 = true;				
			}else{						
				error_contrasena = false;
				error_contrasena2 = false;
			}
		}
	}
		
	// Comprobamos errores
	if (error_contrasena || error_contrasena2){
		
		if (error_contrasena){
			$("#restablecer-contrasena_error").slideDown();
			$("#restablecer-contrasena_error").html(contrasena_msg);
		}else{
			$("#restablecer-contrasena_error").slideUp();
			$("#restablecer-contrasena_error").html("");
		}
		
		if (error_contrasena2){
			$("#restablecer-contrasena2_error").slideDown();
			$("#restablecer-contrasena2_error").html("No coincide la contraseña");
		}else{
			$("#restablecer-contrasena2_error").slideUp();
			$("#restablecer-contrasena2_error").html("");
		}	
		return false;
	}else{
		return true;
	}		
}