/* ===================================================== */
/* Funções utilizadas nas telas de relatórios do sistema */
/* ===================================================== */
function mostraDIVPost()
	{
	if (document.getElementById("hddDIVAberto").value != "")
		{
		eval(document.getElementById("hddDIVAberto").value + ".style.display = 'block'");
		eval(document.getElementById("hddNumeroLinhaMarcada").value + ".bgColor = '#b0c4de'");
		document.getElementById("lblMensagemFiltro").style.display = "none";
		}
	}

function mostraFiltros(oDIV, oTD)
	{
	if (document.getElementById("hddDIVAberto").value != "")
		{
		var sCor = "";

		if (parseInt(document.getElementById("hddNumeroLinhaMarcada").value.substring(5)) % 2 != 0)
			sCor = "MintCream";
		else
			sCor = "";

		eval(document.getElementById("hddDIVAberto").value + ".style.display = 'none'");
		eval(document.getElementById("hddNumeroLinhaMarcada").value + ".bgColor = '" + sCor.toString() + "'");
		}

	document.getElementById("hddDIVAberto").value = oDIV.id;
	document.getElementById("hddNumeroLinhaMarcada").value = oTD.id;
	document.getElementById("lblMensagemFiltro").style.display = "none";
	/*
	if(document.getElementById('divSindicatoIndireta'))
	{
		document.getElementById('divSindicatoIndireta').style.display = 'none';
	}
	*/
	oDIV.style.display = 'block';
	oTD.bgColor = '#b0c4de';
	}

function mudaFundo(oColuna, sCor)
	{
	if (oColuna.bgColor != '#b0c4de')
		oColuna.bgColor = sCor;
	}
/* ===================================================== */

/* Remove os caracteres perigosos que podem destruir o sistema */
/* Método utilizado no evento OnBlur do campo */
function removerSQLInjection(pCampo)
	{
	var sRetorno = pCampo.value;
	var sCaracteres = "=,', OR , AND ,(,),<,>,UPDATE,-SHUTDOWN,--,#,$,%,¨,INSERT,DROP,DELETE,XP_,SELECT,CAST(,CONVERT(,UNION,EXEC(,VARCHAR(,'OR '1'='1','OR '1' = '1'".split(",");
	var iPos = 0;

	for (var i = 0; i < sCaracteres.length; i++)
		{
		iPos = sRetorno.toUpperCase().indexOf(sCaracteres[i].toUpperCase());

		while (iPos != -1)
			{
			sRetorno = sRetorno.substring(0, iPos) + sRetorno.substring(iPos + sCaracteres[i].length);

			iPos = sRetorno.toUpperCase().indexOf(sCaracteres[i].toUpperCase());
			}
		}

	// Remove do texto os duplos espaços
	iPos = sRetorno.indexOf("  ");

	while (iPos != -1)
		{
		sRetorno = sRetorno.replace("  ", " ");

		iPos = sRetorno.indexOf("  ");
		}

	pCampo.value = sRetorno;
	}

/* Não permite a digitação de caracteres,
    somente é permitido números de 0 a 9. O campo
    é formatado de acordo com o tamanho máximo.
    Função chamada no evento onKeyPress do controle */
function mascaraValor(pCampo, pEvento, pCasasDecimais, pTamMax)
	{
	var tecla = 0;

	if(pEvento.keyCode)
		tecla = pEvento.keyCode;
	else if(pEvento.which)
		tecla = pEvento.which;

	// Valida se a tecla pressionada é um caracter diferente se números
	if (!campoNumerico(pEvento) || (pTamMax > 0 && pCampo.value.length >= pTamMax))
	    return false;

	pCampo.value = removeCaracterTexto(pCampo.value, ",");
	pCampo.value = removeCaracterTexto(pCampo.value, ".");

	var iTamanho = pCampo.value.length + 1;

	if (tecla == 8 || tecla == 9 || tecla == 46)
		iTamanho -= 1;

	if (tecla == 8 || (tecla >= 48 && tecla <= 57) || (tecla >= 96 && tecla <= 105))
		{
		if (iTamanho > pCasasDecimais)
		    {
		    var sValor = pCampo.value.substr(0, iTamanho - pCasasDecimais);
		    var sAux = "";

		    while (sValor.length > 1)
		        {
                sAux = "." + sValor.substr(sValor.length - 3, 3) + sAux;
		        sValor = sValor.substr(0, sValor.length - 3);
		        }

		    if (sAux != "" && removeCaracterTexto(sAux, ".").length != sValor.length)
		        {
		        if (sValor == "")
		            sAux = sAux.substr(1, sAux.length);

		        pCampo.value = sValor + sAux + "," + pCampo.value.substr(iTamanho - pCasasDecimais, iTamanho);
		        }
		    else
		        pCampo.value = pCampo.value.substr(0, iTamanho - pCasasDecimais) + "," + pCampo.value.substr(iTamanho - pCasasDecimais, iTamanho)
		    }
		}
	}

