function isEmail (s)
{
    if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
    if (isWhitespace(s)) return false;
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

function isPhoneNumber (s)
{   var modString;
    if (isEmpty(s)) 
       if (isPhoneNumber.arguments.length == 1) return defaultEmptyOK;
       else return (isPhoneNumber.arguments[1] == true);
    modString = stripCharsInBag( s, phoneChars );
    return (isInteger(modString))
}



function validarContacto(formulario){

var correcto=true;
	var mensaje="Se han detectado los siguientes errores en el formulario:\n\n";
	
	if(formulario.provincia.value == "-1"){
		mensaje+="- Debe indicar la provincia\n";
		correcto=false;
	}	
	if(formulario.nombre.value == ""){
		mensaje+="- Debe indicar la persona de contacto\n";
		correcto=false;
	}
	if(!isEmail(formulario.email.value)){
		mensaje+="- El correo electronico no es correcto\n";
		correcto=false;
	}
	if(!isPhoneNumber(formulario.telefono.value)){
		mensaje+="- Debe indicar un numero de telefono correcto\n";
		correcto=false;
	}			
	if(formulario.mensaje.value == ""){
		mensaje+="- Debe indicar el motivo de su consulta\n";
		correcto=false;
	}
	if(formulario.acepto.checked ==false){		
		mensaje+="- Debe aceptar las condiciones de darse de alta\n";
		correcto=false;
	}
	
	if(correcto==true){
		formulario.submit();
		return true;
	}
	else{
		alert(mensaje);
		return false;
	}

}
