function EsNumero(cadena) {
var numeros="0123456789 ";
var correcto=true;

	for (i=0; i<cadena.length; i++){
		car = cadena.charAt(i);
		for (j=0; j<numeros.length; j++)
			if (car==numeros.charAt(j))
				break;
			if (j==numeros.length){
				correcto=false;
				break;
			}
	}
	if (!correcto){
		return false;
	}
		return true;
}

function ValidarNumeros(campo) {
	if (campo!="") {
		if (EsNumero(campo.value)==false) { //si no es un numero
			alert("En este campo solo se admiten numeros");
			campo.focus();
			return false;
		}
		if (campo.value.length != 9) {
			alert("El telefono tiene que tener 9 digitos");
			campo.focus();
			return false;
		}
	}
	return true;
}

function ValidarCorreo(direccion) {
	if (direccion.value.length > 0) {//el email puede ser opcional, si introduce un telefono de contacto.
		if (direccion.value.length < 5 ) { 
			//si la longitur es menor que 5, da alerta
			//no hay correos de 4 o menos caracteres.
			alert ("No existen e-mails de 4 o menos caracteres");
			direccion.focus();
			return false;
		}
		if (direccion.value.indexOf("@") == -1) {
			alert ("E-mail es incorrecto");
			direccion.focus();
			return false;
		}
		if (direccion.value.indexOf("@",direccion.value.indexOf("@")+1) != -1) { //hay más de una @
			alert ("Hay mas de una @");
			direccion.focus();
			return false;
		}
		if (direccion.value.indexOf(".") == -1) {
			alert ("El e-mail no contiene el caracter '.'");
			direccion.focus();
			return false;
		}
		if (direccion.value.indexOf(".",direccion.value.indexOf("@")) == -1) { //se necesita que despues de la @ haya un punto .com o .es o .loquesea
			alert ("No existe el caracter '.' despues de '@'");
			direccion.focus();
			return false;
		}
		if ((direccion.value.indexOf(".",direccion.value.indexOf("@"))) == (direccion.value.indexOf("@")+1)) { //estamos en el caso de que es algo@. -->no es una direccion valida
			alert ("No es valida la cadena '@.'");
			direccion.focus();
			return false;
		}
		if ((direccion.value.lastIndexOf(".")+1) == (direccion.value.length)) { //empieza a contar desde atras. Si el punto es el ultimo caracter, el email no es valido.
			alert ("E-mail no puede acabar en punto");
			direccion.focus();
			return false;
		}
		//un email no puede contener estos caracteres --> ; / : < > * | ' & $ ! # ( ) [ ] { } ' "
		if ((direccion.value.indexOf(";")!=-1) || (direccion.value.indexOf(" ")!=-1) || 
			(direccion.value.indexOf("<")!=-1) || (direccion.value.indexOf(">")!=-1) ||
			(direccion.value.indexOf("*")!=-1) || (direccion.value.indexOf("|")!=-1) || 
			(direccion.value.indexOf("$")!=-1) || (direccion.value.indexOf("!")!=-1) || 
			(direccion.value.indexOf("\"")!=-1) || (direccion.value.indexOf(":")!=-1)) {
			alert ("E-mail no puede contener caracteres especiales");
			direccion.focus();
			return false;
		}
	}
	return true;
}


function ValidarURL(direccion) {
	if (direccion.value.length > 0) { //la direccion web puede ser opcional.
		if (direccion.value.indexOf("http://") != 0) {
			alert ("La URL debe empezar por http://");
			direccion.focus();
			return false;
		}
	}
	return true;
}


function validar_fc(){ //funcion para validar el formulario de contacto antes de enviarlo definitivamente.
    //valido el nombre
    if (document.contacto.nombre.value.length==0){
       alert("Debe escribir su nombre.")
       document.contacto.nombre.focus();
       return false;
    }

    if ((document.contacto.email.value.length==0) && (document.contacto.telefono.value.length==0)) {
		alert("E-mail o telefono de contacto es requerido.");
		document.contacto.email.focus()
		return false;
	}
	
	if (document.contacto.mensaje.value.length==0) {
		alert("No ha escrito nada en el mensaje.");
		document.contacto.mensaje.focus();
		return false;
	}

    //se envia el formulario
    //alert("Muchas gracias por enviar el formulario"); Ya daré las gracias en el .php
    document.contacto.submit();
} 