
//fundo do campo, caso haja erro
var bgerro = "#FFF4F4";
var bgnoerro = "#F5F5F5";

//caminho imagens
function pathImagens()
{
	var getimagens = $_v("pega_imagens");	
	return getimagens;
}

//caminho ajax para javascript
function pathAjax()
{
	var getajax = $_v("pega_ajax");
	return getajax;
}

//ativador flash
function ativaActive(fcValor)
{
	var conteudo = document.getElementById(fcValor).innerHTML;
	document.getElementById(fcValor).innerHTML = conteudo;
}

//função para decode e encode de UTF8
UTF8 = {
	encode: function(s){
		for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
			s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
		);
		return s.join("");
	},
	decode: function(s){
		for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
			((a = s[i][c](0)) & 0x80) &&
			(s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
			o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
		);
		return s.join("");
	}
};

function addSlashes(texto)
{
// Escapes single quote, double quotes and backslash characters in a string with backslashes  
// 
// version: 909.322
// discuss at: http://phpjs.org/functions/addslashes    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// +   improved by: Ates Goral (http://magnetiq.com)
// +   improved by: marrtins
// +   improved by: Nate
// +   improved by: Onno Marsman    // +   input by: Denny Wardhana
// +   improved by: Brett Zamir (http://brett-zamir.me)
// *     example 1: addslashes("kevin's birthday");
// *     returns 1: 'kevin\'s birthday'

	//return (texto+'').replace(/([\\"'])/g, "\\$1").replace(/\u0000/g, "\\0");
	//return texto.replace(/(["'\\])/g, "\\$1").replace(/\0/g, "\\0") ;
	//return escape(texto);
	return encodeURIComponent(texto);
}

function $_(a)
{
    return document.getElementById(a);
}

function $_n(a)
{
    return document.getElementsByName(a);
}

function $_v(a)
{
    return $_(a).value;
}

function Trim(campo)
{
   return campo.replace(/^\s+|\s+$/g,"");
}

function campoOK(campo)
{
	var getcampo = campo.id;
	document.getElementById(getcampo).style['background'] = bgnoerro;
}

function campoNOTOK(campo)
{
	var getcampo = campo.id;
	document.getElementById(getcampo).style['background'] = bgerro;
	document.getElementById(getcampo).focus();
}

function Mascara(src, mask){
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
	if (texto.substring(0,1) != saida) 
	{
		src.value += texto.substring(0,1);
	}
}


//##################### VALIDAR CAMPOS #####################
function checkEMAIL(campo)
{
	var exclude, check, checkend;

	//EXPRESSÕES REGULARES PARA CHECAGEM DO E-MAIL
	exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	check=/@[\w\-]+\./;
	checkend=/\.[a-zA-Z]{2,3}$/;

	if((($_v(campo).search(exclude) != -1)||($_v(campo).search(check)) == -1)||($_v(campo).search(checkend) == -1))	
	{
		alert("O E-MAIL deve ser um endereço eletrônico válido.");
		campoNOTOK($_(campo));
		return false;
	}
	
	return true;
}

function checkCPF(campo)
{
	//pega valor do campo
	var getcpf = $_v(campo);
	//expressão para testar o formato do cpf
	var check = /^[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}$/;

	//verifica o formato do cpf
	if(!check.test(getcpf))
	{
		alert("Formato de CPF inválido.\nDigite o CPF no formato 000.000.000-00");
		campoNOTOK($_(campo));
		return false;
	}else{
		
		var cpf1= getcpf.replace('.','');
		var cpf2= cpf1.replace('.','');
		var cpf3= cpf2.replace('.','');
		var cpf4= cpf3.replace('-','');
		var CPF= cpf4;
		
		if (CPF == "00000000000" ||
			CPF == "11111111111" || 
			CPF == "22222222222" || 
			CPF == "33333333333" || 
			CPF == "44444444444" || 
			CPF == "55555555555" || 
			CPF == "66666666666" || 
			CPF == "77777777777" || 
			CPF == "88888888888" || 
			CPF == "99999999999")
		{
			alert("CPF inválido.");
			campoNOTOK($_(campo));
	 		return false; 
			
		}
		
		if (CPF.length != "11"){
			alert("Por favor, informe um CPF válido.");
			campoNOTOK($_(campo));
	 		return false; 
		}
		
		x = 0;
		soma = 0;
		dig1 = 0;
		dig2 = 0;
		texto = "";
		numcpf1="";
		numcpf = CPF;
		len = numcpf.length;
		x = len -1;
		
		// var numcpf = "12345678909";
		for (var i=0; i <= len - 3; i++)
		{
			y = numcpf.substring(i,i+1);
			soma = soma + ( y * x);
			x = x - 1;
			texto = texto + y;
		}
		dig1 = 11 - (soma % 11);
		if (dig1 == 10) dig1=0 ;
		if (dig1 == 11) dig1=0 ;
		numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
		x = 11; soma=0;
		for (var i=0; i <= len - 2; i++)
		{
			soma = soma + (numcpf1.substring(i,i+1) * x);
			x = x - 1;
		}
		dig2= 11 - (soma % 11);
		if (dig2 == 10) dig2=0;
		if (dig2 == 11) dig2=0;
		//alert ("Digito Verificador : " + dig1 + "" + dig2);
		if ((dig1 + "" + dig2) == numcpf.substring(len,len-2))
		{
			return true;
		}
		
		alert("CPF inválido.");
		return false;	
	}
}

function checkCNPJ(campo)
{
	var cnpj1= $_v(campo).replace('.','');
	var cnpj2= cnpj1.replace('.','');
	var cnpj3= cnpj2.replace('/','');
	var cnpj4= cnpj3.replace('-','');
	var CNPJ= cnpj4;

	if (CNPJ.length != '14'){
		alert("Por favor, informe um CNPJ válido.");
		campoNOTOK($_(campo));
		return false; 
	}
	
	var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
	digitos_iguais = 1;
	
      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))
			{
				alert("CNPJ inválido.");
				campoNOTOK($_(campo));
                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))
			{
				alert("CNPJ inválido.");
				campoNOTOK($_(campo));
                return false;
			}else{
            	return true;
            }
	}else{
		alert("CNPJ inválido.");
		campoNOTOK($_(campo));
		return false;
	}
}

function checkDATA(campo){

	hoje = new Date();
	diaAtual = hoje.getDate();
	anoAtual = hoje.getFullYear();
	getMes = hoje.getMonth();
	mesAtual = getMes + 1;
	
	//quebra a data passada no campo
	barras = campo.value.split("/");

	if(campo.value.length != 10)
	{
		alert("Informe a DATA completa. \nExemplo: 10/10/2010");
		campo.focus();
		return false;
	}
	else
	{
		dia = barras[0];
		mes = barras[1];
		ano = barras[2];

		//se for passado um segundo argumento como "data_casamento", 
		//indica que é data de casamento e permite datas futuras
		if(arguments[1] == "data_casamento")
		{
			resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano >= 1900));			
		}else{
			resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
		}				

		if (!resultado)
		{
			alert("A DATA informada é inválida!");
			campo.focus();
			return false;
		}else{
		
			//se for passado um segundo argumento, 
			//verifica se a data informada é menor que a data do dia atual
			if(arguments[1])
			{
				//se ano informado é menor que ano atual
				if(ano < anoAtual)
				{
					alert("DATA INVÁLIDA. O ano informado é menor que o ano atual.");	
					campo.focus();
					return false;
				}else{
					
					if(mes < mesAtual && ano <= anoAtual)
					{		
						alert("DATA INVÁLIDA. O mês informado é menor que o mês atual.");	
						campo.focus();
						return false;
					}else{
						
						if(arguments[1] == "data_casamento")
						{
							if(dia <= diaAtual && mes <= mesAtual && ano <= anoAtual)
							{
								alert("DATA INVÁLIDA. O dia informado é menor que o dia atual.");	
								campo.focus();
								return false;		
							}
						}else{
							if(dia < diaAtual && mes <= mesAtual)
							{
								alert("DATA INVÁLIDA. O dia informado é menor que o dia atual.");	
								campo.focus();
								return false;		
							}
						}
					}
				}
			}
		}
	}
	return true;
}

function checkHORA(campo)
{
	if(campo.value.length < 5)
	{
		alert("Informe a HORA completa. \nExemplo: 22:30");
		campoNOTOK(campo);
		return false;
	}

	var horario = campo.value.split(":");
	var hora = horario[0];
	var minuto = horario[1];
	
	if(isNaN(hora) || isNaN(minuto))
	{
		alert("A HORA deve conter somente números");
		campoNOTOK(campo);	
		return false;
	}
	
	if(hora > 23 || hora < 00 || hora.length < 2)
	{
		alert("A HORA informada é inválida");
		campoNOTOK(campo);	
		return false;
	}
		
	if(minuto > 59 || minuto < 00 || minuto.length < 2)
	{
		alert("Os MINUTOS informados são inválidos");
		campoNOTOK(campo);	
		return false;
	}
	
	return true;
} 

function checkCEP(campo)
{
	//substitui os espaços vazios no inicio e no fim do cep 
	var getcep = $_(campo).value;
	var cep = getcep.replace(/^\s+|\s+$/g, '');
		
	//verifica tamanho do cep
	if (cep.length != 9) 
	{
		alert("CEP incompleto.\nDigite o CEP no formato 00000-000");
		campoNOTOK($_(campo));
		return false;
	}else{
		
		//expressão para testar o formato do cep
		var check = /^[0-9]{2}[0-9]{3}-[0-9]{3}$/;
			
		if (!check.test(cep)) 
		{
			alert("Formato de CEP inválido.\nDigite o CEP no formato 00000-000");
			campoNOTOK($_(campo));
			return false;
		}
	}
			
	return true;
}

//##################### fim VALIDAR CAMPOS #####################


//função genérica para ajax (com validação de campos)
//  [get_url] arquivo do ajax
//  [get_pars] campo hidden com os campos do form, sendo possível validar com setValidacao(campo=>tipo validação)
//  [alvo_ajax] container p/ o load do ajax; deixar vazio se não quiser load
//  [msg_ajax] mensagem p/ o load do ajax
//  [funcao] função que será executada após retorno do ajax
function runAjax(get_url, get_pars, alvo_ajax, msg_ajax, funcao)
{
	//variávies utilizadas
	var campos, valores, validar, tipo_validacao, campo_final, erro, url, pars, retorno;
	//##################### VALIDAÇÃO DE CAMPOS #####################
	//quebra nome dos campos passados em get_pars
	campos = $_v(get_pars).split(",");
	//contagem de erros caso haja validação
	erro = 0;
	//tipos de validação para substituir nos nomes dos campos
	tipo_validacao = new Array();
	
	//verifica qtos campos foram passados
	for(i=0; campos.length > i ; i++)
	{
		//quebra o nome do campo e o tipo de validação (campo=>tipo validação)
		validar = campos[i].split("=>");
		
		//se tem validação no campo
		if(validar[1] != "")
		{
			//executa função de validação
			if(!setValidacao(validar[0], validar[1], $_(validar[0]).name))
			{
				erro++;
				return false;
			} 
		}
		
		//pega tipos de validação passados para remover abaixo
		//tipo_validacao.push("=>"+validar[1]);
		tipo_validacao.push("=>"+validar[1]);
	}
	
	//##################### fim VALIDAÇÃO DE CAMPOS #####################

	//##################### EXECUTA AJAX #####################
	//se passou em todas as validações
	if(erro == 0)
	{
		//verifica qtos campos foram passados
		for(a=0; campos.length > a ; a++)
		{
			//remove o tipo de validação do nome do campo
			campo_final = campos[a].replace(tipo_validacao[a], "");
			
			//se for o primeiro campo, não adiciona &
			if(a==0)
			{
				valores =  campo_final +"="+ addSlashes($_v(campo_final));
			//concatena os campos com &			
			}else{
				valores += "&"+ campo_final +"="+ addSlashes($_v(campo_final));
			}
		}

		//mostra loading
		if(msg_ajax != "")
		{
			setLoading(alvo_ajax, msg_ajax);
		}
		
		url = get_url;
		pars = valores;

		newAjax = new Ajax.Request(url, {
											method: 'post',
											parameters: pars,
											onComplete: function(originalRequest)
											{
												resultado = originalRequest.responseText;
												//executa(resultado, funcao);
												//setAction(resultado);
												funcao(resultado);
												
											},
											onFailure: function()
											{ 
												alert('Não foi possível executar a operação. Por favor, tente novamente.');
												$_(alvo_ajax).innerHTML = '';
												return false
											}
										}
								);
	}
	//##################### fim EXECUTA AJAX #####################
}

//grava url na sessão para redirecionar
//parâmetro redirecionar deve ser convertido com urlencode() do php
function setMustLogin(redirecionar)
{
	if(redirecionar == "")
	{
		alert("URL indefinida para redirecionamento");
		
	}else{
	
	//valores e url para o ajax
	url = pathAjax() + "redirecionamento.ajax.php";
	pars = "redirecionamento="+addSlashes(redirecionar);
	setAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;
											if(resultado == "ok")
											{
												//pega caminho de imagens p/ obter server
												get_server = pathImagens();
												//corrige a url direta do server
												server = get_server.replace("/img","/acessar")
												//redireciona para login
												pageRedirect(server);
											}else{
												alert('Não foi possível redirecionar. Por favor, efetue login.');
												//se não redirecionou volta para a página de onde veio
												pageRedirect();
											}
										},
										onFailure: function()
										{ 
											alert('Não foi executar a operação. Por favor, efetue login.');
											return false;
										}
									}
							);
	}
}