/* Não permite a digitação de caracteres,
    somente é permitido números de 0 a 9.
    Função chamada no evento onKeyPress do controle */
function campoNumerico(pEvento)
	{
	var data = "";
	var tecla;

	if (pEvento.keyCode)
		tecla = pEvento.keyCode;
	else if (pEvento.which)
		tecla = pEvento.which;

	if ((tecla > 47 && tecla < 58) || tecla == 8 || tecla == 46 && tecla == 37 && tecla == 39)
	    return true;
    else
        return false;
	}

/* Formata o valor monetário com os separadores 
	de milhar e casas decimais. */
function formataValor(pCampo, pCasasDecimais)
	{
	if (pCampo.value.length == 0)
	    return false;

	pCampo.value = removeCaracterTexto(pCampo.value, ",");
	pCampo.value = removeCaracterTexto(pCampo.value, ".");

	var iTamanho = pCampo.value.length;

	if (iTamanho > pCasasDecimais)
	    {
	    var sValor = pCampo.value.substr(0, iTamanho - pCasasDecimais);
	    var sAux = "";

	    while (sValor.length > 1)
	        {
            sAux = "." + sValor.substr(sValor.length - 3, 3) + sAux;
	        sValor = sValor.substr(0, sValor.length - 3);
	        }

	    if (sAux != "" && removeCaracterTexto(sAux, ".").length != sValor.length)
	        {
	        if (sValor == "")
	            sAux = sAux.substr(1, sAux.length);

	        pCampo.value = sValor + sAux + "," + pCampo.value.substr(iTamanho - pCasasDecimais, iTamanho);
	        }
	    else
	        pCampo.value = pCampo.value.substr(0, iTamanho - pCasasDecimais) + "," + pCampo.value.substr(iTamanho - pCasasDecimais, iTamanho)
	    }
	}

/* Remove um determinado caracter de uma string 
    Função chamada através de outra função */
function removeCaracterTexto(pTexto, pCaracter)
    {
    var iPos = pTexto.toString().indexOf(pCaracter);

	while (iPos != -1)
		{
		pTexto = pTexto.toString().substring(0, iPos) + pTexto.toString().substring(iPos + pCaracter.length);

		iPos = pTexto.toString().indexOf(pCaracter);
		}

    return pTexto.toString();
    }

/* Mascara para campo numerico */
function mascaraNumero(campo,evento)
	{
	var data = "";
	var tecla;

	if(evento.keyCode)
		tecla = evento.keyCode;
	else if(evento.which)
		tecla = evento.which;

	if (tecla != 8 && tecla != 46 && tecla != 37 && tecla != 39)
		{
		data = cleanStr(campo.value,"0123456789");
		campo.value = data;
		}
	}

/* Mascara para campo tipo DATA */
function mascaraData(campo, evento)
	{
	var data = "";
	var tecla;

	if (evento.keyCode)
		tecla = evento.keyCode;
    else if(evento.which)
		tecla = evento.which;

	if (tecla != 8 && tecla != 46 && tecla != 37 && tecla != 39)
		{
		data = cleanStr(campo.value,"0123456789");

		var tam = data.length;

		if (tam > 1)
			data = data.substr(0,2) + "/" + data.substr(2, tam);

		if (tam > 3)
			data = data.substr(0,5) + "/" + data.substr(5, tam);

		campo.value = data;
		}
	}

