/*--------------------------------------------------------------------------
ESPECIFICAÇÃO DAS FUNÇÕES:		

ex.: Nome_da_Funcao(parametroA, parametroB, ...) ............... Retorno
(-) é o que já está implementado e testado;
(+) ainda nao foi implementado/testado


+ PopUpMenor(pagina) ............................................
+ PopUpMenor1(pagina) ...........................................
+ PopUpMaior(pagina) ............................................
+ ShowModalMenor(pagina) ........................................
+ ShowModalMaior(pagina) ........................................
+ CPF (StrCPF) .................................................. true/false
+ Verifica_campo_cpf(campo)...................................... true/false
+ validaCNPJ .................................................... true/false
+ mascaraCnpj(campo, event) .....................................
+ SNumerico(event) .............................................. numero/null
- soNumero(event) ............................................... nada
- TestaData	..................................................... nada
- ehData ........................................................ nada	

- converteDataUSAFormat(data) ................................... data	
- comparaData(dataMenor, dataMaior) ............................. true/false
- verificaDataMenor(inicio, fim)..................................true/false
+ comparaNumero(numMenor, numMaior) ............................. true/false 
- formataData(Campo,teclapres) .................................. nada
+ formataMoeda(Campo,teclapres) ................................. nada 
+ ValidarTamanho(Campo,Tamanho do Campo)......................... true/false

-------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
MENSAGENS
--------------------------------------------------------------------------*/
var GSTR_MSGCPFI   = 'CPF inválido!';
var GSTR_MSGCNPJ   = 'CNPJ inválido!';
var GSTR_MSGDATA   = 'Data inválida!';
var GSTR_MSGNUMERO = 'Numero inválido!';
var GSTR_MSGINTERNET = 'Internet Explorer 4.0 ou superior é necessário!';
/*--------------------------------------------------------------------------*/


//========================================================================

//window.defaultStatus="SID - Sistema de Indenização por Danos";

function PopUpMenor (pagina) {

t = 0; //margem do topo da tela
ws = 618; // largura da tela do popup
hs = 514; // altura da tela do popup
w = screen.width;
l=((w-(ws+10))/2);
window.open(pagina,'PopUp',' width='+ws+', height='+hs+', top='+t+', left='+l+', toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, menubar=no');
}

function PopUpMenorN (pagina) {

t = 200; //margem do topo da tela
ws = 400; // largura da tela do popup
hs = 100; // altura da tela do popup
w = screen.width;
l=((w-(ws+10))/2);
window.open(pagina,'PopUp',' width='+ws+', height='+hs+', top='+t+', left='+l+', toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, menubar=no');
}

function PopUpMenorM (pagina) {
t = 200; //margem do topo da tela
ws = 320; // largura da tela do popup
hs = 200; // altura da tela do popup
w = screen.width;
l=((w-(ws+10))/2);
window.open(pagina,'PopUp',' width='+ws+', height='+hs+', top='+t+', left='+l+', toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, menubar=no');
}

function PopUpMenor1 (pagina, ws, hs) {
t = 200; //margem do topo da tela
w = screen.width;
ws = 540; // largura da tela do popup
hs = 300; // altura da tela do popup
l=((w-(ws+10))/2);
window.open(pagina,'PopUp1',' width='+ws+', height='+hs+', top='+t+', left='+l+', toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, menubar=no');
}
function PopUpMenor01 (pagina, ws, hs) {
t = 200; //margem do topo da tela
w = screen.width;
ws = 480; // largura da tela do popup
hs = 220; // altura da tela do popup
l=((w-(ws+10))/2);
window.open(pagina,'PopUp1',' width='+ws+', height='+hs+', top='+t+', left='+l+', toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, menubar=no');
}

function PopUpMaior (pagina) {
t = 0; //margem do topo da tela
ws = 788; // largura da tela do popup
hs = 514; // altura da tela do popup
w = screen.width;
l=((w-(ws+10))/2);
window.open(pagina,'PopUp',' width='+ws+', height='+hs+', top='+t+', left='+l+', toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, menubar=no');
}

function ShowModalMenor (pagina) {
t = 0; //margem do topo da tela
ws = 624; // largura da tela do popup
hs = 514; // altura da tela do popup
w = screen.width;
l=((w-(ws+10))/2);
window.showModalDialog(pagina, 'ShowModal',' dialogWidth:'+ws+'px; dialogHeight:'+hs+'px; dialogTop:'+t+'px; dialogLeft:'+l+'px; center:0; scroll:1; help:0; status:0; resizeble:0;');
}

function ShowModalMaior (pagina) {
t = 0; //margem do topo da tela
ws = 794; // largura da tela do popup
hs = 514; // altura da tela do popup
w = screen.width;
l=((w-(ws+10))/2);
window.showModalDialog(pagina, 'ShowModal',' dialogWidth:'+ws+'px; dialogHeight:'+hs+'px; dialogTop:'+t+'px; dialogLeft:'+l+'px; center:0; scroll:1; help:0; status:0; resizeble:0;');
}

