function validaEmail(Email)
{
    //FUNÇÃO QUE VALIDA E-AMAIL APARTIR DE UMA EMPRESSÃO REGULAR.
    //PARAMETRO 1: Endereço de E-mail
    //RETORNO: Boleano
   
    if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(Email)))
    {
        return false;
    }
    else
    {
        return true;
    }
}

function validaCep(cep)
{

    //FUNÇÃO QUE VALIDA CEP APARTIR DE UMA EMPRESSÃO REGULAR.
    //PARAMETRO 1: CEP
    //RETORNO: Boleano
    
    exp = /\d{2}d{3}d{3}/
    if(!exp.test(cep))
    {
        return false;
    }
    else
    {
        return true;
    }
}

function isNumero(numero)
{
    //FUNÇÃO QUE VERIFICA SE É NUMERO O PARAMETRO PASSADO.
    //PARAMETRO 1: VALOR PARA VALIDAR
    //RETORNO: Boleano
    
    if(isNaN(numero))
    {
        return true;
    }
    else
    {
        return false;
    }
}

function getObj(name)
{
    //CRIA REFERENCIA A UM OBJETO DA TELA.
    //PARAMETRO 1: ID DO ELEMENTRO
    //RETORNO: Objeto
    
    if (document.getElementById)
    {
      	return document.getElementById(name);
    }
    else if (document.all)
    {
    	return document.all[name];
    }
    else if (document.layers)
    {
       	return document.layers[name];
    }
}

function setFocus(ObjetoID)
{
    //JOGA O FOCUS PARA O COMPONENTE INFORMADO
    //PARAMETRO 1: ID DO OBJETO
    //RETORNO: null

    getObj(ObjetoID).focus();
}


function inicializaCamposColor()
{
    //ADICIOINA OS EVENTOS onfocus E onblur NO ELEMETOS input DA TELA PARA QUANDO O USUÁRIO ENTRAR MUDAR DE COR.
    //RETORNO: null
    
    var ObjetosText = document.body.getElementsByTagName("input");
    var aux;
    var ObjetoFocus;

    for (i = 0; i < ObjetosText.length; i++)
    {
        if (((ObjetosText[i].type == 'text') || (ObjetosText[i].type == 'password')) && (ObjetosText[i].onblur == null) && (ObjetosText[i].onfocus == null))
        {
            if(aux != 1)
            {
               ObjetoFocus = ObjetosText[i];
            }

            ObjetosText[i].onfocus = function () {enterComponente(this);}
            ObjetosText[i].onblur =  function () {exitComponente(this);}
            aux = 1;
        }
    }

    ObjetoFocus.focus();
}

function enterComponente(e)
{
    //FUNÇÃO DEPENDENTE: inicializaCamposColor()
    e.style.background = "#FEF0E7";
}

function exitComponente(e)
{
    //FUNÇÃO DEPENDENTE: inicializaCamposColor()
    e.style.background = "#FFFFFF";
}

function mostraTelaFeedBack(msg)
{
    //MOSTRA MENSAGEM DE AGUARDE
    //PARAMETRO 1: Mensagem
    //RETORNO: null
    
    getObj('DivFeedBack').className = 'DivFeedBack';
    getObj('DivFeedBack').innerHTML = msg;
}

function fechaDivFeedBack()
{
    //FECHA MENSAGEM DE AGUARDE
    //RETORNO: null
    
    getObj('DivFeedBack').className = '';
    getObj('DivFeedBack').innerHTML = '';
}

function limpaINPUT(divPai)
{
    //LIMPA CAMPOS QUE ESTÃO DENTRO DO DIV INFORMADO NO PARAMETRO 1
    //PARAMETRO 1: Div pai dos inputs
    //RETORNO: null
    
    Objetos = document.getElementById(divPai).getElementsByTagName('input');
    ObjetosText = document.getElementById(divPai).getElementsByTagName('textarea');
    var Contador = 0;
    var ContadorText = 0;

    for (var i = 0; i < Objetos.length; i++)
    {
        if((Objetos[i].type == 'text') || (Objetos[i].type == 'hidden'))
        {
            if(Contador==1)
            {
                var objetoFoco = Objetos[i];
            }
            Objetos[i].value='';
            Objetos[i].style.backgroundColor='#FFFFFF';
            Contador++;
        }
    }
    
    for (var i = 0; i < ObjetosText.length; i++)
    {
        if((ObjetosText[i].type == 'textarea'))
        {
            if(ContadorText==1)
            {
                var objetoFoco = ObjetosText[i];
            }
            ObjetosText[i].value='';
            ObjetosText[i].style.backgroundColor='#FFFFFF';
            ContadorText++;
        }
    }
    
    objetoFoco.focus();
}

function adicionaValidaCampo()
{
    //ADICIOINA OS EVENTOS onblur NO ELEMETOS input DA TELA PARA VALIDAR QUANDO O USUÁRIO SAIR DO ELEMENTO E NÃO PREENCHER
    //RETORNO: null

    var objetosInput = document.body.getElementsByTagName("input");
    var objetosText = document.body.getElementsByTagName("textarea");

    for(var i = 0; i < objetosInput.length; i++)
    {
        if((!objetosInput[i].onblur) && (objetosInput[i].lang == "1"))
        {
              objetosInput[i].onblur = function () {validaCampo(this);};
        }
    }
    for(var i = 0; i < objetosText.length; i++)
    {
        if((!objetosText[i].onblur) && (objetosText[i].lang == "1"))
        {
            objetosText[i].onblur = function () {validaCampo(this);};
        }
    }
}

