/*** 
* Descrição.: formata um campo do formulário de 
* acordo com a máscara informada... 
* Parâmetros: - objForm (o Objeto Form) 
* - strField (string contendo o nome 
* do textbox) 
* - sMask (mascara que define o 
* formato que o dado será apresentado, 
* usando o algarismo "9" para 
* definir números e o símbolo "!" para 
* qualquer caracter... 
* - evtKeyPress (evento) 
* Uso.......: <input type="textbox" 
* name="xxx"..... 
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);"> 
* Observação: As máscaras podem ser representadas como os exemplos abaixo: 
* CEP -> 99.999-999 
* CPF -> 999.999.999-99 
* CNPJ -> 99.999.999/9999-99 
* Data -> 99/99/9999 
* Tel Resid -> (99) 999-9999 
* Tel Cel -> (99) 9999-9999 
* Processo -> 99.999999999/999-99 
* C/C -> 999999-! 
* E por aí vai... 
***/

function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode; }
else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
}

sValue = objForm[strField].value;

// Limpa todos os caracteres de formatação que
// já estiverem no campo.
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ":", "" );
sValue = sValue.toString().replace( ":", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( " ", "" );
fldLen = sValue.length;
mskLen = sMask.length;

i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;

while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == ":"))

if (bolMask) {
sCod += sMask.charAt(i);
mskLen++; }
else {
sCod += sValue.charAt(nCount);
nCount++;
}

i++;
}

objForm[strField].value = sCod;

if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...
return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
else { // qualquer caracter...
return true;
} }
else {
return true;
}
}
//Fim da Função Máscaras Gerais

function PulaCampo(DocForm,ProxCampo,Qtde)
	{
		if(DocForm.value.length == Qtde)
			{
				ProxCampo.focus();
			}
	}
	
function VerificaData(Campo)
	{
		var Data = new Date();
		var Dia = Data.getDate();
		var Mes = Data.getMonth();
		var Ano = Data.getYear();
		Mes = Mes;
		
		var DataCampo  = Campo;
		var DataCampo2 = DataCampo.split('/');
		var Dia1 = DataCampo2[0];
		var Mes1 = DataCampo2[1];
		var Ano1 = DataCampo2[2];
		var Data1 = new Date(Ano1,--Mes1,Dia1);
		var Dia1 = Data1.getDate();
		var Mes1 = Data1.getMonth();
		var Ano1 = Data1.getYear();
		var ok = 1;
		
		
		if(Campo != '')
			{
			if(parseInt(Ano1) < parseInt(Ano))
				ok = 0;
			else if(parseInt(Ano1) == parseInt(Ano))
				{
					if(parseInt(Mes1) < parseInt(Mes))
						ok = 0;
					else if(parseInt(Mes1) == parseInt(Mes))
						{
							if(parseInt(Dia1) <= parseInt(Dia))
								ok = 0;
						}
				}
			
			
				if(ok == 1)
					{
					return 1;
					}
				else
					{
					return 0;
					}
				
			}
	}
	
	
function VerificaData2(CampoDe,CampoAte)
	{
		var Data = CampoDe;
		var DataCampoDe = Data.split('/');
		var Dia = DataCampoDe[0];
		var Mes = DataCampoDe[1];
		var Ano = DataCampoDe[2];
		var Data2 = new Date(Ano,--Mes,Dia);
		var Dia = Data2.getDate();
		var Mes = Data2.getMonth();
		var Ano = Data2.getYear();
		
		var DataCampo  = CampoAte;
		var DataCampo2 = DataCampo.split('/');
		var Dia1 = DataCampo2[0];
		var Mes1 = DataCampo2[1];
		var Ano1 = DataCampo2[2];
		var Data1 = new Date(Ano1,--Mes1,Dia1);
		var Dia1 = Data1.getDate();
		var Mes1 = Data1.getMonth();
		var Ano1 = Data1.getYear();
		var ok = 1;
		
		
		if(CampoDe != '' && CampoAte != '')
			{
			if(parseInt(Ano) < parseInt(Ano1))
				ok = 0;
			else if(parseInt(Ano) == parseInt(Ano1))
				{
					if(parseInt(Mes) < parseInt(Mes1))
						ok = 0;
					else if(parseInt(Mes) == parseInt(Mes1))
						{
							if(parseInt(Dia) <= parseInt(Dia1))
								ok = 0;
						}
				}
			
			
				if(ok == 1)
					{
					return 1;
					}
				else
					{
					return 0;
					}
				
			}
	}
	
	
function comparaHora(horaInicio, horaFim){
//DECLARAÇÃO DE VARIÁVEIS
var iHoraInicio, iHoraFim;
var iMinutoInicio, iMinutoFim;
var sResultado;
var bEncerrado;

//SEPARA A HORA
iHoraInicio = horaInicio.substring(0,2);
iHoraFim = horaFim.substring(0,2);

//SEPARA O MINUTO
iMinutoInicio = horaInicio.substring(3,5);
iMinutoFim = horaFim.substring(3,5);

bEncerrado = false;

//COMPARA OS VALORES
//HORA
if (iHoraInicio != iHoraFim){
if (iHoraInicio > iHoraFim){
sResultado = "Hora inicial é maior";
bEncerrado = true;
return 1;
}
else{
sResultado = "Hora final é maior";
bEncerrado = true;
return 0;
}
}

//SE NÃO RESOLVEU NA HORA, VERIFICA OS MINUTOS
if (bEncerrado == false && (iMinutoInicio != iMinutoFim)){
if (iMinutoInicio > iMinutoFim){
sResultado = "Hora inicial é maior";
bEncerrado = true;
return 1;
}
else{
sResultado = "Hora final é maior";
bEncerrado = true;
return 0;
}
}

//SE bEncerrado FOR FALSE, É PORQUE AS HORAS SÃO IGUAIS
if (!bEncerrado)
sResultado = "Horas iguais";
return 0;

//IMPRIME O RESULTADO
//alert(sResultado);
}