function ativar(id){
    nsm = 1; //número de menus
    for(i=1;i<=nsm;i++) {
		eval('m'+i).className = 'imTopico';
    }
	for(i=1;i<=nsm;i++) {
		if (i=id) {
		 eval('m'+i).className = 'imTopicoSel';
		 }
	return;
	}
}

function sativar(id){
    nsm = 10; //número de sub-menus
    for(i=1;i<=nsm;i++) {
		eval('sm'+i).className = 'imStopico';
    }
	for(i=1;i<=nsm;i++) {
		if (i=id) {
		 eval('sm'+i).className = 'imStopicoSel';
		 }
	return;
	}
}

function NaoMostrarMenu(){
	for(i=1;i<=1;i++)
	{
		eval('menu'+i).style.display = "none";
	}
}

function MostrarMenu(tipo){
	NaoMostrarMenu();
	menuValor = eval('menu'+tipo).style.display;
	if(menuValor == "none"){
		eval('menu'+tipo).style.display = "block";
	}
	else{
		eval('menu'+tipo).style.display  = "none";
	}
}

function CPF (StrCPF)
{
	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;
	texto = "";
	StrCPF1="";
	len = StrCPF.length;
	x = len -1;
	for (var i=0; i <= len - 3; i++)
	{
		y = StrCPF.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	StrCPF1 = StrCPF.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++)
	{
		soma = soma + (StrCPF1.substring(i,i+1) * x);
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2)){
		return true;
	}
	return false;
}


function Verifica_campo_cpf(campo) {
if (campo.value!=""){
	if (campo.value.length<14){
		 alert(GSTR_MSGCPFI);
      	campo.value = '';
      	campo.focus();
		return false;
	}
var cpf = campo.value.split("."); // Recebe o valor digitado no campo
var	cpf_2 = cpf[2].split("-")
var	cpf = cpf[0]+cpf[1]+cpf_2[0]+cpf_2[1]
if((cpf=='00000000000')||(cpf=='11111111111')||(cpf=='22222222222')||(cpf=='33333333333')||(cpf=='44444444444')||(cpf=='55555555555')||(cpf=='66666666666')||(cpf=='77777777777')||(cpf=='88888888888')||(cpf=='99999999999')){
      alert(GSTR_MSGCPFI);
	  campo.value = '';
      campo.focus();
      return false;
}else{
	// Aqui começa a checagem do cpf
	var posicao, I, soma, dv, dv_informado;
	var digito = new Array(10);
	dv_informado = cpf.substr(9, 2); // Retira os dois últimos dígitos do número informado

	// Desemembra o número do cpf na array digito
	for (I=0; I<=8; I++) {
	  digito[I] = cpf.substr( I, 1);
	}

	// Calcula o valor do 10º dígito da verificação
	posicao = 10;
	soma = 0;
	   for (I=0; I<=8; I++) {
		  soma = soma + digito[I] * posicao;
		  posicao = posicao - 1;
	   }
	digito[9] = soma % 11;
	   if (digito[9] < 2) {
			digito[9] = 0;
	}
	   else{
		   digito[9] = 11 - digito[9];
	}

	// Calcula o valor do 11º dígito da verificação
	posicao = 11;
	soma = 0;
	   for (I=0; I<=9; I++) {
		  soma = soma + digito[I] * posicao;
		  posicao = posicao - 1;
	   }
	digito[10] = soma % 11;
	   if (digito[10] < 2) {
			digito[10] = 0;
	   }
	   else {
			digito[10] = 11 - digito[10];
	   }

	// Verifica se os valores dos dígitos verificadores conferem
	dv = digito[9] * 10 + digito[10];
	   if (dv != dv_informado) {
		  alert(GSTR_MSGCPFI);
		  campo.value = '';
		  campo.focus();
		  return false;
   } 
 }
 }
}
function validaCNPJ(campo) {
     CNPJ = campo.value;
     CNPJ = CNPJ. replace (".","");
     CNPJ = CNPJ. replace (".","");
     CNPJ = CNPJ. replace ("-","");
     CNPJ = CNPJ. replace ("/","");

     var a = [];
     var b = new Number;
     var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
     for (i=0; i<12; i++){
         a[i] = CNPJ.charAt(i);
         b += a[i] * c[i+1];
      }
     if ((x = b % 11) < 2) { 
	 	a[12] = 0 
	 }else{ 
	 	a[12] = 11-x 
	 }
     b = 0;
     for (y=0; y<13; y++) {
       	b += (a[y] * c[y]); 
     }
     if ((x = b % 11) < 2) { 
	 	a[13] = 0; 
	 }else{ 
	 	a[13] = 11-x; 
	 }
     if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
     	alert(GSTR_MSGCNPJ);
		campo.value = '';
		campo.focus();
		return false;
     }
     return true;
}
function mascaraCnpj(campo, event){
  if (SNumerico(event)){
	switch(campo.value.length){
		case 2:
			campo.value += ".";
			break;
		case 6:
			campo.value += ".";
			break;
		case 10:
			campo.value += "/";
			break;
		case 15:
			campo.value += "-";
			break;
		default:
			return;
	}
  }
  else{
    return SNumerico(event);
  }
}



