c_=".";c_n="1234567890.";c_l="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz";
cu_l='ß'; // alt225 letra
cu_n='ø'; // alt155 número
cu_c='Û'; // alt234 caracter


function TamanoMinimo(v,t){if(v.length<t)return false;return true;}

function RangoValido(v,m,M)
{
if(!SoloNumeros(v))return false;
var puntos=0;
for(var i=0;i<v.length;i++)if(v.charAt(i)=='.')puntos++;
if(puntos>1)return false;
var n= parseFloat(v);
if(isNaN(n))return false;
if(m>n||M<n)return false;
return true;
}
function SoloNumeros(v){for(var i=0;i<v.length;i++)if(c_n.indexOf(v.charAt(i))==-1)return false;return true;}
function SoloLetras(v){for(var i=0;i<v.length;i++)if(c_l.indexOf(v.charAt(i))==-1)return false;return true;}
function Formato(v,p)
{
if(v.length!=p.length)return false;else
for(var i=0;i<v.length;i++)
switch(p.charAt(i)){
case cu_l:if(c_l.indexOf(v.charAt(i))==-1)return false;break;
case cu_n:if(c_n.indexOf(v.charAt(i))==-1)return false;break;
case cu_c:break;
default:if(v.charAt(i)!=p.charAt(i))return false;break;}
return true;
}
function EsNIFCIF(v)
{
var esN, esC;
esN=EsNIF(v);esC=EsCIF(v);
return (esN||esC);
}
function EsNIF(v)
{
var vc,vn,vl,l,c="TRWAGMYFPDXBNJZSQVHLCKET";
vc=v.substring(0,v.length-1);
vn=new Number(vc);
if(isNaN(vn))return false;
if(vn<0||vn>99999999)return false;
vl=v.charAt(v.length-1).toUpperCase();
l=c.charAt(vn%23);
if(vl!=l)return false;
return true;
}
function EsCIF(c)
{
var cif= c.toUpperCase();
var final= cif.substr(8,1);
var v1= new Array(0,2,4,6,8,1,3,5,7,9), temp=0, temp1;
// comprobaciones
if (!/^[A-Za-z0-9]{9}$/.test(cif)) return false; // no son 9 dígitos y solo letras y números
if (!/^[ABCDEFGHKLMNPQS]/.test(cif)) return false; // la primera letra no es de las admitidas
// calculos
for(i=2;i<=6;i+=2) 
{
	temp= temp+ v1[parseInt(cif.substr(i-1,1))];
	temp= temp+ parseInt(cif.substr(i,1));
}
temp= temp + v1[parseInt(cif.substr(7,1))];
temp= (10-(temp%10));
if(temp==10)temp=0;
switch (temp)
{
	case 0:if(final=="0"||final=="J")return true; break;
	case 1:if(final=="1"||final=="A")return true; break;
	case 2:if(final=="2"||final=="B")return true; break;
	case 3:if(final=="3"||final=="C")return true; break;
	case 4:if(final=="4"||final=="D")return true; break;
	case 5:if(final=="5"||final=="E")return true; break;
	case 6:if(final=="6"||final=="F")return true; break;
	case 7:if(final=="7"||final=="G")return true; break;
	case 8:if(final=="8"||final=="H")return true; break;
	case 9:if(final=="9"||final=="I")return true; break;
}
return false;
}
function EsEmail(v)
{
var a=0,p=0;
for(var i=0;i<v.length;i++){if(v.charAt(i)=='@')a++;if(v.charAt(i)=='.')p++;}
if(a!=1||p<1) return false; return true;
}
function EsCuentaBanco(b,s,dc,c)
{
var s1,d1,d2,dc2;
s1=4*aN(b.charAt(0))+8*aN(b.charAt(1))+5*aN(b.charAt(2))+10*aN(b.charAt(3))+9*aN(s.charAt(0))+7*aN(s.charAt(1))+3*aN(s.charAt(2))+6*aN(s.charAt(3));
d1=11-s1%11;if(d1==11)d1=0;if(d1==10)d1=1;
s1=1*aN(c.charAt(0))+2*aN(c.charAt(1))+4*aN(c.charAt(2))+8*aN(c.charAt(3))+5*aN(c.charAt(4))+10*aN(c.charAt(5))+9*aN(c.charAt(6))+7*aN(c.charAt(7))+3*aN(c.charAt(8))+6*aN(c.charAt(9));
d2=11-s1%11;if(d2==11)d2=0;if(d2==10)d2=1;
dc2=""+(10*d1+d2);
if(dc!=dc2)return false;return true;
}

function EsFechaHora(d,m,a)
{
var na=new Number(a),nm=new Number(m),nd=new Number(d);
if(isNaN(na)||isNaN(nm)||isNaN(nd))return false;
if(na<1||na>9999)return false;
if(nm<1||nm>12)return false;
if((nm==1||nm==3||nm==5||nm==7||nm==8||nm==10||nm==12)&&(nd<1||nd>31))return false;
if((nm==4||nm==6||nm==9||nm==11)&&(nd<1||nd>30))return false;
if(nm==2){var df=(((na%4==0)&&((!(na%100==0))||(na%400==0)))?29:28);if(nd<1||nd>df)return false;}
return true;
}

function aN(cual){switch(cual){case'0':return 0;case'1':return 1;case'2':return 2;case'3':return 3;case'4':return 4;case'5':return 5;case'6':return 6;case'7':return 7;case'8':return 8;case'9':return 9;}return "mal";}

