codMunicSelecionado = '';
mostrarCadastroCliVend = false;
function trocaCidades(uf){
    if(uf!='0'){
        document.getElementById('estado').options[0] = null;
        document.getElementById('cidade').disabled = true;
        document.getElementById('cidade').innerHTML = '<option>Carregando...</option>';
        //document.getElementById('nome_cidade').value = '';
        AjaxCidades.getCidades(uf,retTrocaCidades);
    }
}

function retTrocaCidades(lista){    
    selCidades = document.getElementById('cidade');
    selCidades.options[0] = null;
    
    selCidades.options[0] = new Option('Selecione','0')
    for(i=0; i < lista.length; i++){
        selCidades.options[i+1] = new Option(lista[i]['myNomeCidade'],lista[i]['myCodCidade']);
        if(codMunicSelecionado==lista[i]['myCodCidade'] || document.getElementById('nome_cidade').value==lista[i]['myNomeCidade']){
            selCidades.options[i+1].selected = true;
            codMunicSelecionado='';
        }
    }
    
    if(!mostrarCadastroCliVend)
        selCidades.disabled = false;
}

function gravaNomeCidade(obj){
    document.getElementById('nome_cidade').value = obj.options[obj.selectedIndex].innerHTML;
}


function checkCGC(){

    myCgc = document.getElementById('cgc');
    myCgcTemp = document.getElementById('cgcTemp');

    if(myCgc.value!=""){
        if(!cpfvalido(myCgc.value) && !cnpjvalido(myCgc.value)){
            alert('CNPJ/CPF inválido!');
        }
        else{
            myCgcTemp.value = myCgc.value;
            myCgc.value = 'Verificando...';
            myCgc.readOnly = true;
            AjaxClientes.verificaCgc(myCgcTemp.value, retCheckCGC);
        }
    }
}

function retCheckCGC(cnt){

    myCgc = document.getElementById('cgc');
    myCgcTemp = document.getElementById('cgcTemp');
    
    if(cnt>0)
        alert('CNPJ/CPF já cadastrado');
    
    myCgc.value = myCgcTemp.value;
    myCgc.readOnly = false;
}

/* TODO: SOLICITAR SENHA -> FUNCAO INSERIDA validaSolicitaSenha() */
function validaSolicitaSenha(){
    if(!cnpjvalido(document.getElementById('cgc').value)){
        alert('CNPJ Inálido! O campo CNPJ deve ser preenchido, apenas com números, sem pontuação, traços ou barras.')
        document.getElementById('cgc').focus();
        return false;
    }
    else if(trim(document.getElementById('razao').value)==''){
        alert('O campo RAZÃO SOCIAL deve ser preenchido.')
        document.getElementById('razao').focus();
        return false;
    }
    else if(trim(document.getElementById('nome').value)==''){
        alert('O campo NOME deve ser preenchido.')
        document.getElementById('nome').focus();
        return false;
    }
    else if(!cpfvalido(document.getElementById('cpf').value) || trim(document.getElementById('cpf').value)==''){
        alert('CPF Inválido! O campo CPF deve ser preenchido, apenas com números, sem pontuação ou traços.')
        document.getElementById('cpf').focus();
        return false;
    }
    else if(trim(document.getElementById('rg').value)=='' || document.getElementById('rg').value.length < 6){
        alert('O campo RG deve ser preenchido, apenas com números, sem pontuação ou traços, com pelo menos 6 digitos.')
        document.getElementById('rg').focus();
        return false;
    }
    else if(!telefoneformatado(document.getElementById('telefone').value)){
        alert('O campo TELEFONE deve ser preenchido, no formato 00-0000-0000.')
        document.getElementById('telefone').focus();
        return false;
    }
    else if(!emailvalido(document.getElementById('email').value)){
        alert('O campo EMAIL deve ser preenchido no formato nome@dominio.')
        document.getElementById('email').focus();
        return false;
    }
    else
        return true;
}

/* ----- POPUP PEDIDO FINALIZADO ---- */
var brow = navigator.userAgent.toLowerCase() + "";
var is_ie = false;
var is_ie5 = false;
var is_ie6 = false;
	
if(brow.indexOf("msie ") != -1){
    is_ie = true;
    if(brow.indexOf("msie 5") != -1){
    	is_ie5 = true;
    }
    if(brow.indexOf("msie 6") != -1){
    	is_ie6 = true;
    }
    if(brow.indexOf("opera ") != -1){
    	is_ie = false;
    	is_ie5 = false;
    	is_ie6 = false;
    }
}

function closedarkworldframe(){
	
	if (document.getElementById('offlinemsg')){
		document.getElementById('offlinemsg').style.display = 'none';
	}
	if (document.getElementById('darkworlddiv')){
		document.getElementById('darkworlddiv').style.display = 'none';
	}

	if (is_ie5 || is_ie6){
		showSelects();
	}
}

function displayPopup(arrPedidos,arrFiliais){
        
        pedidos = '';
        for(x=0; x<arrPedidos.length; x++){
            if(pedidos!='')
                pedidos+='<br />';
            
            pedidos+= '<font color=\"FF0000\">Pedido '+arrFiliais[x]+'<br />N. '+arrPedidos[x]+'</font><br />';
        }
    
        MsgBody = '<div id="msg_finaliza_pedido"><div id="fechar_popup">';
        MsgBody+= '<a href="javascript:closedarkworldframe();">Fechar X</a></div>';
	MsgBody+= '<div id="texto_obrigado">Obrigado por escolher a Dexcom.com.br para realizar suas compras.</div><br />';
        MsgBody+= '<div id="texto_n_pedios">'+pedidos+'</div></div>';
            
	cWidth = document.body.clientWidth;
	cHeight = document.body.clientHeight;
	document.getElementById("offlinemsg").style.top = (cHeight / 2) - 152 + document.body.scrollTop;
	document.getElementById("offlinemsg").style.left = (cWidth / 2) - 152;
	document.getElementById("offlinemsg").innerHTML = MsgBody;
	
	if (document.getElementById("darkworlddiv")){	
		if (document.body.clientHeight < document.body.scrollHeight){
			document.getElementById("darkworlddiv").style.height = document.body.scrollHeight + 'px';
		}
		
		document.getElementById("darkworlddiv").style.width = document.body.scrollWidth + 'px';
		
		if (is_ie5 || is_ie6){
			hideSelects();
		}
		
		document.getElementById("darkworlddiv").style.display = "block";
	}
	document.getElementById("offlinemsg").style.display = "";
}