function mascaraCpf(campo, event){
  if (SNumerico(event)){
	switch(campo.value.length){
		case 3:
			campo.value += ".";
			break;
		case 7:
			campo.value += ".";
			break;
		case 11:
			campo.value += "-";
			break;
		default:
			return;
	}
  }
  else{
    return SNumerico(event);
  }
}
function mascaraCpfCnpj(campo, event){
  if (SNumerico(event)){
	if (campo.value.length<14){
		switch(campo.value.length){
			
			case 3:
				campo.value += ".";
				break;
			case 7:
				campo.value += ".";
				break;
			case 11:
				campo.value += "-";
				break;
			default:
				return;
			
		}
	}else{
		if (campo.value.length>13 &&campo.value.length<15){
			campo.value=campo.value.substring(0,2)+"."+campo.value.substring(2,3)+campo.value.substring(4,6)+"."+campo.value.substring(6,7)+campo.value.substring(8,10)+"/"+campo.value.substring(10,11)+campo.value.substring(12,14)
		}else{
			switch(campo.value.length){
				case 15:
					campo.value += "-";
					break;
				default:
					return;
			}
		}
	}
  }
  else{
    return SNumerico(event);
  }
}

function mascaraCep(campo, event){
  if (SNumerico(event)){
	switch(campo.value.length){
		case 2:
			campo.value += ".";
			break;
		case 6:
			campo.value += "-";
			break;
		default:
			return;
	}
  }
  else{
    return SNumerico(event);
  }
}
function mascaraRG(campo, event){
  if (SNumerico(event)){
	switch(campo.value.length){
		case 8:
			campo.value += "-";
			break;
		default:
			return;
	}
  }
  else{
    return SNumerico(event);
  }
}

/* Funçao só irá permitir escrever numero */
function SNumerico(event){
	var t=event.wich;
	if(t==null){
		t=event.keyCode;
	}
	return eNumerico(String.fromCharCode(t));
}


function NumeroDecimal(event,code) /*aceita numeros, ponto e virgula*/
{
    Tecla = event.which;
    if(Tecla == null)
	Tecla = event.keyCode;
   	//alert(Tecla);
	if((Tecla > 47 && Tecla <= 57)||((code==2)&&(Tecla==47))||((Tecla==44)||(Tecla==46)) ){
		return true;
		}
	else{
		return false;
		}
    return true;
}


function SoNumero(event,code) /*So aceita numeros*/
{
    Tecla = event.which;
    if(Tecla == null)
	Tecla = event.keyCode;
   	
	if((Tecla > 47 && Tecla <= 57)||((code==2)&&(Tecla==47))){
		return true;
		}
	else{
		return false;
		}
    return true;
}

function SoNumeroOpcao(event,code) /*So aceita numeros e o codigo opcional passado no parametro*/
{
    Tecla = event.which;
    if(Tecla == null)
	Tecla = event.keyCode;
   	   	   	
	if((Tecla > 47 && Tecla <= 57)||((code==2)&&(Tecla==47))||(Tecla == code)){
		return true;
		}
	else{
		return false;
		}
	
    return true;
}

function isNumber(field){

   data = field.value;
   datatmp = data;
   datatmp2 = data;
   tam = datatmp.length;
   tam2 = datatmp2.length;
   posicao  = 0
   contador = 0;
   posicao2 = 0;
   
   datatmp2 = replaceTotal(datatmp2,"-","")
   datatmp2 = replaceTotal(datatmp2,".","")
  //Verifica se o número possui mais 13 inteiros.
  if (datatmp2.indexOf(",") != -1){
	 posicao2 = datatmp2.indexOf(",")
	 datatmp2 = datatmp2.substring(0,posicao2);
	 if (datatmp2.length>13){
		 flginteiro = false;
	 }else{
		 flginteiro = true;
	 }
  }else{
	 if (datatmp2.length>13){
		 flginteiro = false;
	 }else{
		 flginteiro = true;
	 }
  }
  
  //Verifica se o número possui mais de 1 sinal.
  while (datatmp.length > 0){
	 if (datatmp.indexOf("-") != -1){
         contador = contador + 1;
		 datatmp = datatmp.substring(posicao+1,datatmp.length);
	 }else{
	    break;
	 }
  }
   //testa infinitos numeros sem virgula
   var r1 = new RegExp("^(\\-)*([0-9]+)$");

   //testa infinitos numeros com virgula
   var r2 = new RegExp("^(\\-)*([0-9]+\\,[0-9]{0,2})$");

   //testa numero com pontos e virgulas
   var r3 = new RegExp("^(\\-)*[0-9]{1,3}(\\.[0-9]{3})*(\\,[0-9]{0,2}){0,1}$");

    if (data != ""){
	   if ( (((r1.test(data)) || (r2.test(data)) || (r3.test(data))) == true) && (contador<=1) && (flginteiro) ){
		  return true;
	   }else{
		  alert(GSTR_MSGNUMERO);
		  field.focus();  
		  return false;	
	   }
    }else{
	  return true;
	}
}


