<!--
//  ###################
//  #    INTERFACE    #
//  ###################
//  
//  limitaCampo(campo)
//  formatarDado(campo,tammax,pos,[char])
//  formatarValor(campo,tammax,teclapres)
//  campoVazio(campo)
//  inverteData(campo,campo2)
//  formatarData(campo)
//  formatarHora(campo)
//  formatarProcesso(campo)
//  findNextControl(campo)
//  saltaCampo(campo,tammax)
//  trataData(campo)
//  eData(texto)
//  formatarCNPJ(campo)
//  function formatarCPF(campo)
//  function checkbox
//  ###################

//  Versão do Browser

function numberKeyDown(){	
	var key = event.keyCode;
	//alert(key);
	if ((key < 48 || key > 57) && (key!=13 || key!=27 || key!=45 || key!=41 || key!=40  )){
		alert('Digite apenas números.');
		event.keyCode = 0;
		return;
	}
}



var Ver4 = parseInt(navigator.appVersion) >= 4
var IE4 = ((navigator.userAgent.indexOf("MSIE") != -1) && Ver4)

	function Valida_Datas(data1,data2){
			var inicial = new Date(data1.substr(6,4),data1.substr(3,2)-1,data1.substr(0,2));
			var finnal = new Date(data2.substr(6,4),data2.substr(3,2)-1,data2.substr(0,2));
			if (inicial<= finnal)
				return true;
			else
				return false;
		}
//  CONTADOR PARA OBJETO TEXTAREA
function limitaCampo(campo){
	var tamanho = campo.value.length;
	var tex = campo.value;
	if (tamanho >= 1199) {
		campo.value = tex.substring(0,1199); 
	}
	return true;
}

//  FORMATA UMA STRING
function formatarDado(campo,tammax,pos,char){
	var tecla = event.keyCode;
	vr = campo.value;
	vr = vr.replace( "-", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ":", "" );
	tam = vr.length ;
	
	if (char == ''){
		char = '-';
	}

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){ tam = tam - 1 ; }
			
	if ( tecla == 8 || tecla == 88 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){
	 		campo.value = vr ;}
		if ( tam > pos && tam <= tammax ){
			campo.value = vr.substr( 0, tam - pos ) + char + vr.substr( tam - pos, tam );}
	}
}

//  FORMATA UMA STRING PARA VALOR DE MOEDA
function formatarValor(campo,tammax){    
	var tecla = event.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	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 ) ;}
	}
}

function formataValor(campo) {
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;

	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 <= 18) ){
 		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 ) ;}
 		
}

function formataNumerico(campo) {

	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;
}

function filtraCampo(campo){
	var s = "";
	var cp = "";
	vr = campo.value;
	tam = vr.length;
	for (i = 0; i < tam ; i++) {  
		if (vr.substring(i,i + 1) != "/" && vr.substring(i,i + 1) != "-" && vr.substring(i,i + 1) != "."  && vr.substring(i,i + 1) != "," ){
		 	s = s + vr.substring(i,i + 1);}
	}
	campo.value = s;
	return cp = campo.value
}


function formatarValor4(campo,tammax){    
	var tecla = event.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	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 <= 4 ){ 
	 		campo.value = vr ; }
	 	if ( (tam > 4) && (tam <= 7) ){
	 		campo.value = vr.substr( 0, tam - 4 ) + ',' + vr.substr( tam - 4, tam ) ; }
	 	if ( (tam >= 8) && (tam <= 10) ){
	 		campo.value = vr.substr( 0, tam - 7 ) + '.' + vr.substr( tam - 7, 3 ) + ',' + vr.substr( tam - 4, tam ) ; }
	 	if ( (tam >= 11) && (tam <= 13) ){
	 		campo.value = vr.substr( 0, tam - 10 ) + '.' + vr.substr( tam - 10, 3 ) + '.' + vr.substr( tam - 7, 3 ) + ',' + vr.substr( tam - 4, tam ) ; }
	 	if ( (tam >= 14) && (tam <= 16) ){
	 		campo.value = vr.substr( 0, tam - 13 ) + '.' + vr.substr( tam - 13, 3 ) + '.' + vr.substr( tam - 10, 3 ) + '.' + vr.substr( tam - 7, 3 ) + ',' + vr.substr( tam - 4, tam ) ; }
	 	if ( (tam >= 17) && (tam <= 19) ){
	 		campo.value = vr.substr( 0, tam - 16 ) + '.' + vr.substr( tam - 16, 3 ) + '.' + vr.substr( tam - 13, 3 ) + '.' + vr.substr( tam - 10, 3 ) + '.' + vr.substr( tam - 7, 3 ) + ',' + vr.substr( tam - 4, tam ) ;}
	}
}

