function inibe_char(e){
	
	tecla = e.which;
	if (tecla == null)
	   tecla = e.keyCode;
	   
	switch(tecla){
		case 8:return true; 
		case 9:return true; 
		case 13:return true;
	}

	if ((tecla >= 48 && tecla <= 57))
	   return true;
	return false;
	
}

function validaHora(hora,campo){ 

	var hrs = (hora.substring(0,2)); 
	var mnt = (hora.substring(3,5)); 
	var status = true;
	
	if(hora != "")
		if ((hrs < 00 ) || (hrs > 23) || ( mnt < 00) ||( mnt > 59)){
			status = false;
		}
		
	if(!status){
	 	alert("Hora inválida!"); 
		document.getElementById(campo).value='';;
		document.getElementById(campo).focus();
		return false;
	}
	
}

function validaData(data, campo) { 

	var dia = (data.substring(0,2)); 
	var mes = (data.substring(3,5)); 
	var ano = (data.substring(6,10)); 

	var status = true; 
	// verifica o dia valido para cada mes 
	if (data != ""){
		
		if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) 
			status = false; 
	
		// verifica se o mes e valido 
		if (mes < 01 || mes > 12 ) 
			status = false;  
	
		// verifica se e ano bissexto 
		if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) 
			status = false; 
	}

	if(!status){
	 	alert("Data inválida!"); 
		campo.value='';;
		campo.focus();
		return false;
	}
	
	return true;
	
} 

function validaPeriodo(dataIni, dataFim){
	
	
	//formatar dataIni de dd/mm/aaaa para aaaammdd
	diaIni = dataIni.substring(0,2);
	mesIni = dataIni.substring(3,5);
	anoIni = dataIni.substring(6,10);
	
	strIni = anoIni+mesIni+diaIni;
	strIni = strIni.trim();
	//formatar dataIni de dd/mm/aaaa para aaaammdd
	diaFim = dataFim.substring(0,2);
	mesFim = dataFim.substring(3,5);
	anoFim = dataFim.substring(6,10);
	
	strFim = anoFim+mesFim+diaFim;
	strFim = strFim.trim();
	
		
	if(parseInt(strFim) < parseInt(strIni)){
		return false;
	}else{
		return true;
	}
}

function formatarCampo(src,mask,e,limite) {
    
	var key = '';
	var i = src.value.length;
	var saida = mask.substring(0,1);
	var texto = mask.substring(i)
    var strCheck = '0123456789abcdefghi`';
	var whichCode = (window.Event) ?e.which:e.keyCode;
	
	key = String.fromCharCode(whichCode);
	
	switch(whichCode){
		case 8:return true; 
		case 9:return true; 
		case 13:return true;
	}

    if (strCheck.indexOf(key) == -1){
        return false;  //NÃO E VALIDO
    }
	
    
    if(i>=limite){
        return false; //impede de digitar
    }
	
	if (texto.substring(0,1) != saida){
		src.value += texto.substring(0,1);
	}
	
}


function verificaCampo(src, e, limite, padrao) {

	var re = new RegExp(padrao);
	var key = '';
	var i = src.value.length;
	var whichCode = (window.Event) ? e.which : e.keyCode;
	
	key = String.fromCharCode(whichCode);
	if (!key.match(re)){
        return false;  //NÃO E VALIDO
    }   
    if(i>=limite){
        return false;    //impede de digitar
    }
	return true;
}

function pausecomp(millis)
{
	var date = new Date();
	var curDate = null;

	do { 
		curDate = new Date(); 
	}
	while(curDate-date < millis);
} 


//diferença de duas datas passadas como string ("dd/mm/aaaa").  Retorn nº de dias
function diasDecorridos(dataIni, dataFim) {
	

	//formatar dataIni de dd/mm/aaaa para o tipo Date
	dataIni = dataIni.split("/");
	var diaIni = dataIni[0];
	var mesIni = dataIni[1] - 1;
	var anoIni = dataIni[2];
	var dt1 = new Date(anoIni, mesIni, diaIni);
	
	
	//formatar dataFim de dd/mm/aaaa para o tipo Date
	dataFim = dataFim.split("/");
	var diaFim = dataFim[0];
	var mesFim = dataFim[1] - 1;
	var anoFim = dataFim[2];
	var dt2 = new Date(anoFim, mesFim, diaFim);

		
	// variáveis auxiliares
	var minuto = 60000; 
	var dia = minuto * 60 * 24;
	var horarioVerao = 0;

	// ajusta o horario de cada objeto Date
	dt1.setHours(0);
	dt1.setMinutes(0);
	dt1.setSeconds(0);
	dt2.setHours(0);
	dt2.setMinutes(0);
	dt2.setSeconds(0);

	// determina o fuso horário de cada objeto Date
	var fh1 = dt1.getTimezoneOffset();
	var fh2 = dt2.getTimezoneOffset();

	// retira a diferença do horário de verão
	if(dt2 > dt1){
		horarioVerao = (fh2 - fh1) * minuto;
	} 
	else{
		horarioVerao = (fh1 - fh2) * minuto;
	}

	var dif = Math.abs(dt2.getTime() - dt1.getTime()) - horarioVerao;
	
	
	return Math.ceil(dif / dia);
}


// seta o foco para o primeiro elemento do form
function setaFocus(){

	var form = document.getElementsByTagName("form");
	var elem = form[0].elements;
	for (i = 0; i < elem.length; i++) {
		
		if (elem[i].disabled == false){
			if (elem[i].type == 'text' || elem[i].type == 'select-one'){
				elem[i].focus();
				break;
				
			}
		}
		
	}
	
}



String.prototype.trim = function()
{
return this.replace(/^\s*/, "").replace(/\s*$/, "");
}