function hideSelects(){
     
     var selCount = document.all.tags("select");
     
     for (i=0; i<selCount.length; i++){
        selCount[i].style.visibility = "hidden";
     }
}

function showSelects(){
	
	selCount=document.all.tags("select");
    
	for (i=0; i<selCount.length; i++){
    	selCount[i].style.visibility="visible";
    }
}

/* ------ FIM POPUP PEDIDO FINALIZADO ------ */

function abrePesquisaCliente(){
    window.open('seleciona_cliente.jsp','Clientes','menubar=no,resizable=0,toolbar=no,scrollbars=no,location=no,height=520,width=780');
}

function OpenPopUp(endereco){
    window.open(endereco, "", "width=270, height=270, location=0, status=0, scrollbars=0, toolbar=0, menubar=0, resizable=0");
}

function ExibeAlerta(mensagem){
    window.alert(mensagem);
}

function trocaPFPJ(valor){
    if(valor=='F'){
        document.getElementById('isento').checked = false;
        document.getElementById('isento').style.display='none';
        document.getElementById('txt_isento').style.display='none';
        document.getElementById('tr_contato').style.display='none';
        document.getElementById('contato').value='';
        document.getElementById('tr_fantasia').style.display='none';
        document.getElementById('fantasia').value='';
    }
    else{
        document.getElementById('isento').style.display='';
        document.getElementById('txt_isento').style.display='';
        document.getElementById('tr_contato').style.display='';
        document.getElementById('tr_fantasia').style.display='';
    }
}

function verificaClienteVinculado(){
    codcliente = document.getElementById('clientevinculado').value;
    codvendedor = document.getElementById('vendedor').value;
    
    if(codcliente!=''){
        document.getElementById('nomeclientevinculado').value = '';
        AjaxClientes.getNomeClienteVinculado(codcliente,codvendedor,resVerificaClienteVinculado);
    }
}

function resVerificaClienteVinculado(resultado){
    codcliente = document.getElementById('clientevinculado');
    nomecliente = document.getElementById('nomeclientevinculado');
    
    if(resultado==''){
        alert('Cliente não encontrado!');
        codcliente.value = '';
        nomecliente.value = '';
        codcliente.focus();
    }
    else if(resultado=='erro_cod_vendedor'){
        alert('Cliente não pertence a este vendedor!');
        codcliente.value = '';
        nomecliente.value = '';
        codcliente.focus();
    }
    else if(resultado=='erro_cli_vinculado'){
        alert('Não é possível vincular a um cliente que já possui um cliente vinculado!');
        codcliente.value = '';
        nomecliente.value = '';
        codcliente.focus();
    }
    else
        nomecliente.value = resultado;
}

function abreBuscaCliVinculado(){
    codvendedor = document.getElementById('vendedor').value;
    document.getElementById('tr_carregando_busca').style.display = '';
    AjaxClientes.getListaClienteVinculado(codvendedor,resBuscaClienteVinculado);
}

function resBuscaClienteVinculado(lista){
    if(lista.length==0){
        alert('Nenhum cliente encontrado');
        document.getElementById('tr_carregando_busca').style.display = 'none';
    }
    else{
        optClientesVinculados = '';
        for(x=0; x<lista.length; x++){
            optClientesVinculados+= '<option value="'+lista[x]['myCodigo']+'" >'+lista[x]['myNome']+'</option>\n';
        }
        document.getElementById('buscaclientevinculado').innerHTML = optClientesVinculados;
        document.getElementById('tr_carregando_busca').style.display = 'none';
        document.getElementById('tr_busca_clivinculado').style.display = '';
    }
}

function selecionaClienteVinculado(){
    document.getElementById('clientevinculado').value = document.getElementById('buscaclientevinculado').value;
    document.getElementById('tr_busca_clivinculado').style.display = 'none';
    verificaClienteVinculado();
}

function limpaCliVinculado(){
    document.getElementById('clientevinculado').value = '';
    document.getElementById('nomeclientevinculado').value = '';
}

function trocaIsento(){
    if(document.getElementById('isento').checked == true){
        document.getElementById('ie').readOnly = true;
        document.getElementById('ie').value = 'ISENTO';
    }
    else{
        document.getElementById('ie').readOnly = false;
        document.getElementById('ie').value = '';
    }
}

function isdatevalid(value){

    var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
    //var msgErro = 'Formato inválido de data.';
    var vdt = new Date();
    var vdia = vdt.getDay();
    var vmes = vdt.getMonth();
    var vano = vdt.getYear();

    if ((value.match(expReg)) && (value!='')){
        
        var dia = value.substring(0,2);
        var mes = value.substring(3,5);
        var ano = value.substring(6,10);
    
        if((mes==04 && dia > 30) || (mes==06 && dia > 30) || (mes==09 && dia > 30) || (mes==11 && dia > 30) || (dia == 0) || (mes == 0) || (ano == 0)){
            //alert("Dia incorreto !!! O mês especificado contém no máximo 30 dias.");
            return false;
        }
        else{
            if(ano%4!=0 && mes==2 && dia>28){
                //alert("Data incorreta!! O mês especificado contém no máximo 28 dias.");
                return false;
            } 
            else{
                if(ano%4==0 && mes==2 && dia>29){
                    //alert("Data incorreta!! O mês especificado contém no máximo 29 dias.");
                    return false;
                }
/*                else{
                    if ((ano > vano) || ((ano == vano) && (mes > vmes)) || ((ano == vano) && (mes == vmes) && (dia > vdia))) {
                        //alert("Data incorreta!! Ano informado maior que ano atual.");
                        return false;
                    }*/
                    else{
                        //alert ("Data correta!");
                        return true;
                    //}
                }
            }
        }
    } 
    else{
        //alert(msgErro);
        return false;
    }
}