//  VERIFICA SE VALOR DO CAMPO É VAZIO
function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

// whitespace characters
var whitespace = " \t\n\r";

function isWhitespace (s)
{   

var i;
    // Is s empty?
    if (isEmpty(s)) return true;
    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}


//  VERIFICA SE VALOR DO CAMPO É VAZIO
function campoVazio(campo){
if (campo.value.length == 0 || isWhitespace(campo.value)) {
	alert('Campo ' + campo.title + ' é obrigatório.')
	campo.focus();
		return true;
}
return false;
}

//  INVERTE A DATA PARA MM/DD/YYY. RETORNANDO DUAS VARIAVEIS
function inverteData(campo,campo2){
    dia = campo.substring(0,2)
	mes = campo.substring(3,5)
	ano = campo.substring(6,10)
	dia2 = campo2.substring(0,2)
	mes2 = campo2.substring(3,5)
	ano2 = campo2.substring(6,10)
	data1 = new Date(ano,mes,dia)
	data2 = new Date(ano2,mes2,dia2)
	return(data1,data2)
}

//  FORMATA UMA STRING PARA DATA
function formatarData(campo){
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;

	if ( tam > 2 && tam < 5 )
		campo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
	if ( tam >= 5 && tam <= 10 )
		campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); 

}

function formatarDataMMAAAA(campo){
	var tecla = event.keyCode;
	vr = campo.value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length + 1;	
	
	if ( tecla != 9 && tecla != 8 )
	{
	if ( tam > 2 && tam < 5 )
		campo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
//	if ( tam >= 5 && tam <= 10 )
//		campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); 
	}
}
//  FORMATA UMA STRING PARA HORA
function formatarHora(campo){
	var tecla = event.keyCode;
	vr = campo.value;
	tam = vr.length + 1;	
	
	if ( tecla != 9 && tecla != 8 ){
		if ( tam > 2 && tam < 5 )
			campo.value = vr.substr( 0, tam - 2  ) + ':' + vr.substr( tam - 2, tam )};
}

// FORMATA STRING PARA PROCESSO : 00.0000.000000/YYYY-00
function formatarProcesso(campo){	
	var tecla = event.keyCode;
	//alert("Code:" + tecla);
	valor = campo.value;
	if ((tecla >= 49 && tecla <= 57) || (tecla >= 96 && tecla <= 105)){
		if (campo.value.length == 5){
			campo.value += '.';
		}
		if (campo.value.length == 12){
			campo.value += '/';
		}
	}
	else{
		if (tecla != 49 && tecla != 189 && tecla != 109 && tecla != 8 && 
			tecla != 37 && tecla != 39 && tecla != 46 && tecla != 13  &&
			tecla != 9){
			event.returnValue = 0;
		}			
	}
}

//  ENCONTRA O PROXIMO CAMPO
function findNextControl(campo){
	var prox = document.all(campo.sourceIndex + 1);
	var cont = 2;
	while (prox.tagName != 'SELECT' && prox.tagName != 'INPUT' && prox.tagName != 'TEXTAREA'){
		prox = document.all(campo.sourceIndex + cont);
		cont += 1;
	}
	return prox;
}

//  SALTA PARA O PRÓXIMO CAMPO
function saltaCampo(campo,tammax){
	var tecla = event.keyCode;
	var prox = FindNextControl(campo);
	while (prox.disabled){
		prox = FindNextControl(prox);
	}		
	
	vr = campo.value;
	if( tecla == 109 || tecla == 188 || tecla == 110 || tecla == 111 || tecla == 223 || tecla == 108 ){
		campo.value = vr.substr( 0, vr.length - 1 );}
	else{
	 	vr = vr.replace( "-", "" );
	 	vr = vr.replace( "/", "" );
	 	vr = vr.replace( ",", "" );
	 	vr = vr.replace( ".", "" );	 	
	 	tam = vr.length;
		
	 	if (tecla != 0 && tecla != 9 && tecla != 16 ){
			if ( tam == tammax ){				
				prox.focus() ;
			}
		}
	}
}

