//Objetivo		: Validar a data digitada
//Parametro		: pDia = campo que contem o dia, pMes = Campo que contem o mes, pAno = campo que contem o ano
//Por			: Marcelo costa
function IsDate(pDia, pMes, pAno)
{
	var dia = '';
	var mes = '';
	var ano = '';

	//Recuperando partes da Data
	dia = pDia.value;
	mes = pMes.value;
	ano = pAno.value;
		
	if(dia == '00' || dia == '')
	{
		alert('Dia Invalido.');
		pDia.focus();
		return false;
	}
		
	if(mes > '12' || mes == '00' || mes == '')
	{
		alert('Mes Invalido.');
		pMes.focus();
		return false;
	}
		
	if (ano < '0200' || ano == '' || ano.length < 4)
	{
		alert('Ano Invalido.');
		pAno.focus();
		return false;
	}

	if (mes == '01' || mes == '03' || mes == '05' || mes == '07' || mes == '08' || mes == '10' || mes == '12')
	{
		if (dia > '31')
		{
			alert('Dia Invalido.');
			pDia.focus();
			return false;
		}
	}

	if(mes == '04' || mes == '06' || mes == '09' || mes == '11')
	{
		if (dia > '30')
		{
			alert('Dia Invalido.');
			pDia.focus();
			return false;
		}
	}

	if(mes == '02')
	{
		if((parseInt(ano) % 4) == 0)
		{
			if (dia > '29')
			{
				alert('Dia Invalido.');
				pDia.focus();
				return false;
			}
		}
		else
		{
			if (dia > '28')
			{
				alert('Dia Invalido.');
				pDia.focus();
				return false;
			}
		}
	}
		
	return true;
}