function AtualizaValores(){

    var submeter = true;
    var erro = "";

    for(var i=0;i<document.carrinho.elements.length;i++){
        var e=document.carrinho.elements[i];

        if(e.type=='text'){
            var tipo = e.name.charAt(0);

            if((tipo=='Q') && ((e.value < 1) || (!isinteger(e.value)))){
                alert("Por favor digite apenas numeros inteiros maiores que 0 no campo quantidade!");
                submeter = false;
                break;
            }
            else if((tipo=='V') && ((e.value < 1) || (!isdigit(e.value)))){
                alert("Por favor digite apenas numeros maiores que o campo 'valor unitario' no campo 'val unit usuario'!");
                submeter = false;
                break;
            }
        }
    }
    if(submeter){
        document.carrinho.submit();
    }
}

function float2moeda(num){
   wx = 0;

   if(num<0) {
      num = Math.abs(num);
      wx = 1;
   }

   if(isNaN(num)) num = "0";
   cents = Math.floor((num*100+0.5)%100);

   num = Math.floor((num*100+0.5)/100).toString();

   if(cents < 10) cents = "0" + cents;
   for (var wi = 0; wi < Math.floor((num.length-(1+wi))/3); wi++)
      num = num.substring(0,num.length-(4*wi+3))+'.'+num.substring(num.length-(4*wi+3));

   ret = num + ',' + cents;
   if (wx == 1) ret = '-' + ret;return ret;
}

function moeda2float(moeda){

   moeda = moeda.replace(/\./g,"");

   moeda = moeda.replace(",",".");

   return parseFloat(moeda);

}

function moedavalida(valor){
    var exprereg = /^\-{0,1}\d{1,3}(\.\d{3})*\,\d{2}$/;

    if (exprereg.test(valor))
        return true;
    else
        return false;
}

function FechaPedido(total){

    var submeter = true;
    var erro = "";
    var minimo = document.carrinho.minimo.value;
    var minimo_avista = document.carrinho.minimo_avista.value;


    if(total < minimo_avista){
        alert("O valor minimo para compras a vista é de R$" + minimo_avista + " e de R$" + minimo + " para compras faturadas!");
        submeter = false;
    }
    else if((total > minimo_avista) && (total < minimo)){
        alert("O valor minimo para compras faturadas e de R$" + minimo + "\nApenas formas de pagamento a vista estarao disponiveis!");
    }
    else{
        for(var i=0;i<document.carrinho.elements.length;i++){
            var e=document.carrinho.elements[i];

            if(e.type=='text'){
                var tipo = e.name.charAt(0);

                if((tipo=='Q') && ((e.value < 1) || (!isinteger(e.value)))){
                    alert("Por favor digite apenas numeros inteiros maiores que 0 no campo quantidade!");
                    submeter = false;
                    break;
                }
                else if((tipo=='V') && ((e.value < 1) || (!isdigit(e.value)))){
                    alert("Por favor digite apenas numeros maiores que o campo 'valor unitario' no campo 'val unit usuario'!");
                    submeter = false;
                    break;
                }
            }
        }
    }
    
    if(submeter){
        document.carrinho.acao.value = 'fechar';
        document.carrinho.oque.value = 'pedido';
        document.carrinho.submit();
    }
}