/* Retira os caracteres inválidos da string */
function LIMP(c)
	{
	while((cx=c.indexOf("-"))!=-1)
		c = c.substring(0,cx)+c.substring(cx+1);

	while((cx=c.indexOf("/"))!=-1)
		c = c.substring(0,cx)+c.substring(cx+1);

	while((cx=c.indexOf(","))!=-1)
		c = c.substring(0,cx)+c.substring(cx+1);

	while((cx=c.indexOf("."))!=-1)
		c = c.substring(0,cx)+c.substring(cx+1);

	while((cx=c.indexOf("("))!=-1)
		c = c.substring(0,cx)+c.substring(cx+1);

	while((cx=c.indexOf(")"))!=-1)
		c = c.substring(0,cx)+c.substring(cx+1);

	while((cx=c.indexOf(" "))!=-1)
		c = c.substring(0,cx)+c.substring(cx+1);

	return(c);
	}

/* Retira os espaços em branco a direita e a esquerda da string */
function trim(str)
	{
    return str.replace(/^\s*|\s*$/g,"");
	}

/* Retira os espaços em branco a direita e a esquerda da string */
function Trim(str)
	{
	str = str.replace("\t", "");
	str = str.replace("\n", "");

    while (str.charAt(0) == " ")
		str = str.substr(1,str.length -1);

    while (str.charAt(str.length-1) == " ")
		str = str.substr(0,str.length-1);

    return str;
	}

/* Retira caracteres invalidos da string */
function cleanStr(str, validos)
	{
	var i, temp = "";

	for (i = 0; i < str.length; i++)
		{
		if (validos.indexOf(str.charAt(i)) != -1)
			temp += str.charAt(i);
		}

	return temp;
	}

/* Valida se a string passada é um numérica */
function isNUMB(c)
	{
	if((cx = c.indexOf(",")) != -1)
		c = c.substring(0,cx)+"."+c.substring(cx+1);

	if((parseFloat(c) / c != 1))
		{
		if(parseFloat(c) * c == 0)
			return(1);
		else
			return(0);
		}
	else
		return(1);
	}

function maxlength(valor, obj)
	{
	if (obj.value.length >= valor)
		return false;
	else
		return true;
	}

// Converte String no formato "1.999,99" para "1999.99"
function CvNumber(strValor)
	{
	var LstrValor = replace(strValor, '.', '');

	LstrValor = replace(LstrValor, ',', '.');

	if (LstrValor == '')
		LstrValor = '0';

	return LstrValor;
	}

// Metodo que adicionado no onKeyUp do obj define quantas casas decimais podem ser usadas
function ajustarCasasDecimais(objText, objEvent, numCasas)
	{
	tecla = (document.all) ? event.keyCode : objEvent.which;

	if ((tecla >= 48 && tecla <= 57) || (tecla >= 96 && tecla <= 105))
		{
		var strTemp;

		if(objText.value.indexOf(",") > -1)
			{
			if(numCasas < objText.value.replace(",", "").length)
				{
				strTemp = objText.value.replace(",", "");
				objText.value = "";
				objText.value += strTemp.substr(0, strTemp.length - numCasas) + "," + strTemp.substr(strTemp.length - numCasas, strTemp.length);
				}
			}

		if(objText.value.length == 13)
			objText.value = objText.value + ",";
		}
	}

// Formata um valor com "N" casas decimais
// O valor deve ser passado no formato 99999999.99 ou 99999999
function formataCasaDecimal(pValor, pNumCasas)
	{
	var sRetorno = pValor.toString();

	// Formata o resultado com "N" casas decimais
	if (sRetorno.indexOf(".") != -1)
		sRetorno = sRetorno.substring(0, sRetorno.indexOf(".")) + "," + sRetorno.substring(sRetorno.indexOf(".") + 1, sRetorno.indexOf(".") + (1 + pNumCasas));
	else
		sRetorno += ","

	var iCasas = sRetorno.substring(sRetorno.indexOf(",") + 1).length;

	// Verifica se o resultado tem menos casas decimais do que o solicitado
	if (iCasas < pNumCasas)
		for (var i = 0; i < pNumCasas - iCasas; i++)
			sRetorno += "0"

	return sRetorno
	}