//-----------------------------------------------------------------------------------------------------------------
//Objetivo		: Validar se foi digitado apenas numeros
//Parametro		: pCampo = campo a ser validado
//Por			: Marcelo Costa
function IsNumber(pCampo)
{
	var pExp = /[ÁÉÍÓÚÀÈÌÒÙÃÕÇABCDEFGHIJLMNOPQRSTUVXYWZK.,<>;:{}()!@#$%^&*~/`'"_=+|]/;
	var pDados = '';
	
	//Transformando em Maiuscula
	pDados = pCampo.value.toUpperCase();
	
	//Verificando se possui alguma letra dentro do campo
	if (pDados.search(pExp)!= -1)
	{
		alert('Valor invalido');
		pCampo.focus();
		return false;
	}
	
	return true;
}
//-----------------------------------------------------------------------------------------------------------------
//Objetivo		: Para a digitação e muda o foco 
//Parametros	: Ultilizar no onKeyUp do campo
//Por			: Marcelo Costa

function Mostra(quem, tammax) { VerifiqueTAB=true;
if ( (quem.value.length == tammax) && (VerifiqueTAB) ) { 
var i=0,j=0, indice=-1;
for (i=0; i<document.forms.length; i++) { 
for (j=0; j<document.forms[i].elements.length; j++) { 
if (document.forms[i].elements[j].name == quem.name) { 
indice=i;
break;
} 
} 
if (indice != -1) break; 
} 
for (i=0; i<=document.forms[indice].elements.length; i++) { 
if (document.forms[indice].elements[i].name == quem.name) { 
while ( (document.forms[indice].elements[(i+1)].type == "hidden") &&
(i < document.forms[indice].elements.length) ) { 
i++;
} 
document.forms[indice].elements[(i+1)].focus();
VerifiqueTAB=false;
break;
} 
} 
} 
}
//-----------------------------------------------------------------------------------------------------------------
//Objetivo		: Para a digitação e muda o foco 
//Parametros	: Ultilizar no onFocus do campo
//Por			: Marcelo Costa

function PararTAB(quem) { VerifiqueTAB=false; }
//-----------------------------------------------------------------------------------------------------------------
//Objetivo		: Verificar se o campo aceita o conteudo que esta sendo digitado
//Parametros	: Ultilizar no Onkeypress
//Por			: Marcelo Costa
function CheckField(pField)
{
//Era a  function ChecarTAB() { VerifiqueTAB=true; } 
//que era ultilizada no Onkeypress para mudar o foco
{ VerifiqueTAB=true; }
	var Key;
	var KeyChar;
	var TamCampo = pField.value.length;
	
	Key = window.event.keyCode;		
				
	//Identificando tecla pressionada
	KeyChar = String.fromCharCode(Key);
	
	if ( Key==null || Key==0 || Key==8 || Key==9 || Key==13 || Key==27 || Key==20 || Key==35 || Key==36 || Key==37 || Key==38 || Key==40 ) 
	{
		return true;
	}
	else
	{
		//Verificando o tipo do campo
		switch (pField.Content.toUpperCase())
		{
			case 'MAI': //Maiuscula
				//não permito Aspas simples e nem duplas
				if (Key==192 || Key==39 || Key==34) 
				{
					return false;
				}
				else 
				{
					if((TamCampo + 1) <= pField.maxLength)
					{	
						KeyChar = KeyChar.toUpperCase();
						pField.value = pField.value + KeyChar;
						return false;
					}
				}
				break;
				
			case 'MIN': //Minuscula
					
				//não permito Aspas simples e nem duplas
				if (Key==192 || Key==39 || Key==34) 
				{
					return false;
				}
				else 
				{
					if((TamCampo + 1) <= pField.maxLength)
					{
						KeyChar = KeyChar.toLowerCase();
						pField.value = pField.value + KeyChar;
						return false;
					}
				}
				break;
					
			case 'STR': //String
					
				//não permito Aspas simples e nem duplas
				if (Key==192 || Key==39 || Key==34) 
				{
					return false;
				}
				break;
					
			case 'NUM': //Numeric
				
				//Se ja existir a virgula nao deixo por outra
				if (pField.value.indexOf(".") > -1 && Key==46)
				{
					return false;
				}
					
				//virgula
				else if (Key==46) 
				{
					return true;
				}
				else if ( ("0123456789.").indexOf(KeyChar) > -1 ) 
				{
					return true;
				}
				else
				{
					return false;
				}
				break;
					
			case 'INT': //Integer
					
				if ( ("0123456789").indexOf(KeyChar) > -1 ) 
				{
					return true;
				}
				else
				{
					return false;
				}
				break;
					
			case 'DAT': //Date
				
				break;
				
			case 'CHAPA': //Integer
					
				if ( ("0123456789/").indexOf(KeyChar) > -1 ) 
				{
					return true;
				}
				else
				{
					return false;
				}
				break;
		}
	}
}
//-----------------------------------------------------------------------------------------------------------------
//Objetivo		: Formatar numeros em moeda
//Parametros	: -
//Por			: Marcelo Costa
function Limpar(valor, validos) {
// retira caracteres invalidos da string
var result = "";
var aux;
for (var i=0; i < valor.length; i++) {
aux = validos.indexOf(valor.substring(i, i+1));
if (aux>=0) {
result += aux;
}
}
return result;
}


//Formata número tipo moeda usando o evento onKeyDown
//onKeydown="FormataValor(this,10,event)"
function FormataValor(campo,tammax,teclapres) {
var tecla = teclapres.keyCode;
vr = Limpar(campo.value,"0123456789");
tam = vr.length;
if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

if (tecla == 8 ){ tam = tam - 1 ; }

if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
if ( tam <= 2 ){ 
campo.value = vr ; }
if ( (tam > 2) && (tam <= 5) ){
campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - 2, tam ) ; }
if ( (tam >= 6) && (tam <= 8) ){
campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ; }
if ( (tam >= 9) && (tam <= 11) ){
campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ; }
if ( (tam >= 12) && (tam <= 14) ){
campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ; }
if ( (tam >= 15) && (tam <= 17) ){
campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ;}
} 

}