function VerificaTransporteAjax(){
    document.getElementById('bt_submeter').disabled = true;
    TransporteSelecionado = false;
    PagamentoSelecionado = false;
    submeter = true;
    valTotalCli = 0;
    
    for(i=0;document.getElementById('filial'+i); i++){
        filial = document.getElementById('filial'+i).value;
        
        if(document.getElementById('filial_nome'+i))
            nomeFilial = " na a filial "+document.getElementById('filial_nome'+i).innerHTML;
        else
            nomeFilial = "";

        if(submeter){
            transporte = document.getElementById('transporte'+filial);
            for(y=transporte.length-1; y>=0; y--){
                if(transporte.options[y].selected)
                    TransporteSelecionado = true;
            }
            if(!TransporteSelecionado){
                alert('Por favor selecione uma modalidade de frete'+nomeFilial+'!');
                submeter = false;
            }
            else if((transporte.value == "PG:1") && (document.getElementById('retirante'+filial).value == '@')){
                alert('Por favor selecione a pessoa autorizada para retirada'+nomeFilial+'!');
                submeter = false;
            }
        }

        if(submeter){
            if(!document.getElementById("tipo_pag_itau"+filial) || document.getElementById("tipo_pag_itau"+filial).checked==false){
                pagamento = document.getElementById('pagamento'+filial);
                for(y=pagamento.length-1; y>=0; y--){
                    if(pagamento.options[y].selected)
                        PagamentoSelecionado = true;
                }
                if(!PagamentoSelecionado){
                    alert('Por favor selecione uma forma de pagamento'+nomeFilial+'!');
                    submeter = false;
                }
                else if((transporte.value != "PG:1") && (pagamento.value.charAt(0) == "t")){
                    alert("Formas de pagamento contra retirada sao permitidas apenas quando o frete selecionado é RETIRA"+nomeFilial+"!");
                    submeter = false;
                }
            }
        }
        
        if(submeter){
            if(document.getElementById('outros_encargos'+filial) && isinteger(trim(document.getElementById('outros_encargos'+filial).value)))
                document.getElementById('outros_encargos'+filial).value = trim(document.getElementById('outros_encargos'+filial).value)+',00';
            
            if((document.getElementById('seupedido'+filial).value != '') && (!isinteger(document.getElementById('seupedido'+filial).value))){
                alert("Por favor digite apenas numeros no campo 'Seu Pedido'"+nomeFilial+"!");
                submeter = false;
            }
            else if(document.getElementById('outros_encargos'+filial) && (document.getElementById('outros_encargos'+filial).value != '') && (!moedavalida(document.getElementById('outros_encargos'+filial).value))){
                alert("Campo 'Outros Encargos'"+nomeFilial+" no formato inválido. Digite no formato monetário. Ex: 25,35");
                submeter = false;
            }
            else if(document.getElementById('outros_encargos'+filial) && (document.getElementById('outros_encargos'+filial).value != '') && (moeda2float(document.getElementById('outros_encargos'+filial).value)<0)){
                alert("Campo 'Outros Encargos'"+nomeFilial+" não pode ser negativo.");
                document.getElementById('outros_encargos'+filial).value = "";
                submeter = false;
            }
            else{
                tpPag = pagamento.value.split(":");
                if(tpPag[2]=='PR'){
                    arrValoresP = getValoresOptionsTransp(pagamento);
                    for(r=0; r<arrValoresP.length; r++){valTotalCli = valTotalCli + arrValoresP[r];}
                }
                
                if(transporte.value.substring(0,2)=='PG'){
                    arrValoresT = getValoresOptionsTransp(transporte);
                    for(r=0; r<arrValoresT.length; r++){valTotalCli = valTotalCli + arrValoresT[r];}
                }

                if(document.getElementById('outros_encargos'+filial) && document.getElementById('outros_encargos'+filial).value!='')
                    valTotalCli = valTotalCli + moeda2float(document.getElementById('outros_encargos'+filial).value);
            }
        }
    }

    if(submeter){
        if(document.getElementById('empresa') && document.getElementById('empresa').value==0 && valTotalCli>0){
            mensagemLimite(valTotalCli);
        }
        else{
            document.formtransporte.submit();
        }
            
    }
    else{
        document.getElementById('bt_submeter').disabled = false;
        //return false;
    }
}


function mensagemLimite(vl){
    AjaxPedidos.verificaLimitePedido('',vl,-1,'11',retLimite);
}

function retLimite(ret){
    
    if(ret==1){
        if(confirm('Valor do pedido acima do limite de crédito do cliente.\nDeseja realmente fechar o pedido?'))
            document.getElementById('formtransporte').submit();
    }
    else if(ret==2){
        alert('Valor do pedido acima do limite de crédito do cliente.\nSelecione uma forma de pagamento a vista ou altere o pedido');
    }
    else{
        document.formtransporte.submit();
    }
    
    document.getElementById('bt_submeter').disabled = false;
}

function getValoresOptionsTransp(obj){

    var arrRetorno = new Array();

    txt = obj.options[obj.selectedIndex].innerHTML;

    varSplited = txt.split('-&gt;');

    tempString = '';
    getNextValue = false;
    for(cntL=0; cntL<varSplited[1].length; cntL++){

        letra = varSplited[1].charAt(cntL);

        if( getNextValue && ((parseInt(letra)>=0 && parseInt(letra)<=9) || letra==',' || letra=='.') ){
            tempString+=''+letra;
        }
        else{

            if(tempString!=''){
                idx = arrRetorno.length;
                arrRetorno[idx] = moeda2float(tempString);
                tempString = '';
                getNextValue = false;
            }

            if(letra=='$'){
                getNextValue = true;
            }
        }
    }

    if(tempString!=''){
        idx = arrRetorno.length;
        arrRetorno[idx] = moeda2float(tempString);
    }

    return arrRetorno;
}



function VerificaTransporte(){

    var TamanhoTransporte = document.formtransporte.transporte.length;
    var TamanhoPagamento = document.formtransporte.pagamento.length;
    var submeter = true;
    var TransporteSelecionado = false;
    var PagamentoSelecionado = false;

    for(i=TamanhoTransporte-1; i>=0; i--){
        if(document.formtransporte.transporte.options[i].selected){

            TransporteSelecionado = true;

            if((document.formtransporte.transporte.value == "PG:1") && (document.formtransporte.retirante.value == '@')){
                alert("Por favor selecione a pessoa autorizada para retirada!");
                submeter = false;
            }
        }
    }

    for(i=TamanhoPagamento-1; i>=0; i--){
        if(document.formtransporte.pagamento.options[i].selected){
            
            PagamentoSelecionado = true;

            if((document.formtransporte.transporte.value != "PG:1") && (document.formtransporte.pagamento.options[i].value.charAt(0) == "t")){
                alert("Formas de pagamento contra retirada sao permitidas apenas quando o frete selecionado é RETIRA!");
                submeter = false;
            }
        }
    }

    if(!TransporteSelecionado){
        alert('Por favor selecione uma modalidade de frete!');
        submeter = false;
    }
    if(!PagamentoSelecionado){
        alert('Por favor selecione uma forma de pagamento!');
        submeter = false;
    }
    if((document.formtransporte.seupedido.value != '') && (!isinteger(document.formtransporte.seupedido.value))){
        alert("Por favor digite apenas numeros no campo 'Seu Pedido'!");
        submeter = false;
    }

    if(submeter){
        document.formtransporte.submit();
    }
}

function verifica_cliente(){

    var submeter = true;

    if(document.formverificacliente.cgc.value.length == 14){
        if(!(cnpjvalido(document.formverificacliente.cgc.value))){
            alert("CNPJ invalido!");
                submeter = false;
        }
    }
    else if(document.formverificacliente.cgc.value.length == 11){
        if(!(cpfvalido(document.formverificacliente.cgc.value))){
            alert("CPF invalido!");
            submeter = false;
        }
    }
    else{
        alert("O campo 'CNPJ / CPF' deve conter 14(CNPJ) ou 11(CPF) numeros.");
        submeter = false;
    }

    if(submeter){
        document.formverificacliente.submit();
    }
}

