/*
AÑADO FUNCIÓN PARA ASIGNAR UN VALOR A LA VARIABLE bIsInternetExplorer
*/

/*if (document.all) bIsInternetExplorer = 1
else bIsInternetExplorer = 0*/


//Expresiones Regulares de comprobación de datos
//Chr(&H005E)
var chk_begin = "^"
//Chr(&H0024)
var chk_end  = "$"	
	
//Identificador de usuario min 6 y max 12
var chk_userid = "\\w{6,12}"
	
//Cualquier cosa
var chk_everything 
chk_everything="[^']{1,255}"
//else chk_everything="[\\\\|\\/|:|.|\\w ]{1,255}"
	
//Password de 6 posiciones mínimo y max 12 (admite cualquier caracter o símbolo) ej. Qw2@i%
var chk_password 
chk_password=".{6,12}"	
//else chk_password="[.|\\w]{6,12}"
	
//Nombre de persona (con acentos, ñ y ç) ej. Pedigüeño
var chk_name = "(-|[\\wÀ-Äà-äÈ-Ëè-ëÌ-Ïì-ïÒ-Öò-öÙ-Üù-üÑñÇç'´. ]){1,255}"
		
//Número de teléfono ej. (099) 099 099 099 099 099
var chk_telefono = "(\\(\\d{2,3}\\) {0,1}){0,1}\\d{2,3}([ -]{0,1}\\d{2,3}){2,4}"
	
//Código postal ej. 28000
var chk_cp = "[0-9]{5}"
	
//Fecha ej. 31/12/2000
var chk_date = "\\d{1,2}\\/\\d{1,2}\\/\\d{4}"
	
//Fecha ej. 15:12:53
var chk_time = "\\d{1,2}\:\\d{1,2}\:\\d{1,2}"

//E-Mail ej. nombre.apellido@organizacion.com
var chk_email = "\\w{1,}([\\.|\\-]\\w{1,}){0,}@\\w{1,}([\\.|\\-]\\w{1,}){1,}"
	
//URL ej. protocolo://maquina.dominio:puerto/directorio/archivo.ext
var chk_url 
chk_url = chk_everything
	
//Matricula del coche (M-1234-AB ó 1234-BBB)
var chk_matricula = "([A-Z]{1,2}-\\d{4}-[A-Z]{1,2})|(\\d{4}[ -][A-Z]{3})"
	
// DNI--NIF (Documento Nacional de Identidad) ej. 123456789A
var chk_dni = "([0-9]{1,8}|[TRWAGMYFPDXBNJZSQVHLCKEF]{1}[0-9]{1,7})[TRWAGMYFPDXBNJZSQVHLCKEF]{1}"

//Texto largo (caracteres, dígitos, espacios, tabulaciones, nueva línea)
var chk_longtext = "(\\w|\\s){1,255}"
	
//Flotante
var chk_number_decimals = "[0-9]{1,9}(\\.[0-9]{1,9})?"

//Entero
var chk_number_integer = "[0-9]{1,5}"
	
//Precios (Moneda)
var chk_price = "[0-9]{1,}([\\.|\\,][0-9]{1,2}){0,1}"

//FIN DEFINICIÓN EXPRESIONES REGULARES


function dni(x)
{
	var letras="TRWAGMYFPDXBNJZSQVHLCKEF";
	var exp=eval('/[0-9]/ig');
		
	if (exp.test(x.substr(0,1)))
	{
		return (letras.substr((x.substr(0,x.length-1))%23,1)==x.substr(x.length-1,1).toUpperCase());
	}
	return (letras.substr((x.substr(1,x.length-2))%23,1)==x.substr(x.length-1,1).toUpperCase());
	}

	

function passwordeqal(sPassword, sConfirm)
{
	return (sPassword == sConfirm)
}
	

function y2k(number) 
{ 
	return (number < 1000) ? number + 1900 : number; 
}

	
function isfecha(myDate)
{
	var sdate  = myDate.split('/');
	var date=sdate[0];
	var month=sdate[1];
	var year=sdate[2];
 
	var test = new Date(year,month-1,date);

    	return (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate()))   
}
	
	
	
 function bisiesto(anio) 
{
	return (((anio % 4 == 0) && anio % 100 != 0) || anio % 400 == 0) 
}
	


function validarExplorer(f)
{
	var i,a,b,c,ss,exp,msg,valor,cadena,obl,fn;
	Vector=new Array();
	for(i=0;i<f.elements.length;i++)
	{	
		if (f.elements[i].alt)
		{
			if (f.elements[i].alt!="")
			{
				cadena=eval(f.elements[i].alt);
				vector=cadena.split("&");
				exp=vector[0];
				msg=vector[1];
				obl=vector[2];
				if (vector[3]!="")
				 fn=vector[3];
				else
				 fn="";
				b=(f.elements[i].value).length;				
				if (obl==0 && b<=0) continue;
				if (b==0) c=(eval(exp)).replace("ñ","1");
			        else c=(eval(exp)).replace("ñ",b);
				a =new RegExp("%"+c+"%","i");
				valor=f.elements[i].value;	
				valor="%"+valor+"%";
				if (obl==1 && b<=0)
				{
					msg = "El campo es obligatorio"					
					alerta(msg,f.elements[i]);	
					return false;
				}
				if (!a.test(valor))
				{
					alerta(msg,f.elements[i]);	
					return false;
				}
				if (fn && fn!="" && f.elements[i].value!="")
				{ 
					if (!eval(fn))
					{
						alerta(msg,f.elements[i]);	
						return false;
					}
				}				
			}
		}
	}
	return true
}

	
function alerta(mensaje,elemento)
{
	alert(mensaje);
	elemento.focus();
}