//funcao usada para retornar os 
//valores dos radios/checkboxes selecionados na página
//os valores são colocados em um input hidden
// tipo => indica se a verificação é para checkbox ou radio
// id_form => id do formulário para verificar
// id_checkboxes => id do checkbox/radio ou do grupo deles
//o input hidden na página que recebe os selecionados deve ter o 
//nome do checkbox/radio (id_checks) adicionado do sufixo "_selecionados"
function getSelecionado(tipo, id_form, id_checks)
{
	//nome do form para contar campos
    var setform = $_(id_form);
	//nome dos checkboxes
	var setcheck = id_checks.id;
	//array para os selecionados
	var selecionados = new Array();
    //Percorre os elementos do formulário
    for(i=0; setform.length > i; i++)
	{
        if(setform.elements[i].id == setcheck)
		{
			//se for checkbox/checkbox e for selecionado
			if(setform.elements[i].type == tipo && setform.elements[i].checked == true)
			{
				//adiciona selecionados ao array
				selecionados.push(setform.elements[i].value);	
			}
        }   
    }

	//se selecionou checkboxes/radios
	if(selecionados.length > 0)
	{
		//adiciona os valores selecionados ao input text
		$_(setcheck+"_selecionados").value = selecionados;
		return true;
	}else{
		//se não selecionou nenhum, zera input text
		$_(setcheck+"_selecionados").value = '';
	    return false;	
	}
}

//função parecida com a acima, sendo que nesta é usado um campo adicional
//por exemplo: no caso das opções houver um item Outro/Outros, pega o valor 
//desse input text e joga no campo de validação
// tipo => indica se a verificação é para checkbox ou radio
// id_form => id do formulário para verificar
// id_checkboxes => id do checkbox/radio ou do grupo deles
//o input hidden na página que recebe os selecionados deve ter o 
//nome do checkbox/radio (id_checks) adicionado do sufixo "_selecionados"
//valor_comparacao => é o item que quando selecionado, deve mostrar o input text
//para o usuário digitar outra opção
function getSelecionadoeInput(tipo, id_form, id_checks, valor_comparacao)
{
	//nome do form para contar campos
    var setform = $_(id_form);
	//nome dos checkboxes
	var setcheck = id_checks.id;
	//array para os selecionados
	var selecionado = new Array();
    //Percorre os elementos do formulário
    for(i=0; setform.length > i; i++)
	{
        //verifica se é o nome dos checkboxes/radios 
        if(setform.elements[i].id == setcheck)
		{
			//se for checkbox/checkbox e for selecionado
			if(setform.elements[i].type == tipo && setform.elements[i].checked == true)
			{
				//adiciona selecionados ao array
				selecionado.push(setform.elements[i].value);	
			}
        }   
    }

	//se selecionou checkboxes/radios
	if(selecionado.length > 0)
	{
		if(selecionado == valor_comparacao)
		{
			$_(setcheck+"_container").style.display = "block";
			//zera o valor no campo para validação 
			$_(setcheck+"_selecionados").value = "";
			$_(setcheck+"_adicional").value = "";
			
			if($_(setcheck+"_adicional").value == "")
			{
				alert("Por favor, informe o campo " + $_(setcheck+"_adicional").name);
				campoNOTOK($_(setcheck+"_adicional"));
				return false;	
			}
						
		}else{
			$_(setcheck+"_container").style.display = "none";
			//adiciona os valores selecionados ao input text
			$_(setcheck+"_selecionados").value = selecionado;
			return true;
		}
	}else{
		if($_v(id_checks+"_adicional") != "")
		{
			//se preencheu o campo adiciona o valor no campo para validação
			$_(id_checks+"_selecionados").value = $_(id_checks+"_adicional").value;
		    return true;
		}else{
			alert("Por favor, informe o campo " + $_(id_checks+"_adicional").name);
			$_(id_checks+"_selecionados").value = "";
			campoNOTOK($_(id_checks+"_adicional"));
			return false;	
		}
	}
}

//esta função é acionada nos selects de estado para buscar as cidades referentes
//origem: nome do campo de estados que está chamando esta função e passando o valor (código) para busca
//container: será o id do elemento (div, span, li, etc) onde será gerado o select de cidades
//destino: será o nome do select de cidades que será gerado
//id_destino: id da cidade caso queira pré-selecionar no select
function buscaCidade(origem, container, nome_destino, id_destino)
{
	if($_v(origem) != "")
	{
		//mensagem que será mostrada durante o ajax para buscar as cidades
		$_(container).innerHTML = " buscando cidades...";

		//valores e url para o ajax		
		url = pathAjax() + "busca_cidade.ajax.php";
		pars = "origem="+$_v(origem) + "&container="+container + "&nome_destino="+nome_destino + "&id_destino="+id_destino;

		setAjax = new Ajax.Request(url, {
											method: 'post',
											parameters: pars,
											onComplete: function(originalRequest)
											{
												resultado = originalRequest.responseText;
												$_(container).innerHTML = UTF8.decode(UTF8.encode(resultado));
											},
											onFailure: function()
											{ 
												alert('Não foi possível executar a operação. Por favor, tente novamente.');
												$_(alvo_ajax).innerHTML = '';
												return false
											}
										}
								);
	}
}


function checkCEP_DB(campo)
{
	cep = $_(campo).value;

	if(cep.length != 9)
	{
		alert("Formato de CEP inválido.\nDigite o CEP no formato 00000-000");
		campoNOTOK($_(campo));
		return false;
	}else{
	
	//mensagem que será mostrada durante o ajax
	$_("botao_form").style.display = "none";
	$_("loading_cep").innerHTML = " Pesquisando CEP, aguarde...";
	$_("loading_cep").className = "check";	
	
	//valores e url para o ajax
	//url = pathAjax() + "verifica_cep.ajax.php";
	url = pathAjax() + "verifica_cep_new.ajax.php";
	pars = "cep="+cep;

	newAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;
											$_("loading_cep").innerHTML = "";
											campoOK($_(campo));

											if(resultado == "notok")
											{
												$_("getCEP").value = "";
												$_("loading_cep").innerHTML = " CEP não encontrado. Informe um CEP válido.";
												$_("loading_cep").className = "erro";
												$_("botao_form").style.display = "block";
												campoNOTOK(campo);
												return false;	
											}else{
												cep = resultado.split("##");
												$_("getEndereco").value = cep[0];
												$_("getBairro").value = cep[1];
												$_("getEstado").value = cep[3];
												buscaCidade("getEstado", "mostra_cidades", "getCidade", cep[2]);
												$_("botao_form").style.display = "block";
												$_("getCidade").value = cep[2];	
												return true;
											}
										},
										onFailure: function()
										{ 
											alert('Não foi possível executar a consulta do CEP. Por favor, tente novamente.');
											return false
										}
									}
							);
	}
}

function checkLogradouro_DB(campo_endereco, campo_cidade)
{
	logradouro = $_(campo_endereco).value;
	cidade = $_(campo_cidade).value;
	
	if(logradouro == "")
	{
		alert("Por favor, informe o logradouro.");
		campoNOTOK($_(campo_endereco));
		return false;
	}
	
	if(cidade == "")
	{
		alert("Por favor, informe a cidade.");
		campoNOTOK($_(campo_cidade));
		return false;
	}
	
	//mensagem que será mostrada durante o ajax
	//$_("botao_form").style.display = "none";
	$_("loading_logradouro").innerHTML = "buscando...";
	
	//valores e url para o ajax
	url = "../source/ajax/verifica_logradouro.ajax.php";
	pars = "endereco="+logradouro + "&cidade="+cidade;

	newAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;
											$_("loading_logradouro").innerHTML = resultado;
											if(resultado == "notok")
											{
												//$_("loading_cep").innerHTML = " CEP não encontrado. Informe um CEP válido.";
												//$_("loading_cep").className = "erro";
												//$_("botao_form").style.display = "block";
												campoNOTOK(campo);
												return false;	
											}else{
												campoOK(campo);
												$_("loading_cep").innerHTML = "";
												cep = resultado.split("##");
												$_('getEndereco').value = cep[0];
												$_('getBairro').value = cep[1];
												$_('getEstado').value = cep[3];
												buscaCidade('getEstado', 'mostra_cidades', 'getCidade', cep[2]);
												$_("botao_form").style.display = "block";
												$_('getCidade').value = cep[2];	
												return true;
											}
										},
										onFailure: function()
										{ 
											alert('Não foi possível executar a consulta do CEP. Por favor, tente novamente.');
											return false
										}
									}
							);
}

//busca cep genérico
//campo = nome do campo de cep
//sufixo_campo = sufixo utilizado para identificar os e-lementos do endereço
function checkCEP_DB_generico(campo, sufixo_elemento)
{
	cep = campo.value;
	
	if(cep.length != 9)
	{
		alert("Formato de CEP inválido.\nDigite o CEP no formato 00000-000");
		campoNOTOK(campo);
		return false;
	}else{
	
	//mensagem que será mostrada durante o ajax
	$_("botao_form").style.display = "none";
	$_("loading_cep_"+sufixo_elemento).innerHTML = " Verificando CEP, aguarde...";
	$_("loading_cep_"+sufixo_elemento).className = "check";	
	
	//valores e url para o ajax
	url = "../source/ajax/verifica_cep.ajax.php";
	pars = "cep="+cep;

	newAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;
											if(resultado == "notok")
											{
												$_("loading_cep_"+sufixo_elemento).innerHTML = " CEP não encontrado. Informe um CEP válido.";
												$_("loading_cep_"+sufixo_elemento).className = "erro";
												$_("botao_form").style.display = "block";
												campoNOTOK(campo);
												return false;	
											}else{
												campoOK(campo);
												$_("loading_cep_"+sufixo_elemento).innerHTML = "";
												cep = resultado.split("##");
												$_('getEndereco_'+sufixo_elemento).value = cep[0];
												$_('getBairro_'+sufixo_elemento).value = cep[1];
												$_('getEstado_'+sufixo_elemento).value = cep[3];
												buscaCidade('getEstado_'+sufixo_elemento, 'mostra_cidades_'+sufixo_elemento, 'getCidade_'+sufixo_elemento, cep[2]);
												$_("botao_form").style.display = "block";
												$_('getCidade_'+sufixo_elemento).value = cep[2];	
												return true;
											}
										},
										onFailure: function()
										{ 
											alert('Não foi possível executar a consulta do CEP. Por favor, tente novamente.');
											return false
										}
									}
							);
	}
}

function checkCPF_DB(campo)
{
	//mensagem que será mostrada durante o ajax
	$_("loading_cpf").innerHTML = " Verificando CPF, aguarde...";
	$_("loading_cpf").className = "check";	
	
	//valores e url para o ajax
	url = "../source/ajax/verifica_cpf.ajax.php";
	pars = "cpf="+$_v(campo);
		
		setAjax = new Ajax.Request(url, {
											method: 'post',
											parameters: pars,
											onComplete: function(originalRequest)
											{
												resultado = originalRequest.responseText;
												if(resultado == "ok")
												{
													$_("loading_cpf").innerHTML = " OK";
													$_("loading_cpf").className = "ok";
													return true;	
												}else{
													alert('O CPF informado já está cadastrado.');
													$_("loading_cpf").innerHTML = " CPF já cadastrado";
													$_("loading_cpf").className = "erro";
													campoNOTOK(campo);
													return false;	
												}
											},
											onFailure: function()
											{ 
												alert('Não foi possível executar a consulta. Por favor, tente novamente.');
												$_("loading_cpf").innerHTML = " Não foi possível executar a consulta. Por favor, tente novamente.";
												$_("loading_cpf").className = "erro";
												return false
											}
										}
								);
}

//verifica e-mail no banco 
function checkEMAIL_DB(campo)
{
	//mensagem que será mostrada durante o ajax
	$_("loading_email").innerHTML = " Verificando E-MAIL, aguarde...";
	$_("loading_email").className = "check";	
	
	//valores e url para o ajax
	url = "../source/ajax/verifica_email.ajax.php";
	pars = "email="+$_v(campo);
		
		setAjax = new Ajax.Request(url, {
											method: 'post',
											parameters: pars,
											onComplete: function(originalRequest)
											{
												resultado = originalRequest.responseText;
												alert(resultado);
												//executa(resultado, funcao);
												//setAction(resultado);
												//funcao(resultado);
												
											},
											onFailure: function()
											{ 
												//alert('Não foi possível executar a consulta. Por favor, tente novamente.');
												$_("loading_email").innerHTML = " Não foi possível executar a consulta. Por favor, tente novamente.";
												$_("loading_email").className = "erro";
												return false
											}
										}
								);
}