function validaCampo(campo)
{
    //FUNÇÃO DEPENDENTE: adicionaValidaCampo()
    
    if(campo.value == "")
    {
        campo.style.background = "#FFE1E1"

        if(campo.lang == "11")
        {
            campo.lang = "1"
        }
    }
    else
    {
        campo.style.background = "#FFFFFF"
        if(campo.lang == "1" || campo.lang == "11")
        {
            campo.lang = "11";
        }
    }
}

function marcaCheked(Div, Campo)
{
    var Quantidade = (document.getElementById(Div).getElementsByTagName('input'));

    for (var i=0; i < Quantidade.length; i++) 
    {
        if (Quantidade[i].value == Campo)
        {
            Quantidade[i].checked = true;
        }    
    }    
} 

function marcaTodosCheked(Div, objeto)
{
    var Quantidade = (document.getElementById(Div).getElementsByTagName('input'));

    for (var i=0; i < Quantidade.length; i++) 
    {
        if (Quantidade[i].type == 'checkbox')
        {
        	if (objeto.checked)
        	{
				Quantidade[i].checked = true;
			}
            else
            {
				Quantidade[i].checked = false;
			}
        }    
    }    
} 

function marcaChekedDiv(Div)
{
    var Quantidade = (document.getElementById(Div).getElementsByTagName('input'));

    for (var i=0; i < Quantidade.length; i++) 
    {
        if (Quantidade[i].type == 'checkbox')
        {
        	Quantidade[i].checked = !Quantidade[i].checked;
        }    
    }    
}

function getKeyCode(evento)
{
    //RETORNA A CÓDIGO DA TECLA DIGITADA
    //PARAMENTRO 1: EVENTO (event)
    //RETORNO: CÓDIGO DA TECLA DIGITADA
    
    var keycode = "";

    if (window.event)
    {
        keycode = window.event.keyCode;
    }
    else
    if(evento)
    {
        keycode = evento.which;
    }

    return keycode;
}

function getDateTime(formato)
{

    //RETORNA DATA E HORA ATUAL DO NAVEGADOR DO USUÁRIO
    //PARAMENTRO 1: FORMATO - formato padrão: dd/MM/yyyy hh:mm:ss
    //RETORNO: DATA NO FORMATO STRING

    if(getObj(formato))
    {
        formato = getObj(formato).value;
    }

    data    = new Date();

    function addZero(vNumber)
    {
        return ((vNumber < 10) ? "0" : "") + vNumber
    }

    var vDay         = addZero(data.getDate());
    var vMonth       = addZero(data.getMonth()+1);
    var vYearLong    = addZero(data.getFullYear());
    var vYearShort   = addZero(data.getFullYear().toString().substring(3,4));
    var vYear        = (formato.indexOf("yyyy")>-1?vYearLong:vYearShort)
    var vHour        = addZero(data.getHours());
    var vMinute      = addZero(data.getMinutes());
    var vSecond      = addZero(data.getSeconds());
    var vDateString  = formato.replace(/dd/g, vDay).replace(/MM/g, vMonth).replace(/y{1,4}/g, vYear)
    vDateString      = vDateString.replace(/hh/g, vHour).replace(/mm/g, vMinute).replace(/ss/g, vSecond)

    return vDateString;
}


function valida_cnpj(cnpj)
{

    //VALIDA CNPJ
    //PARAMENTRO 1: VALOR PARA VALIDAR
    //RETORNO: Boleano
    
    cnpj = cnpj.replace(".","");
    cnpj = cnpj.replace(".","");
    cnpj = cnpj.replace("/","");
    cnpj = cnpj.replace("-","");

      var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
      digitos_iguais = 1;
      if (cnpj.length < 14 && cnpj.length < 15)
            return false;
      for (i = 0; i < cnpj.length - 1; i++)
            if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
}

function setIndexCombobox(IDComboBox, valor)
{

    //DEFINE O INDEX DO COMBOBOX CONFORME O ID DO REGISTRO QUE FOI PASSADO.
    //PARAMENTRO 1: ID DO OBJETO COMBOBOX
    //PARAMENTRO 2: VALOR DO REGISTRO QUE DESEJA DEFINIR COMO O INDEX
    //RETORNO: NULL
    
	var Combobox = getObj(IDComboBox);

	for (i = 0 ; i < Combobox.length; i++)
	{
	   if (Combobox[i].value==valor)
	   {
          Combobox.selectedIndex = Combobox[i].index;
       }
	}
}

