
function pintarMensaje(txtError, lista, aclaraciones)
{
	var l_mensaje = mensajes[txtError];
	
	var cadena = "";
	
	if(lista.length>0)
		cadena = "[" + lista+"]: " + l_mensaje;
	else
		cadena = l_mensaje;
	
	if(aclaraciones && aclaraciones.length > 0)
		cadena += " " + aclaraciones;
	
	alert(cadena);
}



// *********************************************************************

// Libreria: Funciones de Validacion, version 2.0.

//	Funcion que comprueba los formatos de los campos de un formulario

//	Entrada : el formulario que hay que validar, la lista de los campos a validar

//	Salida :  True si valido, false si no

// *********************************************************************

function fValidarFormulario(p_formulario, lista_campos) {
	var l_estado = "";
	var c_type = "";
	if(typeof(g_estado) == "string") l_estado = g_estado;

	else if (g_estado.name) l_estado = g_estado.name;
	for(var i_campo in lista_campos) {
		c_type = i_campo.type;
		if(!p_formulario.elements[i_campo]) {
			pintarMensaje("ERROR_DEPURACION",lista_campos[i_campo].descripcion);

			return false;

		}

		if(lista_campos[i_campo][l_estado]) {
			var l_esInformado = fEsCampoInformado(p_formulario.elements[i_campo]);

			var l_campoFormulario = p_formulario.elements[i_campo];

			if((lista_campos[i_campo].obligatorio) && !l_esInformado){

				pintarMensaje("ERROR_CAMPO_OBLIGATORIO",lista_campos[i_campo].descripcion);

				if(!l_campoFormulario.disabled && !c_type == "hidden") l_campoFormulario.focus();

				return false;

			} else if((lista_campos[i_campo].maxValues != null && lista_campos[i_campo].maxValues != "-1" && !fMaxSelValues(l_campoFormulario,lista_campos[i_campo].maxValues))){//Numero maximo de valores seleccionados (para lists)
				pintarMensaje("ERROR_MAX_SEL_VALUES",lista_campos[i_campo].descripcion);

				if(!l_campoFormulario.disabled && !c_type == "hidden") l_campoFormulario.focus();

				return false;				
				
			}else if((lista_campos[i_campo].formato) && l_esInformado && (!lista_campos[i_campo].formato(l_campoFormulario.value))) {

				pintarMensaje("ERROR_CAMPO_FORMATO",lista_campos[i_campo].descripcion,lista_campos[i_campo].aclaraciones?lista_campos[i_campo].aclaraciones:"");

				if(!l_campoFormulario.disabled && !c_type == "hidden") l_campoFormulario.focus();

				return false;				

			} else if((lista_campos[i_campo].validacion) && l_esInformado && (!lista_campos[i_campo].validacion(l_campoFormulario.value))) {

				if(!l_campoFormulario.disabled && !c_type == "hidden") l_campoFormulario.focus();

				return false;

			} else if ((lista_campos[i_campo].tipo == "text") && (l_campoFormulario.value.length > lista_campos[i_campo].longitud)) {

				pintarMensaje("ERROR_CAMPO_TAMANIO",lista_campos[i_campo].descripcion, lista_campos[i_campo].longitud);

				if(!l_campoFormulario.disabled && !c_type == "hidden") l_campoFormulario.focus();

				return false;

			}

		}

	}

	if ((typeof fCruzada) == "function") {

		return fCruzada(p_formulario);

	}
	return true;
}

//*********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	convierte una fecha en formato String en un objeto Date()

//	Entrada : cadena de texto con formato DD+SEPARADOR+MM+SEPARADOR+AAAA

//	Salida :  un objeto Date() 

//*********************************************************************

function fSetStringToFecha(p_cadena)

{

	Re = /(\d{2}).+(\d{2}).+(\d{4})/;

	Re.test(p_cadena);

	return (new Date(RegExp.$3,(RegExp.$2-1),RegExp.$1));

}

//*********************************************************************

// Libreria: Funciones de Validacion, version 2.0.

//	convierte un objeto Date() en una fecha en formato String

//	Entrada : un objeto Date()

//	Salida : cadena de texto con formato DD/MM/AAAA

//*********************************************************************

function fSetFechaToString(p_fecha) {

	return (p_fecha.getDate()+"/"+(p_fecha.getMonth()+1)+"/"+p_fecha.getFullYear());

}

//*********************************************************************