function setValidacao(campo, tipo_validacao, rotulo)
{
	switch (tipo_validacao)
	{
		//validação de campo texto
		case "text":
			//se passar nocheck no campo, significa que não é pra validar
			if ($_v(campo) == "nocheck")
			{
				return true;
			}else{
				
				if($_v(campo) == "")
				{
					alert("Por favor, informe o campo " + rotulo);
					campoNOTOK($_(campo));
					return false;
				}else{
					campoOK($_(campo));
					return true;
				}
			}
		break;
		
		//validação de campo select
		case "select":
			//se passar nocheck no campo, significa que não é pra validar
			if($_v(campo) == "nocheck")
			{
				return true;
			}else{
				
				if ($_v(campo) == "")
				{
					alert("Por favor, selecione a opção no campo " + rotulo);
					campoNOTOK($_(campo));
					return false;
				}else{
					campoOK($_(campo));
					return true;
				}
			}
		break;
		
		//validação de campo radio/checkbox único
		case "radio":
		case "checkbox":
			if($_(campo).checked == false)
			{
				alert("Por favor, informe o campo " + rotulo);	
				campoNOTOK($_(campo));
				return false;
			}else{
				campoOK($_(campo));
				return true;
			}
		break;
		
		//validação de campo radio/checkbox qdo houver mais de um
		case "radio_varios":
		case "checkbox_varios":
		//retira o sufixo do nome do campo para fazer tab corretamente
		var trim_campo = campo.replace("_selecionados", "");
		
			if($_v(campo) == "")
			{
				alert("Por favor, informe o campo " + rotulo);	
				campoNOTOK($_(trim_campo));
				return false;
			}else{
				campoOK($_(trim_campo));
				return true;
			}
		break;
		
		//validação de campo texto
		case "pass":
			if($_v(campo) == "")
			{
				alert("Por favor, informe o campo " + rotulo);	
				campoNOTOK($_(campo));
				return false;
			}
			
			if($_v(campo) != "")
			{
				if($_v(campo).length < 4)
				{
					alert(rotulo + " muito pequena. Deve ter no mínimo 4 caracteres.");	
					campoNOTOK($_(campo));
					return false;
				}else{
					campoOK($_(campo));
					return true;
				}
			}
		break;
		
		//validação de campo e-mail
		case "email":
			if($_v(campo) == "")
			{
				alert("Por favor, informe o campo " + rotulo);	
				campoNOTOK($_(campo));
				return false;
			}
			
			if($_v(campo) != "")
			{
				if(!checkEMAIL(campo))
				{
					return false;
				}else{
					campoOK($_(campo));
					return true;	
				}
			}
		break;
		
		//validação de campo cpf
		case "cpf":
			//se passar nocheck no campo, significa que não é pra validar
			if ($_v(campo) == "nocheck") 
			{
				return true;
			}else{
				
				if($_v(campo) == "")
				{
					alert("Por favor, informe o campo " + rotulo);	
					campoNOTOK($_(campo));
					return false;
				}
				
				if($_v(campo) != "")
				{
					if(!checkCPF(campo))
					{
						return false;
					}else{
						campoOK($_(campo));
						return true;	
					}
				}
			}
		break;
		
		//validação de campo cnpj
		case "cnpj":
			//se passar nocheck no campo, significa que não é pra validar
			if ($_v(campo) == "nocheck")
			{
				return true;
			}else{
				
				if($_v(campo) == "")
				{
					alert("Por favor, informe o campo " + rotulo);	
					campoNOTOK($_(campo));
					return false;
				}
				
				if($_v(campo) != "")
				{
					if(!checkCNPJ(campo))
					{
						return false;
					}else{
						campoOK($_(campo));
						return true;	
					}
				}
			}
		break;
		
		//validação de campo data aceitando apenas presente ou futuras
		case "data_futura":
			if($_v(campo) == "")
			{
				alert("Por favor, informe o campo " + rotulo);	
				campoNOTOK($_(campo));
				return false;
			}
			
			if($_v(campo) != "")
			{
				//o parâmetro true indica que a data deve ser presente ou futura
				if(!checkDATA($_(campo), true))
				{
					return false;
				}else{
					campoOK($_(campo));
					return true;	
				}
			}
		break;
		
		//validação de campo data aceitando apenas presente ou futuras
		case "data_casamento":
			if($_v(campo) == "")
			{
				alert("Por favor, informe o campo " + rotulo);	
				campoNOTOK($_(campo));
				return false;
			}
			
			if($_v(campo) != "")
			{
				//o parâmetro true indica que a data deve ser presente ou futura
				if(!checkDATA($_(campo), 'data_casamento'))
				{
					return false;
				}else{
					campoOK($_(campo));
					return true;	
				}
			}
		break;
		
		//validação de campo data aceitando antigas, presente e futuras
		case "data":
			if($_v(campo) == "")
			{
				alert("Por favor, informe o campo " + rotulo);	
				campoNOTOK($_(campo));
				return false;
			}
			
			if($_v(campo) != "")
			{
				if(!checkDATA($_(campo)))
				{
					return false;
				}else{
					campoOK($_(campo));
					return true;	
				}
			}
		break;
		
		//validação de campo hora
		case "hora":
			if($_v(campo) == "")
			{
				alert("Por favor, informe o campo " + rotulo);	
				campoNOTOK($_(campo));
				return false;
			}
			
			if($_v(campo) != "")
			{
				if(!checkHORA($_(campo)))
				{
					return false;
				}else{
					campoOK($_(campo));
					return true;	
				}
			}
		break;
		
		//validação de campo cep
		case "cep":
			//se passar nocheck no campo, significa que não é pra validar
			if ($_v(campo) == "nocheck")
			{
				return true;
			}else{
				
				if ($_v(campo) == "")
				{
					alert("Por favor, informe o campo " + rotulo);
					campoNOTOK($_(campo));
					return false;
				}
				
				if ($_v(campo) != "")
				{
					if (!checkCEP($_(campo)))
					{
						return false;
					}
					else {
						campoOK($_(campo));
						return true;
					}
				}
			}
		break;
	}
	
	return true;
}

//mostra loading
function setLoading(alvo, msg)
{
	//pega caminha das imagens
	var img = pathImagens();
	
	if(msg != "")
	{
		$_(alvo).innerHTML = '<div class="show_loading"><img src="'+ img +'/loading.gif"/> <div class="msg">'+ msg +'</div> Aguarde...</div>';
		Effect.Appear($_(alvo));
	}
}

//mostra mensagens
function setMessage(alvo, msg, tipo, alerta, ancora)
{
	//pega caminha das imagens
	var img = pathImagens();
	
	//se passou a mensagem, executa
	if(msg != "")
	{
		$_(alvo).style.display = "block";
		
		//se passou 'alerta', mostra o alert javascript com msg
		if(alerta != "")
		{
			alert(msg);
		}
		
		//mostra mensagem de resultado ok
		if(tipo == "ok")
		{
			$_(alvo).innerHTML = '<a name="ancora"></a><div class="show_message_ok"> <div class="close"><a href="javascript:;" onclick="javascript: closeMessage(\''+ alvo +'\');" title="fechar este aviso"><img src="'+ img +'/icon_close.gif"/></a></div> <div class="msg">'+ msg +'</div> </div>';
			
			//se passou 'ancora', redireciona para âncora da página
			if(ancora != "")
			{
				window.location = "#ancora";
			}
			

		//senão mostra mensagem de resultado notok
		}else{
			$_(alvo).innerHTML = '<a name="ancora"></a><div class="show_message_notok"> <div class="close"><a href="javascript:;" onclick="javascript: closeMessage(\''+ alvo +'\');" title="fechar este aviso"><img src="'+ img +'/icon_close.gif"/></a></div> <div class="msg">'+ msg +'</div> </div>';
			
			//se passou 'ancora', redireciona para âncora da página
			if(ancora != "")
			{
				window.location = "#ancora";
			}
		}
	}
}

//mostra tooltip
//Exemplo padrão: setTooltip('título do tooltip', 'texto do tooltip')
//[tipo] => se for passado 'fixo', mostra tooltip c/ botão fechar
//[alvo] => id do elemento para convertê-lo em tooltip
//Exemplo: setTooltip('título do tooltip', '', 'fixo', 'id elemento')
//o elemento a ser convertido deve ter display: none;
function setTooltip(titulo, texto, tipo)
{
	//se passou largura (parâmetro 5)
	if(arguments[4])
	{
		largura = arguments[4];
	}else{
		largura = 0;//auto ajuste
	}
	
	//se passou tipo, cria um tooltip fixo com botão de fechar
	if(tipo == "fixo")
	{
		tooltip_sticky = true;
		tooltip_closebtn = true;
		tooltip_fadein = 200;
		tooltip_fadeout = 0;

	//se não passou tipo, cria um tooltip padrão	
	}else{
		tooltip_sticky = false;
		tooltip_closebtn = false;
		tooltip_fadein = 200;
		tooltip_fadeout = 100;
	}
	
	//se passou alvo (parâmetro 4), converte o alvo em tooltip
	if(arguments[3])
	{
		TagToTip(arguments[3], WIDTH, largura, BGCOLOR, '#EAEAEA', TITLEBGCOLOR, '#999999', FONTCOLOR, '#035F30', SHADOW, true, SHADOWWIDTH, 3, BORDERWIDTH, 0, TITLE, titulo, FADEIN, tooltip_fadein, FADEOUT, tooltip_fadeout, STICKY, tooltip_sticky, CLOSEBTN, tooltip_closebtn, CLOSEBTNTEXT, '[fechar]', CLOSEBTNCOLORS, ['#CCCCCC', '#FFFFFF', '#FFFFFF', '#CCCCCC']);

	//se não passou alvo, cria tooltip padrão	
	}else{
		if (titulo == false)
		{
			Tip(texto, '', true, WIDTH, largura, BGCOLOR, '#FAFAFA', TITLEBGCOLOR, '#035F30', FONTCOLOR, '#035F30', SHADOW, true, SHADOWWIDTH, 3, BORDERWIDTH, 0, FADEIN, tooltip_fadein, FADEOUT, tooltip_fadeout, STICKY, tooltip_sticky, CLOSEBTN, tooltip_closebtn, CLOSEBTNTEXT, '[fechar]', CLOSEBTNCOLORS, ['#CCCCCC', '#FFFFFF', '#FFFFFF', '#CCCCCC']);
		}else{
			Tip(texto, '', true, WIDTH, largura, BGCOLOR, '#FAFAFA', TITLEBGCOLOR, '#035F30', FONTCOLOR, '#035F30', SHADOW, true, SHADOWWIDTH, 3, BORDERWIDTH, 0, TITLE, titulo, FADEIN, tooltip_fadein, FADEOUT, tooltip_fadeout, STICKY, tooltip_sticky, CLOSEBTN, tooltip_closebtn, CLOSEBTNTEXT, '[fechar]', CLOSEBTNCOLORS, ['#CCCCCC', '#FFFFFF', '#FFFFFF', '#CCCCCC']);
		}		
	}
}

function setDepto(email,funcionario,departamento)
{
	$_("getDepartamento").value = email;
	$_("nomeDepartamento").value = departamento;
	$_("nomeFuncionario").value = funcionario;
	location.href = "#topo";
}

//mostra mensagens
function closeMessage(alvo)
{
	if(alvo != "")
	{
		$(alvo).fade();
		//$_(alvo).innerHTML = '';
	}
}


//quebra o retorno do ajax setAjax() executado
function getRetorno(retorno)
{
	//verifica o resultado
	if(retorno != "" || retorno != "undefined")
	{
		//verifica se a variavel é simples ou concatenada
		
		//se tem separador é variável concatenada
		if(retorno.search("=>") > 0)
		{
			//quebra a string em objeto=>resposta
			var quebra = retorno.split("=>");
			var objeto = quebra[0];
			var resposta = quebra[1];
			//terceiro valor, opcional qdo for necessário
			var opcional = quebra[2];
			//retorna o valor do ajax
			return quebra;
			
		//se não tem separador é variável simples
		}else{
			return retorno;
		}
	}
}


function validaBuscaServico()
{
	if($_v('getServico') == "")
	{
		alert("Por favor, informe o Serviço para realizar a busca.");
		campoNOTOK($_('getServico'));
		return false;
	}
	
	$_('formBuscaServico').submit();
	return true;
}

function validaBuscaProduto()
{
	if($_v('getCategoria') == "" && $_v('getProduto') == "")
	{
		alert("Por favor, selecione a CATEGORIA ou informe o PRODUTO para realizar a busca.");
		campoNOTOK($_('getCategoria'));
		return false;
	}else{
		
		//se selecionou categoria e preencheu produto
		if($_v('getCategoria') != "" && $_v('getProduto') != "")
		{
			window.location = "?categoria=" + $_v('getCategoria') + "&produto=" + $_v('getProduto') + "#top";
			return true;
		}
		
		//se selecionou apenas a categoria
		if($_v('getCategoria') != "")
		{
			window.location = "?categoria=" + $_v('getCategoria') + "#top";
			return true;
		}
		
		//se preencheu apenas o produto
		if($_v('getProduto') != "")
		{
			window.location = "?produto=" + $_v('getProduto') + "#top";
			return true;
		}
	}
}

//busca produtos administrativo
function validaBuscaProd()
{
	if($_v("getBuscaMarca") == "" && $_v("getBuscaCategoria") == "" && $_v("getBuscaNome") == "")
	{
		alert("Por favor, selecione a MARCA, a CATEGORIA ou informe o PRODUTO para realizar a busca.");
		campoNOTOK($_("getBuscaMarca"));
		return false;
	}else{
		
		//se selecionou marca, categoria e preencheu nome produto
		if($_v("getBuscaMarca") != "" && $_v("getBuscaCategoria") != "" && $_v("getBuscaNome") != "")
		{
			window.location = "?product&marca=" + $_v("getBuscaMarca") + "&categoria=" + $_v("getBuscaCategoria") + "&nome=" + $_v("getBuscaNome") + "#top";
			return true;
		}
		
		//se selecionou categoria e marca
		if($_v("getBuscaMarca") != "" && $_v("getBuscaCategoria") != "")
		{
			window.location = "?product&marca=" + $_v("getBuscaMarca") + "&categoria=" + $_v("getBuscaCategoria") + "#top";
			return true;
		}
		
		//se selecionou apenas a marca
		if($_v("getBuscaMarca") != "" && $_v("getBuscaCategoria") == "")
		{
			window.location = "?product&marca=" + $_v("getBuscaMarca") + "#top";
			return true;
		}
		
		//se selecionou apenas a categoria
		if($_v("getBuscaCategoria") != "" && $_v("getBuscaMarca") == "")
		{
			window.location = "?product&categoria=" + $_v("getBuscaCategoria") + "#top";
			return true;
		}
		
		//se preencheu apenas o produto
		if($_v("getBuscaNome") != "")
		{
			window.location = "?product&nome=" + $_v("getBuscaNome") + "#top";
			return true;
		}
	}
}