function criaElemento(nomeElemento, tipoElemento, elementoPai)
{
    //CRIA ELEMENTO
    //PARAMENTRO 1: NOME DO ELEMENTO
    //PARAMENTRO 2: TIPO DO ELEMENTO
    //PARAMENTRO 3: ELEMENTO PAI
    //RETORNO: NULL
    
    var novoElemento = document.createElement(tipoElemento);

    novoElemento.setAttribute('id', nomeElemento);

    if(elementoPai!=null)
    {
        elementoPai.appendChild(novoElemento);
    }
    else
    {
        document.body.appendChild(novoElemento);
    }

    return novoElemento;
}

function existeNoVetor(vetor, valor)
{
     //VERIFICA SE DETERMINADO VALOR EXISTE EM UM VETOR
     //PARAMENTRO 1: VETOR
     //PARAMENTRO 2: VALOR QUE DESEJA COMPARAR
     //RETORNO: Boleano
    
     for(x=0; x < vetor.length; x++ )
     {
         if(vetor[x]==valor)
         {
            return true;
         }
     }

     return false;
}

function isObjeto(IDObjeto)
{
    //VERIFICA SE É UM OBJETO
    //PARAMENTRO 1: ID DO OBJETO
    //RETORNO: Boleano
     
    if (typeof(IDObjeto) == 'object')
    {
        return true;
    }
    else
    {
        return false;
    }
}

function ocultaElemento(nomeElemento)
{
	//OCULTA O ELEMENTO DA TELA
	//PARAMENTRO 1: NOME DO ELEMENTO OU OBJETO DO ELEMENTO
	//RETORNO: Boleano

	if (!isObjeto(nomeElemento))
	{
		nomeElemento = getObj(nomeElemento);
	}

	nomeElemento.style.visibility = "hidden";
}

function mudarCorElemento(Cor, Componente)
{
 	//MUDA COR DO ELEMENTO DA TELA
	//PARAMENTRO 1: COR 
	//PARAMENTRO 2: NOME DO ELEMENTO OU OBJETO DO ELEMENTO
	//RETORNO: Boleano

	if (!isObjeto(Componente))
	{
		Componente = getObj(Componente);
	}
	
	Componente.style.backgroundColor = Cor;
}

function mostraEscondeAbas(IDAbaMO, IDDivMO, Instrucao)
{
 	//MOSTRA ESCONDE AS ABAS DA TELA
	//PARAMENTRO 1: NOME DO LI PARA MOSTRAR
	//PARAMENTRO 1: NOME DO DIV ARA MOSTRAR A ABA
	//PARAMENTRO 1: BOLEANO ARA SABER SE É PARA MOSTRAR OU ESCONDER
	//RETORNO: Boleano
 
    var IDAba = getObj(IDAbaMO);
    var IDDiv = getObj(IDDivMO);

    if(Instrucao)
    {
        IDAba.className = 'selected';
        IDDiv.className = 'DIVAbasShow';
    }
    else
    {
        IDAba.className = '';
        IDDiv.className = 'DIVAbasHidden';
    }
}

function openPopup(URL, Largura, Altura)
{
 	//ABRE JANELA POPUP
	//PARAMENTRO 1: URL QUE DESEJA ABRIR
	//PARAMENTRO 2: LARGURA DA JANELA
	//PARAMENTRO 3: ALTURA DA JANELA
	//RETORNO: null

    var top  = parseInt((screen.availHeight-Altura)/2);
    var left = parseInt((screen.availWidth-Largura)/2);

	window.open(URL, "_blank", 'width='+Largura+', height='+Altura+', scrollbars=yes, top='+top+'px,left='+left+'px, status=no, resizable=yes, toolbar=no, location=no, directories=no, menubar=no');
}


function validaForm(elementoPai)
{
 	//VALIDA FORMULÁRIO CAMPOS QUE ESTEJAM DENTRO DO elementoPai
	//PARAMENTRO 1: ELEMENTO PAI, PODE SER UM DIV, TABLE, FORM.. ETC.
	//RETORNO: Boleano

    var objetosInput = document.getElementById(elementoPai).getElementsByTagName("input");
    var objetosText = document.getElementById(elementoPai).getElementsByTagName("textarea");

    var liberado = true;
    var campoFocus = "";
    var contador = 0;

    for(var i = 0; i < objetosInput.length; i++)
    {
        if((objetosInput[i].type == "text") || objetosInput[i].type == "password")
        {
            if((objetosInput[i].lang == "1") && (objetosInput[i].value == ""))
            {
                liberado = false;
                objetosInput[i].style.background = "#FFE1E1";
                contador++;
                if(contador == 1)
                {
                    campoFocus = objetosInput[i];
                }
            }
        }
    }
    for(var i = 0; i < objetosText.length; i++)
    {
        if((objetosText[i].lang == "1") && (objetosText[i].value == ""))
        {
            liberado = false;
            if(campoFocus == "")
            {
                objetosText[i].style.background = "#FFE1E1";
                if(contador == 1)
                {
                    campoFocus = objetosText[i];
                }
            }
        }
    }

    if(!liberado)
    {
      campoFocus.focus();
    }
    return liberado;
}