function verifica_usuario(){

    var submeter = true;

    if(document.formverificausuario.cgc.value.length == 11){
        if(!(cpfvalido(document.formverificausuario.cgc.value))){
            alert("CPF invalido!");
            submeter = false;
        }
    }
    else{
        alert("O campo 'CPF' deve conter 11 numeros.");
        submeter = false;
    }

    if(document.formverificausuario.rg.value.length < 5){
        alert("O campo 'RG' deve ser preenchido com mais de 5 digitos.");
        submeter = false;
    }

    if(document.formverificausuario.usuario.value.length < 3){
        alert("O campo 'Usuário' deve ser preenchido com mais de 3 digitos.");
        submeter = false;
    }
    
    if(submeter){
        document.formverificausuario.submit();
    }
}

function verifica_retirante(){

    var submeter = true;

    if(document.formverificaretirante.rg.value.length < 5){
        alert("O campo 'RG' deve ser preenchido com mais de 5 digitos.");
        submeter = false;
    }

    if(submeter){
        document.formverificaretirante.submit();
    }
}

function SubmitDetalhesCliente(){
	
	var formElements = document.formdetalhescliente.elements;
	var erro = "";
	
	for(i=0; i<formElements.length; i++){
		
		if((formElements[i].type == 'text') && (formElements[i].value == "") && (formElements[i].name != "fone1") && (formElements[i].name != "fone2") && (formElements[i].name != "fax") && (formElements[i].name != "email") && (formElements[i].name != "contato") && (formElements[i].name != "cep") && (formElements[i].name != "ie") && (formElements[i].name != "clientevinculado") && (formElements[i].name != "nomeclientevinculado")){
                    if((formElements[i].name == "ie") && (document.formdetalhescliente.tipo.value == "PF")){
                        erro += "O campo rg deve ser preenchido.\n";
                    }
                    else if((formElements[i].name == "razao") && (document.formdetalhescliente.tipo.value == "PF")){
                        erro += "O campo nome deve ser preenchido.\n";
                    }
                    else{
                        erro += "O campo " + formElements[i].name + " deve ser preenchido.\n";
                    }
		}

                if((formElements[i].name == "ie") && (formElements[i].value == "") && (document.formdetalhescliente.isento.checked == false)){
                    erro += "O campo ie deve ser preenchido ou marcado como isento.\n";
                }
		
                if((formElements[i].name == "isento") && (formElements[i].checked == true)){
                    document.formdetalhescliente.ie.value = '';
                }
                
                if(((formElements[i].name == "cidade") || (formElements[i].name == "estado")) && (formElements[i].value == '0')){
                    erro += "O estado e a cidade devem ser selecionados.\n";
                }

		if(formElements[i].name == "cep"){
			if(!(cepformatado(formElements[i].value))){
				erro += "O campo CEP deve ser preenchido no formato 00000-000.\n";
			}
		}
		else if((formElements[i].name == "fone1") && (formElements[i].value != "")){
			if(!(telefoneformatado(formElements[i].value))){
				erro += "O campo Fone 1 deve ser preenchido no formato 00-0000-0000.\n";
			}
		}
		else if((formElements[i].name == "fone2") && (formElements[i].value != "")){
			if(!(telefoneformatado(formElements[i].value))){
				erro += "O campo Fone 2 deve ser preenchido no formato 00-0000-0000.\n";
			}
		}
		else if(formElements[i].name == "fax" && formElements[i].value != ""){
			if(!(telefoneformatado(formElements[i].value))){
				erro += "O campo Fax deve ser preenchido no formato 00-0000-0000.\n";
			}
		}
		else if(formElements[i].name == "email" && formElements[i].value != ""){
			if(!(emailvalido(formElements[i].value))){
				erro += "O campo Email deve ser preenchido no formato nome@dominio\n";
			}
		}
	}
	
    if(erro != ""){
        alert(erro);
    }
    else{
        document.formdetalhescliente.submit();
    }
}

function SubmitDetalhesUsuario(){
	
    var formElements = document.formdetalhesusuario.elements;
    var erro = "";
	
    for(i=0; i<formElements.length; i++){
		
        if((formElements[i].type == 'text') && (formElements[i].value == "") && (formElements[i].name != "celular") && (formElements[i].name != "email") && (formElements[i].name != "fone") && (formElements[i].name != "senha") && (formElements[i].name != "confirmasenha")){
                if(formElements[i].name == "cgc"){
                    erro += "O campo cpf deve ser preenchido.\n";
                }
                else{
                    erro += "O campo " + formElements[i].name + " deve ser preenchido.\n";
                }
            }
        else if(formElements[i].name == "fone"){
                if(!(telefoneformatado(formElements[i].value))){
                        erro += "O campo Fone deve ser preenchido no formato 00-0000-0000.\n";
                }
        }
        else if((formElements[i].name == "celular") && (formElements[i].value != "")){
                if(!(telefoneformatado(formElements[i].value))){
                        erro += "O campo celular deve ser preenchido no formato 00-0000-0000.\n";
                }
        }
        else if(formElements[i].name == "email"){
                if(!(emailvalido(formElements[i].value))){
                        erro += "O campo Email deve ser preenchido no formato nome@dominio\n";
                }
        }
    }

    if(document.formdetalhesusuario.acao.value == "alterar"){
        if((document.formdetalhesusuario.senha.value.length > 0) && (document.formdetalhesusuario.senha.value != document.formdetalhesusuario.confirmasenha.value)){
            erro += "A confirmação da senha está diferente da senha digitada.";
        }
    }
    else{
        if((document.formdetalhesusuario.senha.value.length == 0) || (document.formdetalhesusuario.senha.value.length == 0)){
            erro += "Os campos Senha e Confirma Senha devem ser preenchidos.";
        }
        else if(document.formdetalhesusuario.senha.value != document.formdetalhesusuario.confirmasenha.value){
            erro += "A confirmação da senha está diferente da senha digitada.";
        }
    }

    if(erro != ""){
        alert(erro);
    }
    else{
        document.formdetalhesusuario.submit();
    }
}

