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 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";}
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 EsFechaHora(d,m,a,h,Mi,s)
{
	var na=new Number(a), nm=new Number(m), nd=new Number(d),nh=new Number(h),nMi=new Number(Mi),ns=new Number(s)
	if(isNaN(na)||isNaN(nm)||isNaN(nd)||isNaN(nh)||isNaN(nMi)||isNaN(ns))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;}
	if(nh<0||nh>23)return false;
	if(nMi<0||nMi>59)return false;
	if(ns<0||ns>59)return false;
	return true;
}

function ValidaFecha(f1)
{
	var retorno;
	if (f1.length>0)
	{
		var dia, mes, anio;
		dia=f1.split("/")[0];
		mes=f1.split("/")[1];
		anio=f1.split("/")[2];
	
		retorno=EsFechaHora(dia,mes,anio,0,0,0);
	}
	else
		retorno=true;
		
	return retorno;
	
}
function CalculaDC (banco, sucursal, cuenta) {
	var dc = 0;
	for (cont2=0; cont2<2 ;cont2++) {
		var aux = "";
		if (cont2 == 1)
			dc = dc*10;
		if (cont2 == 0) {
			for (var i=0; i<banco.length; i++) {
				var ch = banco.substring (i, i+1);
				aux += ch;
			}
			for (var i=0; i<sucursal.length; i++) {
				var ch = sucursal.substring (i, i+1);
				aux += ch;
			}
		} else {
			for (var i=0; i<cuenta.length; i++) {
				var ch = cuenta.substring (i, i+1);
				aux += ch;
			}
		}
		var cont3 = 0;
		var suma = 0;
		for (var cont1 = aux.length-1; cont1>=0; cont1--) {
			dig_buf = aux.substring (cont1, cont1+1);
			digito = parseInt (dig_buf);
			if (cont3 == 0)
				suma = suma + (digito*6);
			else if (cont3 == 1)
				suma = suma + (digito*3);
			else if (cont3 == 2)
				suma = suma + (digito*7);
			else if (cont3 == 3)
				suma = suma + (digito*9);
			else if (cont3 == 4)
				suma = suma + (digito*10);
			else if (cont3 == 5)
				suma = suma + (digito*5);
			else if (cont3 == 6)
				suma = suma + (digito*8);
			else if (cont3 == 7)
				suma = suma + (digito*4);
			else if (cont3 == 8)
				suma = suma + (digito*2);
			else if (cont3 == 9)
				suma = suma + (digito*1);

			cont3++;
		}
		suma = suma % 11;
		digito = 11 - suma;
		if (digito == 10)
			dc++;
		else if (digito == 11)
			;
		else
			dc+= digito;
	}
	if (dc < 10)
		dc = "0" + dc;
	return dc;
}