function validarValorMoeda(valor)
{
 	//VALIDA SE O VALOR MOEDA CONTÉM CARACTERES INVALIDOS
	//PARAMENTRO 1: VALOR MOEDA
	//RETORNO: Boleano
 
	var StrValida = "0123456789.,";
	var Verifica = 0;
	
	for(var i = 0; i < valor.length; i++)
	{
		for(var j = 0; j < StrValida.length; j++)
		{
			if (valor.charAt(i) == StrValida.charAt(j))
			{
				Verifica = 1;
			}
		}
		
		if (Verifica == 1)
		{
			Verifica = 0;
		}
		else
		{
			return false;
		}
	}
	
	return true;
}


function marcaCheckedBox(objeto)
{
  //objeto = nome do componente checkedbox que deseja marcar ou desmarcar
 
    getObj(objeto).checked = !getObj(objeto).checked;
}

function getElementosDiv(nomeDiv, tipoElemento)
{
 	//retorna os elementos do tipo passado como paramentro que estão dentro do div passado como parametro
 	//nomeDiv = nome do div de referecia
	//tipoElemento = tipo dos elementos para a busca
  
 	return Objetos = document.getElementById(nomeDiv).getElementsByTagName(tipoElemento);	
}


function marcaCheck(divCheck, valor)
{
    //DIV PAI DOS INPUT
    //VALOR PARA SELECIONAR
    //RETORNO: null
    
    var ObjetosText = document.body.getElementsByTagName("input");

    for (i = 0; i < ObjetosText.length; i++)
    {
        if (ObjetosText[i].type == 'radio')
        {
            if (ObjetosText[i].value == valor)
			{
				ObjetosText[i].checked = true;
			}
			else
			{
				ObjetosText[i].checked = false;
			}
        }
    }
}

function buscaRadioMarcado(div)
{
 	//DIV PAI DOS OBJETOS
 	//RETORNO: VALOR DO DIV MARCADO
 	
	var objetos = document.getElementById(div).getElementsByTagName("input");
	var retorno = "0";
	
    for(var i = 0; i < objetos.length; i++)
    {
        if(objetos[i].type == "radio")
        {
            if(objetos[i].checked)
            {
                retorno = objetos[i].value;
            }    
        }    
    }
   
   return retorno;
}