//ao clicar em visualizar fotos do produto, 
//adiciona id do produto ao campo informado
//obs. 1 => evento hs.Expander.prototype.onBeforeClose do highslide, na página de produtos
//obs. 2 => o js getIDProd() fica no mesmo link que abre o highslide
function getIDProd(id_produto, tipo_acao)
{
	//campo que recebe id do produto
	$_("getIDProduto").value = id_produto;
	
	//campo que recebe o tipo de ação para o produto
	//foto ou arquivo (será utilizado para o 
	//onBeforeClose diferenciar se deve atualizar thumbs ou arquivos) 
	$_("getAcaoProduto").value = tipo_acao;
}
//deleta foto do produto
function delFotoProd(id_foto, id_produto)
{
	if (id_produto == "") 
	{
		alert("Produto não informado. Não é possível excluir a foto.");
		return false;
		
	}
	else if (id_foto == "") 
	{
		setMessage("show_pics_"+id_produto, "Foto não informada. Não é possível excluir.", "notok", "", "");
		return false;
		
	}else{
		
		//mostra mensagem para confirmar 
		var deleta = confirm("A foto será REMOVIDA! Deseja continuar?")
		
		//confirma exclusão
		if (deleta == true) 
		{
			//mensagem que será mostrada durante o ajax
			setLoading("show_pics_"+id_produto, "REMOVENDO FOTO");
	
			//valores e url para o ajax		
			url = "ajax/editar_foto_produto.ajax.php";
			pars = "getFoto="+id_foto + "&getAcao=excluir";
			
			setAjax = new Ajax.Request(url, {
												method: 'post',
												parameters: pars,
												onComplete: function(originalRequest)
												{
													resultado = originalRequest.responseText;
													//se deletou a foto do produto
													if(resultado == "delok")
													{
														setMessage("show_pics_"+id_produto, "Imagem removida com sucesso!", "ok", "alert", "");
														getThumbProd();
													}
													//se não encontrou o produto
													if(resultado == "delerro")
													{
														setMessage("show_pics_"+id_produto, "Produto não encontrado. Não foi possível atualizar as imagens.", "notok", "alert", "");
													}
													//se não deletou a foto do produto
													if(resultado == "delnotok")
													{
														setMessage("show_pics_"+id_produto, "Não foi possível remover a imagem. Por favor, tente novamente.", "notok", "alert", "");
													}
												},
												onFailure: function()
												{ 
													setMessage("show_pics_"+id_produto, "Não foi possível executar a operação.", "notok", "alert", "");
												}
											}
									);
		}
	}
}

//busca thumbs de fotos dos produtos, esta função atualiza os thumbs
function getThumbProd()
{
	id_produto = $_v("getIDProduto");
	
	if (id_produto == "") 
	{
		setMessage("show_pics_"+id_produto, "Produto não informado. Não foi possível atualizar os thumbs.", "notok", "", "");
		return false;
		
	}else{
		//loading do ajax
		$_("show_pics_"+id_produto).innerHTML = " <img src=\""+ pathImagens() +"/loading_lite.gif\" /> atualizando imagens, aguarde...";

		//valores e url para o ajax		
		url = "ajax/atualizar_thumb_produto.ajax.php";
		pars = "produto="+id_produto;
		
		setAjax = new Ajax.Request(url, {
											method: 'post',
											parameters: pars,
											onComplete: function(originalRequest)
											{
												resultado = originalRequest.responseText;
												//adiciona html dos thumbs
												$_("show_pics_"+id_produto).innerHTML = resultado;
												//zera id do produto no campo
												$_("getIDProduto").value = "";
												//zera ação do produto no campo
												$_("getAcaoProduto").value = "";
											},
											onFailure: function()
											{ 
												setMessage("show_pics_"+id_produto, "Não foi possível executar a operação.", "notok", "alert", "");
											}
										}
								);
	}
}

//busca lista de arquivos do produto
function getFileProd()
{
	id_produto = $_v("getIDProduto");
	
	if(id_produto == "") 
	{
		setMessage("list_files_"+id_produto, "Produto não informado. Não foi possível listar os arquivos.", "notok", "", "");
		return false;
		
	}else{
		//loading do ajax
		$_("list_files_"+id_produto).innerHTML = " <img src=\""+ pathImagens() +"/loading_lite.gif\" /> atualizando arquivos, aguarde...";

		//valores e url para o ajax		
		url = "ajax/atualizar_file_produto.ajax.php";
		pars = "produto="+id_produto;
		
		setAjax = new Ajax.Request(url, {
											method: 'post',
											parameters: pars,
											onComplete: function(originalRequest)
											{
												resultado = originalRequest.responseText;
												//adiciona html dos arquivos
												$_("list_files_"+id_produto).innerHTML = resultado;
												//zera id do produto no campo
												//$_("getIDProduto").value = "";
												//zera ação do produto no campo
												//$_("getAcaoProduto").value = "";
											},
											onFailure: function()
											{ 
												setMessage("list_files_"+id_produto, "Não foi possível executar a operação.", "notok", "alert", "");
											}
										}
								);
	}
}
//deleta arquivo do produto
function delFileProd(id_arquivo, id_produto)
{
	if (id_produto == "") 
	{
		alert("Produto não informado. Não é possível excluir o arquivo.");
		return false;
		
	}
	else if (id_arquivo == "") 
	{
		setMessage("list_files_"+id_produto, "Arquivo não informado. Não é possível excluir.", "notok", "", "");
		return false;
		
	}else{
		
		//mostra mensagem para confirmar 
		var deleta = confirm("O arquivo será REMOVIDO! Deseja continuar?")
		
		//confirma exclusão
		if (deleta == true) 
		{
			//mensagem que será mostrada durante o ajax
			setLoading("list_files_"+id_produto, "REMOVENDO ARQUIVO");
	
			//valores e url para o ajax		
			url = "ajax/editar_arquivo_produto.ajax.php";
			pars = "getArquivo="+id_arquivo + "&getAcao=excluir";
			
			setAjax = new Ajax.Request(url, {
												method: 'post',
												parameters: pars,
												onComplete: function(originalRequest)
												{
													resultado = originalRequest.responseText;
													//se deletou o arquivo do produto
													if(resultado == "delok")
													{
														setMessage("list_files_"+id_produto, "Arquivo removido com sucesso!", "ok", "alert", "");
														getFileProd();
													}
													//se não encontrou o produto
													if(resultado == "erro")
													{
														setMessage("list_files_"+id_produto, "Produto não encontrado. Não foi possível atualizar os arquivos.", "notok", "alert", "");
													}
													//se não deletou o arquivo do produto
													if(resultado == "delnotok")
													{
														setMessage("list_files_"+id_produto, "Não foi possível remover o arquivo. Por favor, tente novamente.", "notok", "alert", "");
													}
												},
												onFailure: function()
												{ 
													setMessage("list_files_"+id_produto, "Não foi possível executar a operação.", "notok", "alert", "");
												}
											}
									);
		}
	}
}

//mostra produtos do pedido, p/ solicitar troca/devolução minhaconta
function showProdutoPedido(id_container, total_pedidos)
{
	for(i=1; total_pedidos >= i; i++)
	{
		$_("pedido_"+i).style.display = 'none';
		if(id_container == i)
		{
			$_("pedido_"+id_container).style.display = 'block';			
		}
	} 
}

//ao clicar em visualizar fotos da galeria, 
//adiciona id da galeria ao campo informado
//obs. 1 => evento hs.Expander.prototype.onBeforeClose do highslide, na página de galerias
//obs. 2 => o js getIDGaleria() fica no mesmo link que abre o highslide
function getIDGaleria(id_galeria)
{
	//campo que recebe id da galeria
	$_("getIDGaleria").value = id_galeria;
}
//busca thumbs de fotos das galerias, esta função atualiza os thumbs
function getThumbGaleria()
{
	id_galeria = $_v("getIDGaleria");
	
	if (id_galeria == "") 
	{
		setMessage("show_pics_"+id_galeria, "Galeria não informada. Não foi possível atualizar os thumbs.", "notok", "", "");
		return false;
		
	}else{
		//loading do ajax
		$_("show_pics_"+id_galeria).style.display = "block";
		$_("show_pics_"+id_galeria).innerHTML = " <img src=\""+ pathImagens() +"/loading_lite.gif\" /> atualizando imagens, aguarde...";

		//valores e url para o ajax		
		url = "ajax/atualizar_thumb_galeria.ajax.php";
		pars = "galeria="+id_galeria;
		
		setAjax = new Ajax.Request(url, {
											method: 'post',
											parameters: pars,
											onComplete: function(originalRequest)
											{
												resultado = originalRequest.responseText;
												//adiciona html dos thumbs
												$_("show_pics_"+id_galeria).innerHTML = resultado;
												//zera id da galeria no campo
												$_("getIDGaleria").value = "";
											},
											onFailure: function()
											{ 
												setMessage("show_pics_"+id_galeria, "Não foi possível executar a operação.", "notok", "alert", "");
											}
										}
								);
	}
}

//deleta foto da galeria
function delFotoGaleria(id_foto, id_galeria)
{
	if (id_galeria == "") 
	{
		alert("Galeria não informada. Não é possível excluir a foto.");
		return false;
		
	}
	else if (id_foto == "") 
	{
		setMessage("show_pics_"+id_galeria, "Foto não informada. Não é possível excluir.", "notok", "", "");
		return false;
		
	}else{
		
		//mostra mensagem para confirmar 
		var deleta = confirm("A foto será REMOVIDA! Deseja continuar?")
		
		//confirma exclusão
		if (deleta == true) 
		{
			//mensagem que será mostrada durante o ajax
			setLoading("show_pics_"+id_galeria, "REMOVENDO FOTO");
	
			//valores e url para o ajax		
			url = "ajax/editar_foto_galeria.ajax.php";
			pars = "getFoto="+id_foto + "&getAcao=excluir";
			
			setAjax = new Ajax.Request(url, {
												method: 'post',
												parameters: pars,
												onComplete: function(originalRequest)
												{
													resultado = originalRequest.responseText;
													//se deletou a foto da galeria
													if(resultado == "delok")
													{
														setMessage("show_pics_"+id_galeria, "Imagem removida com sucesso!", "ok", "alert", "");
														getThumbGaleria();
													}
													//se não encontrou a galeria
													if(resultado == "delerro")
													{
														setMessage("show_pics_"+id_galeria, "Galeria não encontrada. Não foi possível atualizar as imagens.", "notok", "alert", "");
													}
													//se não deletou a foto da galeria
													if(resultado == "delnotok")
													{
														setMessage("show_pics_"+id_galeria, "Não foi possível remover a foto da galeria. Por favor, tente novamente.", "notok", "alert", "");
													}
												},
												onFailure: function()
												{ 
													setMessage("show_pics_"+id_galeria, "Não foi possível executar a operação.", "notok", "alert", "");
												}
											}
									);
		}
	}
}

//deleta endereco de entrega
function delEndereco(id_endereco)
{
	if (id_endereco == "") 
	{
		alert("Endereço não informado. Não é possível excluir.");
		return false;
		
	}else{
		
		//mostra mensagem para confirmar 
		var deleta = confirm("Este endereço será REMOVIDO! Deseja continuar?")
		
		//confirma exclusão
		if (deleta == true) 
		{
			//mensagem que será mostrada durante o ajax
			setLoading("loading_del_"+id_endereco, "REMOVENDO ENDEREÇO");
	
			//valores e url para o ajax		
			url = "ajax/remove_endereco.ajax.php";
			pars = "endereco="+id_endereco;
			
			setAjax = new Ajax.Request(url, {
												method: 'post',
												parameters: pars,
												onComplete: function(originalRequest)
												{
													resultado = originalRequest.responseText;
													//se deletou o endereco
													if(resultado == "ok")
													{
														setMessage("loading_del_"+id_endereco, "Endereço removido com sucesso!", "ok", "alert", "");
														pageRedirect();
													}
													//se não encontrou o endereço
													if(resultado == "erro")
													{
														setMessage("loading_del_"+id_endereco, "Endereço não encontrado. Não foi possível remover.", "notok", "alert", "");
													}
													//se tem pedidos no endereço
													if(resultado == "erroped")
													{
														setMessage("loading_del_"+id_endereco, "Existem PEDIDOS cadastrados para este endereço. Não é possível removê-lo.", "notok", "alert", "");
													}
													//se não deletou o endereço
													if(resultado == "notok")
													{
														setMessage("show_pics_"+id_endereco, "Não foi possível remover o endereço. Por favor, tente novamente.", "notok", "alert", "");
													}
												},
												onFailure: function()
												{ 
													setMessage("loading_del_"+id_endereco, "Não foi possível executar a operação.", "notok", "alert", "");
												}
											}
									);
		}
	}
}

//busca de pedidos administrativo
function validaBuscaPedido()
{
	if($_v('getStatus') == "" && $_v('getCodigo') == "")
	{
		alert("Por favor, selecione o STATUS ou informe o CÓDIGO para buscar o pedido.");
		campoNOTOK($_('getStatus'));
		return false;
		
	}else{
		
		//se selecionou o status do pedido
		if($_v('getStatus') != "" && $_v('getCodigo') == "")
		{
			window.location = "?view&status=" + $_v('getStatus');
			return true;
		}
		
		//se informou o código identificador do pedido
		if($_v('getCodigo') != "")
		{
			window.location = "?view&codigo=" + $_v('getCodigo');
			return true;
		}
	}
}