function SubmitDetalhesRetirante(){

    var formElements = document.formdetalhesretirante.elements;
    var erro = "";

    for(i=0; i<formElements.length; i++){

        if((formElements[i].type == 'text') && (formElements[i].value == "") && (formElements[i].name != "celular") && (formElements[i].name != "email") && (formElements[i].name != "fone")){
                erro += "O campo " + formElements[i].name + " deve ser preenchido.\n";
            }
        else if(formElements[i].name == "fone"){
                if(!(telefoneformatado(formElements[i].value))){
                        erro += "O campo Fone deve ser preenchido no formato 00-0000-0000.\n";
                }
        }
        else if((formElements[i].name == "celular") && (formElements[i].value != "")){
                if(!(telefoneformatado(formElements[i].value))){
                        erro += "O campo celular deve ser preenchido no formato 00-0000-0000.\n";
                }
        }
        else if((formElements[i].name == "email")  && (formElements[i].value != "")){
                if(!(emailvalido(formElements[i].value))){
                        erro += "O campo Email deve ser preenchido no formato nome@dominio\n";
                }
        }
    }

    if(erro != ""){
        alert(erro);
    }
    else{
        document.formdetalhesretirante.submit();
    }
}

function SubmitPesquisaRodape(){

    var submeter = true;

    if((document.Pesquisar.fabricantes.value == "@") && (document.Pesquisar.categorias.value == "@")){
        if(document.Pesquisar.chave.value == ""){
            alert("Pelo menos um dos campos da pesquisa deve ser selecionado ou preenchido!");
        }
        else if(document.Pesquisar.chave.value.length < 2){
            alert("O campo palavra-chave deve ter pelo menos 2 caracteres!");    
        }
        else{
            document.Pesquisar.submit();
        }
    }
    else{
        document.Pesquisar.submit();
    }
}

function SubmitConsultaPedidos(){

    var submeter = true;

    if((document.consultapedidos.pedido.value == "") && (document.consultapedidos.seupedido.value == "") && (document.consultapedidos.notafiscal.value == "")){
        if((document.consultapedidos.di.value == "") && (document.consultapedidos.df.value == "")){
            alert("Pelo menos um dos campos da pesquisa deve ser selecionado ou preenchido");
            submeter = false;
        }
        else if((document.consultapedidos.di.value == "") && (document.consultapedidos.df.value != "")){
            alert("A data inicial deve ser preenchida.");
            submeter = false;
        }
        else if(diasEntreDatas(document.consultapedidos.di.value) > 90){
            alert("A data inicial deve ser inferios a 90 dias a partir da data de hoje.");
            submeter = false;
        }
    }

    if(submeter){
        document.consultapedidos.submit();
    }
}

function libera_usuario(){

    var submeter = true;

    if(document.formliberausuario.cpf.value.length == 11){
        if(!(cpfvalido(document.formliberausuario.cpf.value))){
            alert("CPF invalido!");
            submeter = false;
        }
    }
    else{
        alert("O campo 'CPF' deve conter 11 numeros.");
        submeter = false;
    }

    if(document.formliberausuario.cgc.value.length == 14){
        if(!(cnpjvalido(document.formliberausuario.cgc.value))){
            alert("CNPJ invalido!");
            submeter = false;
        }
    }
    else{
        alert("O campo 'CNPJ' deve conter 14 numeros.");
        submeter = false;
    }

    if(!(cepformatado(document.formliberausuario.cep.value))){
        alert("O campo CEP deve ser preenchido no formato 00000-000.");
        submeter = false;
    }
    
    if(submeter){
        document.formliberausuario.submit();
    }
}

function SubmitCadastro(){
	
	var formElements = document.formcadastro.elements;
	var erro = "";
        var pfpj = "";
        
        if(document.getElementById('pfpj_f') == null){
            pfpj='J';
        }
        else{
            pfpj=(document.getElementById('pfpj_f').checked==true)?'F':'J';    
        }
	
	for(i=0; i<formElements.length; i++){
		
		if((formElements[i].type == 'text') && (formElements[i].value == "") && (formElements[i].name != "fone1") && (formElements[i].name != "fone2") && (formElements[i].name != "fax") && (formElements[i].name != "email") && (formElements[i].name != "cep") && (formElements[i].name != "ie") && (formElements[i].name != "cgc") && (formElements[i].name != "gerente") && (formElements[i].name=="fantasia" && pfpj=='F') && (formElements[i].name=="contato" && pfpj=='F') && (formElements[i].name != "clientevinculado") && (formElements[i].name != "nomeclientevinculado")){

                    erro += "O campo " + formElements[i].name + " deve ser preenchido.\n";
		}

                if(formElements[i].name == "cgc"){
                    if(pfpj=='F'){
                        if(!cpfvalido(formElements[i].value))
                            erro += "CPF invalido!\n";
                    }
                    else{
                        if(!cnpjvalido(formElements[i].value))
                            erro += "CNPJ invalido!\n";
                    }
                }

                if((formElements[i].name == "ie") && (formElements[i].value == "") && (document.formcadastro.isento.checked == false)){
                    erro += "O campo ie deve ser preenchido ou marcado como isento.\n";
                }
		
                if((formElements[i].name == "isento") && (formElements[i].checked == true)){
                    document.formcadastro.ie.value = '';
                }
                
                if(((formElements[i].name == "cidade") || (formElements[i].name == "estado")) && (formElements[i].value == '0')){
                    erro += "O estado e a cidade devem ser selecionados.\n";
                }

		if(formElements[i].name == "cep"){
			if(!(cepformatado(formElements[i].value))){
				erro += "O campo CEP deve ser preenchido no formato 00000-000.\n";
			}
		}
		else if(formElements[i].name == "fone1"){
			if(!(telefoneformatado(formElements[i].value))){
				erro += "O campo Fone 1 deve ser preenchido no formato 00-0000-0000.\n";
			}
		}
		else if((formElements[i].name == "fone2") && (formElements[i].value != "")){
			if(!(telefoneformatado(formElements[i].value))){
				erro += "O campo Fone 2 deve ser preenchido no formato 00-0000-0000.\n";
			}
		}
		else if(formElements[i].name == "fax" && formElements[i].value != ""){
			if(!(telefoneformatado(formElements[i].value))){
				erro += "O campo Fax deve ser preenchido no formato 00-0000-0000.\n";
			}
		}
		else if(formElements[i].name == "email"){
			if(!(emailvalido(formElements[i].value))){
				erro += "O campo Email deve ser preenchido no formato nome@dominio\n";
			}
		}
	}
	
    if(erro != ""){
        alert(erro);
    }
    else{
        document.formcadastro.submit();
    }
}

