// Script general de validación de formularios (Version 1.0)
// Impiric

function esNumero(s) {
	num=parseFloat(s)
	if (num!=''+s) return false
    return true
}

function esEntero(s) {   
/*	num=parseInt(s)
	if (num!=''+s) return false
    return true
*/
	return !isNaN(s);
}

function esVacio(s){
   return ((s == null) || (s.length == 0));
}

var numeros="0123456789"
var letras_minusculas="a,b,c,d,e,f,g,h,i,j,k,l,m,n,ñ,o,p,q,r,s,t,u,v,w,x,y,z"
var letras_mayusculas=letras_minusculas.toUpperCase()
var letras=letras_minusculas+letras_mayusculas

function esNombre (s){
    if (esVacio(s)) return false
    validos = letras+" "
    for (i = 0; i < s.length; i++){   
        c = s.charAt(i);
        if (validos.indexOf(c) == -1) return false;
    }
	return true
}

function esDNI(s) {
	if (s.length<=8) return esEntero(s)
}

function esNIF(s) {
	s=s.replace("-","");
    lo=s.length
	if (lo<2 || lo>9) return false
    dni=s.substring(0,lo-1)
    if (!esDNI(dni)) return false
	letra=new Array("T","R","W","A","G","M","Y","F",
					"P","D","X","B","N","J","Z","S",
					"Q","V","H","L","C","K","E");
    nif=s.substring(lo-1,lo).toUpperCase()
    if (nif!=letra[dni%23]) return false
	return true
}

function esEmail(s) {
	if (s=="") return true;
    pb=s.indexOf(' ')
    if (pb!=-1) return false
	p1=s.indexOf('@')
    if (p1<1 || p1==(s.length-1) || p1==-1) return false
	p2=s.indexOf('.');
	if (p2<1 || p2==p1+1 || p2==-1 || p2==(s.length-1)) return false
	return true
}


function esTelefono(tel){
	primerdigito="9"
	if (tel.length!=9 || !esEntero(tel) || (primerdigito.indexOf(tel.charAt(0)) == -1)) 
		return false
	return true
}
function esMovil(tel){
	primerdigito="6"
	if (tel.length!=9 || !esEntero(tel) || (primerdigito.indexOf(tel.charAt(0)) == -1)) 
		return false
	return true
}

/*
function esTelefono(tel){
		if (tel=="") return false;
		num = parseInt(tel);
		if (num != '' + tel)
			return false;

		primerdigito = "69";
		if (tel.length!=9 || (primerdigito.indexOf(tel.charAt(0))==-1))
			return false;
		return true;
}
*/

function esFecha(diaV,mesV,anoV)
{
	

	if (isNaN(anoV) || anoV.length<4 || parseFloat(anoV)<1900){
		return false
	}
	if (isNaN(mesV) || parseFloat(mesV)<1 || parseFloat(mesV)>12){
		return false
	}
	if (isNaN(diaV) || parseInt(diaV)<1 || parseInt(diaV)>31){
		return false
	}
	if (mesV==4 || mesV==6 || mesV==9 || mesV==11 || mesV==2) {
		if (mesV==2 && diaV > 28 || diaV>30) {
			return false
		}
	}

return true;

}
function esCPostal(e)
{
	if (e=="99000") return true; //Codigo Postal establecido para Andorra
	num=(e)*1;
	if ((num < 1001) || (num > 52080) || (!esEntero(num)))
		return false;
	return true;
}