//busca de clientes administrativo
function validaBuscaCliente()
{
	if($_v('getTipo') == "" && $_v('getNome') == "")
	{
		alert("Por favor, selecione o TIPO ou informe o NOME para buscar o cliente.");
		campoNOTOK($_('getTipo'));
		return false;
	}else{
		
		//se informou o nome do cliente/empresa
		if($_v('getNome') != "")
		{
			window.location = "?client&nome=" + $_v('getNome');
			return true;
		}else{
			//se selecionou o tipo de cliente
			if($_v('getTipo') != "")
			{
				window.location = "?client&tipo=" + $_v('getTipo');
				return true;
			}			
		}
	}
}

//alterar status de pedidos administrativo
function validaStatusPedido(id_pedido)
{
	var erro = 0;
	status_pedido = $_v("getChangeStatus_" + id_pedido + "_selecionados");
	informacao = ""; 

	//se não passou o id do pedido
	if(id_pedido == "") 
	{
		alert("Número do pedido não informado.");
		erro++;
		return false;
	}
	
	//se não selecionou o status para alterar
	if(status_pedido == "") 
	{
		alert("Por favor, selecione o STATUS para alterar.");
		campoNOTOK($_("getChangeStatus_"+id_pedido));
		erro++;
		return false;
	}
	
	//se o status é enviar e finalizar pedido
	if(status_pedido == "4")
	{
		informacao = $_v("getRastreamento_"+id_pedido); 
		
		//se não informou o código de rastreamento do Correio
		if($_v("getRastreamento_"+id_pedido) == "")
		{
			alert("Por favor, informe o CÓDIGO DE RASTREAMENTO do Correio.");
			campoNOTOK($_("getRastreamento_"+id_pedido));
			erro++;
			return false;	
		}
	}
	
	//se o status é cancelar pedido
	if(status_pedido == "5")
	{
		informacao = $_v("getMotivo_"+id_pedido);
		
		//se não informou o motivo do cancelamento
		if($_v("getMotivo_"+id_pedido) == "")
		{
			alert("Por favor, informe o MOTIVO do cancelamento.");
			campoNOTOK($_("getMotivo_"+id_pedido));
			erro++;
			return false;	
		}
	}
	
	//se passou nas validações	
	if(erro == 0)
	{
		//mostra mensagem para confirmar 
		var altera = confirm("O STATUS deste pedido será alterado! Deseja continuar?")
		
		//confirma mudança do status
		if(altera == true)
		{
			//oculta botão do form
			$_("btn_form_"+id_pedido).style.display = "none";
			
			//mensagem que será mostrada durante o ajax
			setLoading("loading_ajax_"+id_pedido, "ALTERANDO STATUS DO PEDIDO");
	
			//valores e url para o ajax		
			url = "ajax/alterar_status_pedido.ajax.php";
			pars = "pedido="+id_pedido + "&status="+status_pedido + "&informacao="+informacao;
			
			setAjax = new Ajax.Request(url, {
												method: 'post',
												parameters: pars,
												onComplete: function(originalRequest)
												{
													resultado = originalRequest.responseText;
													if(resultado == "ok")
													{
														alert("Status do pedido alterado com sucesso!");
														pageRedirect();
													}
													
													if(resultado == "notok")
													{
														setMessage("loading_ajax_"+id_pedido, "Não foi possível alterar o status do pedido. Por favor, tente novamente.", "notok", "alert", "");
														//mostra botão do form
														$_("btn_form_"+id_pedido).style.display = "block";
													}
													
													if(resultado == "errofatura")
													{
														setMessage("loading_ajax_"+id_pedido, "A fatura do pedido não foi encontrada. Por favor tente novamente", "notok", "alert", "");
														//mostra botão do form
														$_("btn_form_"+id_pedido).style.display = "block";
													}
													
													if(resultado == "errostatusfatura")
													{
														setMessage("loading_ajax_"+id_pedido, "Não foi possível atualizar a fatura do pedido. Por favor tente novamente", "notok", "alert", "");
														//mostra botão do form
														$_("btn_form_"+id_pedido).style.display = "block";
													}
													
													if(resultado == "erro")
													{
														setMessage("loading_ajax_"+id_pedido, "O pedido informado não foi encontrado. Por favor tente novamente", "notok", "alert", "");
														//mostra botão do form
														$_("btn_form_"+id_pedido).style.display = "block";
													}
												},
												onFailure: function()
												{ 
													setMessage("loading_ajax_"+id_pedido, "Não foi possível executar a operação. Por favor, tente novamente.", "notok", "alert", "");
													//mostra botão do form
													$_("btn_form_"+id_pedido).style.display = "block";
												}
											}
									);
		}
	}
}


//ações para cliente (bloquear, liberar, excluir)
function acaoCliente(id_cliente, acao)
{
	var erro = 0;

	//se não passou o id do cliente
	if(id_cliente == "")
	{
		alert("ID do cliente não informado. Não é possível executar a ação.");
		erro++;
		return false;
	}
	
	//se não passou a ação
	if(acao == "")
	{
		alert("Ação não informada.");
		erro++;
		return false;
	}
	
	//se passou nas validações	
	if(erro == 0)
	{
		if(acao == "EXCLUIR")
		{
			//mostra mensagem para excluir 
			var executa = confirm("Deseja "+ acao +" este cliente?\nTodas as informações e pedidos deste cliente, serão removidos.")
			
		}else{
			//mostra mensagem para confirmar 
			var executa = confirm("Deseja "+ acao +" este cliente?")
		}
		
		//confirma mudança do status
		if(executa == true)
		{
			//oculta botão do form
			$_("btn_acoes_"+id_cliente).style.display = "none";
			
			//mensagem que será mostrada durante o ajax
			setLoading("loading_ajax_"+id_cliente, "EXECUTANDO AÇÃO");
	
			//se for bloqueio pega motivo
			if(acao == "BLOQUEAR")
			{
				motivo = $_v("getMotivo_"+id_cliente);
				
				//se não informou o motivo do bloqueio
				if(motivo == "")
				{
					setMessage("loading_ajax_"+id_cliente, "Por favor, informe o MOTIVO para o bloqueio.", "notok", "alert", "");
					//mostra botão do form
					$_("btn_acoes_"+id_cliente).style.display = "block";
					return false;
				}
				pars = "cliente="+id_cliente + "&motivo="+ motivo + "&acao="+acao;
				
			}else{
				pars = "cliente="+id_cliente + "&acao="+acao;
			}
			
			//valores e url para o ajax		
			url = "ajax/acao_cliente.ajax.php";
			
			setAjax = new Ajax.Request(url, {
												method: 'post',
												parameters: pars,
												onComplete: function(originalRequest)
												{
													resultado = originalRequest.responseText;
													if(resultado == "ok")
													{
														alert("Ação executada com sucesso!");
														pageRedirect();
													}
													
													if(resultado == "notok")
													{
														setMessage("loading_ajax_"+id_cliente, "O cliente informado não foi encontrado. Por favor tente novamente", "notok", "alert", "");
														//mostra botão do form
														$_("btn_acoes_"+id_cliente).style.display = "block";
													}
													
													if(resultado == "errodel")
													{
														setMessage("loading_ajax_"+id_cliente, "Não foi possível EXCLUIR o cliente. Por favor tente novamente.", "notok", "alert", "");
														//mostra botão do form
														$_("btn_acoes_"+id_cliente).style.display = "block";
													}
													
													if(resultado == "erroblock")
													{
														setMessage("loading_ajax_"+id_cliente, "Não foi possível BLOQUEAR o cliente. Por favor tente novamente.", "notok", "alert", "");
														//mostra botão do form
														$_("btn_acoes_"+id_cliente).style.display = "block";
													}
													
													if(resultado == "errounblock")
													{
														setMessage("loading_ajax_"+id_cliente, "Não foi possível LIBERAR o cliente. Por favor tente novamente.", "notok", "alert", "");
														//mostra botão do form
														$_("btn_acoes_"+id_cliente).style.display = "block";
													}
													
													if(resultado == "errofatura")
													{
														setMessage("loading_ajax_"+id_cliente, "Existem faturas ativas para este cliente. É necessário dar baixa antes de excluí-lo.", "notok", "alert", "");
														//mostra botão do form
														$_("btn_acoes_"+id_cliente).style.display = "block";
													}
													
													if(resultado == "erropedido")
													{
														setMessage("loading_ajax_"+id_cliente, "Não foi possível excluir os PEDIDOS deste cliente. Por favor, tente novamente.", "notok", "alert", "");
														//mostra botão do form
														$_("btn_acoes_"+id_cliente).style.display = "block";
													}
												},
												onFailure: function()
												{ 
													setMessage("loading_ajax_"+id_cliente, "Não foi possível executar a operação. Por favor, tente novamente.", "notok", "alert", "");
													//mostra botão do form
													$_("btn_acoes_"+id_cliente).style.display = "block";
												}
											}
									);
		}
	}
}

//atualiza carrinho de compras 
function atualizaCarrinho(produto)
{
	//info do produto
	id_produto = produto;
	qtd_produto = $_v("qtdProduto");
	frequencia_produto = $_v("frequenciaProduto");
	voltagem_produto = $_v("voltagemProduto");
	carrinho = pathImagens().replace("/img", "/produtos/?carrinho");
	
	if(id_produto == "")
	{
		alert("Produto não informado.");
		return false;
	}
	
	if(qtd_produto == "" || qtd_produto == '0' || qtd_produto == '00')
	{
		alert("Informe a QUANTIDADE para o produto.");
		return false;
	}

	if(frequencia_produto == "")
	{
		alert("Selecione a FREQUÊNCIA do produto.");
		return false;
	}
	
	if(voltagem_produto == "")
	{
		alert("Selecione a VOLTAGEM do produto.");
		return false;
	}

	//mensagem que será mostrada durante o ajax
	loading = pathImagens()+"/loading_blue.gif";
	$_("show_valor").innerHTML = '<img src="'+ loading +'"/> atualizando...';
	
	//valores e url para o ajax
	url = "../source/ajax/carrinho.ajax.php";
	pars = "produto="+id_produto + "&quantidade="+qtd_produto + "&frequencia="+frequencia_produto + "&voltagem="+voltagem_produto;
		
	setAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;
											
											//se não atualizou o carrinho
											if(resultado == "erro")
											{
												alert('Não foi possível atualizar o carrinho. Por favor, tente novamente.');
												return false	
											}else{
												//atualiza o valor do carrinho
												$_("show_valor").innerHTML = "R$ " + resultado;
												//mostra botão de ver produtos
												$_("show_botao").innerHTML = '<a class="btn_green" href="'+ carrinho +'" >ver produtos</a>';
											}
										},
										onFailure: function()
										{ 
											alert('Não foi possível executar a operação. Por favor, tente novamente.');
											return false
										}
									}
							);
}

//atualiza carrinho de compras 
function buscaFrete(numero_cep)
{
	//info do produto
	cep_destino = numero_cep;
	
	//zera o campo cep para recalcular
	$_("getFrete").value = "";
	//oculta linha do frete
	$_("valor_frete").style.display = "none";
	//zera valor total do pedido
	$_("mostra_total").innerHTML = "";
	
	if(cep_destino == "")
	{
		alert("Por favor informe o CEP.");
		campoNOTOK($_("getCEP"));
		return false;
	}
	
	if(cep_destino.length < 8)
	{
		alert("CEP inválido.");
		campoNOTOK($_("getCEP"));
		return false;
	}
	
	//mensagem que será mostrada durante o ajax
	setLoading("loading_ajax", "PESQUISANDO FRETE");
	
	//valores e url para o ajax
	//url = pathAjax() + "/busca_frete.ajax.php"; 
	url = pathAjax() + "/busca_frete_webservice.ajax.php"; 
	pars = "cep="+cep_destino + "&entrega="+arguments[1];//se passar arguments[1] é o id do endereço de entrega escolhido
		
	setAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;

											//se não calculou o frete
											if(resultado == "erro")
											{
												setMessage("loading_ajax", "Não foi possível calcular o frete. Por favor, tente novamente.", "notok", "", "");
												return false
												
											//se calculou o frete
											}else{
												quebra = resultado.split("##");

												//mensagem que será mostrada durante o ajax
												$_("loading_ajax").innerHTML = "";
												//mostra linha do frete
												$_("valor_frete").style.display = "block";
												//mostra valor do frete
												$_("mostra_frete").innerHTML = "R$ " + quebra[0];
												//mostra valor total já com frete
												$_("mostra_total").innerHTML = "R$ " + quebra[1];
												//insere valor do frete no campo oculto
												$_("getFrete").value = quebra[0].replace(",",".");
											}
											
										},
										onFailure: function()
										{ 
											alert('Não foi possível executar a operação. Por favor, tente novamente.');
											return false
										}
									}
							);
}


//mostra form p/ alterar quantidade do produto no carrinho 
function alteraQtdForm(produto)
{
	//info do produto
	id_produto = produto;
	mini_form = '<div class="form_qtd">Quantidade: <input type="text" id="change_qtd_'+ id_produto +'" onkeypress="javascript: return formataInteiro(event);" maxlength="2" size="3" class="campos_input" value="" /><a href="javascript:;" onclick="javascript: alteraQtd('+ id_produto +')"><img src="'+ pathImagens() +'/btn_ok.gif" /></a><div>';
	
	if(id_produto == "")
	{
		alert("Produto não informado.");
		return false;
	}
	
	//se não estiver vísivel, mostra o form
	if($_("show_form_"+id_produto).innerHTML == "")
	{
		$_("show_form_"+id_produto).innerHTML = mini_form;
		
	//se cliclou de novo, oculta o form	
	}else{
		$_("show_form_"+id_produto).innerHTML = "";
	}
}

