/* +---------------------------------------------------------------------------+ */
/* | GUIAHOST.COM - BUSCADOR DE HOSPEDAJE WEB                                  | */
/* +---------------------------------------------------------------------------+ */
/* | funciones.js                                                              | */
/* +---------------------------------------------------------------------------+ */
/* | Copyright (C) 2004 GuiaHost                                               | */
/* |                                                                           | */
/* | Author: Manuel Merino <manuel ARROBA hispanetwork PUNTO com>              | */
/* |                                                                           | */
/* | Descr.: Librería de funciones JavaScript.                                 | */
/* |                                                                           | */
/* +---------------------------------------------------------------------------+ */

var whitespace = " \t\n\r";
var reWhitespace = /^\s+$/

/**
 * Verifica que no este vacio
 */
function isEmpty(s){   
	return ((s == null) || (s.length == 0)) 
}

/**
 * Verifica que no sean espacios en blanco
 */
function isWhitespace (s){
    return (isEmpty(s) || reWhitespace.test(s));
}

/**
 * Valida un email mediante expresiones regulares
 */
function validarEmail(valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(valor)){
		return true;
	} else {
		return false;
	}
}

/**
 * Búsqueda en glosario
 */
function busquedaGlosario(){
	obj = document.general.cadena;

	if(isWhitespace(obj.value)){
		alert("Introduce una cadena de búsqueda.");
		obj.focus();
	}else{
		if(obj.value.length < 3){
			alert("Has de introducir un mínimo de 4 caracterse.");
			obj.focus();
		}else{
			location.href = "/servicios/glosario/buscador/?cadena="+obj.value;
		}
	}

}

/**
 * Función de login
 */
function doLogin(){
	objusr = document.general.usuario;
	objpwd = document.general.password;

	if(isWhitespace(objusr.value)){
		alert("Introduce tu nombre de usuario.");
		objusr.focus();
		return false;
	}

	if(isWhitespace(objpwd.value)){
		alert("Introduce tu contraseña.");
		objpwd.focus();
		return false;
	}

	document.general.method = "POST";
	document.general.action = "/usuarios/login/";
	document.general.submit();
	
}

/**
 * Función de registro de usuario
 */
 function registraUsuario(){
	document.general.method = "POST";
	document.general.action = "/usuarios/login/2/";
	document.general.submit();
 }

/**
 * Registro 
 */
 function procesaRegistro(paso){
	 if(paso==1){
		usuario = document.general.reg_usuario;
		password = document.general.reg_password;


		if(isWhitespace(usuario.value)){
			alert("Introduce el nombre de usuario elegido");
			usuario.focus();
			return false;
		}

		if(isWhitespace(password.value)){
			alert("Introduce la contraseña que desees utilizar");
			password.focus();
			return false;
		}

		document.general.action = "/usuarios/registro/alta/";
		document.general.method = "POST";
		document.general.submit();
	 }
	 if(paso==2){
		usuario = document.general.reg_usuario;
		password = document.general.reg_password;
		nombre = document.general.reg_nombre;
		apellidos = document.general.reg_apellidos;
		pais = document.general.reg_pais;
		email = document.general.reg_email;
		url = document.general.reg_url;

		if(isWhitespace(usuario.value)){
			alert("Se ha producido un error en el registro, por favor inicie el proceso de nuevo");
			loadURL("/usuarios/registro/");
			return false;
		}

		if(isWhitespace(password.value)){
			alert("Se ha producido un error en el registro, por favor inicie el proceso de nuevo");
			loadURL("/usuarios/registro/");
			return false;
		}
		
		if(isWhitespace(nombre.value)){
			alert("Introduce tu nombre");
			nombre.focus();
			return false;
		}

		if(isWhitespace(apellidos.value)){
			alert("Introduce como mínimo uno de tus apellidos");
			apellidos.focus();
			return false;
		}

		if(isWhitespace(pais.value)){
			alert("Selecciona un país de la lista");
			pais.focus();
			return false;
		}

		if(!validarEmail(email.value)){
			alert("Introduce un email correcto");
			email.focus();
			return false;
		}
		document.general.action = "/usuarios/registro/alta/2/";
		document.general.method = "POST";
		document.general.submit();

	 }

 }