/* Formata numero para validacao numerica */
function FormataNumero(texto)
	{
	if (texto.indexOf('.') != -1)
		{
		while(texto.indexOf('.') != -1)
			texto = texto.replace('.','');
		}

	texto = texto.replace(',','.');

	return texto;
	}

// Formata valor numerico
function FormataValor(obj,tammax,teclapres)
	{
	var tecla = 0;
	var chrDigito = "";

	if(teclapres.keyCode)
		{
		tecla = teclapres.keyCode;
		chrDigito = String.fromCharCode(teclapres.keyCode);
		}
	else if(teclapres.which)
		{
		tecla = teclapres.which;
		chrDigito = String.fromCharCode(teclapres.which);
		}

	vr = obj.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );

	var tam = vr.length;

	if(isNaN(chrDigito))
		return false;

	if (tam < tammax && tecla != 8)
		tam = vr.length + 1;

	if (tecla == 8 || tecla == 9 || tecla == 46)
		tam = tam - 1;

	if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
		{
		if (tam <= 2 )
			obj.value = vr;

		if ((tam > 2) && (tam <= 5))
			obj.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam);

		if ((tam >= 6) && (tam <= 8))
			obj.value = vr.substr(0, tam - 5) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);

		if ((tam >= 9) && (tam <= 11))
			obj.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))
			obj.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))
			obj.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);
		}
	}

/* Formata campos de acordo com a máscara passada como parametro */
function txtBoxFormat(objForm, strField, sMask, evtKeyPress)
	{
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if(evtKeyPress.keyCode)
		nTecla = evtKeyPress.keyCode;
	else if(evtKeyPress.which)
		nTecla = evtKeyPress.which;

	sValue = objForm[strField].value;

	// Limpa todos os caracteres de formatação que já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );

	fldLen = sValue.length;
	mskLen = sMask.length;
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;

	while (i <= mskLen)
		{
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

		if (bolMask)
			{
			sCod += sMask.charAt(i);
			mskLen++;
			}
		else
			{
			sCod += sValue.charAt(nCount);
			nCount++;
			}
		i++;
		}

	if (nTecla != 8)
		{
		objForm[strField].value = sCod

		if (sMask.charAt(i-1) == "9")
			return ((nTecla > 47) && (nTecla < 58));
		else
			return true;
		}
	else
		return true;
	}

function chkNumero(objEvent, objId, decimal)
	{
	if(navigator.appName == 'Microsoft Internet Explorer')
		{
		tecla = event.keyCode;

		if(event.keyCode == 13)
			{
			event.keyCode = 9;
			return event.keyCode;
			}
		}
	else
		tecla = objEvent.which;

	var txtobj = document.getElementById(objId);
	var txtValue = txtobj.value
	var indiceVirgula = txtValue.indexOf(",");
	var totalChars = txtValue.length;

	// Se for nmero (48 a 57)   teclado normal
	// Se for nmero (96 a 105)   teclado numrico
	// Se for 8 backspace, 46 delete, 37 seta tras, 39 seta frente, 35 End, 36 Home
	// 188 e 110 a vírgula
	if(tecla == 188 || tecla == 110)
		{
		if(decimal)
			{
			if(!(indiceVirgula > 0))
				return true;
			else
				return false;
			}
		else
			return false;
		}
	else if ((tecla >= 48 && tecla <= 57) || tecla == 8 || tecla == 9 || tecla == 35 || tecla == 36 || tecla == 46 || tecla == 37 || tecla == 39 || (tecla >= 96 && tecla <= 105))
		return true;
	else
		return false;
	}

function vDataValida(data)
	{
	if (data == '')
		return false;

	var arrData = new Array(); var arrMeses = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);

	arrData = data.split("/");

	if (arrData.length != 3)
		return false;

	if (arrData[0] < 1 || arrData[1] < 1 || arrData[2] < 1)
		return false;

	if (arrData[1] > 12)
		return false;

	if (IsBissexto(arrData[2]))
		arrMeses[2] = 29;

	if (Number(arrData[0]) > arrMeses[Number(arrData[1])])
		return false;

	if (arrData[2].length != 4)
		return false;

	if (arrData[2] < 1900)
		return false;

	return true;
	}

