	/*	Modulo: 				Validaciones javascript 3.0

		Objetivo:				Realizar las validaciones javascript para páginas HTML

		Autor:					Alejandro Aguilar Puch

		Fecha de Creación:	 	XX-11-2001

		Fecha de modificacion:	14-04-2001

	*/



	//valida que solo sean numeros

	function boValidateNumbers(stString)

	{

		return !/\D/.test(stString);

	}

	 //valida que solo sean letras de la a A la Z

	function boValidateAlpha(stString)

	{

		return !/[^a-zA-Z\s\&\#\-\_\ñ\Ñ\@\n]/.test(stString);

	}

	//valida que solo sean letras o numeros

	function boValidateAlphaNumeric(stString)

	{

		return !/[^a-zA-Z0-9\.\,\s\&\#\-\_\ñ\Ñ\@\n]/.test(stString);

	}

	function boValidateAlphaNumeric1(stString)

	{

		return !/[^a-zA-Z0-9\n]/.test(stString);

	}

	

	//Validar que sea nombre de archivo Unix

	function boValidateFileNameUnix( pstString )

	{

		return /^\/?([A-Z0-9_]+\/)*[A-Z0-9_]+\.[A-Z0-9_]+$/gi.test( pstString );

	}

	//Validar que sea nombre de archivoWindows

	function boValidateFileNameWindows( pstString )

	{

		return /^\\?([A-Z0-9_]+\\)*[A-Z0-9_]+\.[A-Z0-9_]+$/gi.test( pstString );

	}



	//Validar un textArea

	function boValidateTA ( stString )

	{

		return !/[^a-zA-Z0-9áéíóúÁÉÍÓÚñÑ\s\&\¿\?\#\-\_\@\n]/.test(stString);

	}

	

	//Validar un userName (alfanumérico con bajo_guion)

	function boValidateUserName(stString)

	{

		return /[a-z0-9_]/gi.test(stString);

	}



	// valiad que sea un numero de 10 digitos (Telefonos)

	function boValidateTelefono (stString)

	{

		return ( stString.length == 10 ) && ( boValidateNumbers(stString) )

	}

	

	 //valida que sea dinero [$]99.99

	function boValidateMoney(stNumber)

	{

		return /^\$?[0-9]*(\.[0-9]{1,2})?$/.test(stNumber);

	}

	

	 // valida que un Email

	function boValidateEMail( stEMail )

	{

		return 	/^[A-Z0-9\_\.\-]+\@[A-Z0-9]*(\.[A-Z0-9]+)+$/gi.test(stEMail);

	}

	

	 // utiliza las funciones de validacion

	function boValidate(tfText, fnFunction)

	{

		var inKeyCode	= document.all ? event.keyCode : e.which;

		var chCharKey 	= String.fromCharCode(inKeyCode);

		var stString 	= tfText.value + chCharKey;

		return fnFunction(stString);

	}

	

	 // valida que un campo no este vacio

	function boValidateEmpty( stCadena )

	{

		return !/\S/.test( stCadena );

	}

	

	 // codifica un valor para el URL

	function URL_Encode(stCadena)

	{

		return escape(stCadena);

	}

	

	// decodifica un valor del URL

	function URL_Decode(stCadena)

	{

		return escape(stCadena);

	}

	

	// Validacion de RFC

	function boValidateRFC ( pstRFC )

	{

		val1 = /^[A-Z]{4,4}[0-9]{6,6}[A-Z0-9]{3,3}$/gi.test(pstRFC);

		val2 = /^[A-Z]{3,3}[0-9]{6,6}[A-Z0-9]{3,3}$/gi.test(pstRFC);

		return val1 | val2;

	}

	

	//Validacion de Hora

	function boValidateHora(pstHora)

	{

		lArr = pstHora.split(":");

		

		if(lArr.length != 2)

			return false;

	

		hora 	= lArr[0] * 1;

		minutos	= lArr[1] * 1;

				

		if(hora < 0 || hora > 23 )

			return false;



		if(minutos < 0 || minutos >59 || lArr[1].length != 2)

			return false;

		

		return true;

	}



	// Deshabilita un boton de la forma

    function fnDeshabilita(forma, boton, valor)

    {

        boton.disabled = true;

        if(valor == true)

        {

            forma.submit();

            return true;

        }

            return false;

     }



	function boValidateAlphaNumericUsuario(stString)

	{

		return !/[^a-zA-Z0-9\-\_]/.test(stString);

	}



	function boValidateAlphaNumericUsuarioPWD(stString)

	{

		return !/[^a-zA-Z0-9\-\_\&\/\(\*\)\%\$\#]/.test(stString);

	}