/**
 * Lanza la URL que enviemos por parametro
 */
 function loadURL(url){
	location.href=url;
 }

 /** 
  * Lanza el alta en buscadores
  */
 function altaBuscadores(){
	nombre = document.general.nombre;
	mail = document.general.email;
	titulo = document.general.titulo;
	descripcion = document.general.descripcion;
	direccion = document.general.url;


	if(isWhitespace(nombre.value)){
		alert("El nombre introducido no es válido");
		nombre.focus();
		return false;
	}

	if(!validarEmail(mail.value)){
		alert("La dirección de e-mail introducida no es correcta");
		mail.focus();
		return false;
	}

	if(isWhitespace(titulo.value)){
		alert("El título introducido no es válido");
		titulo.focus();
		return false;
	}

	if(isWhitespace(descripcion.value)){
		alert("El título introducido no es válido");
		descripcion.focus();
		return false;
	}

	if(isWhitespace(direccion.value)){
		alert("La URL introducida no es correcta");
		direccion.focus();
		return false;
	}

	document.general.action = "/servicios/buscadores/alta/";
	document.general.method = "POST";
	document.general.submit();
 }

 /**
  * Lanza el pop de buscador
  */
 function loadPopBuscador(url){
	 window.open(url,"altabuscador","width=600,height=500,location=0,menubar=1,resizable=1,scrollbars=1,status=1,titlebar=1,toolbar=1,top=20,left=50");
 }

 /**
  * Lanza la URL en pop
  */
 function loadPopURL(url){
	window.open(url,"proveedor","width=750,height=500,location=0,menubar=1,resizable=1,scrollbars=1,status=1,titlebar=1,toolbar=1,location=1,top=20,left=50");
 }

 /**
  * Búsqueda simple
  */
 function busquedaSimple(){
	espacio = document.general.ESPACIO;
	idioma = document.general.IDIOMA;
	
	document.general.action = "/hosting/gratis/buscar/";
	document.general.method = "POST";
	document.general.submit();	
 }

 /**
  * Búsqueda de proveedor compartido
  */
  function busquedaCompartido(){
	document.general.action = "/hosting/compartido/";
	document.general.method = "POST";
	document.general.submit();	
  }
 
 /**
  * Coloreado de fila
  */
  function coloreaFila(obj,color){
	obj.style.background=color;
  }

 /**
  * Actualiza un valor
  */
  function actualizaValor(campo,valor){
	eval("campo = document.general."+campo+".value='"+valor+"';");
  }

 /**
  * Actualiza un valor select
  */
  function actualizaValorSelect(campo,valor){
	eval("obj = document.general."+campo+";");
	for(i=0;i<obj.length;i++){
		if(obj[i].value==valor){
			obj[i].selected=true;
		}
	}
  }

 /**
  * Formulario de recomendación
  */	
  function enviaFormularioRecomendacion(){
	
	nombre = document.general.NOMBREPER;
	nombreprov = document.general.NOMBRE;
	url = document.general.URL;
	
	if(isWhitespace(nombre.value)){
		alert("Por favor introduzca su nombre");
		nombre.focus();
		return false;
	}

	if(isWhitespace(nombreprov.value)){
		alert("Por favor introduzca el nombre del proveedor");
		nombreprov.focus();
		return false;
	}

	if(isWhitespace(url.value)){
		alert("Por favor introduzca la dirección del proveedor");
		url.focus();
		return false;
	}

	document.general.action = "/hosting/gratis/recomendar/procesar/";
	document.general.method = "POST";
	document.general.submit();	

  }

 /**
  * Formulario de recomendación
  */	
  function limpiaFormularioRecomendacion(){
	actualizaValor('NOMBREPER','');
	actualizaValor('EMAILPER','');
	actualizaValor('RELACIONPER','');
	actualizaValor('NOMBRE','');
	actualizaValor('URL','http://');
	actualizaValorSelect('IDIOMA','1');
  }

 /**
  * Control previo al lanzamiento de datos personales
  */ 
  function actualizaDatosPersonales(){
	nombre = document.general.NOMBRE;
	apellidos = document.general.APELLIDOS;
	pais = document.general.PAIS;
	email = document.general.EMAIL;
	url = document.general.URL;
	
		if(isWhitespace(nombre.value)){
			alert("Introduce tu nombre");
			nombre.focus();
			return false;
		}

		if(isWhitespace(apellidos.value)){
			alert("Introduce como mínimo uno de tus apellidos");
			apellidos.focus();
			return false;
		}

		if(isWhitespace(pais.value)){
			alert("Selecciona un país de la lista");
			pais.focus();
			return false;
		}

		if(!validarEmail(email.value)){
			alert("Introducza un email correcto");
			email.focus();
			return false;
		}

	document.general.action = "/usuarios/datos/actualizar/procesar/";
	document.general.method = "POST";
	document.general.submit();	
  }

 /**
  * Limpia el form datos personales
  */ 
  function limpiaDatosPersonales(pais){
	actualizaValor('NOMBRE','');
	actualizaValor('APELLIDOS','');
	actualizaValor('EMAIL','');
	actualizaValor('URL','http://');
  }

 /**
  * Actualizar password
  */
  function actualizaPassword(){
	  password = document.general.PASSWORD;
	  password1 = document.general.PASSWORD1;
	  password2 = document.general.PASSWORD2;

	if(isWhitespace(password.value)){
		alert("Introduce la contraseña actual");
		password.focus();
		return false;
	}

	if(isWhitespace(password1.value)){
		alert("Introduce la contraseña elegida");
		password1.focus();
		return false;
	}

	if(isWhitespace(password2.value)){
		alert("Introduce la confirmación de contraseña");
		password2.focus();
		return false;
	}

	if(password1.value!=password2.value){
		alert("La contraseña elegida y la confirmacón no coinciden");
		password1.value = "";
		password2.value = "";
		password1.focus();
		return false;
	}
	document.general.action = "/usuarios/datos/password/procesar/";
	document.general.method = "POST";
	document.general.submit();	
  }


  /**
   * Valoración de proveedor
   */
   function valorarProveedor(){
		valoracion = document.general.valoracion;

		document.general.action = "/hosting/gratis/valorar/";
		document.general.method = "POST";
		document.general.submit();	
   }

  /**
   * Enviar formulario de contacto
   */
   function enviarFormularioContacto(){
	   nombre = document.general.nombre;
	   email = document.general.email;
	   motivo = document.general.motivo;
	   mensaje = document.general.mensaje;

	   if(isWhitespace(nombre.value)){
		   alert("Introduce tu nombre");
		   nombre.focus();
		   return false;
	   }

  	   if(!validarEmail(email.value)){
		   alert("Introduce un email correcto");
		   email.focus();
		   return false;
	   }
	   
	   if(isWhitespace(motivo.value)){
		   alert("Selecciona un motivo de consulta");
		   motivo.focus();
		   return false;
	   }

	   if(isWhitespace(mensaje.value)){
		   alert("Introduce tu mensaje");
		   mensaje.focus();
		   return false;
	   }

		document.general.action = "/contacto/enviar/";
		document.general.method = "POST";
		document.general.submit();	
   }

  /**
   * Limpiar formulario de contacto
   */
   function limpiarFormularioContacto(){
	   nombre = document.general.nombre;
	   email = document.general.email;
	   motivo = document.general.motivo;
	   mensaje = document.general.mensaje;


	   nombre.value = "";
	   email.value = "";
	   motivo[0].selected=true;
	   mensaje.value = "";
   }