// Libreria: Funciones de Validacion, version 2.0.

//	sobrescritura del metodo toString del objeto fecha

//	Entrada :

//	Salida : cadena de texto con formato DD/MM/AAAA

//*********************************************************************

Date.prototype.toString = function () {

	return (this.getDate()+"/"+(this.getMonth()+1)+"/"+this.getFullYear());

}

// *********************************************************************

// Libreria: Funciones de Validacion, version 2.0

//	Funcion que comprueba si el parametro tiene un formato de fecha

//	Entrada : la fecha que hay que validar

//	Salida :  True si valida, false si no

// *********************************************************************

function fEsFormatoFecha(p_valor) {

	if(!p_valor) p_valor=this.value;

	return /^(\d{4})-(\d{2})-(\d{2})$/.test(p_valor);


}

function fEsFormatoFechaISO(p_valor) {

	if(!p_valor) p_valor=this.value;

	return /^(\d{4})\/(\d{2})\/(\d{2})$/.test(p_valor);


}

// *********************************************************************

// Libreria: Funciones de Validacion, version 2.0

//	Funcion que comprueba si una fecha es valida

//	Entrada : la fecha que hay que validar

//	Salida :  True si valida, false si no

// *********************************************************************

function fEsFecha(p_valor) {

	if(!p_valor) p_valor = (this.value ? this.value : "");

	var l_valido = fEsFormatoFechaISO(p_valor);

	if (l_valido) {

		var l_fecha = new Date(RegExp.$1, parseFloat(RegExp.$2)-1, RegExp.$3);

		l_valido = (l_fecha.getDate()==RegExp.$3)&&((l_fecha.getMonth()+1)==RegExp.$2)&&(l_fecha.getFullYear()==RegExp.$1)

	}

	return l_valido;

}

function fEsFechaISO(p_valor) {

	if(!p_valor) p_valor = (this.value ? this.value : "");

	var l_valido = fEsFormatoFechaISO(p_valor);

	if (l_valido) {

		var l_fecha = new Date(RegExp.$1, parseFloat(RegExp.$2)-1, RegExp.$3);

		l_valido = (l_fecha.getDate()==RegExp.$3)&&((l_fecha.getMonth()+1)==RegExp.$2)&&(l_fecha.getFullYear()==RegExp.$1)

	}

	return l_valido;

}
// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que comprueba si una fecha es anterior a otra

//	Entrada : las dos fechas en formato string "dd+separador+mm+separador+aaaa"

//	Salida :  True si valido, false si no

// *********************************************************************

function fEsAnterior(fecha, fechaReferencia)

{

	//Re = /^(\d{2}).+(\d{2}).+(\d{4})$/;
	Re = /^(\d{4})-+(\d{2}).+(\d{2})$/;

	l_fecha = Re.test(fecha);

	ld_fecha = new Date(RegExp.$1,(RegExp.$2-1),RegExp.$3);

	l_fechaReferencia = Re.test(fechaReferencia);

	ld_fechaR = new Date(RegExp.$1,(RegExp.$2-1),RegExp.$3);

	// ftf return (!(ld_fecha > ld_fechaR));
	return ((ld_fecha < ld_fechaR));

}

// *********************************************************************

// Libreria: Funciones de Validacion, version 2.0.

//	Funcion que comprueba si un texto es un numero de DNI/CIF/NIF/Pasaporte/Tarjeta de residencia valido.

//	Entrada : el String que hay que validar

//	Salida :  True si esta valido, false si no

// *********************************************************************

function fEsDNI(dni)
{

	var l_textoDeReferencia = 'TRWAGMYFPDXBNJZSQVHLCKE';

	var l_resultado = /^([X]\d{7}|\d{1,8})([A-Z])$/i.test(dni);

	if(l_resultado)

	{

		var l_codigoControlIntroducido = RegExp.$2.toUpperCase();

		var l_codigoControlCalculado = l_textoDeReferencia.charAt((/(\d*)$/.exec(RegExp.$1)[0])%23);

		l_resultado = (l_codigoControlIntroducido == l_codigoControlCalculado);

	}

	return l_resultado;

}



// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que comprueba si un texto es una Licencia Fiscal valida.

//	Entrada : el String que hay que validar

//	Salida :  True si esta valido, false si no

// *********************************************************************

function fEsLFIS (lfis)