//altera quantidade do produto no carrinho 
function alteraQtd(produto)
{
	//info do produto
	id_produto = produto;
	qtd_produto = $_("change_qtd_"+id_produto).value;
	
	if(id_produto == "")
	{
		alert("Produto não informado.");
		return false;
	}
	
	if(qtd_produto == "" || qtd_produto == '0' || qtd_produto == '00')
	{
		alert("Informe a quantidade para o produto.");
		return false;
	}
	
	//mensagem que será mostrada durante o ajax
	//loading = pathImagens()+"/loading_blue.gif";
	//$_("show_valor").innerHTML = '<img src="'+ loading +'"/> atualizando...';
	
	//valores e url para o ajax
	url = "../source/ajax/carrinho.ajax.php";
	pars = "produto="+id_produto + "&quantidade="+qtd_produto + "&acao=alterar";
		
	setAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;
											//pega valor produto e valor total
											quebra = resultado.split("##");
											
											//se não atualizou a qtd do produto no carrinho
											if(resultado == "erro")
											{
												alert("Não foi possível alterar a quantidade do produto. Por favor, tente novamente.");
												return false	
											}else{
												
												//atualiza a qtd do produto
												$_("show_qtd_"+id_produto).innerHTML = qtd_produto;
												//atualiza o valor do produto
												$_("show_valor_produto_"+id_produto).innerHTML = "R$ "+ quebra[0];
												//atualiza o valor do carrinho
												$_("valor_total").innerHTML = "R$ "+ quebra[1];
												//remove o form de qtd
												$_("show_form_"+id_produto).innerHTML = "";
											}
										},
										onFailure: function()
										{ 
											alert("Não foi possível executar a operação. Por favor, tente novamente.");
											return false
										}
									}
							);
}

//adiciona um novo desconto p/ produtos 
function addDesconto()
{
	if($_v("getAddDesconto") == "")
	{
		alert("Por favor informe o VALOR ou PERCENTUAL para o desconto");
		campoNOTOK($_("getAddDesconto"))
		return false;
	}
	
	//mensagem que será mostrada durante o ajax
	loading = pathImagens()+"/loading_lite.gif";
	$_("loading_add_desconto").innerHTML = '<img src="'+ loading +'"/> adicionando...';

	//oculta o botão de adicionar
	$_("btn_add_desconto").style.display = 'none';
	
	//valores e url para o ajax
	url = pathAjax() + "adiciona_desconto.ajax.php";
	pars = "desconto="+$_v("getAddDesconto");
		
	setAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;
											
											//se desconto é texto
											if(resultado == "texto")
											{
												alert("O valor do desconto deve ser VALOR ou PERCENTUAL.\nNão pode ser texto.");
												//mostra o botão de adicionar
												$_("btn_add_desconto").style.display = 'block';
												//zera loading
												$_("loading_add_desconto").innerHTML = "";
												return false	
											}
											//se valor informado é muito grande
											else if(resultado == "tam")
											{
												alert("O valor do desconto informado tem muitos caracteres.\nDeve ter VALOR (máx. 6) ou PERCENTUAL(máx. 3)");
												//mostra o botão de adicionar
												$_("btn_add_desconto").style.display = 'block';
												//zera loading
												$_("loading_add_desconto").innerHTML = "";
												return false	
											}
											//se valor informado já existe
											else if(resultado == "jaexiste")
											{
												alert("O valor do desconto informado já existe.");
												//mostra o botão de adicionar
												$_("btn_add_desconto").style.display = 'block';
												//zera loading
												$_("loading_add_desconto").innerHTML = "";
												return false	
											}
											//se não inseriu o desconto
											else if(resultado == "notok")
											{
												alert("Não foi possível adicionar o desconto. Por favor tente novamente.");
												//mostra o botão de adicionar
												$_("btn_add_desconto").style.display = 'block';
												//zera loading
												$_("loading_add_desconto").innerHTML = "";
												return false
													
											}else{
												
												//se inseriu o desconto
												//pega resultado
												quebra = resultado.split("##");
											
												alert("Desconto adicionado com sucesso!");
												//mostra o botão de adicionar
												$_("btn_add_desconto").style.display = 'block';
												//zera loading
												$_("loading_add_desconto").innerHTML = "";
												//zera desconto
												$_("getAddDesconto").value = "";
												//adiciona o novo select
												$_("select_descontos").innerHTML = quebra[1];
											}
										},
										onFailure: function()
										{ 
											alert("Não foi possível executar a operação. Por favor, tente novamente.");
											//mostra o botão de adicionar
											$_("btn_add_desconto").style.display = 'block';
											//zera loading
											$_("loading_add_desconto").innerHTML = "";
											return false
										}
									}
							);
}

//verifica se bloqueador de popup está ativo
function getBloqueador()
{
    var janela = window.open("#","janelaBloq", "width=10, height=10, top=0, left=0, scrollbars=no, status=no, resizable=no, directories=no, location=no, menubar=no, titlebar=no, toolbar=no");
    if (janela == null)
    {
		return true;
    } 
	else
    {
        janela.close();
        return false;
    }
}

//fecha pedido 
function fechaPedido()
{
	//verifica se bloqueador de popup está ativo
	if(getBloqueador())
	{
		setMessage("loading_ajax", "Por favor, desative o BLOQUEADOR DE POPUP de seu navegador, para continuar.", "notok", "alert", "");
		return false;
	
	//se bloqueador está desativado	
	}else{
		
	//oculta botões ações
	$_("info_acoes_carrinho").style.display = 'none';
	$_("acoes_carrinho").style.display = 'none';
	
	//mensagem que será mostrada durante o ajax
	setLoading("loading_ajax", "ENVIANDO PEDIDO");
		
	//valores e url para o ajax
	url = "ajax/produtos_pagamento.ajax.php";
	pars = "identificador="+$_v("getCodigoIdentificador") + "&observacao="+$_v("getObservacao");
		
	setAjax = new Ajax.Request(url, {
										method: 'post',
										parameters: pars,
										onComplete: function(originalRequest)
										{
											resultado = originalRequest.responseText;
											
											//se deu algum erro ao salvar pedido
											if(resultado == "erro")
											{
												setMessage("loading_ajax", "Ocorreu um erro ao enviar seu pedido. Por favor tente novamente", "notok", "alert", "");
												return false	
											}
											//se não salvou o pedido
											else if(resultado == "notok")
											{
												setMessage("loading_ajax", "Não foi possível enviar seu pedido. Por favor tente novamente", "notok", "alert", "");
											
											//se salvou pedido	
											}else{
												
												setMessage("loading_ajax", "Seu pedido foi recebido com sucesso!", "ok", "", "");
												
												//adiciona o id do pedido criado, no form do pagseguro
												$_("ref_transacao").value = resultado;

												//adiciona botão finalizar
												$_("acoe_pagseguro").innerHTML = '<a href="?pedidos" class="btn_green_big" />ver status do pedido</a>';
													
												//mostra ações
												$_("acoes_carrinho").style.display = 'block';
													
												//se adicionou id do pedido
												if($_v("ref_transacao") != "")
												{
													//envia pagseguro
													$_("enviarpagseguro").submit();
												}
											}
											
										},
										onFailure: function()
										{ 
											setMessage("loading_ajax", "Não foi possível executar a operação. Por favor, tente novamente.", "notok", "alert", "");
											return false
										}
									}
							);
	}
}

//cancela pedido 
function cancelaPedido()
{
	//mostra mensagem para confirmar o cancelamento do pedido 
	var cancela = confirm("Este pedido será CANCELADO! Deseja continuar?")
	
	//confirma cancelamento do pedido
	if (cancela == true)
	{
		//mensagem que será mostrada durante o ajax
		setLoading("loading_ajax", "CANCELANDO PEDIDO");
			
		//valores e url para o ajax
		url = "../source/ajax/cancela_pedido.ajax.php";
		pars = "acao=cancelar";
			
		setAjax = new Ajax.Request(url, {
											method: 'post',
											parameters: pars,
											onComplete: function(originalRequest)
											{
												resultado = originalRequest.responseText;
												if(resultado == "ok")
												{
													pageRedirect("?carrinho");
												}else{
													alert("Não foi possível CANCELAR o pedido");				
												}
												
											},
											onFailure: function()
											{ 
												setMessage("loading_ajax", "Não foi possível executar a operação. Por favor, tente novamente.", "notok", "alert", "");
												return false
											}
										}
								);
	}
}

// valida o local de entrega e valor do 
// frete no fechamento do pedido 
function validaEntrega()
{
	if($_v("getFrete") == "")
	{
		alert("Por favor, selecione o ENDEREÇO DE ENTREGA para calcular o frete.");
		return false;
	}
}

//verifica o tipo de cadastro (pf ou pj) e mostra os campos cpf ou cnpj
function checkTipo(campo)
{
	//se é tipo pf, passa nocheck para cnpj (não validar)
    if (campo.value == "pf")
	{
		$_("getCPF").value = '';//zera o campo (nocheck)
        $_("show_info_pf").style.display = 'block';
		$_("show_info_pj").style.display = 'none';
		$_("getEmpresa").value = '';
		$_("getCNPJ").value = "nocheck";//passa nocheck no campo, para não validar
    }
	
	//se é tipo pj, passa nocheck para cpf (não validar)
	if (campo.value == "pj")
	{
		$_("getCNPJ").value = '';//zera o campo (nocheck)
		$_("show_info_pj").style.display = 'block';
		$_("show_info_pf").style.display = 'none';
		$_("getCPF").value = "nocheck";//passa nocheck no campo, para não validar
	}
}

//verifica se funcionário atende ou não no suporte MSN
function checkAtende(campo)
{
	//se atende
    if(campo.value == "1")
	{
		$_("getCodigoMSN").value = '';//zera o campo (nocheck)
        $_("add_codigo_msn").style.display = 'block';
    }
	
	//se não atende
	if(campo.value == "0")
	{
        $_("add_codigo_msn").style.display = 'none';
		$_("getCodigoMSN").value = 'nocheck';//zera o campo (nocheck)
	}
}

//##################### FUNÇÕES passadas para o ajax genérico setAjax() #####################
//deve ser passado para setAjax, somente o NOME das function definidas aqui

//return genérico p/ utilizar em 
//várias funções que tem este mesmo retorno
function returnGenerico(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações salvas com sucesso!", "ok", "alert", "");
		pageRedirect();
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado == "erro")
	{
		setMessage("loading_ajax", "Não foi possível salvar as informações. Por favor tente novamente.", "ok", "alert", "");
	}
}

function returnFilial(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações da UNIDADE salvas com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?unit");
		pageRedirect(redirect);
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "UNIDADE excluída com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?unit");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "delerro")
	{
		setMessage("loading_ajax_"+resultado[1], "A UNIDADE informada não foi encontrada. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delfunc")
	{
		setMessage("loading_ajax_"+resultado[1], "Existem FUNCIONÁRIOS cadastrados nesta unidade. É necessário removê-los, antes de excluir esta unidade.", "notok", "alert", "");
	}
}

function returnDepto(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações do DEPARTAMENTO salvas com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?depto");
		pageRedirect(redirect);
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "DEPARTAMENTO excluído com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?depto");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "delerro")
	{
		setMessage("loading_ajax_"+resultado[1], "O DEPARTAMENTO informado não foi encontrado. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delfunc")
	{
		setMessage("loading_ajax_"+resultado[1], "Existem FUNCIONÁRIOS cadastrados neste departamento. É necessário removê-los, antes de excluir este departamento.", "notok", "alert", "");
	}
}

function returnFunc(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações do FUNCIONÁRIO salvas com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?func");
		pageRedirect(redirect);
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "FUNCIONÁRIO excluído com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?func");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "delnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível EXCLUIR o funcionário. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delerro")
	{
		setMessage("loading_ajax_"+resultado[1], "O FUNCIONÁRIO informado não foi encontrado. Por favor tente novamente.", "notok", "alert", "");
	}
}

