//########## FUNCIONES GENERALES DE VALIDACION ############

//----------> Valida caracteres alfanumericos y el guion bajo <----------
function alfaNumGuion(objeto){
	var er=/^[a-zA-Z0-9_]+$/;
	if(!(er.test($F(objeto))))		
		return false;
	return true;
}
//----------> Valida que una cadena tenga cierta longitud <----------
function longitudCadenas(objeto,cantidad){
	if($F(objeto).length<cantidad)
		return false;
	return true;
}
//----------> Valida que el email sea valido <----------
function email(objeto){
	//var er=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	//if(!(er.test($F(objeto))))		
		//return false;
	return true;
}

//########## FUNCIONES ESPECIFICAS DE VALIDACION ##########

//----------> Valida el campo usuario del registro <----------
function validaUsuarioRegistro(){
	if(!(longitudCadenas($("rUser"),4))){
		//mensajeError($("rUser"),"Se necesitan m&iacute;nimo 4 caracteres en el campo \"Usuario\".");
		mensajeserror("Se necesita un m&iacute;nimo de 4 a 16 caracteres en el campo Usuario",5);
		return false;
	}
	if(!alfaNumGuion($("rUser"))){
		//mensajeError($("rUser"),"S&oacute;lo se permiten caracteres alfanum&eacute;ricos y el gui&oacute;n bajo (_) en el campo \"Usuario\".");
		mensajeserror("S&oacute;lo se permiten caracteres alfanum&eacute;ricos y el gui&oacute;n bajo (_) en el campo Usuario",5);
		return false;
	}
	return true;
}

//----------> Valida el campo usuario del logueo <----------
function validaUsuarioLogueo(){
	if(!(longitudCadenas($("user"),4))){
		//mensajeError($("user"),"Se necesitan m&iacute;nimo 4 caracteres en el campo \"Usuario\".");
		mensajeserror("Se necesitan m&iacute;nimo 4 caracteres en el campo Usuario",5);
		return false;
	}
	if(!alfaNumGuion($("user"))){
		//mensajeError($("user"),"S&oacute;lo se permiten caracteres alfanum&eacute;ricos y el gui&oacute;n bajo (_) en el campo \"Usuario\".");
		mensajeserror("S&oacute;lo se permiten caracteres alfanum&eacute;ricos y el gui&oacute;n bajo (_) en el campo Usuario",5);
		return false;
	}
	return true;
}

//----------> Valida el campo usuario para agregar un amigo <----------
function validaUsuarioAmigos(){
	if(!(longitudCadenas($("txtAmigos"),4))){
		//mensajeError($("txtAmigos"),"Se necesitan m&iacute;nimo 4 caracteres para agregar a un amigo.");
		mensajeserror("Se necesitan m&iacute;nimo 4 caracteres para agregar a un amigo.",5);
		return false;
	}
	if(!alfaNumGuion($("txtAmigos"))){
		//mensajeError($("txtAmigos"),"S&oacute;lo se permiten caracteres alfanum&eacute;ricos y el gui&oacute;n bajo (_).");
		mensajeserror("S&oacute;lo se permiten caracteres alfanum&eacute;ricos y el gui&oacute;n bajo (_).",5);
		return false;
	}
	return true;
}

//----------> Valida el campo password del registo <----------
function validaPasswordRegistro(){
	if(!(longitudCadenas($("rPass"),4))){
		//mensajeError($("rPass"),"Se necesitan m&iacute;nimo 4 caracteres en el campo \"Password\".");
		mensajeserror("Se necesitan m&iacute;nimo 4 caracteres en el campo Password",5);
		return false;
	}
	return true;
}

//----------> Valida el campo password del logueo <----------
function validaPasswordLogueo(){
	if(!(longitudCadenas($("pass"),4))){
		//mensajeError($("pass"),"Se necesitan m&iacute;nimo 4 caracteres en el campo \"Password\".");
		mensajeserror("Se necesitan m&iacute;nimo 4 caracteres en el campo Password",5);
		return false;
	}
	return true;
}

//----------> Valida el campo password de cambiar password <----------
function validaCambiarPasswordPass(){
	if(!(longitudCadenas($("cambiarPasswordPass"),4))){
		//mensajeError($("cambiarPasswordPass"),"Se necesitan m&iacute;nimo 4 caracteres en el campo \"Contrase&ntilde;a\".");
		mensajeserror("Se necesitan m&iacute;nimo 4 caracteres en el campo Contrase&ntilde;a",5);
		return false;
	}
	return true;
}

//----------> Valida el campo nuevo password de cambiar password <----------
function validaCambiarPasswordNuevoPass(){
	if(!(longitudCadenas($("cambiarPasswordNuevoPass"),4))){
		//mensajeError($("cambiarPasswordNuevoPass"),"Se necesitan m&iacute;nimo 4 caracteres en el campo \"Contrase&ntilde;a Nueva\".");
		mensajeserror("Se necesitan m&iacute;nimo 4 caracteres en el campo Contrase&ntilde;a Nueva",5);
		return false;
	}
	return true;
}
//----------> Valida el campo repetir password de cambiar password <----------
function validaCambiarPasswordNuevoRepass(){
	if(!(longitudCadenas($("cambiarPasswordNuevoRepass"),4))){
		//mensajeError($("cambiarPasswordNuevoRepass"),"Se necesitan m&iacute;nimo 4 caracteres en el campo \"Repetir Contrase&ntilde;a\".");
		mensajeserror("Se necesitan m&iacute;nimo 4 caracteres en el campo Repetir Contrase&ntilde;a",5);
		return false;
	}
	return true;
}