function IsBissexto(ano)
	{
	if((ano % 4 == 0 && ano % 100 != 0) || ano % 400 == 0)
		return true;

	return false;
	}

/* Valida formato do campo de email */
function Validaemail(stremail)
	{
	var email = trim(stremail).toLowerCase();
    parte1 = email.indexOf("@");
    parte2 = email.lastIndexOf(".");
    parte3 = email.length;
    parte4 = email.indexOf("@.");
    parte5 = email.indexOf("..");

    if (!(parte1 >= 2 && parte2 >= 5 && parte3 >= 9))
		return false;

	if (parte4 != -1 || parte5 != -1)
		return false;

	if (trim(email).indexOf(" ") != -1)
		return false;

    //return true;
    var ER = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]{2,64}(\.[a-z0-9-]{2,64})*\.[a-z]{2,4}$");

	return ER.test(email);
}

// Valida CPF
function ValidaCPF(pcpf)
	{  	
	pcpf = LIMP(pcpf);

	if (pcpf == "00000000000" || pcpf == "11111111111" || pcpf == "22222222222" || pcpf == "33333333333" || pcpf == "44444444444" || pcpf == "55555555555" || pcpf == "66666666666" || pcpf == "77777777777" || pcpf == "88888888888" || pcpf == "99999999999")
		return false;

	if (pcpf.length != 11)
		return;
	else
		sim = true;

	if (sim)
		{
		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
				{
				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;
				}
			}
		}

	return(sim);
	}

function validaCaracteresCampoNumerico(pCampo)
	{
	var strTexto = "";
	var bolVirgula = false;

	for (var i = 0; i < pCampo.value.length; i++)
		{
		if (pCampo.value.charAt(i) != ",")
			{
			if (parseFloat(pCampo.value.charAt(i)) || pCampo.value.charAt(i) == "0")
				strTexto += pCampo.value.charAt(i).toString();
			}
		else
			if (!bolVirgula)
				{
				strTexto += pCampo.value.charAt(i).toString();
				bolVirgula = true;
				}
		}

	pCampo.value = strTexto;
	}

function cpf(objForm, evento)
	{
	if(objForm.value != "")
		{
		if(objForm.value.length==14 && ((evento.keyCode >=48 && evento.keyCode <=56) || (evento.keyCode >=96 && evento.keyCode <=105) || evento.keyCode ==86))
			{
			if (ValidaCPF(objForm.value)!= 1)
				{
				alert("O CPF informado é inválido.");
				return false;
				}
			}

		if(objForm.value.length == 11 && !isNaN(objForm.value))
			{
			if (ValidaCPF(objForm.value)!= 1)
				{
				alert("O CPF informado é inválido.");
				return false;
				}
			}
		}
	}

function VerifyCNPJ(CNPJ)
	{
	CNPJ = LIMP(CNPJ);

	if(isNUMB(CNPJ) != 1)
		return(0);
	else
		{
		if(CNPJ == 0)
			return(0);
		else
			{
			g = CNPJ.length - 2;

			if(RealTestaCNPJ(CNPJ, g) == 1)
				{
				g = CNPJ.length - 1;

				if (RealTestaCNPJ(CNPJ,g) == 1)
					return(1);
				else
					return(0);
				}
			else
				return(0);
			}
		}
	}

function RealTestaCNPJ(CNPJ,g)
	{
	var VerCNPJ = 0;
	var ind = 2;
	var tam;

	for(f = g; f > 0; f--)
		{
		VerCNPJ += parseInt(CNPJ.charAt(f - 1)) * ind;

		if (ind > 8)
			ind = 2;
		else
			ind++;
		}

	VerCNPJ %= 11;

	if(VerCNPJ == 0 || VerCNPJ == 1)
		VerCNPJ= 0;
	else
		VerCNPJ = 11 - VerCNPJ;

	if(VerCNPJ != parseInt(CNPJ.charAt(g)))
		return(0);
	else
		return(1);
	}