function returnProd(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações do PRODUTO salvas com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?product");
		pageRedirect(redirect);
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "statusok")
	{
		setMessage("loading_ajax_"+resultado[1], "O STATUS do produto foi alterado com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?product");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "statusnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível alterar o STATUS do produto. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "proderro")
	{
		setMessage("loading_ajax_"+resultado[1], "O PRODUTO informado não foi encontrado. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "PRODUTO excluído com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?product");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "delnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível EXCLUIR o produto. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delerro")
	{
		setMessage("loading_ajax_"+resultado[1], "O PRODUTO informado não foi encontrado. Por favor tente novamente.", "notok", "alert", "");
	}
}

//edição de fotos produto administrativo
function returnFotoProd(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Descrição da FOTO salva com sucesso!", "ok", "alert", "");
	}
	
	if(resultado == "erro")
	{
		setMessage("loading_ajax", "A FOTO informada não foi encontrada. Por favor tente novamente", "notok", "alert", "");
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
}

//edição de marcas produto administrativo
function returnMarcaProd(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	redirect = pathImagens().replace("/img", "/admin/?brand");
	
	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações da MARCA salvas com sucesso!", "ok", "alert", "");
		pageRedirect(redirect);
	}
	
	if(resultado == "erro")
	{
		setMessage("loading_ajax", "A MARCA informada não foi encontrada. Por favor, tente novamente.", "notok", "alert", "");
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "statusok")
	{
		setMessage("loading_ajax_"+resultado[1], "O STATUS da marca foi alterado com sucesso!", "ok", "alert", "");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "statusnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível alterar o STATUS da marca. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "marcaerro")
	{
		setMessage("loading_ajax_"+resultado[1], "A MARCA não foi encontrada. Por favor tente novamente.", "notok", "alert", "");
	}
}

//edição de categorias produto administrativo
function returnCatProd(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	redirect = pathImagens().replace("/img", "/admin/?cat");
	
	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações da CATEGORIA salvas com sucesso!", "ok", "alert", "");
		pageRedirect(redirect);
	}
	
	if(resultado == "erro")
	{
		setMessage("loading_ajax", "A CATEGORIA informada não foi encontrada. Por favor, tente novamente.", "notok", "alert", "");
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "statusok")
	{
		setMessage("loading_ajax_"+resultado[1], "O STATUS da categoria foi alterado com sucesso!", "ok", "alert", "");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "statusnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível alterar o STATUS da categoria. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "caterro")
	{
		setMessage("loading_ajax_"+resultado[1], "A CATEGORIA não foi encontrada. Por favor tente novamente.", "notok", "alert", "");
	}
}

//edição de opiniões produto administrativo
function returnOpProd(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado[0] == "ok")
	{
		//se for admin
		if(resultado[1] == "a")
		{
			setMessage("loading_ajax", "OPINIÃO salva com sucesso!", "ok", "alert", "");
			redirect = pathImagens().replace("/img", "/admin/?opinion");
			pageRedirect(redirect);
			
		//se for cliente
		}else{
			setMessage("loading_ajax", "Sua OPINIÃO foi adicionada com sucesso! Aguarde liberação do Administrador, para visualizá-la no produto.", "ok", "alert", "");
			redirect = pathImagens().replace("/img", "/minhaconta/?opiniao");
			pageRedirect(redirect);
		}
	}

	if(resultado[0] == "erro")
	{
		setMessage("loading_ajax_"+resultado[1], "A OPINIÃO informada não foi encontrada. Por favor, tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "libok")
	{
		setMessage("loading_ajax_"+resultado[1], "OPINIÃO liberada com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?opinion");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "libnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível LIBERAR a opinião. Por favor, tente novamente.", "notok", "alert", "");
	}
	
	if(resultado == "altok")
	{
		setMessage("loading_ajax", "OPINIÃO alterada com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/minhaconta/?opiniao");
		pageRedirect(redirect);
	}
	
	if(resultado == "altnotok")
	{
		setMessage("loading_ajax", "Não foi possível ALTERAR a opinião solicitada. Por favor, tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "OPINIÃO excluída com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?opinion");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "delnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível EXCLUIR a opinião. Por favor, tente novamente.", "notok", "alert", "");
	}
}

//edição de arquivos produto administrativo
function returnArquivoProd(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Descrição do ARQUIVO salva com sucesso!", "ok", "alert", "");
	}
	
	if(resultado == "erro")
	{
		setMessage("loading_ajax", "O ARQUIVO informado não foi encontrado. Por favor tente novamente", "notok", "alert", "");
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
}

//retorno envio de solicitação de troca/devolução produto 
function returnTrocaDevolucao(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Sua solicitação foi enviada com sucesso! Aguarde nosso retorno.", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/minhaconta/?change");
		pageRedirect(redirect);
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Não foi possível enviar sua solicitação. Por favor tente novamente.", "notok", "alert", "");
	}
}

function returnCadastro(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "erros")
	{
		alert("O DOCUMENTO(cpf/cnpj) e E-mail informados, já estão cadastrados.")
		//mensagem de resultado do ajax
		$_("loading_doc").innerHTML = " DOCUMENTO já cadastrado";
		$_("loading_doc").className = "erro";
		$_("loading_email").innerHTML = " E-MAIL já cadastrado";
		$_("loading_email").className = "erro";
		setMessage("loading_ajax", "O DOCUMENTO(cpf/cnpj) e E-mail informados, já estão cadastrados.", "notok", "", "");
	}
	
	if(resultado == "errodoc")
	{
		alert("O DOCUMENTO(cpf/cnpj) informado, já está cadastrado.")
		//mensagem de resultado do ajax
		$_("loading_doc").innerHTML = " DOCUMENTO já cadastrado";
		$_("loading_doc").className = "erro";
		$_("loading_email").innerHTML = "";
		setMessage("loading_ajax", "O DOCUMENTO(cpf/cnpj) informado, já está cadastrado.", "notok", "", "");
	}
	
	if(resultado == "erroemail")
	{
		alert("O E-MAIL informado, já está cadastrado.")
		//mensagem de resultado do ajax
		$_("loading_email").innerHTML = " E-MAIL já cadastrado";
		$_("loading_email").className = "erro";
		$_("loading_doc").innerHTML = "";
		setMessage("loading_ajax", "O E-MAIL informado, já está cadastrado.", "notok", "", "");
	}
	
	if (resultado == "notok")
	{
		setMessage("loading_ajax", "Não foi possível criar sua conta. Por favor tente novamente.", "ok", "alert", "");
	}
	
	if (resultado == "ok")
	{
		$_("loading_doc").innerHTML = "";
		$_("loading_email").innerHTML = "";	
		setMessage("loading_ajax", "Sua CONTA foi criada com sucesso", "ok", "alert", "");
		window.location = "../acessar/#login";
	}
}

function returnChangeCadastro(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "erroemail")
	{
		//mensagem de resultado do ajax
		setMessage("loading_ajax", "O E-MAIL informado, já está cadastrado.", "notok", "alert", "");
	}
	
	if(resultado == "errosenha")
	{
		//mensagem de resultado do ajax
		setMessage("loading_ajax", "A SENHA informada é muito pequena. Deve ter entre 4 e 8 dígitos.", "notok", "alert", "");
	}
	
	if(resultado == "erro")
	{
		//mensagem de resultado do ajax
		setMessage("loading_ajax", "Seu USUÁRIO não foi encontrado. Por favor tente novamente", "notok", "alert", "");
	}
	
	if (resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada. Por favor tente novamente.", "ok", "alert", "");
	}
	
	if (resultado == "ok")
	{
		setMessage("loading_ajax", "Seu CADASTRO foi alterado com sucesso", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/minhaconta/?cadastro");
		pageRedirect(redirect);
	}
}

function returnLink(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações do LINK salvas com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?addlink");
		pageRedirect(redirect);
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "LINK excluído com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?addlink");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "delerro")
	{
		setMessage("loading_ajax_"+resultado[1], "O LINK informado não foi encontrado. Por favor tente novamente.", "notok", "alert", "");
	}
}

function returnVideo(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações do VÍDEO salvas com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?addvideo");
		pageRedirect(redirect);
	}
	if(resultado == "erro")
	{
		setMessage("loading_ajax", "Não foi possível inserir o vídeo. Por favor, tente novamente.", "notok", "alert", "");
	}
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "VÍDEO excluído com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?addvideo");
		pageRedirect(redirect);
	}
	if(resultado[0] == "delnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "O VÍDEO informado não foi encontrado. Por favor tente novamente.", "notok", "alert", "");
	}
	if(resultado[0] == "delerro")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível revomer o VÍDEO informado. Por favor tente novamente.", "notok", "alert", "");
	}
}

function returnCertificadoPremio(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Informações salvas com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?addpic");
		pageRedirect(redirect);
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "IMAGEM excluída com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?addpic");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "delnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível excluir a IMAGEM informada. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delerro")
	{
		setMessage("loading_ajax_"+resultado[1], "A IMAGEM informada não foi encontrada. Por favor tente novamente.", "notok", "alert", "");
	}
}

function returnGaleria(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "GALERIA salva com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?addpics");
		pageRedirect(redirect);
	}
	
	if(resultado == "erromidia")
	{
		setMessage("loading_ajax", "Não foi possível adicionar as informações da GALERIA. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado == "erropasta")
	{
		setMessage("loading_ajax", "Não foi possível adicionar as informações da GALERIA. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delok")
	{
		setMessage("loading_ajax_"+resultado[1], "GALERIA excluída com sucesso!", "ok", "alert", "");
		redirect = pathImagens().replace("/img", "/admin/?addpics");
		pageRedirect(redirect);
	}
	
	if(resultado[0] == "delnotok")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível excluir a GALERIA informada. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delpics")
	{
		setMessage("loading_ajax_"+resultado[1], "Não foi possível excluir as fotos da GALERIA informada. Por favor tente novamente.", "notok", "alert", "");
	}
	
	if(resultado[0] == "delerro")
	{
		setMessage("loading_ajax_"+resultado[1], "A GALERIA informada não foi encontrada. Por favor tente novamente.", "notok", "alert", "");
	}
}

//edição de fotos galeria administrativo
function returnFotoGaleria(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Descrição da FOTO da galeria salva com sucesso!", "ok", "alert", "");
	}
	
	if(resultado == "erro")
	{
		setMessage("loading_ajax", "A FOTO da galeria informada não foi encontrada. Por favor tente novamente", "notok", "alert", "");
	}
	
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
}

function returnContato(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Sua mensagem foi enviada com sucesso!", "ok", '', '');
		window.location = "../contato";
	}else{
		setMessage("loading_ajax", "Não foi possível enviar sua mensagem.", "notok", '', '');
	}
}

function returnIndique(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Sua indicação foi enviada com sucesso!", "ok", "alert", "");
		window.location = "../indique";
	}else{
		setMessage("loading_ajax", "Não foi possível enviar sua indicação. Por favor, tente novamente.", "notok", '', '');
	}
}

function returnAvise_me(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "Solicitação enviada! Aguarde nosso contato, assim que o produto estiver disponível.", "ok", "alert", '');
		$_("getNomeAvise").value = "";
		$_("getEmailAvise").value = "";
	}
	if(resultado == "erroenvio")
	{
		setMessage("loading_ajax", "Sua solicitação foi salva com sucesso, mas houve um erro ao enviar o e-mail de confirmação. Aguarde nosso contato, assim que o produto estiver disponível.", "ok", "alert", '');
		$_("getNomeAvise").value = "";
		$_("getEmailAvise").value = "";
	}
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Não foi enviar sua solicitação. Por favor, tente novamente", "notok", "alert", '');
	}
}

function returnAddEndereco(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		setMessage("loading_ajax", "O endereço foi salvo com sucesso!", "ok", "alert", "");
		pageRedirect();
	}else{
		setMessage("loading_ajax", "Não foi possível salvar o endereço. Por favor, tente novamente.", "notok", "alert", "");
	}
}

//login administrativo
function returnLogin(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
	var resultado = getRetorno(retorno);
	
	//não é administrador
	if (resultado == "errotipo")
	{
		setMessage("loading_login", "Você não tem permissão para acessar. Por favor, entre em contato com o Administrador.", "notok", "alert", "");
	}
	//e-mail não cadastrado
	if (resultado == "erroemail")
	{
		setMessage("loading_login", "O e-mail informado não está cadastrado.", "notok", "alert", "");
	}
	//senha não confere
	if(resultado == "errosenha")
	{
		setMessage("loading_login", "Senha incorreta. Por favor, tente novamente.", "notok", "alert", "");
	}
	//login inativo
	if (resultado == "errostatus") 
	{
		setMessage("loading_login", "Usuário bloqueado. Por favor, entre em contato com nosso suporte.", "notok", "alert", "");
	}
	//login bloqueado
	if (resultado == "errobloqueio") 
	{
		setMessage("loading_login", "O e-mail informado encontra-se bloqueado. Por favor, entre em contato com nosso suporte.", "notok", "alert", "");
	}
	//tudo ok
	if (resultado == "ok") 
	{
		pageRedirect();
	}
}

//login usuário
function returnAcessar(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	//e-mail não cadastrado
	if(resultado == "erroemail")
	{
		alert("O e-mail informado não está cadastrado.");
		setMessage("loading_login", "O e-mail informado não está cadastrado.", "notok", '', '');
	}
	//senha não confere
	else if(resultado == "errosenha")
	{
		alert("Senha incorreta. Por favor, tente novamente.");
		setMessage("loading_login", "Senha incorreta. Por favor, tente novamente.", "notok", '', '');
	}
	//login inativo
	else if (resultado == "errostatus") 
	{
		alert("O e-mail informado encontra-se inativo.\nPor favor, entre em contato com nosso suporte.");
		setMessage("loading_login", "O e-mail informado encontra-se inativo. <br/> Por favor, entre em contato com nosso suporte.", "notok", '', '');
	}
	//login bloqueado
	else if (resultado == "errobloqueio") 
	{
		alert("O e-mail informado encontra-se bloqueado.\nPor favor, entre em contato com nosso suporte.");
		setMessage("loading_login", "O e-mail informado encontra-se bloqueado. <br/> Por favor, entre em contato com nosso suporte.", "notok", '', '');
	
	}else {
		
		//SE LOGIN ESTÁ OK, VERIFICA TIPO DE USUÁRIO	
		switch (resultado[0]) 
		{
			case "usuario":
				//se não exite o usuário cadastrado
				if (resultado[1] == "notok") 
				{
					alert("Usuário não cadastrado para sua conta.\nPor favor, entre em contato com nosso suporte.");
					setMessage("loading_login", "Usuário não cadastrado para sua conta.<br/> Por favor, entre em contato com nosso suporte.", "notok", '', '');
				}
				//se logou
				else if (resultado[1] == "ok") 
				{
					window.location = "../minhaconta";
				}
				//se logou e tem redirecionamento
				else
				{
					window.location = resultado[1];
				}
			break;
		}
	}
}