//----------> Valida el campo repetir password del registo <----------
function validaRepasswordRegistro(){
	if(!(longitudCadenas($("rRepass"),4))){
		//mensajeError($("rRepass"),"Se necesitan m&iacute;nimo 4 caracteres en el campo \"Password\".");
		mensajeserror("Se necesitan m&iacute;nimo 4 caracteres en el campo Password",5);
		return false;
	}
	return true;
}

//----------> Valida que los dos passwords sean iguales del registro <----------
function validaPasswordsIgualesRegistro(){
	if($F("rPass")!=$F("rRepass")){
		//mensajeError($("rRepass"),"Los passwords no coinciden.");
		mensajeserror("Los passwords no coinciden.",5);
		return false;
	}
	return true;
}

//----------> Valida que los dos passwords sean iguales de cambiar password <----------
function validaPasswordsIgualesCambiarPassword(){
	if($F("cambiarPasswordNuevoPass")!=$F("cambiarPasswordNuevoRepass")){
		//mensajeError($("cambiarPasswordNuevoRepass"),"Las contrase&ntilde;as no coinciden.");
		mensajeserror("Las contrase&ntilde;as no coinciden.");
		return false;
	}
	return true;
}

//----------> Valida el campo email del registro <----------
function validaEmailRegistro(){
	if(!email($("rEmail"))){
		//mensajeError($("rEmail"),"Escriba un e-mail v&aacute;lido.");
		mensajeserror("Escriba un e-mail v&aacute;lido.",5);
		return false;
	}
	return true;
}

//----------> Valida el campo email de recuperar password <----------
function validaEmailRecuperarPassword(){
	if(!email($("recuperarPasswordEmail"))){
		//mensajeError($("recuperarPasswordEmail"),"Escriba un e-mail v&aacute;lido.");
		mensajeserror("Escriba un e-mail v&aacute;lido.",5);
		return false;
	}
	return true;
}

//----------> Valida el campo repetir email del registro <----------
function validaReEmailRegistro(){
	if(!email($("rReemail"))){
		//mensajeError($("rReemail"),"Escriba un e-mail v&aacute;lido.");
		mensajeserror("Escriba un e-mail v&aacute;lido.",5);
		return false;
	}
	return true;
}

//----------> Valida que los dos emails sean iguales del registro <----------
function validaEmailsIgualesRegistro(){
	if($F("rEmail")!=$F("rReemail")){
		//mensajeError($("rReemail"),"Los emails no coinciden.");
		mensajeserror("Los emails no coinciden.",5);
		return false;
	}
	return true;
}

//----------> Valida si el usuario ya existe del registro <----------
function validaExisteUsuarioRegistro(){
	
	
	var rUser = $F("rUser");
	var url = 'php/compruebaDisponibilidadUsuario.php?nocache=' + Math.random();
	var peticion = new Ajax.Request(url, {
			method: 'post',
			postBody: 'user='+rUser,
			onSuccess: function (respuesta){
				
				//alert(respuesta.responseText);
				
				if(respuesta.responseText == 'OK')
					validaExisteEmailRegistro();
				else
					//mensajeError($("rUser"),"El usuario ya existe. Introduzca otro por favor.");
					mensajeserror("El usuario ya existe. Introduzca otro por favor.",5);
			}, 
			onFailure: function() { 
				//growler.error("Fuera de servicio(validaexisteusuario). Int&eacute;ntelo m&aacute;s tarde.",{life:5});
				mensajeserror("Fuera de servicio(validaexisteusuario). Int&eacute;ntelo m&aacute;s tarde.",5)
			}
		}
	);
}

//----------> Valida si el email ya existe del registro <----------
function validaExisteEmailRegistro(){
	var rEmail = $F("rEmail");
	//alert(rEmail);
	var url = 'php/compruebaDisponibilidadEmail.php?nocache=' + Math.random();
	var peticion = new Ajax.Request(url, {
			method: 'post',
			postBody: 'email='+rEmail,
			onSuccess: function (respuesta){
				if(respuesta.responseText == 'OK')
					registraUsuario();
					
					
					
				else
					//mensajeError($("rEmail"),"El E-mail ya fue registrado. Introduzca otro por favor.");
					mensajeserror("El E-mail ya fue registrado. Introduzca otro por favor._"+respuesta.responseText,5);
			}, 
			onFailure: function() { 
				//growler.error("Fuera de servicio(validaemail). Int&eacute;ntelo m&aacute;s tarde.",{life:5});
				mensajeserror("Fuera de servicio(validaemail). Int&eacute;ntelo m&aacute;s tarde.",5);
			}
		}
	);
}