function cpfvalido(value){
	
	var cpf = value;
	var nonNumbers = /\D/;
	var a = [];
	var b = new Number;
	var c = 11;

	if (nonNumbers.test(cpf)){
		return false;
	}
	
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
		return false;
	}
	
	for (k=0; k<11; k++){
		a[k] = cpf.charAt(k);
		if (k < 9){
			b += (a[k] * --c);
		}
	}
	
	if ((x = b % 11) < 2){
		a[9] = 0;
	}
	else{
		a[9] = 11-x;
	}
	
	b = 0;
	c = 11;

	for (y=0; y<10; y++){
		b += (a[y] * c--); 
	}
	
	if ((x = b % 11) < 2){
		a[10] = 0;
	}
	else{
		a[10] = 11-x;
	}
	
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
		return false;
	}
	
	return true;
}

function SubmitFaleConosco(){
	
	var formElements = document.formfaleconosco.elements;
	var erro = "";
	
	for(i=0; i<formElements.length; i++){
		
		if((formElements[i].value == "") && (formElements[i].name != "fone1") && (formElements[i].name != "email")){
                    erro += "O campo " + formElements[i].name + " deve ser preenchido.\n";
		}

		if(formElements[i].name == "fone1"){
			if(!(telefoneformatado(formElements[i].value))){
				erro += "O campo Fone deve ser preenchido no formato 00-0000-0000.\n";
			}
		}
		else if(formElements[i].name == "email"){
			if(!(emailvalido(formElements[i].value))){
				erro += "O campo Email deve ser preenchido no formato nome@dominio\n";
			}
		}
	}
	
    if(erro != ""){
        alert(erro);
    }
    else{
        document.formfaleconosco.submit();
    }
}

function SubmitEsqueciASenha(){
	
    var erro = "";


    if(!(isinteger(document.formesqueciasenha.empresa.value))){
            erro += "O campo empresa deve ser preenchido apenas com números.\n";
    }

    if(document.formesqueciasenha.usuario.value == ""){
        erro += "O campo usuário deve ser preenchido.\n";
    }

    if(erro != ""){
        alert(erro);
    }
    else{
        document.formesqueciasenha.submit();
    }
}

function SubmitSac(){
	
	var formElements = document.formsac.elements;
	var erro = "";
	
	for(i=0; i<formElements.length; i++){
		
		if((formElements[i].value == "") && (formElements[i].name != "fone") && (formElements[i].name != "email")){
                    erro += "O campo " + formElements[i].name + " deve ser preenchido.\n";
		}

		if(formElements[i].name == "fone"){
			if(!(telefoneformatado(formElements[i].value))){
				erro += "O campo Fone deve ser preenchido no formato 00-0000-0000.\n";
			}
		}
		else if(formElements[i].name == "email"){
			if(!(emailvalido(formElements[i].value))){
				erro += "O campo Email deve ser preenchido no formato nome@dominio\n";
			}
		}
	}
	
    if(erro != ""){
        alert(erro);
    }
    else{
        document.formsac.submit();
    }
}

function diasEntreDatas(myData) {

    var mes, data, dataAtual, dataInfo, arrDataInfo, novaDataInfo, diasEntreDatas;

    mes = [];
    mes[0] = "January";
    mes[1] = "February";
    mes[2] = "March";
    mes[3] = "April";
    mes[4] = "May";
    mes[5] = "June";
    mes[6] = "July";
    mes[7] = "August";
    mes[8] = "September";
    mes[9] = "October";
    mes[10] = "November";
    mes[11] = "December";
    
    data = new Date();
    dataAtual = mes[data.getMonth()] + ' ' + data.getDate() + ' ' + data.getFullYear();
    dataInfo = myData;
    arrDataInfo = dataInfo.split('/');
    novaDataInfo = mes[(arrDataInfo[1] - 1)] + ' ' + arrDataInfo[0] + ' ' + arrDataInfo[2];
    diasEntreDatas = dateDiff(novaDataInfo, dataAtual);

    return diasEntreDatas;
}

function dateDiff(strDate1, strDate2){
    return (((Date.parse(strDate2))-(Date.parse(strDate1)))/(24*60*60*1000)).toFixed(0);
}

function isdigit(value){

	var exprereg = /^[0-9]{1,15}((\.|\,)[0-9]{1,3})?$/;

	if (exprereg.test(value)){
		return true;
	}
	return false;
}

function isinteger(value){

	var exprereg = /^\d{1,11}$/;

	if (exprereg.test(value)){
		return true;
	}

	return false;
}