// Retorna apenas o dia, mês ou ano da data passada.
function getDatePart(data, part)
	{
	var dtData = data.split("/");

	if (dtData[0].length == 1)
		dtData[0] = "0" + dtData[0];

	if (dtData[1].length == 1)
		dtData[1] = "0" + dtData[1];

	switch(part)
		{
		case 'd':
			return dtData[0];
			break;

		case 'm':
			return dtData[1];
			break;

		case 'y':
			return dtData[2];
			break;
		}

	return dtData[0] + "/" + dtData[1] + "/" + dtData[2]
	}

function replace(string, find, replacewith)
	{
	var pos = 0;
	var temp = '';
	var len = find.length;
	var inicial = find.substring(0,1);

	while (pos<string.length)
		{
		if(string.substring(pos,(pos+1))!=inicial)
			{
			temp += string.substring(pos,(pos+1));
			pos++;
			}
		else
			{
			if (string.substring(pos,(pos+len)) == find)
				{
				temp += replacewith;
				pos+=len;
				}
			else
				{
				temp += string.substring(pos,(pos+1));
				pos++;
				}
			}
		}

	return temp;
	}

function Findcheck(grd)
	{
	var xInputs = document.getElementsByTagName('INPUT');
	var xChecks = new Array();
	var xChecksTrue = new Array();
	var x = 0;

	for(i=0;i<xInputs.length;i++)
		{
		if(xInputs[i].type == 'checkbox' && xInputs[i].id.indexOf(grd) > -1)
			{
			xChecks[x] = xInputs[i];
			x++;
			}
		}

	x = 0;

	if (xChecks.length > 0)
		{
		for(i = 0; i < xChecks.length; i++)
			{
			if (xChecks[i].checked == true)
				{
				xChecksTrue[x] = xChecks[i];
				x++;
				}
			}
		}

	if (xChecksTrue.length == 0)
		return false;
	else
		return true;
	}

function createCustomAlert(txt,titulo)
	{
	var time = new Date();

	d = document;

	if (d.getElementById("modalContainer"))
		return;

	mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	mObj.id = "modalContainer";
	mObj.style.height = d.documentElement.scrollHeight + "px";

	alertObj = mObj.appendChild(d.createElement("div"));
	alertObj.id = "alertBox";
	alertObj.setAttribute('align','center');

	if(d.all && !window.opera)
		alertObj.style.top = document.documentElement.scrollTop + "px";

	alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
	alertObj.style.visiblity = "visible";

	h1 = alertObj.appendChild(d.createElement("h1"));
	h1.appendChild(d.createTextNode(titulo));

	var msgs = txt.split("\n")

	for (var i=0;i<msgs.length;i++)
		{
		if(i%2==0)
			msg = alertObj.appendChild(d.createElement("p"));
		else
			msg = alertObj.appendChild(d.createElement("p2"));

		msg.appendChild(d.createTextNode(msgs[i]));
		msg.setAttribute('align','justify');
		}

	alertObj.style.display = "block";
	}

function removeCustomAlert()
	{
	try
		{
		document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
		}
	catch(e)
		{
		}
	}

// Seleciona todos os checkbox de um determinado GRID
function checkAll(grd, checkAll)
	{
	var xInputs = document.getElementsByTagName('INPUT');
	var xChecks = new Array();
	var x = 0;

	for(i=0;i<xInputs.length;i++)
		{
		if(xInputs[i].type == 'checkbox' && xInputs[i].id.indexOf(grd) > -1)
			{
			xChecks[x] = xInputs[i];
			x++;
			}
		}

	if(xChecks.length > 0)
		{
		if(checkAll == true)
			{
			for(i=0;i<xChecks.length;i++)
				xChecks[i].checked = true;
			}
		else
			{
			for(i=0;i<xChecks.length;i++)
				xChecks[i].checked = false;
			}
		}
	}

function SetaBackGround(i,obj)
	{
	if (n%2 != 0)
		obj.options[n].style.background='#f5f5f5';
	}

function SetaSindicatoPadrao(Secao,objeto)
	{
	try
		{
		var tam = document.getElementById(objeto).length;

		for(n = 0; n < tam; n++)
			{
			SetaBackGround(n,document.getElementById(objeto));

			if (document.getElementById(objeto).options[n].value == Secao)
				document.getElementById(objeto).options[n].style.color='red';
			}
		}

	catch(e)
		{
		}
	}