function TestaData(objData,obrig){
	if ((objData.value=="")&&(!(obrig))){
		return true;
	}else{ 
		if (!(ehData(objData.value))){
			objData.focus();
			return false;
		}else{
			return true;
		}
	}
}

function ehData(ObjData){
	var DataP = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var VData = ObjData.value;
	var matchArray = VData.match(DataP);
	if (matchArray == null){
		alert(GSTR_MSGDATA);
		return false;
	}
	dia = matchArray[1];
	mes = matchArray[3];
	ano = matchArray[4];
	//Validar o mês
	if (mes < 1 || mes > 12) { 
		alert(GSTR_MSGDATA);
		ObjData.focus();
		return false;
	}
	//Validar o dia
	if (dia < 1 || dia > 31){
		alert(GSTR_MSGDATA);
		ObjData.focus();
		return false;
	}
	//Validar dia em relação ao mês
	if ((mes==4 || mes==6 || mes==9 || mes==11) && dia==31){
		alert(GSTR_MSGDATA)
		ObjData.focus();
		return false
	}
	//Validar ano bissexto
	if (mes == 2){ 
		var isleap = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0));
		if (dia>29 || (dia==29 && !isleap)){
			alert(GSTR_MSGDATA);
			ObjData.focus();
			return false;
		}
	}
	//Data válida - OK!
	return true;  
}

function Converte_Data_USAFormat(dta){
   return dta.substr(3, 3)+dta.substr(0, 3)+dta.substr(6)
}


function convMaiuscula(obj){
  obj.value = obj.value.toUpperCase();
} 

/*function mascaraRamal(campo){
	switch(campo.value.length){
		case 3:
			campo.value += "-";
			break;
		default:
			return;
	}
}

function completaRamal(campo){
	if(campo.value != ""){
		campo.value = campo.value.replace("-","");
		while(campo.value.length < 7){
			campo.value = "0"+campo.value;
		}
		novo = campo.value.substr(0,3)+"-";
		novo = novo+campo.value.substr(3,5);
		campo.value = novo;
	}
}
*/

function Preenchimento(){
	Tecla = event.which;
	if(Tecla == null)
		Tecla = event.keyCode;
	if((Tecla >57) || (Tecla > 32 && Tecla <= 47) && (Tecla != 44 && Tecla != 45 && Tecla != 46)){
 		alert("Esse campo só aceita alfanumérico !")
   		return false;
	}
	return true;
}

function ChekData(dt){
with(dt.data){
var dia
	if (value.length == 7){
		mes = value.charAt(0)
		mes = mes+value.charAt(1)	
			if (mes > 12){ 
				alert("Favor verificar se o campo DATA  está preenchido corretamente (MMAAAA)")	 
	  			return false;
	  		}else{
	  			return true;
	  }			
	}
  }
}


/* Funçao para colocar a barra da data : 01/01/2000 */
function barra(obj){
   if(obj.value.length == 2 || obj.value.length == 5)
   		obj.value += "/";
}

function doispontos(obj){
   if(obj.value.length == 2)
   		obj.value += ":";
}

/*Usada internamente*/
function eNumerico(t){
var n="0123456789";
var ret=false;
	for(var j=0;j<t.length;j++){
		ret=false;
		for(var i=0;i<n.length;i++){
			if(n.charAt(i)==t.charAt(j)){
				ret=true;
				break;
			}
		}
		if(!ret){
			break;
		}
	}
return ret;
}

function eData(d){
var d1="0123";
var d2="0123456789";
var m1="01";
var m2="0123456789";
var n31Dias="01;03;05;07;08;10;12";
var v31=n31Dias.split(";");
var a1="12";
var ret=false;
var i=0;
	//Checa o tamanho
	if(d.length!=10){
		return false;
	}

	//Checa as barras
	if(d.charAt(2)!="/"||d.charAt(5)!="/"){
		return false;
	}
	
	//Checa mês
	//Primeiro digito do mes
		for(i=0;i<m1.length;i++){
			if(d.charAt(3)==m1.charAt(i)){
				ret=true;
			}
		}
		if(!ret){return false;}
	//checa 2º digito do mes
		ret=false;
		for(i=0;i<m2.length;i++){
			if(d.charAt(4)==m2.charAt(i)){
				ret=true;
			}
		}
		if(!ret){return false;}
		if(d.charAt(3)=="0"&&d.charAt(4)=="0"){
			return false;
		}
		if(d.charAt(3)=="1"){
			if(d.charAt(4)!="0"
				&& d.charAt(4)!="1"
				&& d.charAt(4)!="2"){
					return false;
			}
		}
	//checa 1º digito do dia
		ret=false;
	
		
		for(i=0;i<d1.length;i++){
			if(d.charAt(0)==d1.charAt(i)){
				ret=true;
			}
		}
		
		if(!ret){return false;}
	//checa 2º digito do dia
		ret=false;
		for(i=0;i<d2.length;i++){
			if(d.charAt(1)==d2.charAt(i)){
				ret=true;
			}
		}
		if(!ret){
			return false;
		}
		
		if(d.charAt(0)=="3"){
			if(d.charAt(1)!="0"&&d.charAt(1)!="1"){
				return false;
			}
			if(d.charAt(1)=="1"){
				var aux0=false;
				for(var j=0;j<v31.length;j++){
					if(v31[j]==d.substring(3,5)){
						aux0=true;
						break;
					}
				}
				if(!aux0){
					return false;
				}
			}
		}
		
		
		if(d.charAt(0)=="3"
			&&d.charAt(3)=="0"
			&&d.charAt(4)=="2"){
			return false;
		}
		
		if(d.charAt(6)!="1"&&d.charAt(6)!="2"){
			return false;
		}
		//checa se ano eh menor que 1800
		if(d.charAt(6)=="1"&&d.charAt(7)<="7"){
			return false;
		}
		
		for(i=7;i<10;i++){
			if(!eNumerico(d.charAt(i))){
				return false;
			}
		}
		return true;
}