function cepformatado(value){

	var exprereg = /^([0-9]{5}-[0-9]{3})$/;

	if (exprereg.test(value)){
		return true;
	}
	return false;
}

function telefoneformatado(value){

	// var exprereg = /^(\([0-9]{2}\)[0-9]{3,4}-[0-9]{4})$/;
	var exprereg = /^([0-9]{2}-[0-9]{3,4}-[0-9]{4})$/;

	if (exprereg.test(value)){
		return true;
	}
	return false;
}

function emailvalido(value){
	
	var exprereg = /^\w+((\.|\-)\w+)*@{1}\w+((\.|\-)\w+)*\.\w{2,}$/;
//	var exprereg = /^(\w+@{1}\w+\.\w{2,})/;

	if (exprereg.test(value)){
		return true;
	}
	return false;
}

function cnpjvalido(value){

	var nonNumbers = /\D/;
	var cnpj = value;

	if (nonNumbers.test(cnpj)){
		return false;
	}
	else if ((cnpj=="00000000000000") || (cnpj=="11111111111111") || (cnpj=="22222222222222") || (cnpj=="33333333333333") || (cnpj=="44444444444444") || (cnpj=="55555555555555") || (cnpj=="66666666666666") || (cnpj=="77777777777777") || (cnpj=="88888888888888") || (cnpj=="99999999999999")){
		return false;
	}
	else{

		var a1=eval(cnpj.slice(0,1));
		var a2=eval(cnpj.slice(1,2));
		var a3=eval(cnpj.slice(2,3));
		var a4=eval(cnpj.slice(3,4));
		var a5=eval(cnpj.slice(4,5));
		var a6=eval(cnpj.slice(5,6));
		var a7=eval(cnpj.slice(6,7));
		var a8=eval(cnpj.slice(7,8));
		var a9=eval(cnpj.slice(8,9));
		var a10=eval(cnpj.slice(9,10));
		var a11=eval(cnpj.slice(10,11));
		var a12=eval(cnpj.slice(11,12));
		var a13=eval(cnpj.slice(12,13));
		var a14=eval(cnpj.slice(13,14));

		soma= a1*5+ a2*4+ a3*3+ a4*2 + a5*9+ a6*8+ a7*7+ a8*6+ a9*5+ a10*4+ a11*3+ a12*2;
		resto=soma%11;

		if (resto<2){
			result1=0;
		}
		else{
			result1=11-resto;
		}
		
		soma=a1*6+ a2*5+ a3*4+ a4*3+ a5*2+ a6*9+ a7*8+ a8*7+ a9*6+ a10*5+ a11*4+ a12*3+ a13*2;
		resto1=soma%11;

		if (resto1<2){
			result2=0;
		}
		else{
			result2=11-resto1;
		}

		if (result1==a13 && result2==a14){
			return true;
		}
		else{
			return false;
		}
	}
}

function cpfvalido(value){
	
	var cpf = value;
	var nonNumbers = /\D/;
	var a = [];
	var b = new Number;
	var c = 11;

	if (nonNumbers.test(cpf)){
		return false;
	}
	
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
		return false;
	}
	
	for (k=0; k<11; k++){
		a[k] = cpf.charAt(k);
		if (k < 9){
			b += (a[k] * --c);
		}
	}
	
	if ((x = b % 11) < 2){
		a[9] = 0;
	}
	else{
		a[9] = 11-x;
	}
	
	b = 0;
	c = 11;

	for (y=0; y<10; y++){
		b += (a[y] * c--); 
	}
	
	if ((x = b % 11) < 2){
		a[10] = 0;
	}
	else{
		a[10] = 11-x;
	}
	
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
		return false;
	}
	
	return true;
}

function noenter(e){
    if(window.event)
	return !(window.event.keyCode == 13);
    else if(e.which)
	return !(e.which == 13);
}

function confirma_exclusao(url){
	
	if(confirm("Você optou por deletar este item, deseja continuar?")){
		window.location = url;
	}
}

function trim(valor)
{	
    while(valor.indexOf(" ")==0)
    {
        valor=valor.substr(1,valor.length);
        if(valor.length==0)break;
    }
    while(valor.lastIndexOf(" ")==(valor.length-1))
    {
        valor=valor.substr(0,valor.length-1);
        if(valor.length==0)break;
    }
    return valor;
}

function verificaRemocaoCarrinho(){

    arrElements = document.getElementsByTagName('input');
    id_excluir = 0;

    for(x=0; x<arrElements.length; x++){
        if(arrElements[x].type=='checkbox' && arrElements[x].checked==true && arrElements[x].value.substring(0,3)=='EXC'){

            if(!frm){
                var frm = document.createElement("form");
                frm.setAttribute("name", "FormExcluir");
                frm.setAttribute("method", "POST");
                frm.setAttribute("action", "Commerce?acao=excluir&oque=itens_carrinho");
                frm.setAttribute("target", "_self");
            }

            grupo = document.createElement("input");
            grupo.setAttribute("type", "hidden");
            grupo.setAttribute("name", "grupo"+id_excluir);
            grupo.setAttribute("value", arrElements[x].value.substring(3,6));
            frm.appendChild(grupo);

            cod = document.createElement("input");
            cod.setAttribute("type", "hidden");
            cod.setAttribute("name", "cod"+id_excluir);
            cod.setAttribute("value", arrElements[x].value.substring(6,12));
            frm.appendChild(cod);

            filial = document.createElement("input");
            filial.setAttribute("type", "hidden");
            filial.setAttribute("name", "filial"+id_excluir);
            filial.setAttribute("value", arrElements[x].value.substring(12,16));
            frm.appendChild(filial);

            id_excluir++;
        }
    }

    if(id_excluir>0){
        document.getElementById('invisible').appendChild(frm);
        frm.submit();
    }
    else{
        alert('Selecione pelo menos um item para excluir!');
        frm = null;
    }
}