{

	var primeraLetra = 'ABCDEFGHPQS';

	var ultimaLetra = 'JABCDEFGHI0123456789';

	var codigoControlIntroducido = lfis.charAt(8);

	var codigoControlCalculado = 0;

	

	if(lfis.length!=9)

		return false;

	else if (!fComprobar(lfis.charAt(0), primeraLetra))

		return false;

	else if (!fEsNumerico(lfis.substring(1,8)))

		return false;

	else if (!fComprobar(codigoControlIntroducido, ultimaLetra))

		return false;



	var cadenaTratada = '';

	for(var i = 1; i<8; i++)

	{

		if((i==1)||(i==3)||(i==5)||(i==7))

			cadenaTratada += (lfis.charAt(i)*2);

		else

			cadenaTratada += (lfis.charAt(i));

	}



	for(var i = 0; i<cadenaTratada.length; i++)

		codigoControlCalculado += 10-(cadenaTratada.charAt(i));



	codigoControlCalculado = (codigoControlCalculado%10);

	

	if (fComprobar(lfis.charAt(0), 'ABCDEFGH')&&(codigoControlCalculado!=codigoControlIntroducido))

		return false;

	else if ((fComprobar(lfis.charAt(0), 'PQS')&&(codigoControlCalculado!=ultimaLetra.indexOf(codigoControlIntroducido))))

		return false;



	return true;

}



// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que comprueba si un combo tiene algun elemento seleccionado.

//	Entrada : el combo que hay que validar

//	Salida :  True si esta vacio, false si no

// *********************************************************************

function fEsComboSeleccionado(p_combo)

{

	if(!p_combo) p_combo = this;

	var l_indice = p_combo.selectedIndex;

	var l_retorno = (l_indice>-1) && (p_combo.options[l_indice].value!=-1) && (p_combo.options[l_indice].selected);
	return l_retorno;

}

// *********************************************************************

//	Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida si un texto es compuesto unicamente de espacios.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fEsTodoEspacio(checkStr) {

	if(!checkStr) checkStr = (this.value ? this.value : "");

	return !(/^\s+$/.test(checkStr));

}



// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que comprueba si una hora es valida

//	Entrada : la hora que hay que validar

//	Salida :  True si valida, false si no

// *********************************************************************

function fEsHoraValida(l_valor)

{

	l_retorno = true;

	

	if(l_valor.length==2)

		l_valor+= ":00:00";

	else if(l_valor.length==5)

		l_valor+= ":00";

	Re = /^(\d{2})[\s\.:](\d{2})[\s\.:](\d{2})$/;

	if (l_valor != '') {

		l_retorno = Re.test(l_valor) && (RegExp.$1<24) && (RegExp.$2<61) && (RegExp.$3<61);

	}

	return l_retorno;

}



// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un texto segun otro texto de referencia.

//	Entrada : el String que hay que validar y el String de referencia

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fComprobar(textoAComprobar, textoDeReferencia)

{

	var valido=true;

	for (i = 0; (i < textoAComprobar.length) && (valido); i++)

		valido = (textoDeReferencia.indexOf(textoAComprobar.charAt(i)) > -1);

	return (valido);

}

// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un digito.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fEsNumerico(checkStr)

{

	if(!checkStr) checkStr = (this.value ? this.value : "");

	return (/^\d*$/.test(checkStr));

}

// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un texto.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fEsTextoValido(checkStr)
{
	if(!checkStr) checkStr=(this.value ? this.value : "");
	return !/[<>']+/i.test(checkStr);
	
}



// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un digito.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fEsMoneda(checkStr)

{

	if(!checkStr) checkStr = (this.value ? this.value : "");

	l_valido = false;

	if((/^\d+$/.test(checkStr))||(/^\d*,\d{1,2}$/.test(checkStr))) {

		l_valido = true;

	} else {

		l_miles = checkStr.split(".");



		l_indice = l_miles.length-1;

		if (l_indice==0) {

			l_valido = (/^\d{1,3}$/.test(l_miles[0]))||(/^\d{1,3},\d{1,2}$/.test(l_miles[0]));

		} else {

			l_valido = (/^\d{3}$/.test(l_miles[l_indice]))||(/^\d{3},\d{1,2}$/.test(l_miles[l_indice]));

			while(((--l_indice)>0)&&(l_valido)) l_valido = /^\d{3}$/.test(l_miles[l_indice--]);

			if (l_valido) l_valido = /^\d{1,3}$/.test(l_miles[0]);

		}

	}

	return l_valido;

}

// *********************************************************************

// Libreria: Funciones de Validacion, version 2.0.

//	Funcion que valida si un texto esta igual a cero.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fEsCero(checkStr)

{

	if(!checkStr) checkStr = (this.value ? this.value : "");

	var l_valido = false;

	l_valido = (checkStr!="")&&(0==checkStr.replace(/[.,]/g,""));

	return l_valido;

}



// *********************************************************************

// Libreria: Funciones de Validacion, version 2.0.

//	Funcion que valida un texto con formato hasta 2 decimales separadas con un punto.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fEsDigitoPositivoDecimal(checkStr)

{

	if(!checkStr) checkStr = (this.value ? this.value : "");

	l_valido = (/^\d+$/.test(checkStr))||(/^\d*[\,]\d{1,2}$/.test(checkStr))

	return l_valido;

}

// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un telefono.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fEsTelefonoValido(checkStr)

{

	if(!checkStr) checkStr = (this.value ? this.value : "");

	return (/^\d{11}$/.test(checkStr));


}



// *********************************************************************

//	Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida una fecha.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fValidarFecha(p_fecha)

{

	if(!p_fecha) p_fecha = (this.value ? this.value : "");

	var l_valida = true;

	if (!fEsFormatoFecha(p_fecha))

	{
		pintarMensaje("ERROR_CAMPO_FORMATO_FECHA");

		l_valida = false;

	}

	else if(!fEsFecha(p_fecha))

	{

		pintarMensaje("ERROR_FECHA_NO_VALIDA");

		l_valida = false;

	}

	if(!l_valida && this.focus && this.type!="hidden")

		this.focus();

	return (this.value == '') || l_valida;

}

// *********************************************************************

//	Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un digito.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************



function fValidarDigito(p_valor)

{

//	para validar un numero con decimal, llamar a la funcion fValidarDigitoPositivoDecimal

	if(!p_valor) p_valor = (this.value ? this.value : "");

	l_valido = fEsNumerico(p_valor);

	if(!l_valido) {

		pintarMensaje("ERROR_CAMPO_NUMERO", this.descripcion ? this.descripcion :"");

	}

	if(!l_valido && this.focus && this.type!="hidden")

		this.focus();

	return l_valido;

}

// *********************************************************************

//	Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un texto.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************



function fValidarTexto(p_texto)

{

	if(!p_texto) p_texto = (this.value ? this.value : "");

	l_valido = fEsTextoValido(p_texto);

	if(!l_valido) {

		pintarMensaje("ERROR_CAMPO_TEXTO", this.descripcion ? this.descripcion : "");

	}

	if(!l_valido && this.focus && this.type!="hidden")

		this.focus();

	return l_valido;

}


// *********************************************************************

//	Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida si un  numero del tipo 5,67 es un porcentage correcto

//	Entrada : el nombre del campo a validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************



function fValidarPorcentage(p_elemento)

{

	l_valido = true

	if(!p_elemento) p_elemento= (this.value ? this.value : "");

	if(fValidarDigitoPositivoDecimal(p_elemento))

	{

		

		var l_x = p_elemento;

		l_x = l_x.replace(/\,/,".")

		if(l_x > 100 || l_x == 0)

		{

			l_valido = false

			pintarMensaje("ERROR_MAYOR_QUE_CIEN");

			

		}

	}else

		l_valido = false

	

	if(!l_valido && this.focus && this.type!="hidden")

			this.focus();

	return l_valido

}

// *********************************************************************

//	Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un telefono.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************



function fValidarTelefono(p_telefono)

{

	if(!p_telefono) p_telefono= (this.value ? this.value : "");

	l_valido = fEsTelefonoValido(p_telefono);

	if(!l_valido)

	{

		pintarMensaje("ERROR_TELEFONO_NO_VALIDO");

	}

	if(!l_valido && this.focus && this.type!="hidden")

		this.focus();

	return l_valido;

}

// *********************************************************************

//	Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un numero con al maximo 2 decimales.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fValidarDigitoPositivoDecimal(p_valor)

{

	if(!p_valor) p_valor= (this.value ? this.value : "");

	l_valido = fEsDigitoPositivoDecimal(p_valor);

	if(!l_valido)

	{	

		pintarMensaje("ERROR_NUMERO_DECIMAL");

	}

	if(!l_valido && this.focus && this.type!="hidden")

		this.focus();

	return l_valido;

}



// *********************************************************************

//	Libreria: Funciones de Validacion, version 2.0.

//	Funcion que valida un numero con al maximo 2 decimales.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fValidarMoneda(p_valor)

{

	if(!p_valor) p_valor= (this.value ? this.value : "");

	l_valido = fEsMoneda(p_valor);

	if(!l_valido)

	{	

		pintarMensaje("ERROR_NUMERO_2_DECIMALES");

	}

	if(!l_valido && this.focus && this.type!="hidden")

		this.focus();

	return l_valido;

}





// *********************************************************************

//	Libreria: Funciones de Validacion, version 2.0.

//	Funcion que valida que un campo posea el formato de un cambio de divisas.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fValidarCambio(p_valor)
{
	if(!p_valor) p_valor= (this.value ? this.value : "");
	var pos = p_valor.indexOf(".");
	
	if(pos != -1)
	{
		p_valor = p_valor.replace(".",",");
	}
	
	pos = p_valor.indexOf(",");
	if(pos > 4)
	{
		pintarMensaje("ERROR_NUMERO_ENTERA");
		l_valido = false;
	}else{
		if(pos!=-1)
		{
			var texto = p_valor.substring(pos+1,p_valor.length);

			if(texto.length>6 || isNaN(texto))
			{
				pintarMensaje("ERROR_NUMERO_6_DECIMALES");		
				l_valido = false;	
			}else{
				l_valido = true;
			}
		}
	}
	if(!l_valido && this.focus && this.type!="hidden")
		this.focus();
	return l_valido;
	
}







// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que comprueba si un texto es una dirrecion eMail

//	Entrada : la hora que hay que validar

//	Salida :  True si valida, false si no

// *********************************************************************

function fValidarEmail(p_valor)

{

	if(!p_valor) p_valor= (this.value ? this.value : "");

	l_valido = /^[0-9a-zA-Z._-]+@[0-9a-zA-Z._-]+$/.test(p_valor);



	if (!l_valido) {

		pintarMensaje("ERROR_FORMATO_EMAIL");

	}

	if(!l_valido && this.focus && this.type!="hidden")

		this.focus();

	return l_valido;

}



// *********************************************************************

//	Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un numero con formato hora.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fValidarHora(p_valor)

{

	if(!p_valor) p_valor= (this.value ? this.value : "");

	l_valido = fEsHoraValida(p_valor);

	if(!l_valido)

	{	

		pintarMensaje("ERROR_FORMATO_HORA");

	}

	if(!l_valido && this.focus && this.type!="hidden")

		this.focus();

	return l_valido;

}



// *********************************************************************

// Libreria: Funciones de Validacion, version 2.0.

//	Funcion que valida los campos obligatorios de un formulario

//	Entrada : los campos que son obligatorios en un formulario formulario que hay que validar

//	Salida :  True si valido, false si no

// *********************************************************************

function fEsCampoInformado(p_campo) {
	switch (p_campo.type) {
		case "textarea":

		case "text":
			l_valido = (p_campo.value.length>0)&&!(/^\s+$/.test(p_campo.value));

			break;
		case "hidden":
			l_valido = (p_campo.value.length>0)&&!(/^\s+$/.test(p_campo.value));

			break;
		case "select-one":

		case "select-multiple":
			l_valido = fEsComboSeleccionado(p_campo);

			break;

		default:

			l_valido = true;

	}

	return l_valido;

}









// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida los campos obligatorios de un formulario

//	Entrada : los campos que son obligatorios en un formulario formulario que hay que validar

//	Salida :  True si valido, false si no

// *********************************************************************

function fValidarCamposObligatorios(p_alert) 

{

	l_esValidado = true;

	switch(this.type) 

	{

		case "text":

			l_esValidado = this.value != ""; 

			break;

		case "hidden":

			l_esValidado = this.value != ""; 

			break;

		case "textarea":

			l_esValidado = this.value != ""; 

			break;

		case "select-one": 

			l_esValidado = fEsComboSeleccionado(this);

			break;

		case "select-multiple": 			

			l_esValidado = this.length != 0; 

			break;

		case "radio": 

			for(var l_indiceRadio=this.length-1;l_indiceRadio>=0;l_indiceRadio--) 

			{

				this.checked = this.checked || this[l_indiceRadio].checked;

			} 

			l_esValidado = this.checked;

			break;

		case "checkbox": 

			l_esValidado = this.checked != -1; 

			break;

	}

	if (!l_esValidado && !p_alert)

	{

		pintarMensajeLibre(getMensaje(25) + this.descripcion + getMensaje(26));

		if(this.type!="hidden")

			this.focus();

	}

	return(l_esValidado);

}



// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que comprueba que un valorno es nulo

//	Entrada : valor

//	Salida :  True si valido, false si no

// *********************************************************************

function fNoEsNulo(valor)

{

	if(valor==""||valor=="undefined")

		return false;

	else

		return true;

}

function fValidarPormilaje(p_elemento)
{
	l_valido = true
	if(!p_elemento) p_elemento= (this.value ? this.value : "");
	if(fValidarDigitoPositivoDecimal(p_elemento))
	{
		
		var l_x = p_elemento;
		l_x = l_x.replace(/\,/,".")
		if(l_x > 1000 || l_x == 0)
		{
			l_valido = false
			pintarMensaje("ERROR_MAYOR_QUE_MIL");
			
		}
	}else
		l_valido = false
	
	if(!l_valido && this.focus && this.type!="hidden")
			this.focus();
	return l_valido
}

// *********************************************************************
// Libreria: Funciones de Validacion, version 1.0.
//	Funcion que comprueba si un texto es una dirrecion eMail
//	Entrada : valor
//	Salida :  True si valida, false si no
// *********************************************************************
function fEsEmail(p_valor)
{
	if(!p_valor) p_valor= (this.value ? this.value : "");
	l_valido = /^[0-9a-zA-Z._-]+@[0-9a-zA-Z._-]+\.[0-9a-zA-Z._-]+$/.test(p_valor);

	if(!l_valido && this.focus && this.type!="hidden")
		this.focus();
	return l_valido;
}

/**************************************************************************/
/******************  Funcion que me valida los digitos de          ******************/
/******************  control de una cuenta bancaria   ******************/
/**************************************************************************/

function validaDG(entidad,sucursal,DG,cuenta)
{
 banco=entidad+sucursal;

  pesos1= new Object(8);
  pesos1[0]='6';
  pesos1[1]='3';
  pesos1[2]='7';
  pesos1[3]='9';
  pesos1[4]='10';
  pesos1[5]='5';
  pesos1[6]='8';
  pesos1[7]='4';

  pesos2= new Object(10);  
  pesos2[0]='6';
  pesos2[1]='3';
  pesos2[2]='7';
  pesos2[3]='9';
  pesos2[4]='10';
  pesos2[5]='5';
  pesos2[6]='8';
  pesos2[7]='4';
  pesos2[8]='2';
  pesos2[9]='1';

  result=0;
  cont=0;
 
  for (i=7;i>=0;i--)  
   {
     result=result+banco.charAt(i)*pesos1[cont];
     cont++;
   }             

  resta=11-(result%11);
  digito='';
 if (resta==11)
       digito=digito+0;
 else if (resta==10)
         digito=digito+1;
     else 
           digito=digito+resta;
 

  corriente=cuenta;
  cont2=0;
  result2=0;

  for (j=9;j>=0;j--)
   {
     result2=result2+corriente.charAt(j)*pesos2[cont2];
     cont2++;
   }

  resta2=11-(result2%11);

 if (resta2==11)
       digito=digito+0;

 else if (resta2==10)
         digito=digito+1;
      else 
           digito=digito+resta2;
 
 if (digito==DG)
      return(true);
 else
      return(false);

}  

// *********************************************************************

// Libreria: Funciones de Validacion, version 1.0.

//	Funcion que valida un texto.

//	Entrada : el String que hay que validar

//	Salida :  True si es valido, false si no es valido

// *********************************************************************

function fEsNombreValido(checkStr)

{
	var bool = false;

	if(!checkStr) checkStr = (this.value ? this.value : "");
	
	return fEsTextoValido(checkStr) && checkStr.length>3 && checkStr.substring(0,1)!=" ";

}


/*
Una lista tiene seleccionados a lo sumo 5 valores
*/
function fMaxSelValues(campo,maxValues){
	cont = 0;
	for(j=0; j<campo.options.length; j++){
		if(campo.options[j].selected) cont++;
		if(cont > maxValues){
			return false;
			break;
		}
	}
	return true;		
}

function devolverTrue(){
	return true;
}