function returnLembrarSenha(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if(resultado == "ok")
	{
		//criou e salvou a nova senha
		setMessage("loading_lembrar", "Sua senha foi enviada com sucesso! Por favor, verifique seu e-mail.", "ok", "alert", "");
		$_("getEmail").value = "";
	}
	//e-mail não cadastrado
	if(resultado == "erroemail")
	{
		setMessage("loading_lembrar", "O e-mail informado não está cadastrado.", "notok", '', '');
	}
	//login bloqueado
	if(resultado == "errobloqueio")
	{
		setMessage("loading_lembrar", "O e-mail informado encontra-se bloqueado. <br/> Por favor, entre em contato com nosso suporte.", "notok", '', '');
	}
	//login inativo
	if(resultado == "errostatus")
	{
		setMessage("loading_lembrar", "O e-mail informado encontra-se inativo. <br/> Por favor, entre em contato com nosso suporte.", "notok", '', '');
	}
	//não salvou a nova senha no banco
	if(resultado == "notok") 
	{
		setMessage("loading_lembrar", "Não foi possível gerar sua nova senha. Por favor, tente novamente.", "notok", '', '');
	}
	/////////////// APAGAR A VISUALIZAÇÃO DA SENHA DEPOIS (segurança)
	//salvou a senha mas não enviou e-mail
	if (resultado[0] == "erroenvio") 
	{
		setMessage("loading_lembrar", "Sua nova senha foi gerada mas ocorreu um erro ao tentar enviá-la.<br />Sua nova senha é: "+resultado[1], "notok", '', '');
	}
}


function returnAlterarEmail(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if (resultado == "ok") 
	{
		setMessage("loading_ajax", "O e-mail de sua conta foi alterado com sucesso!", "ok", "alert", "");
		pageRedirect();
	}
	if(resultado == "notok")
	{
		setMessage("loading_ajax", "Não foi possível altera o e-mail de sua conta. Por favor, tente novamente", "notok", "alert", "");
	}
	if(resultado == "erroemail")
	{
		setMessage("loading_ajax", "O e-mai informado já está cadastrado.", "notok", "alert", "");
	}
	if(resultado == "erro")
	{
		setMessage("loading_ajax", "Nenhuma informação alterada.", "notok", "alert", "");
	}
}

function returnAlterarSenha(retorno)
{
	//pega resultado do setAjax()
	//para acessar os valores, navegue pelos índices do array gerado em getRetorno()
	//exemplo: resultado[0], resultado[1] e resultado[2]
    var resultado = getRetorno(retorno);

	if (resultado == "erroatual") 
	{
		alert("Senha atual não confere. Por favor tente novamente.");
		setMessage("loading_ajax", "Senha atual não confere.<br />Por favor tente novamente.", "notok", '', '');
	}
	if (resultado == "erronova") 
	{
		alert("Nova senha foi redigitada incorretamente no campo Repita a Nova senha.");
		setMessage("loading_ajax", "Nova senha foi redigitada incorretamente no campo Repita a Nova senha.", "notok", '', '');
	}
	if (resultado == "erroiguais") 
	{
		alert("A Nova senha deve ser diferente da Senha atual.");
		setMessage("loading_ajax", "A Nova senha deve ser diferente da Senha atual.", "notok", '', '');
	}
	if(resultado == "notok")
	{
		alert("Não foi possível altera a senha de sua conta. Por favor, tente novamente");
		setMessage("loading_ajax", "Não foi possível alterar a senha de acesso.<br /> Por favor, tente novamente", "notok", '', '');
	}
	if(resultado == "ok")
	{
		alert("A nova senha de acesso foi salva com sucesso!");
		setMessage("loading_ajax", "A nova senha de acesso foi salva com sucesso!", "ok", '', '');
		window.location = "?pass";
	}
}

//valida envio da foto do avatar
function validaAvatarFoto()
{
	if($_v("getFoto") == "")
	{
		alert("Por favor, selecione a Foto para inserir.");
		campoNOTOK($_("getFoto"));
		return false;
	}
	
	setMessage('loading_ajax', 'Carregando foto, aguarde...', "ok", "", "");
	
	$_("formAlterarFoto").submit();
	return true;
}

//valida envio de logomarca p/ marca
function validaAddLogomarca()
{
	if($_v("getLogomarca") == "")
	{
		alert("Por favor, selecione a Logomarca para enviar.");
		campoNOTOK($_("getLogomarca"));
		return false;
	}
	
	setLoading('loading_ajax', 'Enviando arquivo, aguarde...', "ok", "", "");
	
	$_("formAlterarMarca").submit();
	return true;
}

//valida envio de arquivo p/ produto
function validaAddArquivo()
{
	if($_v("getArquivo") == "")
	{
		alert("Por favor, selecione o Arquivo para enviar.");
		campoNOTOK($_("getArquivo"));
		return false;
	}
	
	setLoading('loading_ajax', 'Enviando arquivo', "ok", "", "");
	
	$_("formAddArquivo").submit();
	return true;
}

//valida envio da foto do certificado/prêmio
function validaCertificadoPremioFoto()
{
	if($_v("getSecao") == "")
	{
		alert("Por favor, selecione a Seção para inserir.");
		campoNOTOK($_("getSecao"));
		return false;
	}
	
	if($_v("getFoto") == "")
	{
		alert("Por favor, selecione a Imagem para inserir.");
		campoNOTOK($_("getFoto"));
		return false;
	}
	
	if($_v("getTitulo") == "")
	{
		alert("Por favor, informe o Título da imagem para inserir.");
		campoNOTOK($_("getTitulo"));
		return false;
	}
	
	setMessage('loading_ajax', 'Carregando imagem, aguarde...', "ok", "", "");
	
	$_("formAddImagem").submit();
	return true;
}

//valida envio de fotos p/ galeria
function validaAddFotoGaleria()
{
	if($_v("getFoto") == "")
	{
		alert("Por favor, selecione a Foto para enviar.");
		campoNOTOK($_("getFoto"));
		return false;
	}
	
	setLoading('loading_ajax', 'Enviando arquivo, aguarde...', "ok", "", "");
	
	$_("formAddFoto").submit();
	return true;
}

function desaparece(alvo)
{
	//new Effect.Opacity($(alvo), {duration:1.5, from:1.0, to:0.0});
	$(alvo).fade({ duration: 1.5, from: 1, to: 0 });
}

function aparece(alvo)
{
	//new Effect.Opacity($(alvo), {duration:1.5, from:0.0, to:1.0});
	$(alvo).fade({ duration: 1.5, from: 0, to: 1 });
}

function mostra(elemento)
{
	$_(elemento).style.display = "block";
	return false;
}

function desmostra(elemento)
{
	$_(elemento).style.display = "none";
	return false;
}

function alterna(elemento)
{
	if($_(elemento).style.display == "none")
	{
		$_(elemento).style.display = "block";
		return false;
	}else{
		$_(elemento).style.display = "none";
		return false;
	}
}

//função alternativa para executar função como argumento em setAjax()
function executa(str, func)
{
	//chama a função e o argumento dela
   func(str)           
}

//##################### fim FUNÇÕES passadas para setAjax() #####################


//pega a página atual do browser
function pageAtual()
{
	var pagina = parent.location.href;
	return pagina;
}
//redirect p/ mesma página (refresh)
function pageRedirect()
{
	//se informou url, redireciona para o endereço especificado 
	if(arguments[0])
	{
		window.parent.location.href = arguments[0];
		
	//senão volta para a mesma página
	}else{
		window.parent.location.href = self.location;
	}
}

function iniciaModal()
{
	hs.graphicsDir = 'http://www.stocktelecom.com.br/source/js/highslide/graphics/';
	hs.align = 'center';
	hs.transitions = ['expand', 'crossfade'];
	hs.fadeInOut = true;
	hs.dimmingOpacity = 0.75;
	
	if (hs.registerOverlay)
	{
		// The white controlbar overlay
		hs.registerOverlay({
			thumbnailId: 'thumbs',
	    	overlayId: 'controlbar',
	    	position: 'top right',
	    	hideOnMouseOut: true
		});
	}
	
	if (hs.addSlideshow) 
	{
		hs.addSlideshow({
			slideshowGroup: 'gallery',
			interval: 5000,
			repeat: true,
			useControls: true,
			fixedControls: 'fit',
			overlayOptions: {
								opacity: 1,
								position: 'bottom center',
								hideOnMouseOut: true
							}
		});
	}
}



// ######################### TESTAR SCRIPTS #########################

//limpa todos os caracteres especiais do campo solicitado  
function filtraCampo(campo)
{  
	var s = "";  
	var cp = "";  
	vr = campo.value;  
	tam = vr.length;  
		for (i = 0; i < tam ; i++)
		{    
			if (vr.substring(i,i + 1) != "/" && vr.substring(i,i + 1) != "-" && vr.substring(i,i + 1) != "."  && vr.substring(i,i + 1) != "," )
			{  
				s = s + vr.substring(i,i + 1);
			}  
		}  
	campo.value = s;  
	return cp = campo.value  
}

//onkeypress="return formataInteiro(event)"
function formataInteiro(e)
{
	var keynum;
	var keychar;
	var numcheck;
	
	if(window.event){
		keynum = e.keyCode;
	}else if(e.which){
		keynum = e.which;
	}
	if(keynum == undefined || keynum == 8) return true;
	keychar = String.fromCharCode(keynum);
	numcheck = /[0-9]/;
	return numcheck.test(keychar);
}

// Formata o campo CEP
//onkeyup="formataCEP(this)"
function formataCEP(campo){
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;

	if ( tam <= 3 )
		campo.value = vr;
	if ( tam > 3 ) 
		campo.value = vr.substr(0, tam-3 ) + '-' + vr.substr(tam-3, tam);
}
//onkeypress="return limpaTeclasCEP(event)"
function limpaTeclasCEP(e)
{
	var keynum;
	var keychar;
	var numcheck;
	
	if(window.event){
		keynum = e.keyCode;
	}else if(e.which){
		keynum = e.which;
	}
	if(keynum == undefined || keynum == 8) return true;

	keychar = String.fromCharCode(keynum);
	numcheck = /[0-9-]/;
	return numcheck.test(keychar);
}

// Formata o campo valor
//onkeyup="formataValor(this)"
function formataValor(campo) {
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;

	if ( tam <= 2 ){ 
 		campo.value = vr ; }
 	if ( (tam > 2) && (tam <= 5) ){
 		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 6) && (tam <= 8) ){
 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 9) && (tam <= 11) ){
 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 12) && (tam <= 14) ){
 		campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 15) && (tam <= 18) ){
 		campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
 		
}
//onkeypress="return limpaTeclasValor(event)"
function limpaTeclasValor(e)
{
	var keynum;
	var keychar;
	var numcheck;
	
	if(window.event){
		keynum = e.keyCode;
	}else if(e.which){
		keynum = e.which;
	}
	if(keynum == undefined || keynum == 8) return true;
	
	keychar = String.fromCharCode(keynum);
	numcheck = /[0-9\,\.]/;
	return numcheck.test(keychar);
}

//remove frame da página
function removeFrame()
{
	if (top.location != self.location)
	{
		top.location = self.location
	} 
}

function setAba(numero_aba)
{
	for(i=1; i <= 4; i++)
	{
		if(i == numero_aba)
		{
			$_("aba"+i).className = 'aba_over';
			$_("frame"+i).style.display = "block";
		}else{
			$_("aba"+i).className = 'aba_desover';
			$_("frame"+i).style.display = "none";
		}
	}
}

/* FUNCÇÕES PARA O GOOGLE MAPS */
    var map;
    var gdir;
    var geocoder = null;
    var addressMarker;

    function initialize(get_endereco) 
	{
		var endereco = $_v("endereco_udia");	
		if (GBrowserIsCompatible())
		{ 
			map = new GMap2(document.getElementById("map_canvas"));
			map.addControl(new GSmallMapControl());
			map.addControl( new GMapTypeControl() );
	        gdir = new GDirections(map, document.getElementById("directions"));
	        GEvent.addListener(gdir, "load", onGDirectionsLoad);
			geocoder = new GClientGeocoder();
	        GEvent.addListener(gdir, "error", handleErrors);
      	}
	  	showAddress(endereco);
    }

    function setDirections(fromAddress, toAddress) 
	{
		$('directions').style.display = '';
		gdir.load("from: " + fromAddress + " to: " + toAddress);
    }

    function handleErrors()
	{
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	     alert("Endereço Inválido. Por favor verique a ortografia e tente novamente." + gdir.getStatus().code);
	   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	     alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);
	   
	   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	     alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);

	//   else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong
	//     alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code);
	     
	   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	     alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);

	   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	     alert("A direção informada não pode ser encontrada.\n Error code: " + gdir.getStatus().code);
	    
	   else alert("Ocorreu um erro");
	}

	function onGDirectionsLoad(){}
    function showAddress(address)
	{
		logo_stock = '<img src="' + pathImagens() + '/logo_stocktotal.gif" width="120" /><br />';
      if (geocoder)
	  {
        geocoder.getLatLng(
          address,
          function(point)
		  {
            if (!point)
			{
              alert(address + " não encontrado");
            } else {
              map.setCenter(point, 15);
              var marker = new GMarker(point);
              map.addOverlay(marker);
             marker.openInfoWindowHtml(logo_stock + address);
            }
         }
        );
      }
    }
	
/* fim FUNCÇÕES PARA O GOOGLE MAPS */