function trocarCorFundoObjeto(obj, strColor)
	{
	obj.style.backgroundColor = strColor;
	}

function TrocaCor(objForm)
	{
	objForm.style.backgroundColor = '#b0c4de';
	}

function VoltaCor(objForm, pcor)
	{
	objForm.style.backgroundColor = pcor;
	}

function convertEnterToClick(objEvent, objClickId)
	{
	if(document.all)
		tecla = event.keyCode;
	else
		tecla = objEvent.which;

	if (tecla == 13)
		{
		var objClick = document.getElementById(objClickId);

		objClick.click();

		return false;
		}
	else
		return true;
	}

// EVENTO DEVE SER ACIONADO NO ONKEYUP DO OBJETO
function limitarCaracteres(obj, intMaximo)
	{
	if(obj.value.length > intMaximo)
		obj.value = obj.value.substr(0, intMaximo);
	}
	
	
// Valida e Atualiza Valor
function ValidaAtualizaValor()
	{
	var obj = window.event.srcElement;

	if(trim(obj.value)=='')
		obj.value = '0,00';
	else
		obj.value = FormatMoney(obj.value);	
}


function FormatMoney(pValor)
	{
	var arrAux = new Array();
	var strAux = "";
	var intContador = 1;
	var ChrDec;

	try
		{
		var decValor = pValor;

		if(decValor != "")
			{
			decValor = decValor.toString();

			if ((decValor.indexOf(".") != -1) && (decValor.indexOf(",") != -1))
				{
				decValor = replace(decValor, ".", "");
				decValor = replace(decValor, ",", ".");
				decValor = Number(decValor);
				}
			else
				{
				if(decValor.indexOf(".") != -1)
					{
					if(decValor.indexOf(".") != (decValor.length - 3))
						decValor = Number(replace(decValor, ".", ""));
					else
						decValor = Number(decValor);
					}
				else
					{
					if(decValor.indexOf(",") != -1)
						decValor = Number(replace(decValor, ",", "."));
					else
						decValor = Number(decValor);
					}
				}

			decValor = Math.round(decValor * 100) / 100;
			decValor = decValor.toString();
			arrAux = decValor.split(".");

			while(intContador <= arrAux[0].length)
				{
				strAux = arrAux[0].substr(arrAux[0].length - intContador, 1) + strAux;

				if((intContador % 3) == 0)
					strAux = "." + strAux;

				intContador++;
				}

			if(strAux.substr(0,1) == ".")
				strAux = strAux.substr(1);

			decValor = (arrAux.length > 1) ? strAux + "," + arrAux[1]:strAux + ",00";

			if(decValor.indexOf(".") == (decValor.length - 3))
				{
				decValor = replace(decValor, ",", "");
				decValor = replace(decValor, ".", ",");
				}

			if(decValor.indexOf(",") > -1)
				if (decValor.indexOf(",") + 3 > decValor.length)
					decValor += '0';

			if((typeof(decValor)!='undefined') && (decValor != 'undefined'))
				return decValor;
			else
				return pValor;
			}
		else
			return pValor;
		}
	catch(e)
		{
		alert(decValor);
		return pValor;
		}
	}

function validaCaracteres(pCampo, formata)
	{
	var strTexto = "";

	for (var i = 0; i < pCampo.value.length; i++)
		{
		if (pCampo.value.charAt(i) != "." && pCampo.value.charAt(i) != "/" && pCampo.value.charAt(i) != "-")
			{
			if (parseFloat(pCampo.value.charAt(i)) || pCampo.value.charAt(i) == "0")
				strTexto += pCampo.value.charAt(i).toString();
			}
		}

	if (formata)
		{
		if (strTexto.length == 11)
			pCampo.value = strTexto.substring(0, 3) + "." + strTexto.substring(3, 6) + "." + strTexto.substring(6, 9) + "-" + strTexto.substring(9, 11);
		else if (strTexto.length == 14)
			pCampo.value = strTexto.substring(0, 2) + "." + strTexto.substring(2, 5) + "." + strTexto.substring(5, 8) + "/" + strTexto.substring(8, 12) + "-" + strTexto.substring(12, 14);
		else
			pCampo.value = strTexto;
		}
	else
		pCampo.value = strTexto;
	}