function formata3CasasVirgula(objeto, tipoFormato, onblur, onfocus)
{
    //O PARÂMENTRO OBJETO PODE SER UM OBJETO OU UM VALOR

    //O PARÂMENTRO tipoFormato VERIFICA SE É PARA FORMATAR PARA O USUÁRIO OU PARA O BANCO DE DADOS
    //SE FOR 'TRUE' ENTAO FORMATA PARA O USUARIO, SE FOR 'FALSE' FORMATA PARA O BANCO

    var tipoObjeto = false;

    //VERIFICA SE O PARÂMENTRO CAMPO É UM OBJETO OU UM VALOR
    if(objeto.value)
      {tipoObjeto = true;}
    if(getObj(objeto))
      {tipoObjeto = true;
       objeto = getObj(objeto);}


    //PEGA O VALOR DO CAMPO A SER FORMATADO
    var valor = "";
    if(tipoObjeto) {valor = objeto.value;} else {valor = objeto}


    if(tipoFormato)
    {
        //TIRA OS CARACTERES QUE NÃO FOREM NÚMEROS
        if (valor.value != "")
        {
			valor =  valor.replace("/", "");
	        valor =  valor.replace(",", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace("-", "");
		}
        

        //DEIXA O USUÁRIO DIGITAR UM NÚMRO COM ATÉ 15 DÍGITOS
        if(valor.length > 15)
        {
            valor = valor.substr(0,15);
        }

        //VERIFICA A QUANTIDADE DE DÍGITOS E FORMATA O NÚMERO
        switch (valor.length)
        {
            case 1 : valor = valor; break;
            case 2 : valor = valor; break;
            case 3 : valor = valor.charAt(0)+","+valor.charAt(1)+valor.charAt(2); break;
            case 4 : valor = valor.charAt(0)+","+valor.charAt(1)+valor.charAt(2)+valor.charAt(3); break;
            case 5 : valor = valor.charAt(0)+valor.charAt(1)+","+valor.charAt(2)+valor.charAt(3)+valor.charAt(4); break;
            case 6 : valor = valor.charAt(0)+valor.charAt(1)+valor.charAt(2)+","+valor.charAt(3)+valor.charAt(4)+valor.charAt(5); break;
            case 7 : valor = valor.charAt(0)+"."+valor.charAt(1)+valor.charAt(2)+valor.charAt(3)+","+valor.charAt(4)+valor.charAt(5)+valor.charAt(6); break;
            case 8 : valor = valor.charAt(0)+valor.charAt(1)+"."+valor.charAt(2)+valor.charAt(3)+valor.charAt(4)+","+valor.charAt(5)+valor.charAt(6)+valor.charAt(7); break;
            case 9 : valor = valor.charAt(0)+valor.charAt(1)+valor.charAt(2)+"."+valor.charAt(3)+valor.charAt(4)+valor.charAt(5)+","+valor.charAt(6)+valor.charAt(7)+valor.charAt(8); break;
            case 10 : valor = valor.charAt(0)+"."+valor.charAt(1)+valor.charAt(2)+valor.charAt(3)+"."+valor.charAt(4)+valor.charAt(5)+valor.charAt(6)+","+valor.charAt(7)+valor.charAt(8)+valor.charAt(9); break;
            case 11: valor = valor.charAt(0)+valor.charAt(1)+"."+valor.charAt(2)+valor.charAt(3)+valor.charAt(4)+"."+valor.charAt(5)+valor.charAt(6)+valor.charAt(7)+","+valor.charAt(8)+valor.charAt(9)+valor.charAt(10); break;
            case 12: valor = valor.charAt(0)+valor.charAt(1)+valor.charAt(2)+"."+valor.charAt(3)+valor.charAt(4)+valor.charAt(5)+"."+valor.charAt(6)+valor.charAt(7)+valor.charAt(8)+","+valor.charAt(9)+valor.charAt(10)+valor.charAt(11); break;
            case 13: valor = valor.charAt(0)+"."+valor.charAt(1)+valor.charAt(2)+valor.charAt(3)+"."+valor.charAt(4)+valor.charAt(5)+valor.charAt(6)+"."+valor.charAt(7)+valor.charAt(8)+valor.charAt(9)+","+valor.charAt(10)+valor.charAt(11)+valor.charAt(12); break;
            case 14: valor = valor.charAt(0)+valor.charAt(1)+"."+valor.charAt(2)+valor.charAt(3)+valor.charAt(4)+"."+valor.charAt(5)+valor.charAt(6)+valor.charAt(7)+"."+valor.charAt(8)+valor.charAt(9)+valor.charAt(10)+","+valor.charAt(11)+valor.charAt(12)+valor.charAt(13); break;
            case 15: valor = valor.charAt(0)+valor.charAt(1)+valor.charAt(2)+"."+valor.charAt(3)+valor.charAt(4)+valor.charAt(5)+"."+valor.charAt(6)+valor.charAt(7)+valor.charAt(8)+"."+valor.charAt(9)+valor.charAt(10)+valor.charAt(11)+","+valor.charAt(12)+valor.charAt(13)+valor.charAt(14); break;
            case 16: valor = valor.charAt(0)+"."+valor.charAt(1)+valor.charAt(2)+valor.charAt(3)+"."+valor.charAt(4)+valor.charAt(5)+valor.charAt(6)+"."+valor.charAt(7)+valor.charAt(8)+valor.charAt(9)+"."+valor.charAt(10)+valor.charAt(11)+valor.charAt(12)+","+valor.charAt(13)+valor.charAt(14)+valor.charAt(15); break;
        }

        if(tipoObjeto && tipoFormato)
        {
            if(onblur)
            {
                //ADICIONA AO EVENTO ONBLUR A FUNCÃO QUE FORMATA O VALOR NO FORMATO PARA O BANCO DE DADOS
                objeto.onblur = function() { getOnChange(objeto), formata3CasasVirgula(objeto, !tipoFormato, onblur, onfocus), exitComponente(this);}
            }
            if(onfocus)
            {
                //ADICIONA ESTA FUNÇÃO AO EVENTO ONFOCUS DO OBJETO
                objeto.onfocus = function() { formata3CasasVirgula(objeto, tipoFormato, onblur, onfocus), enterComponente(this);}
            }

            //ADICIONA AO OBJETO O VALOR FORMATADO
            objeto.value = valor;
        }
        else
        {
            return valor;
        }
    }
    else
    {
        //TIRA OIS CARACTERES QUE NÃO FOREN NÚMEROS E TROCA A VÍRGULA POR PONTO
        if (valor.value != "")
        {
			valor =  valor.replace("/", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(",", ".");
	        valor =  valor.replace("-", "");
		}

        if(tipoObjeto)
        {
           objeto.value = valor;
        }
        else
        {
            return valor;
        }
    }
}













//AQUI PARA BAIXO ESTA AS FUNÇÕES AINDA NÃO DOCUMENTADAS,
//AO UTILIZAR ALGUMA POR FAVOR DOCUMENTAR CONFORME O PADRÃO

function getOnChange(objeto)
{
    if(objeto.onchange)
    {
        var inicio = String(objeto.onblur).indexOf("{");
        var fim    = String(objeto.onblur).lastIndexOf("}");

        return String(objeto.onblur).substr(inicio+1, fim - inicio - 3);
    }
    else
    {
        return "";
    }
}

function formatarMascara(src, mask, evento)
{
    var i = src.value.length;

    var saida = mask.substring(0,1);
    var texto = mask.substring(i);

    if (texto.substring(0,1) != saida && getKeyCode(evento) != 8)
    {
        src.value += texto.substring(0,1);
    }
}

function formataValor(objeto, tipoFormato, onblur, onfocus)
{
    //O PARÂMENTRO OBJETO PODE SER UM OBJETO OU UM VALOR

    //O PARÂMENTRO tipoFormato VERIFICA SE É PARA FORMATAR PARA O USUÁRIO OU PARA O BANCO DE DADOS
    //SE FOR 'TRUE' ENTAO FORMATA PARA O USUARIO, SE FOR 'FALSE' FORMATA PARA O BANCO

    var tipoObjeto = false;

    //VERIFICA SE O PARÂMENTRO CAMPO É UM OBJETO OU UM VALOR
    if(objeto.value)
      {tipoObjeto = true;}
    if(getObj(objeto))
      {tipoObjeto = true;
       objeto = getObj(objeto);}


    //PEGA O VALOR DO CAMPO A SER FORMATADO
    var valor = "";
    if(tipoObjeto) {valor = objeto.value;} else {valor = objeto}


    if(tipoFormato)
    {
        //TIRA OS CARACTERES QUE NÃO FOREM NÚMEROS
        if (valor.value != "")
        {
			valor =  valor.replace("/", "");
	        valor =  valor.replace(",", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace("-", "");
		}
        

        //DEIXA O USUÁRIO DIGITAR UM NÚMRO COM ATÉ 15 DÍGITOS
        if(valor.length > 15)
        {
            valor = valor.substr(0,15);
        }

        //VERIFICA A QUANTIDADE DE DÍGITOS E FORMATA O NÚMERO
        switch (valor.length)
        {
            case 1 : valor = valor; break;
            case 2 : valor = valor; break;
            case 3 : valor = valor.charAt(0)+","+valor.charAt(1)+valor.charAt(2); break;
            case 4 : valor = valor.charAt(0)+valor.charAt(1)+","+valor.charAt(2)+valor.charAt(3); break;
            case 5 : valor = valor.charAt(0)+valor.charAt(1)+valor.charAt(2)+","+valor.charAt(3)+valor.charAt(4); break;
            case 6 : valor = valor.charAt(0)+"."+valor.charAt(1)+valor.charAt(2)+valor.charAt(3)+","+valor.charAt(4)+valor.charAt(5); break;
            case 7 : valor = valor.charAt(0)+valor.charAt(1)+"."+valor.charAt(2)+valor.charAt(3)+valor.charAt(4)+","+valor.charAt(5)+valor.charAt(6); break;
            case 8 : valor = valor.charAt(0)+valor.charAt(1)+valor.charAt(2)+"."+valor.charAt(3)+valor.charAt(4)+valor.charAt(5)+","+valor.charAt(6)+valor.charAt(7); break;
            case 9 : valor = valor.charAt(0)+"."+valor.charAt(1)+valor.charAt(2)+valor.charAt(3)+"."+valor.charAt(4)+valor.charAt(5)+valor.charAt(6)+","+valor.charAt(7)+valor.charAt(8); break;
            case 10: valor = valor.charAt(0)+valor.charAt(1)+"."+valor.charAt(2)+valor.charAt(3)+valor.charAt(4)+"."+valor.charAt(5)+valor.charAt(6)+valor.charAt(7)+","+valor.charAt(8)+valor.charAt(9); break;
            case 11: valor = valor.charAt(0)+valor.charAt(1)+valor.charAt(2)+"."+valor.charAt(3)+valor.charAt(4)+valor.charAt(5)+"."+valor.charAt(6)+valor.charAt(7)+valor.charAt(8)+","+valor.charAt(9)+valor.charAt(10); break;
            case 12: valor = valor.charAt(0)+"."+valor.charAt(1)+valor.charAt(2)+valor.charAt(3)+"."+valor.charAt(4)+valor.charAt(5)+valor.charAt(6)+"."+valor.charAt(7)+valor.charAt(8)+valor.charAt(9)+","+valor.charAt(10)+valor.charAt(11); break;
            case 13: valor = valor.charAt(0)+valor.charAt(1)+"."+valor.charAt(2)+valor.charAt(3)+valor.charAt(4)+"."+valor.charAt(5)+valor.charAt(6)+valor.charAt(7)+"."+valor.charAt(8)+valor.charAt(9)+valor.charAt(10)+","+valor.charAt(11)+valor.charAt(12); break;
            case 14: valor = valor.charAt(0)+valor.charAt(1)+valor.charAt(2)+"."+valor.charAt(3)+valor.charAt(4)+valor.charAt(5)+"."+valor.charAt(6)+valor.charAt(7)+valor.charAt(8)+"."+valor.charAt(9)+valor.charAt(10)+valor.charAt(11)+","+valor.charAt(12)+valor.charAt(13); break;
            case 15: valor = valor.charAt(0)+"."+valor.charAt(1)+valor.charAt(2)+valor.charAt(3)+"."+valor.charAt(4)+valor.charAt(5)+valor.charAt(6)+"."+valor.charAt(7)+valor.charAt(8)+valor.charAt(9)+"."+valor.charAt(10)+valor.charAt(11)+valor.charAt(12)+","+valor.charAt(13)+valor.charAt(14); break;
        }

        if(tipoObjeto && tipoFormato)
        {
            if(onblur)
            {
                //ADICIONA AO EVENTO ONBLUR A FUNCÃO QUE FORMATA O VALOR NO FORMATO PARA O BANCO DE DADOS
                objeto.onblur = function() { getOnChange(objeto), formataValor(objeto, !tipoFormato, onblur, onfocus), exitComponente(this);}
            }
            if(onfocus)
            {
                //ADICIONA ESTA FUNÇÃO AO EVENTO ONFOCUS DO OBJETO
                objeto.onfocus = function() { formataValor(objeto, tipoFormato, onblur, onfocus), enterComponente(this);}
            }

            //ADICIONA AO OBJETO O VALOR FORMATADO
            objeto.value = valor;
        }
        else
        {
            return valor;
        }
    }
    else
    {
        //TIRA OIS CARACTERES QUE NÃO FOREN NÚMEROS E TROCA A VÍRGULA POR PONTO
        if (valor.value != "")
        {
			valor =  valor.replace("/", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(".", "");
	        valor =  valor.replace(",", ".");
	        valor =  valor.replace("-", "");
		}

        if(tipoObjeto)
        {
           objeto.value = valor;
        }
        else
        {
            return valor;
        }
    }
}


function format(num,cd,carac) 
{
	if(parseInt(num) == num) 
	{
		return num+carac+"00";
	}
	else
	{
		var str=num.toString();
		var div = str.split(".");
		var real = div[0];
		var centavos = div[1];
		var format = centavos.substring(0,cd);
		return real+carac+format;
	}
}


function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		selectbox.remove(i);
	}
}


function getSizeWindow()
{
    if(IE())
    {
        return [document.documentElement.scrollHeight, document.documentElement.scrollWidth];
    }
    else
    {
        return [window.innerHeight, window.innerWidth];
    }
}

function IE()
{
    if(navigator.appName.indexOf('Internet Explorer')>0)
    {
        return true;
    }
    
    return false;
}

function valida_cpf(cpf)
{

    cpf = cpf.replace(".","");
    cpf = cpf.replace(".","");
    cpf = cpf.replace(".","");
    cpf = cpf.replace("-","");
    
      var numeros, digitos, soma, i, resultado, digitos_iguais;
      digitos_iguais = 1;
      if (cpf.length < 11)
            return false;
      for (i = 0; i < cpf.length - 1; i++)
            if (cpf.charAt(i) != cpf.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            numeros = cpf.substring(0,9);
            digitos = cpf.substring(9);
            soma = 0;
            for (i = 10; i > 1; i--)
                  soma += numeros.charAt(10 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            numeros = cpf.substring(0,10);
            soma = 0;
            for (i = 11; i > 1; i--)
                  soma += numeros.charAt(11 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
}

function limpaObjetoInput(DivPai, CampoFocus)
{ 
    Objetos     = document.getElementById(DivPai).getElementsByTagName('input');
    ObjTextArea = document.getElementById(DivPai).getElementsByTagName('textarea');

    for (var i = 0; i < Objetos.length; i++) 
    { 
        if((Objetos[i].id != '') && (Objetos[i].type != 'radio') && (Objetos[i].type != 'checkbox'))
        {
            	getObj(Objetos[i].id).value = ""; 
        }
    }
    for (var i = 0; i < ObjTextArea.length; i++) 
    { 
        if(ObjTextArea[i].id!='')
        {
        	getObj(ObjTextArea[i].id).value = "";
        }
    }
    if(CampoFocus!='')
    {
       getObj(CampoFocus).focus();
    }
}

function objHTMLIFrame(frame)
{
	var io = getObj(frame);
	if(io.contentWindow) 
	{
		return io.contentWindow.document.body.innerHTML;
	} 
	else if(io.contentDocument)
	{
		return io.contentDocument.document.body.innerHTML;
	}
}

function objHTMLIFrameFrame(io)
{
	if(io.contentWindow) 
	{
		return io.contentWindow.document.body.innerHTML;
	} 
	else if(io.contentDocument)
	{
		return io.contentDocument.document.body.innerHTML;
	}
}

function setHTMLIFrame(frame, conteudo)
{
	var io = getObj(frame);
	if(io.contentWindow) 
	{
		io.contentWindow.document.body.innerHTML = conteudo;
	} 
	else if(io.contentDocument)
	{
		io.contentDocument.document.body.innerHTML = conteudo;
	}
}

function html_entity_decode( string ) {
    // http://kevin.vanzonneveld.net
    // +   original by: john (http://www.jd-tech.net)
    // +      input by: ger
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // %          note: table from http://www.the-art-of-web.com/html/character-codes/
    // *     example 1: html_entity_decode('Kevin &amp; van Zonneveld');
    // *     returns 1: 'Kevin & van Zonneveld'
    
    var histogram = {}, histogram_r = {}, code = 0;
    var entity = chr = '';
    
    histogram['34'] = 'quot';
    histogram['38'] = 'amp';
    histogram['60'] = 'lt';
    histogram['62'] = 'gt';
    histogram['160'] = 'nbsp';
    histogram['161'] = 'iexcl';
    histogram['162'] = 'cent';
    histogram['163'] = 'pound';
    histogram['164'] = 'curren';
    histogram['165'] = 'yen';
    histogram['166'] = 'brvbar';
    histogram['167'] = 'sect';
    histogram['168'] = 'uml';
    histogram['169'] = 'copy';
    histogram['170'] = 'ordf';
    histogram['171'] = 'laquo';
    histogram['172'] = 'not';
    histogram['173'] = 'shy';
    histogram['174'] = 'reg';
    histogram['175'] = 'macr';
    histogram['176'] = 'deg';
    histogram['177'] = 'plusmn';
    histogram['178'] = 'sup2';
    histogram['179'] = 'sup3';
    histogram['180'] = 'acute';
    histogram['181'] = 'micro';
    histogram['182'] = 'para';
    histogram['183'] = 'middot';
    histogram['184'] = 'cedil';
    histogram['185'] = 'sup1';
    histogram['186'] = 'ordm';
    histogram['187'] = 'raquo';
    histogram['188'] = 'frac14';
    histogram['189'] = 'frac12';
    histogram['190'] = 'frac34';
    histogram['191'] = 'iquest';
    histogram['192'] = 'Agrave';
    histogram['193'] = 'Aacute';
    histogram['194'] = 'Acirc';
    histogram['195'] = 'Atilde';
    histogram['196'] = 'Auml';
    histogram['197'] = 'Aring';
    histogram['198'] = 'AElig';
    histogram['199'] = 'Ccedil';
    histogram['200'] = 'Egrave';
    histogram['201'] = 'Eacute';
    histogram['202'] = 'Ecirc';
    histogram['203'] = 'Euml';
    histogram['204'] = 'Igrave';
    histogram['205'] = 'Iacute';
    histogram['206'] = 'Icirc';
    histogram['207'] = 'Iuml';
    histogram['208'] = 'ETH';
    histogram['209'] = 'Ntilde';
    histogram['210'] = 'Ograve';
    histogram['211'] = 'Oacute';
    histogram['212'] = 'Ocirc';
    histogram['213'] = 'Otilde';
    histogram['214'] = 'Ouml';
    histogram['215'] = 'times';
    histogram['216'] = 'Oslash';
    histogram['217'] = 'Ugrave';
    histogram['218'] = 'Uacute';
    histogram['219'] = 'Ucirc';
    histogram['220'] = 'Uuml';
    histogram['221'] = 'Yacute';
    histogram['222'] = 'THORN';
    histogram['223'] = 'szlig';
    histogram['224'] = 'agrave';
    histogram['225'] = 'aacute';
    histogram['226'] = 'acirc';
    histogram['227'] = 'atilde';
    histogram['228'] = 'auml';
    histogram['229'] = 'aring';
    histogram['230'] = 'aelig';
    histogram['231'] = 'ccedil';
    histogram['232'] = 'egrave';
    histogram['233'] = 'eacute';
    histogram['234'] = 'ecirc';
    histogram['235'] = 'euml';
    histogram['236'] = 'igrave';
    histogram['237'] = 'iacute';
    histogram['238'] = 'icirc';
    histogram['239'] = 'iuml';
    histogram['240'] = 'eth';
    histogram['241'] = 'ntilde';
    histogram['242'] = 'ograve';
    histogram['243'] = 'oacute';
    histogram['244'] = 'ocirc';
    histogram['245'] = 'otilde';
    histogram['246'] = 'ouml';
    histogram['247'] = 'divide';
    histogram['248'] = 'oslash';
    histogram['249'] = 'ugrave';
    histogram['250'] = 'uacute';
    histogram['251'] = 'ucirc';
    histogram['252'] = 'uuml';
    histogram['253'] = 'yacute';
    histogram['254'] = 'thorn';
    histogram['255'] = 'yuml';
    
    // Reverse table. Cause for maintainability purposes, the histogram is 
    // identical to the one in htmlentities.
    for (code in histogram) {
        entity = histogram[code];
        histogram_r[entity] = code; 
    }
    
    return string.replace(/(\&([a-zA-Z]+)\;)/g, function(full, m1, m2){
        if (m2 in histogram_r) {
            return String.fromCharCode(histogram_r[m2]);
        } else {
            return m2;
        }
    });    
}

function addOption(selec, val, tex) 
{
	selec = typeof(selec) == "string" ? document.getElementById(selec) : selec;
	var opt = document.createElement("option");
	opt.value = val;
	opt.text = tex;
	try { selec.add(opt, null); } // NS/FF
	catch(e) { selec.add(opt); } // IE
}

function addOptionSelect(selec, val, tex, select) 
{
	selec = typeof(selec) == "string" ? document.getElementById(selec) : selec;
	var opt = document.createElement("option");
	opt.value = val;
	opt.text = tex;
	if(select == val)
	{
		opt.selected = true;
	}
	try { selec.add(opt, null); } // NS/FF
	catch(e) { selec.add(opt); } // IE
}

function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		selectbox.remove(i);
	}
}

function printPage(m, id_grupo)
{
    openPopup('print.php?m='+m+'&id_grupo='+id_grupo, '800', '600');
}

function alteraQuemIndicou(id_indicou, id_cliente)
{
    if(confirm('Confirma alteração do campo \"Indicado por\"?'))
    {
        x_alteraQuemIndicou(id_indicou, id_cliente, callbackAlteraQuemIndicou);
    }
}

function callbackAlteraQuemIndicou(resultado)
{
    if(resultado==true)
    {
       alert('Alteração realizada com sucesso!');
    }
    else
    {
       alert('Falha ao realizar alteração, tente novamente ou entre em contato com o suporte técnico!');
    }
}


function alteraOrdem(IDProduto, Ordem)
{

    		jQuery.noConflict();

    	    jQuery.post('../exec.php?acao=alteraOrdem',
    	    {
    	        id: IDProduto,
    	        ordem: Ordem
    	    },
    	    function(response){ });
}