// TRATA O VALOR DE DATA
function tratarData(campo){
	if(!edata(campo.value)){
		campo.value='';
		campo.focus();
	}
}

//  VERIFICA SE TEXTO É UMA DATA NO FORMATO DD/MM/YYYY
function eData(texto){  
  if (texto.length == 0){return(true)};  
  if (texto.length == 10){     
    if (texto.substring(2,3) == "/"){			
		if (texto.substring(5,6) == "/"){
			dia = parseInt(texto.substring(0,2));
			if (dia == 0){dia = parseInt(texto.substring(1,2));}
			mes = parseInt(texto.substring(3,5));
			if (mes == 0){mes = parseInt(texto.substring(4,5));}
			ano = parseInt(texto.substring(6,10));			
			if (ano < 1900){
				alert("Ano inválido.");
				return (false);				
			}
			else if (mes > 12 || mes < 1){				
				alert("Mês inválido.");
				return (false);				
			}
			else if (dia > 31 || dia < 1){
				alert("Dia inválido.");
				return (false);
			}				 
			else
			{			
				if ((mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) && (dia > 31)){
					alert("Mês com apenas 31 dias.")
					return(false)
				}
				else if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && (dia > 30)){
					alert("Mês com apenas 30 dias.");
					return(false)
				}
				else if ((mes == 2) && (dia > 29)){
					alert("Mês com apenas 29 dias.");
					return(false)
				}
				else {return true}
			}
		} 		
		else{
		alert("Data inválida.");
		return (false);
		}
	}
	else
	{
	alert("Data inválida.");
	return (false);
	}
  }			
  else					 
  {	  
  alert("Data inválida.")
  return (false);
  }
}

function formatarCNPJ(campo) {
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;

	if ( tam <= 2 ){ 
 		campo.value = vr ; }
 	if ( (tam > 2) && (tam <= 6) ){
 		campo.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 7) && (tam <= 9) ){
 		campo.value = vr.substr( 0, tam - 6 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 10) && (tam <= 12) ){
 		campo.value = vr.substr( 0, tam - 9 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 13) && (tam <= 14) ){
 		campo.value = vr.substr( 0, tam - 12 ) + '.' + vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + 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 ) ;}	
}


function formatarCPF(campo) {
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length ;
	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 );}

}

function formataCgc(campo) {
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;

	if ( tam <= 2 ){ 
 		campo.value = vr ; }
 	if ( (tam > 2) && (tam <= 6) ){
 		campo.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 7) && (tam <= 9) ){
 		campo.value = vr.substr( 0, tam - 6 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 10) && (tam <= 12) ){
 		campo.value = vr.substr( 0, tam - 9 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 13) && (tam <= 14) ){
 		campo.value = vr.substr( 0, tam - 12 ) + '.' + vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + 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 ) ;}	
}

function formataCPF(campo){
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length ;
	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 );}

}
//verica a situacao do checkbox e retorna um valor s ou n	
 function checkbox(opcao){
  if (opcao == true ){
    opcao="S"
   }
  if (opcao == false){
    opcao="N"
   }
  return opcao
 }

 
 
 function getTeclaPressionada(evt)
{
	if(typeof(evt)=='undefined')
		evt = window.event;
	return(evt.keyCode ? evt.keyCode : (evt.which ? evt.which : evt.charCode));
}

// teclas 63230 a 63240 = safari
function isTeclaEspecial(key)
{
	return key<32||(key>=35&&key<=36)||(key>=37&&key<=40)||key==46||(key>=63230&&key<=63240);
}

function isTeclaRelevante(key)
{
	return (key == 8)||(key == 46)||(key == 88)||(key>=48&&key<=57)||(key>=96&&key<=105);
}

function isCaracterRelevante(key)
{
	return  (key == 127)||(key == 8)||(key>=48&&key<=57);
}

function filtraTeclas(evt)
{
	var key = getTeclaPressionada(evt);
	if(isTeclaEspecial(key) || isTeclaRelevante(key))
		return true;
	StopEvent(evt);
	return false;
}

function filtraCaracteres(evt)
{
	var key = getTeclaPressionada(evt);
	if( isCaracterRelevante(key) )
		return true;
	StopEvent(evt);
	return false;
}

function StopEvent(evt)
{
	if(document.all)evt.returnValue=false;
	else if(evt.preventDefault)evt.preventDefault();
}

//-->