//########## FUNCIONES DE VALIDACION DE FORMULARIOS ##########

//----------> Valida el formulario de registro <----------
function validaRegistro(){
	//alert('step2_0');
	if(validaUsuarioRegistro())
	{
		if(validaPasswordRegistro())
		{
			if(validaRepasswordRegistro())
			{
				if(validaPasswordsIgualesRegistro())
				{
					if(validaEmailRegistro())
					{
						if(validaReEmailRegistro())
						{
							if(validaEmailsIgualesRegistro())
								{
								//alert('step2_1');
								validaExisteUsuarioRegistro();
								}
						}
					}
				}
			}
		}
	
	}//fin 1 if
}

//----------> Valida el formulario de recuperar password <----------
function validaRecuperarPassword(){
	if(validaEmailRecuperarPassword())
		recuperaPassword();
}

//----------> Valida el formulario de cambiar password <----------
function validaCambiarPassword(){
	if(validaCambiarPasswordPass())
	if(validaCambiarPasswordNuevoPass())
	if(validaCambiarPasswordNuevoRepass())
	if(validaPasswordsIgualesCambiarPassword())
		cambiaPassword();
}

//----------> Valida logueo <----------
function validaLogueo(){
	if(validaUsuarioLogueo())
	if(validaPasswordLogueo())
		logueaUsuario();
}

//----------> Valida los comentarios de los videos <----------
function validaComentarioVideo(e){
	if(!(longitudCadenas($("comentario"),1))){
		//mensajeError($("comentario"),"Escriba un comentario.");
		mensajeserror("Escriba un comentario.",5);
	}
	else{
		registraComentarioVideo(e);
	}
	
}

//----------> Valida el campo email de enviar foto email <----------
function validaEnviarFotoEmail(e){
	if(!email($("txtEnviarFotoEmail"))){
		//mensajeError($("txtEnviarFotoEmail"),"Escriba un e-mail v&aacute;lido.");
		mensajeserror("Escriba un e-mail v&aacute;lido.",5);
	}
	else{
		enviaFotoEmail(e);
	}
}

//----------> Valida los comentarios de las imagenes de la semana <----------
function validaComentarioImagenSemana(e){
	if(!(longitudCadenas($("comentario"),1))){
		//mensajeError($("comentario"),"Escriba un comentario.");
		mensajeserror("Escriba un comentario.",5);
	}
	else{
		
		
		registraComentarioImagenSemana(e);
	}
	
}

//----------> Valida los comentarios de las fotografias del ayer <----------
function validaComentarioFotografiasAyer(e){
	if(!(longitudCadenas($("comentario"),1))){
		//mensajeError($("comentario"),"Escriba un comentario.");
		mensajeserror("Escriba un comentario.",5);
	}
	else{
		registraComentarioFotografiasAyer(e);
	}
	
}

//----------> Valida los comentarios de las fotos de las galerias <----------
function validaComentarioFoto(e){
	if(!(longitudCadenas($("comentario"),1))){
		//mensajeError($("comentario"),"Escriba un comentario.");
		mensajeserror("Escriba un comentario.",5);
	}
	else{
		registraComentarioFoto(e);
	}
	
}

//----------> Valida el comentario del tagboard<----------
function validaComentarioTagBoard(){
	if(!(longitudCadenas($("txtMensajeTagBoard"),1))){
		//mensajeError($("txtMensajeTagBoard"),"Escriba un mensaje.");
		mensajeserror("Escriba un mensaje.",5);
	}
	else{
		registraComentarioTagBoard();
	}
	
}

//----------> Valida cuando quieren agregar a un amigo <----------
function validaAmigosAgregar(){
	if(validaUsuarioAmigos())
		agregaAmigos();	
}

//----------> Valida el campo destinatario para escribir un mensaje <----------
function validaMensajeDestinatario(){
	if(!(longitudCadenas($("txtMensajeDestinatario"),1))){
		//mensajeError($("txtMensajeDestinatario"),"Agregue un destinatario.");
		mensajeserror("Agregue un destinatario.",5);
		return false;
	}
	return true;	
}

//----------> Valida el campo titulo para escribir mensajes <----------
function validaMensajeTitulo(){
	if(!(longitudCadenas($("mensajeTitulo"),1))){
		//mensajeError($("mensajeTitulo"),"Agregue un asunto a su mensaje.");
		mensajeserror("Agregue un asunto a su mensaje.",5);
		return false;
	}
	return true;	
}

//----------> Valida el campo mensaje para escribir mensajes <----------
function validaMensajeMensaje(){
	if(!(longitudCadenas($("mensajeMensaje"),1))){
		//mensajeError($("mensajeMensaje"),"Escribe tu mensaje.");
		mensajeserror("Escribe tu mensaje.",5);
		return false;
	}
	return true;	
}

//----------> Valida escribir un mensaje <----------
function validaMensajesEscribir(){
	if(validaMensajeDestinatario())
	if(validaMensajeTitulo())
	if(validaMensajeMensaje())
		enviaMensaje();
}