function eBissexto(d)
{
    
    dia=d.substring(0,2)
    mes=d.substring(3,5) 	 	
    ano=d.substring(6,10)
  
   		
    if (mes=="02")
    {	
      if (ano % 4 != 0 && dia > 28) {
		  return(false);
      }
      else if (dia > 29) {
		 return(false);
      }	
    }
    return(true);
}

function formata_dec(campo,tammax,teclapres) {
	var tecla = teclapres.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 ( 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 formata_dec_numero(campo) {
var vr
	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 ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 1 ){ 
	 		campo.value = vr ; }
	 	if ( (tam > 1) && (tam <= 4) ){
	 		campo.value = vr.substr( 0, tam - 1 ) + ',' + vr.substr( tam - 1, tam ) ; 
		}
		
		if ( (tam >= 5) && (tam <= 7) ){
	 		campo.value = vr.substr( 0, tam - 4 ) + '.' + vr.substr( tam - 4, 3 ) + 

',' + vr.substr( tam - 1, tam ) ; }
	 	if ( (tam >= 8) && (tam <= 10) ){
	 		campo.value = vr.substr( 0, tam - 7 ) + '.' + vr.substr( tam - 7, 3 ) + 

'.' + vr.substr( tam - 4, 3 ) + ',' + vr.substr( tam - 1, 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 ValorParaBanco(valor){
	valor = replaceTotal(valor,".","");
	return replaceTotal(valor,",",".");
}

function replaceTotal(texto,strI,strF){
	var tam, vet, i;
	vet = texto.split(strI);
	tam = vet.length;
	for(i=0;i<tam;i++){
		texto = texto.replace(strI,strF);
	}
	return texto;
}

function DoCal(elTarget) {
	if (showModalDialog) {
		var sRtn;
	    sRtn = showModalDialog("../_scripts/calendario.htm","","center=yes;dialogWidth=310px;dialogHeight=220px");
		if (sRtn!="") {
			elTarget.value = sRtn;
		}
	} else {
	    alert(GSTR_MSGINTERNET);
	}
}

function dataMaior(data1, data2){
   if(trim(data1) == "" || trim(data2) == ""){
	   return true;
   }

   var dia1 = data1.substring(0,2);
   var mes1 = data1.substring(3,5);
   var ano1 = data1.substring(6,10);

   var dia2 = data2.substring(0,2);
   var mes2 = data2.substring(3,5);
   var ano2 = data2.substring(6,10);

   var data1 = ano1+mes1+dia1
   var data2 = ano2+mes2+dia2

   if(data1 > data2){
		return true;
   }else{
		return false;
   }
}
function dataMaior3(data1, data2){
   if(trim(data1) == "" || trim(data2) == ""){
	   return true;
   }

   var dia1 = data1.substring(0,2);
   var mes1 = data1.substring(3,5);
   var ano1 = data1.substring(6,10);

   var dia2 = data2.substring(0,2);
   var mes2 = data2.substring(3,5);
   var ano2 = data2.substring(6,10);

   var data1 = ano1+mes1+dia1
   var data2 = ano2+mes2+dia2

   if(data1 >= data2){
		return true;
   }else{
		return false;
   }
}
function dataMaior4(data1, data2){
   if(trim(data1) == "" || trim(data2) == ""){
	   return true;
   }

   var dia1 = data1.substring(0,2);
   var mes1 = data1.substring(3,5);
   var ano1 = data1.substring(6,10);

   var dia2 = data2.substring(0,2);
   var mes2 = data2.substring(3,5);
   var ano2 = data2.substring(6,10);

   var data1 = ano1+mes1+dia1
   var data2 = ano2+mes2+dia2

   if((data1 <data2)&&(data1=data2)){
		return false;
   }else{
		return true;
   }
}
function ltrim(palavra){
   for(i=0;i<palavra.length;i++){
      letra=palavra.charAt(i);
      if(letra!=' '){
         return(palavra.substring(i,palavra.length));
      }
   }
   return("");
}

function rtrim(palavra){
   for(i=palavra.length-1;i>=0;i--){
      letra=palavra.charAt(i);
      if(letra!=' '){
         return(palavra.substring(0,i+1));
      }
   }
   return("");
}

function trim(palavra){
   return(ltrim(rtrim(palavra)));
}

function isdate(dia,mes,ano){
   if(!isdigit(dia) || !isdigit(mes) || !isdigit(ano)){
      return(0);
   }
   if(mes<1 || mes>12){
      return(0);
   }
   if(dia<1 || dia>31){
      return(0);
   }
   if(dia==31){
      if(mes==2 || mes==4 || mes==6 || mes==9 || mes==11){
         return(0);
      }
   }
   if(mes==2 && dia>28){
      if(ano%4==0){
         if(dia>29){
            return(0);
         }
      }
      else{
         return(0);
      }
   }
   return(1);
}


function eBissexto(d)
{
    
    dia=d.substring(0,2)
    mes=d.substring(3,5) 	 	
    ano=d.substring(6,10)
  
   		
    if (mes=="02")
    {	
      if (ano % 4 != 0 && dia > 28) {
		  return(false);
      }
      else if (dia > 29) {
		 return(false);
      }	
    }
    return(true);
}

function isdigit(palavra){
   for(i=0;i<palavra.length;i++){
      letra=palavra.charAt(i);
      if(letra<'0'||letra>'9'){
         return(0);
      }
   }
   if(palavra==""){
      return(0);      
   }
   else{
      return(1);
   }
}


/*Valida oo cnpj */
function ehCnpj(pcgc){
	if(pcgc.value != ""){
		if (pcgc.value.length != 18) {
				alert (GSTR_MSGCNPJ);
				pcgc.value = '';
				pcgc.focus();
				return false;
		}
		else{
		return true;
		}
	} 
}

function ehCpf(pcgc){
if (pcgc.value.length != 14) {
		alert (GSTR_MSGCPFI);
		pcgc.value = '';
		pcgc.focus();
	 }
}
 
function mascaraCnpj2(campo){
	var novo;
	if(campo.value != ""){

		campo.value = campo.value.replace(".","");
		campo.value = campo.value.replace(".","");
		campo.value = campo.value.replace("/","");
		campo.value = campo.value.replace("-","");

		while(campo.value.length < 14){
			campo.value = "0"+campo.value
		}
		
		novo = campo.value.substr(0,2)+".";
		novo = novo+campo.value.substr(2,3)+".";
		novo = novo+campo.value.substr(5,3)+"/";
		novo = novo+campo.value.substr(8,4)+"-";
		novo = novo+campo.value.substr(12,2);
		campo.value = novo;

	}
}

function janelaComp(){
	return 	"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=650,height=450,top=30,left=30"; 
}

function exportar(rel){
	if ( rel == 2 ) {			 
		window.open ("atge_mn1_rel_resumo_Excel.asp?"+"<%=request.querystring%>","Detalhe",
				 "toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=770,height=490,top=10,left=10");   
	}
	if ( rel == 3 ) {
		window.open ("atge_mn1_rel_contr_Excel.asp?"+"<%=request.querystring%>","Detalhe", janelaComp());
    }
	if ( rel == 4 ) {
		window.open ("atge_mn1_rel_adit_Excel.asp?"+"<%=request.querystring%>","Detalhe",	janelaComp());
    }
	if ( rel == 5 ) {
		window.open ("atge_mn1_rel_contrDis_excel.asp?"+"<%=request.querystring%>","Detalhe",janelaComp());
	}
	if ( rel == 6 ) {
		window.open ("atge_mn1_rel_outros_excel.asp?"+"<%=request.querystring%>","Detalhe",janelaComp());
    }
	if ((rel == 18)||(rel == 19)||(rel == 20)) {
		window.open ("atge_mn1_rel_CompraMat_Excel.asp?"+"<%=request.querystring%>","Detalhe",janelaComp());
    }	
	if (rel == 21) {
		window.open ("atge_mn1_rel_totais_por_faixa_excel.asp?"+"<%=request.querystring%>","Detalhe",janelaComp());
    }	
}

function exportar_det(rel) {
	if ( rel == "sev" ) {			 
		window.open ("atge_mn1_rel_det_ConsServDet_Excel.asp?"+"<%=request.querystring%>","Detalhe2",
		"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=no,width=710,height=300,top=170,left=30");
	}
	else if ( rel == "adi" ) {
		window.open ("atge_mn1_rel_det_ConsAditDet_Excel.asp?"+"<%=request.querystring%>","Detalhe2",
		"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=no,width=710,height=300,top=170,left=30");
	}
	else if ( rel == "comnac" ) {
		window.open ("atge_mn1_rel_det_ConsMatNac_det_Excel.asp?"+"<%=request.querystring%>","Detalhe2",		"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=no,width=710,height=300,top=170,left=30");
	}
	else if ( rel == "comest" ) {
		window.open ("atge_mn1_rel_det_ConsMatEst_det_Excel.asp?"+"<%=request.querystring%>","Detalhe2",	"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=no,width=710,height=300,top=170,left=30");		
	}
	else if ( rel == "comdis" ) {
		window.open ("atge_mn1_rel_det_ConsMatDis_det_Excel.asp?"+"<%=request.querystring%>","Detalhe2",		"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=no,width=710,height=300,top=170,left=30");
	}
	else if ( rel == "sevdis" ) {
		window.open ("atge_mn1_rel_det_ConsServDis_det_Excel.asp?"+"<%=request.querystring%>","Detalhe2",		"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=no,width=710,height=300,top=170,left=30");
	}
	else if ( rel == "gen" ) {
		window.open ("atge_mn1_rel_det_ConsGenerico_Excel.asp?"+"<%=request.querystring%>","Detalhe2",		"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=no,width=710,height=300,top=170,left=30");
	}
}	

function validaData(objdata) {

	if (objdata.value!=''){
		if (objdata.value.length < 10){
			alert('Data Incompleta!O formato válido é dd/mm/aaaa!');
			objdata.focus();
			
		}
		else if (!eData(objdata.value)){
			alert('Data Inválida!');
			objdata.focus();
			objdata.value='';
		}else if(!eBissexto(objdata.value)){
			alert('Data Inválida!');
			objdata.focus();
			objdata.value='';
		}else if (objdata.value.charAt(0)+objdata.value.charAt(1)=="00"){
			alert('Data Inválida!');
			objdata.focus();
			objdata.value='';
		}
	}		
}

function printit(){ // função que imprime a página html, já utilizando a impressora padrão
var NS = (navigator.appName == "Netscape");
var VERSION = parseInt(navigator.appVersion);
	if (NS) { 
		window.print() ; 
	} else { 
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; 
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 
		WebBrowser1.ExecWB(6,11);//Use a 1 vs. a 2 for a prompting dialog box WebBrowser1.outerHTML = ""; 
	} 
} 

function ValidarTamanho(campo,tamanho,label) {

 var numCaracteres = tamanho -(campo.value.length );

 if(numCaracteres<0){
    campo.value = campo.value.substring(0,campo.value.length + numCaracteres);
    numCaracteres=0;
     alert('Limite máximo de ' + tamanho + ' caracteres!');
     return false;
  }

  document.getElementById(label).innerHTML = numCaracteres;



  return true;
}

//-----------------------------------------------------------
//Nome: validaTamanho
//Objetivo: Validação de tamanho do campo
//Data: 09/05/2005
//Autor: André Felipe
//-----------------------------------------------------------
//Histórico
//	Data:		Autor:				Alteração:
//-----------------------------------------------------------	

function validaTamanho(campo,tam_maximo){
	var valorcampo = campo.value;
	if (valorcampo.length >= tam_maximo){
		var retira = (valorcampo.length-(tam_maximo-1));
		alert("Tamanho máximo "+tam_maximo+" caracteres!");
		campo.value = "";
		campo.value = valorcampo.substring(0,valorcampo.length-(retira));
		campo.focus();
		return false;
  	}
	return true;
}

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;
}

function Formata_Decimal(campo,tammax,teclapres,decimal) {

var tecla ;
	if (teclapres==null){
		tecla = 0;
	}
	else{
		tecla = teclapres.keyCode;
	}
	
	vr = Limpar(campo.value,"0123456789");
	tam = vr.length;
	dec=decimal
	
	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 <= dec ){
			campo.value = vr ; 
		}
		
		if ( (tam > dec) && (tam <= 5) ){
			campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; 
		}
		if ( (tam >= 6) && (tam <= 8) ){
			campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, 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 - dec, 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 - dec, 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 Formata_Decimal2(campo, decimal) {
	vr = Limpar(campo,"0123456789");
	tam = vr.length;
	dec=decimal;
	
		if ( tam <= dec ){
			campo.value = vr ; 
		}
		
		if ( (tam > dec) && (tam <= 5) ){
			campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; 
		}
		if ( (tam >= 6) && (tam <= 8) ){
			campo.value = vr.substr( 0, tam - 5 ) + "," + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, 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 - dec, 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 - dec, 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 ) ;
		}
return campo;
}
/* Funçao para colocar os parênteses e traço no telefone: (71)9999-9999 */
function tel(obj){
   if(obj.value.length == 2)
   		obj.value = "("+ obj.value +")";
   if(obj.value.length == 8)
   		obj.value += "-";
}
function validateEmail( obj, msg ) {//campo opcional
 var emailStr = obj.value;
 if (obj.value.length > 0){
	 var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	 var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
	 if ( !reg1.test( emailStr ) && reg2.test( emailStr ) ) {
		 return true;
	 } else {
	 	 alert(msg);
		 obj.focus();
	 	 return false;
	 }
 }else{
 		return true;
 }
 
}
function dataMaiorIgual(data1, data2){
   if(trim(data1) == "" || trim(data2) == ""){
	   return false;
   }

   var dia1 = data1.substring(0,2);
   var mes1 = data1.substring(3,5);
   var ano1 = data1.substring(6,10);

   var dia2 = data2.substring(0,2);
   var mes2 = data2.substring(3,5);
   var ano2 = data2.substring(6,10);

   var data1 = ano1+mes1+dia1
   var data2 = ano2+mes2+dia2

   if(data1 >= data2){
		return true;
   }else{
		return false;
   }
}

function Verifica_campo_cpfCnpj(campo){
		if (campo.value.length<=14){	
		return Verifica_campo_cpf(campo)
		}
		else{
		return validaCNPJ(campo);
		}  
   
}

function ins(obj,m,v){
	obj.options[obj.length] = new Option(v,m);
}

//função deleta dados nos select
function del(obj){
	obj.options[obj.selectedIndex] = null;
}


// Reordena os dados da un
function reOrdem(form) {
	tam = form.un.length

	//Reordena e grava em ordem numerica
	if (sgOrder.innerHTML == "1..9") {
		sgOrder.innerHTML = "A..Z"
		

		valor = new Array(tam)
		texto = new Array(tam)
	    texto2 = new Array(tam)
		mrv = "710"

		//Armazena os dados
		j = 1
	    for (var i=0; i<tam; i++) {
			texto[i] = form.un.options[i].text
			valor[i] = form.un.options[i].value
	    }
		t = 1
		for (var i=0; i<=1999; i++) {
			for (var n=0; n<tam; n++) {
				if (valor[n]==i) {
					texto2[n]= retNm(texto[n])
					form.un.options[t].value = valor[n]
					form.un.options[t].text = texto2[n]
					t++;
				}
				
			}
		}

	//Volta a ordem alfabetica
	} else {
		sgOrder.innerHTML = "1..9"

		for (i=0; i<tam; i++){
			var novo = new Option(texto[i],valor[i])
			form.un.options[i] = novo
	    }
	}
}


function setaVai(f) {
	if(checaCombo(f.lb)){	
		var op = new Option(f.lb.options[f.lb.selectedIndex].text,f.lb.options[f.lb.selectedIndex].value);
		f.lb2.add(op,getIndex(f.lb2,op));	
		del(f.lb);
	}
}

function getIndex(objSel, objOp){
	var i = 0;
	var tamS = objSel.length; 
	if (tamS > 0 ){
		while(1){
			if (i < tamS){
				if(objSel.options[i].text > objOp.text){
					return i;
				}
				i++;
			}else{
				return i;
			}
		}
	}else{
		return 0;
	}
}
function setaVolta(f) {
	if(checaCombo(f.lb2)){
		var op = new Option(f.lb2.options[f.lb2.selectedIndex].text,f.lb2.options[f.lb2.selectedIndex].value);
		f.lb.add(op,getIndex(f.lb,op));	
		del(f.lb2);
	}
}
//Valida parametros dos combos de selecao
function valSelecao(f){
	var lb = f.lb;
	var lb2 = f.lb2;

	if (lb2.length == 0) {
		alert("Selecione primeiro um item para ser inserido no Grupo");
		f.lb.focus();
		return false;
	} 
	return true;
}

// Versão com tabelas cruzadas em Crytal!!!!
// função verifica se existe algum item selecionado
function checaCombo(obj){
	var mens = "";
	var lb = document.frm.lb;
	var lb2 = document.frm.lb2;

	var c=0;
	for(i=0; i<obj.length; i++){
		if (obj.options[i].selected){
			c += 1;
		}
	}
	
	if(c>0){
		for(i=1; i<c; i++){
			if (obj.name == "lb"){
				var op1 = new Option(lb.options[lb.selectedIndex].text,lb.options[lb.selectedIndex].value);
				lb2.add(op1,getIndex(lb2,op1));	
				del(lb);
			}else{
				var op2 = new Option(lb2.options[lb2.selectedIndex].text,lb2.options[lb2.selectedIndex].value);
				lb.add(op2,getIndex(lb,op2));	
				del(lb2);
			}
		}
		return true;
	} else {
		mens = (obj.name == "lb")?"inserido no":"removido do";
		alert("Selecione primeiro um item para ser " + mens + " Grupo.");
		obj.focus();
		return false;
	}
}
function isCPF(event) {
     var pField = event;//getElement(event)
     cpf = replaceAll(replaceAll(pField.value, ".", ""), "-", "");
     erro = new String;
     if ((cpf.length < 11)&&(cpf.length != 0)) erro += "CPF deve ter 11 dígitos! \n\n"; 
     var nonNumbers = /\D/;
     if (nonNumbers.test(cpf)) erro += "A verificação de CPF suporta apenas números! \n\n"; 
     if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
         erro += "Número de CPF inválido!"
     }
     var a = [];
     var b = new Number;
     var c = 11;
     for (i=0; i<11; i++){
           a[i] = cpf.charAt(i);
           if (i < 9) b += (a[i] * --c);
     }
     if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
     b = 0;
     c = 11;
     for (y=0; y<10; y++) b += (a[y] * c--); 
     if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
     if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
         erro +="Número de CPF inválido!";
     }
     if (erro.length > 0){
            if (tipoMsg == "div"){
                document.getElementById("contentMsg").innerHTML = erro;
                setSizeMsg();
                document.getElementById("msg").style.display="block";
            }else{
                alert(erro);
            }
           pField.focus();
           return false;
     }
     
     return true;
     
}
