function arredonda(numero,nCasas)
{
  numero = numero * Math.pow(10,nCasas);
  numero = Math.round(numero);
  numero = numero / Math.pow(10,nCasas);
  return numero;
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
// máscara para valores monetários. Usar passando como paramentro uma string ele retorna um string.
function MascaraMonetario2( objeto )
{
	var j = 1;
	var valorObjeto = objeto.split(".");
	var lcDecimal;
	
	
	if(valorObjeto.length > 1) //Possui parte decimal
	{
		lcDecimal = valorObjeto[1];
		lcDecimal = Right("00" + lcDecimal,2);
	}
	else 
	{
		lcDecimal = "00";
	}
	
	var obj = valorObjeto[0] + lcDecimal;

	if ( obj.length > 2 ) obj = obj.substr(0,obj.length - 2) + "," + obj.substr(obj.length - 2,2);
	if ( obj.length > 6 ) 
		 for (i = obj.length - 1; i >= 0; i--) {
		 	j = obj.length - i;
		 	if (j > 3 && (j + 1)%4 == 0) obj = obj.substr(0,i + 1) + "." + obj.substr(i + 1,obj.length - 1);
		 }
	return obj;

}


/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
// máscara para valores monetários. Usar no evento OnKeyUp ou OnKeyDown.
function MascaraMonetario( objeto )
{

	var j = 1;
	var obj = objeto.value;

	var lcRetorno;
	var i;
	
	lcRetorno = "";

	for( i = 0 ; i < obj.length ; i++ ) //elimina caracteres não numéricos, exceto "." e ","
	{
		if ( ( ( obj.charCodeAt(i) >= 48 ) &&  ( obj.charCodeAt(i) <= 57 ) ) || ( obj.charAt(i) == "." ) || ( obj.charAt(i) == "," ) ) 
		{
			lcRetorno = lcRetorno + obj.charAt(i);
		}
	}
	obj = lcRetorno;	
	
	 if ((event.keyCode < 35 || event.keyCode > 45 || (event.keyCode > 40 && event.keyCode < 45)) ) { 

		if (obj.indexOf(",")==-1) obj = obj + "00"; //se não tiver vírgula, coloque 00 extra
		if (obj.indexOf(",")== (obj.length - 2)) obj = obj + "0"; //se a vírgula está na penúltima posição, basta acrescentar um 0 (zero)

		//processa vírgulas
		while (obj.indexOf(",")!=-1) obj = obj.replace(",","");
		if ( obj.length > 2 ) obj = obj.substr(0,obj.length - 2) + "," + obj.substr(obj.length - 2,2);

		//processa pontos
		while (obj.indexOf(".")!=-1) obj = obj.replace(".","");
		if ( obj.length > 6 ) 
			 for (i = obj.length - 1; i >= 0; i--) {
			 	j = obj.length - i;
			 	if (j > 3 && (j + 1)%4 == 0) 
					obj = obj.substr(0,i + 1) + "." + obj.substr(i + 1,obj.length - 1);
			 }

	
		objeto.value = obj;
	 }
		
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function RetirarFormatacao( objeto )
{
	var obj = objeto;
	var lcRetorno;
	var i;
	
	lcRetorno = "";

	for( i = 0 ; i < obj.length ; i++ )
	{
		if( ( obj.charCodeAt(i) >= 48 ) &&  ( obj.charCodeAt(i) <= 57 ) )
		{
			lcRetorno = lcRetorno + obj.charAt(i);
		}
	}
	objeto = lcRetorno;	

	return(objeto);
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
// Elimina espaços antes, depois e se houver dois ou mais espaços adjacentes no meio, reduz pra um espaço só.

function Trim(lcString)
{
	var lnCont = 0, lcAnterior, lcPosterior;
	while (lcString.charAt(0) == " ") lcString = lcString.replace(" ","");
	while (lcString.charAt(lcString.length - 1) == " ") lcString = lcString.substr(0,lcString.length - 1);
	while (lnCont < lcString.length) {
		if (lnCont > 0) lcAnterior = lcString.charAt(lnCont - 1);
		else lcAnterior = "";
		if (lnCont < lcString.length - 1) lcPosterior = lcString.charAt(lnCont + 1);
		else lcPosterior = "";
		if (lcString.charAt(lnCont) == " " && !(lcAnterior!=" " && lcPosterior!=" ")) {
			lcString = lcString.substr(0,lnCont) + lcString.substr(lnCont+1,lcString.length - lnCont - 1);
			if (lnCont == lcString.length) lnCont--; }
		else lnCont++;
	}
	return(lcString);
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
// True se for espaço vazio, zero ou inválido.
// False se for um valor monetário válido, não-vazio e maior do que zero.
function eMonetarioNulo(lcValor)
{
	if (Trim(lcValor) == "") return(true); // vazio
	if (!(ValidaMonetario(lcValor))) return(true); // se não for um valor monetário válido
	else {
		var lnValor = lcValor
		while (lnValor.indexOf(",")!=-1) lnValor = lnValor.replace(",","");
		while (lnValor.indexOf(".")!=-1) lnValor = lnValor.replace(".",""); 
		if (parseInt(lnValor) == 0) return (true); // nulo
	}
	return(false); 
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
// True se for um valor monetário válido no formato #,##. OBS: ,00 é considerado válido.
function ValidaMonetario(lcValor)
{
	if (lcValor == "" || lcValor == " ") return(false);
	var lnNumeroDeVirgulas=0, lnPosicaoDaVirgula=0,lnPosicaoDoPrimeiroPonto=0,lcSemVirgulas,llTemPonto=false, llTemVirgula=false, llErroDePonto=false,i=0, j=0;
	lnValor = lcValor
	while (lnValor.indexOf(",")!=-1) {
		if (!llTemVirgula) llTemVirgula = true;
		if (lnPosicaoDaVirgula == 0) lnPosicaoDaVirgula = lnValor.indexOf(",");
		lnNumeroDeVirgulas++;
		lnValor = lnValor.replace(",","");
	}
	lcSemVirgulas = lnValor
	while (lnValor.indexOf(".")!=-1) { 
		if (!llTemPonto) llTemPonto = true;
		lnValor = lnValor.replace(".",""); 
	}
	i = 0;
	while (i < lnValor.length && !(lnValor.charCodeAt(i) < '48' || lnValor.charCodeAt(i) > '58')) i++;
	if (i < lnValor.length) return(false); // não é um número
	if (llTemVirgula && lnNumeroDeVirgulas > 1) return(false); // tem mais de uma vírgula
	if (llTemVirgula && lnPosicaoDaVirgula != (lcValor.length - 3)) return(false); // a vírgula não está na antepenúltima posição
	if (llTemVirgula) lcSemVirgulas = lcSemVirgulas.substr(0,lcSemVirgulas.length - 2); // remove a vírgula e as duas casas decimais
	i = 0;
	if (llTemPonto) {

		while (i < lcSemVirgulas.length && lcSemVirgulas.charAt(i)!='.') {i++; j++;}
		if (j < 1 || j > 3) llErroDePonto = true; // não tem 1, 2 ou 3 dígitos antes de um ponto ou do final do arquivo
		else {

			j = 0; 
			i++;

			while (i < lcSemVirgulas.length && !llErroDePonto) {

				while (i < lcSemVirgulas.length && lcSemVirgulas.charAt(i)!='.') {i++;j++;}
				if (j != 3) llErroDePonto = true; // não tem três dígitos antes do último ponto 
				else {j = 0; i++;}

			}
		}
		if (lcSemVirgulas.charAt(lcSemVirgulas.length-1)=='.') llErroDePonto = true;
		if (llErroDePonto) return(false); // esquema de pontos errado

	}
	return(true);	
	
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
// exemplo de loObj = 'frmTabela.imgImprimir'
function Imprimir(loObj){
	eval('document.' + loObj + '.style.display = \"none\"');
	window.self.print();
	eval('document.' + loObj + '.style.display = \"\"');
}

/* ----------------------------------------------------------------------------
(parei aqui - Clayton)
---------------------------------------------------------------------------- */
function popup(a,b,x,y)
{
	window.open(a,b,'width=' + x + ',height=' + y + ',resizable=1,status=0,menubar=0,scrollbar=0');

}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function DataToAAAAMMDD(valor) {
	if (eData(valor)) {
		dia = valor.substr(0,2);
		mes = valor.substr(3,2);
		ano = valor.substr(6,4);
		resposta = ano + mes + dia;
		return resposta;
	}
	else {
		return false;

	}
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function eData(loValor)
{
  var primeiro = loValor.indexOf("/");
  var ultimo = loValor.lastIndexOf("/");
  if ((primeiro==ultimo)||(primeiro==-1)||(ultimo==-1)) {
     return 0;
  }
  else {
    if ((primeiro!=2)||(ultimo!=5)){
      return 0;
    }
    else {
      if ( (isNaN(parseInt(loValor.substring(0,primeiro-1))))||
           (isNaN(parseInt(loValor.substring(primeiro+1,ultimo-1))))||

          (isNaN(parseInt(loValor.substring(ultimo+1,loValor.length-1)))) ){
         return 0;
      }
      else return 1;
    }
  }
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function AbrirHelp(pcNomeHelp)
{
	window.open('../wHelp/' + pcNomeHelp + '?IDPrimeira=1','frmHelp','left=480,width=300,height=500,status=0,toolbar=0,location=0,scrollbars=1,resizable=1');
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function MaiorData(DmyData1, DmyData2)
{
	/*d1 = "" + DmyData1;
	d2 = "" + DmyData2;

	var d1final = "";
	var d2final = "";
	
	var d1d = DmyData1.substring(0,2);
	var d1m = DmyData1.substring(3,5);
	var d1y = DmyData1.substring(6,10);
	var d1final = "" + d1m + '/' + d1d + '/' + d1y;

	var d2d = DmyData2.substring(0,2);
	var d2m = DmyData2.substring(3,5);
	var d2y = DmyData2.substring(6,10);
	var d2final = "" + d2m + '/' + d2d + '/' + d2y;*/
	
	d1 = DmyData1
	d2 = DmyData2

	//Coloca a data Inicial no formato dd/mm/aaaa
		
	d1final = d1.split("/")
	if (d1final.length != 3) 
	{
		return 'erro';
	} 
		
	dia1 = d1final[0].replace(' ','')
	mes1 = d1final[1].replace(' ','');
	
	if((dia1.length>2) || (mes1.length>2))
	{
		return 'erro';
	} 
	
	dia1 =  '00' + dia1;
	mes1 = '00' + mes1;
	ano1 = d1final[2].replace(' ','');
	
	dia1 = Right(dia1,2)
	mes1 =  Right(mes1,2)
	
	if((dia1 == '00') || (mes1 == '00') )
	{
		return 'erro';
	}
	
	d1final = dia1 + '/' + mes1 + '/' + ano1
	
	//Coloca a data Final no formato dd/mm/aaaa
	d2final = d2.split("/")
	if (d2final.length != 3) 
	{
		return 'erro';
	} 
		
	dia2 = d2final[0].replace(' ','')
	mes2 = d2final[1].replace(' ','');
	
	if((dia2.length>2) || (mes2.length>2))
	{
		return 'erro';
	} 
	
	dia2 =  '00' + dia2;
	mes2 = '00' + mes2;
	ano2 = d2final[2].replace(' ','');
	
	dia2 = Right(dia2,2)
	mes2 =  Right(mes2,2)
	
	if((dia2 == '00') || (mes2 == '00') )
	{
		return 'erro';
	}
	
	d2final = dia2 + '/' + mes2 + '/' + ano2
	
	//Valida as datas de Inicio e termino
	 if(  (!ValidaData(d1final)) || (!ValidaData(d2final)) ) 
	 {
		 return 'erro';
	 }
	 
	 //Coloca as datas para o padrão ansi aaaammdd
	 di  = ano1 + mes1 + dia1 
     df = ano2 + mes2 + dia2 

	if ( di == df )
		return 'igual';
	else
	if ( di > df ) 
		return 'maior';
	else
	if ( di < df ) 
		return 'menor';
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function AdicionaBarra( objeto )
{
	var obj = "" + objeto.value;
	
	if ( obj.length == 2 )
		objeto.value = objeto.value + "/";
	
	if ( obj.length == 5 )
		objeto.value = objeto.value + "/";
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function isNumberString (InString)  {
	if(InString.length==0) {
		return (false);
		}
	RefString="1234567890";
	for (Count=0; Count < InString.length; Count++)  {
		TempChar= InString.substring (Count, Count+1);
		if (RefString.indexOf (TempChar, 0)==-1) {
			return (false);
			}
	}
	return (true);
}


/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function isDate(sString) {

	var ddata = (sString);
	if (ddata == null) 
		return true;
	
	if (ddata == '')
		return true;
		
	var LenData = ddata.length;

	if( LenData == 0 )
		return false;
		
	var d = new Date( ddata );

	if ( d.toLocaleString() == 'NaN' )
		return false;
	
	var xano = ddata.substr(ddata.lastIndexOf("/")+1,ddata.length - ddata.lastIndexOf("/")+1)
	if ( xano.length < 4 )
		return false;
		
	var xmes = ddata.substring(ddata.indexOf("/")+1, ddata.lastIndexOf("/"))
	xmes = xmes.replace('0','')

	var xdia = ddata.substring(0,ddata.indexOf("/"))

	if ( String(xano).length == 3 || String(xano).length > 4 || String(xano).length == 1 ){
		return (false);
	}
	
	if (parseInt(xmes) > 12) {
		return (false);		
	}
	
	switch (parseInt(xmes)) { 
		case 1  : 
			if 	(xdia > 31 && parseInt(xmes) == 1) {
				return (false);
				break;				
				 }			
		case 2  : 
			if 	(xdia > lastDayFeb(xano) && parseInt(xmes) == 2) {
				return (false);
				break;				
				 }			
		case 3  :
			if 	(xdia > 31 && parseInt(xmes) == 3) {
				return (false);
				break;				
				 }			
		case 4  :
			if 	(xdia > 30 && parseInt(xmes) == 4) {
				return (false);
				break;				
				 }			
		case 5  :
			if 	(xdia > 31 && parseInt(xmes) == 5) {
				return (false);
				break;				
				 }			
		case 6  :
			if 	(xdia > 30 && parseInt(xmes) == 6) {
				return (false);
				break;				
				 }			
		case 7  :
			if 	(xdia > 31 && parseInt(xmes) == 7) {
				return (false);
				break;				
				 }			
		case 8  :
			if 	(xdia > 31 && parseInt(xmes) == 8) {
				return (false);
				break;				
				 }			
		case 9  :
			if 	(xdia > 30 && parseInt(xmes) == 9) {
				return (false);
				break;				
				 }			
		case 10 :
			if 	(xdia > 31 && parseInt(xmes) == 10) {
				return (false);
				break;				
				 }			
		case 11 :
			if 	(xdia > 30 && parseInt(xmes) == 11) {
				return (false);
				break;				
				 }			
		case 12 :			
			if 	(xdia > 31 && parseInt(xmes) == 12) {
				return (false);
				break;				
				 }			
	}
	return (true);
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function lastDayFeb(year) {
	if (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0))
		return 29;
	else
		return 28;		
		
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function FormatarCEP( objeto )
{
	var obj = objeto.value;
	var lcRetorno = objeto.value;
	
	if ( obj.length == 3 ) {
		if ( obj.substr(2,1) == "." )
			lcRetorno = obj.substr(0,2);			
		else
			lcRetorno = obj.substr(0,2) + "." + obj.substr(2,1);
	}
	
	if ( obj.length == 7 ) {
		if ( obj.substr(6,1) == "-" )
			lcRetorno = obj.substr(0,6);			
		else
			lcRetorno = obj.substr(0,6) + "-" + obj.substr(6,1);
	}
	objeto.value = lcRetorno;
}


/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function FormatarCPF( objeto )
{
	var obj = objeto.value;
	var lcRetorno = objeto.value;
		
	if ( obj.length == 4 ) {
		if ( obj.substr(3,1) == "." )
			lcRetorno = obj.substr(0,3);			
		else
			lcRetorno = obj.substr(0,3) + "." + obj.substr(3,1);
	}
	
	if ( obj.length == 8 ) {
		if ( obj.substr(7,1) == "." )
			lcRetorno = obj.substr(0,7);			
		else
			lcRetorno = obj.substr(0,7) + "." + obj.substr(7,1);
	}
	
	if ( obj.length == 12 ) {
		if ( obj.substr(11,1) == "-" )
			lcRetorno = obj.substr(0,11);			
		else
			lcRetorno = obj.substr(0,11) + "-" + obj.substr(11,1);
	}	
	objeto.value = lcRetorno;
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function FormatarCNPJ( objeto )
{
	var obj = objeto.value;
	var lcRetorno = objeto.value;
	
	if ( obj.length == 3 ) {
		if ( obj.substr(2,1) == "." )
			lcRetorno = obj.substr(0,2);			
		else
			lcRetorno = obj.substr(0,2) + "." + obj.substr(2,1);
	}
	
	if ( obj.length == 7 ) {
		if ( obj.substr(6,1) == "." )
			lcRetorno = obj.substr(0,6);			
		else
			lcRetorno = obj.substr(0,6) + "." + obj.substr(6,1);
	}
	
	if ( obj.length == 11 ) {
		if ( obj.substr(10,1) == "/" )
			lcRetorno = obj.substr(0,10);			
		else
			lcRetorno = obj.substr(0,10) + "/" + obj.substr(10,1);
	}
	
	if ( obj.length == 16 ) {
		if ( obj.substr(15,1) == "-" )
			lcRetorno = obj.substr(0,15);			
		else
			lcRetorno = obj.substr(0,15) + "-" + obj.substr(15,1);
	}
	objeto.value = lcRetorno;
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function FormatarData( objeto )
{
	var obj = objeto.value;
	var lcRetorno = objeto.value;
	
	if ( obj.length == 3 ) {
		if ( obj.substr(2,1) == "/" )
			lcRetorno = obj.substr(0,2);			
		else
			lcRetorno = obj.substr(0,2) + "/" + obj.substr(2,1);
	}
	
	if ( obj.length == 6 ) {
		if ( obj.substr(5,1) == "/" )
			lcRetorno = obj.substr(0,5);			
		else
			lcRetorno = obj.substr(0,5) + "/" + obj.substr(5,1);
	}
	objeto.value = lcRetorno;
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function FormatarHoraData( objeto )
{ 
	var obj = objeto.value;
	var lcRetorno = objeto.value;
	
	if ( obj.length == 3 ) {
		if ( obj.substr(2,1) == "/" )
			lcRetorno = obj.substr(0,2);			
		else
			lcRetorno = obj.substr(0,2) + "/" + obj.substr(2,1);
	}
	
	if ( obj.length == 6 ) {
		if ( obj.substr(5,1) == "/" )
			lcRetorno = obj.substr(0,5);			
		else
			lcRetorno = obj.substr(0,5) + "/" + obj.substr(5,1);
	}
	
	if ( obj.length == 11 ) {
		if ( obj.substr(10,1) == " " )
			lcRetorno = obj.substr(0,10);			
		else
			lcRetorno = obj.substr(0,10) + " " + obj.substr(10,1);
	}
	
	if ( obj.length == 14 ) {
		if ( obj.substr(13,1) == ":" )
			lcRetorno = obj.substr(0,13);			
		else
			lcRetorno = obj.substr(0,13) + ":" + obj.substr(13,1);
	}

	if ( obj.length == 17 ) {
		if ( obj.substr(16,1) == ":" )
			lcRetorno = obj.substr(0,16);			
		else
			lcRetorno = obj.substr(0,16) + ":" + obj.substr(16,1);
	}	
	
	if ( obj.length == 20 ) {
		if ( obj.substr(19,1) == "." )
			lcRetorno = obj.substr(0,19);			
		else
			lcRetorno = obj.substr(0,19) + "." + obj.substr(19,1);
	}	
		
	objeto.value = lcRetorno;
	
}


/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function formatCurrency(cuInValue) {
var iNumDecimals = 2;
var dbInVal = cuInValue;
var bNegative = false;
var iInVal = 0;
var strInVal
var strWhole = "", strDec = "";
var strTemp = "", strOut = "";
var iLen = 0;



if (dbInVal < 0) {
	bNegative = true;
	dbInVal *= -1;
}

dbInVal = dbInVal * Math.pow(10, iNumDecimals)
iInVal = parseInt(dbInVal);


if ((dbInVal - iInVal) >= .5) {
	iInVal++;
}
	strInVal = iInVal + "";
	strWhole = strInVal.substring(0, (strInVal.length - iNumDecimals));
	strDec = strInVal.substring((strInVal.length - iNumDecimals), strInVal.length);


	while (strDec.length < iNumDecimals) {
		strDec = "0" + strDec;
	}
	iLen = strWhole.length;


    if (iLen >= 3) {


		while (iLen > 0) {
			strTemp = strWhole.substring(iLen - 3, iLen);


			if (strTemp.length == 3) 
			{
				strOut = "," + strTemp + strOut;
				iLen -= 3;


				} else {
					strOut = strTemp + strOut;
					iLen = 0;
				}
			}


		    if (strOut.substring(0, 1) == ",") 
		    {
		    	strWhole = strOut.substring(1, strOut.length);


		    	} else {
		    		strWhole = strOut;
		    	}
		    }


		    if (bNegative) 
		    	{
		    		return "-$" + strWhole + "." + strDec;


		        	} else {
		        		return "$" + strWhole + "." + strDec;
		        	}
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function AtualizarPagina()
{
	location.reload()
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function SomenteNumero() {

 if (event.keyCode == '13') //Testa se foi digitado Enter ou Barra
 {
 }
 else if (event.keyCode < '48' || event.keyCode > '58') //Testa se não foram digitados números
 {
  alert('Digite apenas números!');
  event.keyCode = '127';
 }

}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function SomenteData() {
//alert(event.keyCode);

 if ((event.keyCode >= '48' && event.keyCode <= '57') || (event.keyCode >= '96' && event.keyCode <= '105'))
 {
 	return true
 }
 else
 {
   event.keyCode = '127';
   return false
 }



}

function Limpar(valor, validos) {
// retira caracteres invalidos da string
var result = "";
var aux;
for (var ii=0; ii < valor.length; ii++) {
	aux = validos.indexOf(valor.substring(ii, ii+1));
	if (aux>=0) {
	result += aux;
	}
}
return result;
}

function FormataMoeda(campo,tammax,teclapres,decimal) {
var 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 Right(pcString,pnTamanho)
{
	var lcRight
	lcRigth = pcString.substr(pcString.length - pnTamanho, pnTamanho)
	return lcRigth
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function Left(pcString,pnTamanho)
{
	var lcRigth
	lcRigth = pcString.substr(0, pnTamanho)
	return lcRigth
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function ValidaData(pcData)
{

	var data, dia, mes, ano, DataSeparada
	data = pcData
	DataSeparada = data.split("/")
	if (DataSeparada.length != 3) 
	{
		return(false);
	} 
	
	dia = DataSeparada[0].replace(' ','')
	mes = DataSeparada[1].replace(' ','');
	
	if((dia.length>2) || (mes.length>2))
	{
		return(false);
	} 
	
	dia =  '00' + dia;
	mes = '00' + mes;
	ano = DataSeparada[2].replace(' ','');
	
	dia = Right(dia,2)
	mes =  Right(mes,2)
	
	if((dia == '00') || (mes == '00') )
	{
		return(false);
	}
	
	data = dia + '/' + mes + '/' + ano
	
	if (!isDate(data))
	{
	return(false)
	}
		
	return(true)
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function validarEMAIL() {
 cad = document.form1

 if (cad.email.value.indexOf ('@',0) == -1 || cad.email.value.indexOf ('.',0) == -1){
   alert("Esse não é um e-mail válido.\nPor favor entre com um e-mail válido.")
   return false;
  }

return true;
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function validarCPF(opcpf)
 {
 antigocpf = opcpf.value
 pcpf = RetirarFormatacao(antigocpf)
 
  if (pcpf.length != 11) {sim=false}
 else {sim=true}

  if (sim )  // valida o primeiro digito
  {
  for (i=0;((i<=(pcpf.length-1))&& sim); i++)
  {
   val = pcpf.charAt(i)
   if

 ((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4")

 &&    (val!="5")&&(val!="6")&&(val!="7")&&(val!="8")) {sim=false}
   }

   if (sim)
  {
    soma = 0
    for (i=0;i<=8;i++)
    {
     val = eval(pcpf.charAt(i))
     soma = soma + (val*(i+1))
    }

    resto = soma % 11
    if (resto>9) dig = resto -10
    else  dig = resto
    if (dig != eval(pcpf.charAt(9))) { sim=false }
   else   // valida o segundo digito
    {

     soma = 0
    for (i=0;i<=7;i++)
     {
     val = eval(pcpf.charAt(i+1))
      soma = soma + (val*(i+1))
    }

     soma = soma + (dig * 9)
    resto = soma % 11
     if (resto>9) dig = resto -10
     else  dig = resto
   if (dig != eval(pcpf.charAt(10))) { sim = false }
    else sim = true
   }
   }
  }

  opcpf.value = antigocpf

  if (sim) { return(true) }
  else
    {
   alert("Valor inválido de CPF !!!")
   return(false)
	}   
 }
 
 
/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
 //@@@ -- Delimitador
function AbrirFK(pcSistema, pcPagina, pcForm, pcNome, pnQtdeDescricao)

{
	laPagina = pcPagina.split('@@@');
	
	if(laPagina.length > 2)
	{
		lcPagina = laPagina[0]; //Nome da Página
		lcModoPesquisa = laPagina[1]; //Módulo de pesquisa
		lcPaginacao = laPagina[2]; //Permite Paginação
	}
	else
	{
		if(laPagina.length > 1)
		{
			lcPagina = laPagina[0]; //Nome da Página
			lcModoPesquisa = laPagina[1]; //Módulo de pesquisa
			lcPaginacao = ''
		}
		else
		{
			lcPagina = laPagina[0];
			lcModoPesquisa = '2';
			lcPaginacao = ''
		}	
	}
	
	for(i=1;i<=pnQtdeDescricao;i++)
	{
		if(i>1)
		{
			lcCampoDescr = lcCampoDescr + '@@@txtDescr' + pcNome + i;
		}
		else
		{
			lcCampoDescr = 'txtDescr' + pcNome + i;
		}
	}

	lcFormulario = pcForm;
	lcCampoID ='hidID' + pcNome;
	lcNomeFormulario = 'formPesquisa' + pcNome;
	lcSistema = pcSistema
	
	loNovaJanela = window.open(lcPagina + '?hidSistema='+ lcSistema + '&ModoPesquisa=' + lcModoPesquisa + '&plPaginacao=' + lcPaginacao + '&pcFormulario=' + lcFormulario + '&pcCampoID=' + lcCampoID + '&pcCampoDescr=' + lcCampoDescr + '&TipoRetorno=2',lcNomeFormulario,'width=750,height=400,status=1,toolbar=0,scrollbars=1,resizable=1');

}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function LimparFK(pcForm, pcNome, pnQtdeDescricao)

{
   eval(pcForm + '.' + 'hidID' + pcNome + '.' + 'value = 0 ;');

	for(i=1;i<=pnQtdeDescricao;i++)
	{
		eval(pcForm + '.' + 'txtDescr' + pcNome + i + '.' + 'value = \'\' ;');
	}
}

/* ----------------------------------------------------------------------------
---------------------------------------------------------------------------- */
function InserirFK(pcSistema, pcLabel, plObrigatorio, pcPagina, pcForm, pcNome, pnValor, pcDescricao)
{
	laDescricao = pcDescricao.split('@@@');
	laLabel = pcLabel.split('@@@');
	
	if(plObrigatorio == 1)
	{
		lcCampoObrigatorio  = '<img src=../wImagens/CampoObrigatorio.gif width=12 height=11>';
	}
	else
	{
		lcCampoObrigatorio  = '';
	}
	
	 document.write ('<table border=0 width=100% class=lblVerdana10 align=center cellspacing=0 cellpadding=0>');			
	 document.write ('<tr>'); 				
	 document.write ('<td align=right valign=middle>' + laLabel[0] + lcCampoObrigatorio + '<br></td><td align=left valign=middle>'); 
 
	 for(i=0;i<laDescricao.length ;i++)
	 {
	 	j = i + 1;
		if(j==1)
		{ 
		 	document.write ('<input class=txtCaracter20x300ReadOnly maxlength=50 name=txtDescr'+ pcNome + j + ' value=\"' + laDescricao[i] + '\" readonly>');
			document.write ('<a href=\"javascript:AbrirFK(\''+ pcSistema +'\',\''+ pcPagina +'\',\'' + pcForm +'\',\'' + pcNome +'\',' + laDescricao.length + ')"><img src=\"../wImagens/LocalizarRegistro.gif\" width=16 height=16 border=0 alt=\"Selecionar registro...\" name=imgSelecionarBeneficiario></a>');
			document.write ('<a href=\"javascript:LimparFK(\''+ pcForm +'\',\'' + pcNome +'\',' + laDescricao.length + ')\"><img src=\"../wImagens/RemoverSelecao.gif\" width=17 height=16 border=0 name=imgRemoverSelecao alt=\"Remover sele&ccedil;&atilde;o\"></a>');
			document.write ('<input type=hidden name="hidID' + pcNome + '" value=\"' + pnValor + '\"></td>');
			document.write ('</tr>');
		}
		else
		{
			if(j <= laLabel.length)
			{
				clabel = laLabel[i];
			}
			else
			{
				clabel = '&nbsp;';
			}
			
			document.write ('<tr><td align=right valign=middle>'+ clabel +'</td><td align=left valign=middle>');
			document.write ('<input class=txtCaracter20x300ReadOnly maxlength=50 name=txtDescr'+ pcNome + j + ' value=\"' + laDescricao[i] + '\" readonly>');
			document.write ('</td></tr>');
		}
	 }
	document.write ('</table>');
}


/* ----------------------------------------------------------------------------
   sub-rotina : AbrirNovaJanela(url,centralizada,redimensiona)
   objetivo   : Abrir uma nova janela do browser centralizada de acordo com a 
                resolução de vídeo do usuário

   parametros : url             (String)  - endereço da página a ser aberta
                centralizada    (boolean) - indica se será centralizada ou não
                redimensionavel (boolean) - indica se o usuário poderá ou não redimensionar a tela
                comprimento     (inteiro) - indica o comprimento em pixels da janela
                altura          (inteiro) - indica a altura em pixels da janela

   situação   : concluída
   autor      : Lauriberto Máximo Alves
   data       : 13/12/2001
---------------------------------------------------------------------------- */
  function AbrirNovaJanela(url,centralizada,redimensiona,comprimento,altura)
  {
    redimensiona = (redimensiona)?("yes"):("no");

    h = (parseInt('0' + altura)      > 0)?(parseInt('0' + altura)     ):(500);
    w = (parseInt('0' + comprimento) > 0)?(parseInt('0' + comprimento)):(700);
        
    if (centralizada)
    {


      var jw  = window.screen.width;
      var jh  = window.screen.height;
      var l   = Math.round((jw - w) / 2);
      var t   = Math.round((jh - h) / 2);
      ljan = window.open(url,'','scrollbars=yes,status=no,menubar=no,resizable=' + redimensiona + ',width='+w+',height='+h+',left='+l+',top='+t);
    }
    else
    {
      ljan = window.open(url,'','scrollbars=yes,status=no,menubar=no,resizable=' + redimensiona + ',width='+w+',height='+h);
    }
  }

/* ----------------------------------------------------------------------------
   sub-rotina : converteFormatoDataHoraJavaScript(sData)
   objetivo   : comparar duas datas afim de informar qual delas é maior.
   retorno    : um objeto tipo Date do JavaScript

   parametros : sData (String no formato "dd/mm/aaaa" ou "dd/mm/aaaa hh:mm:ss")
                
   situação   : concluída
   autor      : Lauriberto Máximo Alves
   data       : 16/12/2001
---------------------------------------------------------------------------- */
  function converteFormatoDataHoraJavaScript(sData)
  {
    var pos;
    var dia;
    var mes;
    var ano;
    var hora;
    var minuto;
    var segundo;

    pos     = sData.indexOf("/");
    dia     = sData.substring(0,pos);
    sData   = sData.substring(pos + 1,sData.length);
    
    pos     = sData.indexOf("/");
    mes     = sData.substring(0,pos);
    sData   = sData.substring(pos + 1,sData.length);

    pos     = 4
    ano     = sData.substr(0,pos);
    sData   = sData.substring(pos + 1,sData.length);
    
    pos     = sData.indexOf(":");
    hora    = sData.substring(0,pos).length == 0 ? '00':sData.substring(0,pos);
    sData   = sData.substring(pos + 1,sData.length);

    pos     = sData.indexOf(":");
    minuto  = sData.substring(0,pos).length == 0 ? '00':sData.substring(0,pos);
    sData   = sData.substring(pos + 1,sData.length);

    pos     = 2;
    segundo = sData.substring(0,pos).length == 0 ? '00':sData.substring(0,pos);
    sData   = sData.substring(pos + 1,sData.length);
    
    var d = new Date(ano,mes - 1,dia,hora,minuto,segundo);
//    alert("No formato do javascript é: " + d);
    return d;
  }
  
/* ----------------------------------------------------------------------------
   sub-rotina : compararData(sData1,sData2)
   objetivo   : comparar duas datas afim de informar qual delas é maior.
   retorno    : -1 : se a primeira data informada for menor que a segunda
                 0 : se a primeira data informada for igual a segunda
                 1 : se a primeira data informada for maior que a segunda

   parametros : sData1 (String no formato "dd/mm/aaaa" ou "dd/mm/aaaa hh:mm:ss")
                sData2 (String no formato "dd/mm/aaaa" ou "dd/mm/aaaa hh:mm:ss")
                
   situação   : concluída
   autor      : Lauriberto Máximo Alves
   data       : 16/12/2001
---------------------------------------------------------------------------- */
  function compararDataHora(sData1,sData2)
  {
    sData1 = converteFormatoDataHoraJavaScript(sData1);
    sData2 = converteFormatoDataHoraJavaScript(sData2);
    alert(sData1);
	alert(sData2);
    if (sData1 > sData2)
    {
      return 1;
    }
    else if (sData1 == sData2)
    {
      return 0;
    }
    else if (sData1 < sData2)
    {
      return -1;
    }
    else
    {
      alert("Erro na comparação entre as datas!");
    }
  }

/* ----------------------------------------------------------------------------
   sub-rotina : estahFormatoData(tipoFormato,sData)
   objetivo   : verificar se uma data esta no formato estipulado pelo primeiro parâmetro.
   retorno    : 0 : se a primeira data informada for igual a segunda
                1 : se a primeira data informada for maior que a segunda

   parametros : tipoFormato (String contendo o formato desejado. Exemplo: "dd/mm/aaaa" ou "dd/mm" ou "dd/mm/aa" ou "dd/mm/aaaa hh:mm")
                sData       (String contendo a data a ser comparada com o formato estipulado no primeiro parâmetro")
                
   situação   : concluída
   autor      : Lauriberto Máximo Alves
   data       : 16/12/2001
---------------------------------------------------------------------------- */
  function estahFormatoData(tipoFormato,sData)
  {
    var retorno = true;

    retorno     = retorno && (tipoFormato.length           == sData.length);
    retorno     = retorno && (tipoFormato.indexOf("/")     == sData.indexOf("/"));
    retorno     = retorno && (tipoFormato.lastIndexOf("/") == sData.lastIndexOf("/"));
    retorno     = retorno && (tipoFormato.indexOf(":")     == sData.indexOf(":"));
    retorno     = retorno && (tipoFormato.lastIndexOf(":") == sData.lastIndexOf(":"));

    return retorno;
  }

function CopiarParaAreaTransf(nomeCampo)
{
	var obj = eval('document.forms[0].' + nomeCampo);
	obj.select();
	document.execCommand("copy",true);
}

function AbrirAnexo(pcAnexo)
{
	window.open(pcAnexo,'','toolbar=yes,scrollbars=yes,status=yes,menubar=yes,resizable=yes,top=0,left=0,width=750,height=450');
}

function AbrirJanelaGFT(pcPagina)
{
	window.open(pcPagina,'','toolbar=no,scrollbars=yes,status=yes,menubar=no,resizable=yes,top=20,left=0,width=850,height=600');
}

function AbrirJanela(pcPagina, pcLocal, pcOpcoes)
{
	jan = window.open(pcPagina,pcLocal,pcOpcoes);
}

