//  ATENÇÃO
//	Ao inserir novos métodos neste arquivo, 
//	Favor testá-los também no IE7. 
// 
// 	Caso seja inserido requisições Ajax, implementar os métodos 'complete' e 'beforeSend', pois caso não seja implementado
// ocorre erro de Objeto esperado!
// 
// Contamos com a colaboração de todos.

var servidor = {
	contexto: '' 
};

String.prototype.trim = function()
{
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function criarDivAvaliacao(idObject, divName, path, tipo){
	var caminho = path+'/rating/rating.do';
	var valores = 'perform=carregarAvalicao&obj='+idObject+'&tipo='+tipo;
	var pt =1;
	var myHtml = "";
	var avaliacao ="";
	var ax= "";
	$.ajax({
		type:'post',
		data: valores,
		url: caminho,
		complete:function(xml){
			avaliacao = xml.responseText;
			while(pt != 11){
				myHtml +='<input type="radio" name="rate" value="'+pt+'" id="rate'+pt+'" ';
				 var aux1 = parseInt(pt);
				 var aux2 = parseInt(avaliacao);
				if(aux1 == aux2){
					myHtml +='checked="checked" ';
				}
				myHtml +='/> ';
				pt++;	
			}
			$('#'+divName).html(myHtml);
			$('#'+divName).stars({disabled: true,split:2});
		}});
}


function moderarComentario(path, nameDiv, objId, aprovar){
	$("#"+nameDiv).css("display", "none");
	caminho = path+'/rating/moderacaoComentario.do';
	valores = 'perform=confirmar&obj='+objId+'&type='+aprovar;
	
			$.ajax({
				type: 'post',
				data: valores,
				url: caminho,
				complete:function(xml){
					$("#"+nameDiv).html("");
					$("#"+nameDiv).html('<p class="info-text">'+xml.responseText+'</p>');
					$("#"+nameDiv).css("display", "block");
				}
		});
}

function atualizarAvaliacaoUsuario(usuId, nota){
	if(usuId < 0 && nota < 0 )return;
	var quantidadeItensTela = $(".exibe-"+usuId).length;

	if(quantidadeItensTela == 0) return;
	
	var newHtml = ' ';
	
	newHtml += '<div class="usu-rtng" id="usurtng-'+usuId+'" > ';
	var pt = 1;
	while(pt != 6){
		newHtml += ' <input type="radio" name="rate" value="'+pt+'"  id="rate'+pt+'" ';
		if(pt == nota){
			newHtml += 'checked="checked" ';
		}
		newHtml += '/> ';
		pt++;
	}
	$(".exibe-"+usuId).html(newHtml);
	$("div[id^='usurtng']").stars({disabled: true});
	
}

function salvarComentario(obj, usu, objTp, texto, nameDiv, path){
	var erros = "";
	var textoAux ="";
	var limiteTexto = 1500;
	
	if(obj ==  null || 0 == obj)
		erros +=" <p> Produto ou Anunciante não informado. </p>";

	if(usu == null || 0 == usu)
		erros +=" <p> Usuario não informado. </p>";
		
	
	textoAux = texto.trim();
	
	if( textoAux.length == 0){
		erros +=" <p> É necessário informar algum texto </p>";
	}else{
        	var aux = possuiCharInvalidos(texto)+'';
			if (aux == 'false') {
				erros += "<p> Possui caracteres inválidos </p>";
			}
			if( textoAux.length > limiteTexto){
			 textoAux = textoAux.substring(0,limiteTexto);
			 erros += ' <p> Comentário muito  grande (limite de '+ limiteTexto+ '1200 caracteres). </p>';
			}
	}
	if(erros.length > 0){
		var htmAux = $("#"+nameDiv).html();
		var error = '<div class="caution-validator">'+erros+'</div> '+htmAux;
		if ($('.caution-validator').css("display") != 'block') {
			$("#" + nameDiv).html(error);
			$("#texto").val(textoAux);
			setTimeout(function(){
				$('.caution-validator').fadeOut("slow", function(){
					$('.caution-validator').hide();
				});
			}, 3500);
		}else{
			$('.caution-validator').html(erros);
		}

		return;
	}else{
		 	var textoFormatado="";
			var navegador = verificarNavegador();
			if( navegador != 2){
				textoFormatado =  escape(textoAux);				
			}else{
				textoFormatado = textoAux;				
			}
		
		var caminho = path+'/rating/comentario.do';
		var dados = 'perform=salvar&objetoId='+obj+'&tipo='+objTp+'&usuarioId='+usu+'&texto='+textoFormatado;
		
		$.ajax({
				type: 'post',
				data: dados,
				url: caminho,
				complete:function(xml){
					
					
					var auxtxt = xml.responseText+'';
					var invalido = auxtxt.search(/caution/);
					if(invalido == -1){
						$("#"+nameDiv).css("display", "none");
						$("#"+nameDiv).html("");
						$("#"+nameDiv).html(xml.responseText);
						$("#"+nameDiv).slideDown("slow");
					}else{
						var erromsg = auxtxt.replace('caution', ' ');
						erromsg =  '<div class="caution-validator"> '+erromsg+' </div>'+$("#"+nameDiv).html();
						if ($('.caution-validator').css("display") != 'block'){ 
							$("#" + nameDiv).html(erromsg);
							$("#texto").val(texto);
							setTimeout(function(){
									$('.caution-validator').fadeOut("slow", function(){
										$('.caution-validator').hide();
									});
							}, 3500);
					}else{
						$('.caution-validator').html(erromsg);
					}
				}
				}
		});
	}	
}


function carregarComentario(objId, objTp, nameDiv, path, totalIt){
	if(objId < 0 )return;

	var indice = $("#indice").val();
	
	var proxIndice = Number(indice)+8;
	$('#indice').val(proxIndice);

	var caminho = path+'/rating/comentario.do';
	var dados = 'perform=carregar&objetoId='+objId+'&tipo='+objTp+'&indice='+indice;
	$.ajax({
	type: 'post',
	data: dados,
	url: caminho,
	complete:function(xml){
		var resposta = xml.responseText.toString();

		var vazio = '';
        resposta = jQuery.trim(resposta);
        vazio = jQuery.trim(vazio);
        
		if(resposta != vazio){
			if(indice > 0){
				$("#"+nameDiv).append('<hr />');
			}
			$("#"+nameDiv).append(resposta);

			//$("div[id^='usurtng']").children().not(":radio").hide();
	    	$("div[id^='usurtng']").stars({disabled: true});
		}

		var qtdNAtela = $(".box-comment-item").length;

        if (qtdNAtela == 0){
			$("#"+nameDiv).html("<pre class='pre-produto'>Nenhum comentário realizado.</pre>");
			//$("#"+nameDiv).append("comente sobre");
			$('#btcometarios').css('display', 'none');
		}
        var aux = totalIt <= qtdNAtela && qtdNAtela > 0;
		if(aux) {
        	$('#btcometarios').html($('#btcometarios').html());
			$('#btcometarios').attr('disabled', true);
			$('#btcometarios').addClass('mais-comentarios-disabled');
		}

	}
	});
}

function adicionarComentario(objId, objTp, nameDiv, path){
	
	if(objId < 0 )return;
	var caminho = path+'/rating/comentario.do';
	var dados = 'perform=adiconarComentario&objetoId='+objId+'&tipo='+objTp;
	$.ajax({
	type: 'post',
	data: dados,
	url: caminho,
	complete:function(xml){
		$("#"+nameDiv).css("display", "none");
		$("#"+nameDiv).html("");
		$("#"+nameDiv).html(xml.responseText);
		$("#"+nameDiv).fadeToggle();
	}
	});
}

function carregarAvaliacao(objId, objTp, nameDiv, path){
	if(objId < 0 )return;
	var caminho = path+'/rating/rating.do';
	var dados = 'perform=carregar&objetoId='+objId+'&tipo='+objTp;
	$.ajax({
		type: 'post',
	data: dados,
	url: caminho,
	complete:function(xml){
		$("#"+nameDiv).html(xml.responseText);
		$("#"+nameDiv).fadeIn(100);
	}
	});
}

function carregarAvaliacaoComentarios(objId, objTp, nameDiv, path){
	if(objId < 0 )return;
	var caminho = path+'/rating/rating.do';
	var dados = 'perform=carregar&objetoId='+objId+'&tipo='+objTp;
	$.ajax({
		type: 'post',
	data: dados,
	url: caminho,
	complete:function(xml){
		$("#"+nameDiv).html(xml.responseText);
		carregarComentario(objId, objTp, 'comentario-box', path, $('#quantidadeComentarios').val());
	}
	});
}

function carregarAvaliacaoAnunciante(objId, objTp, nameDiv, path){
	if(objId < 0 )return;
	var caminho = path+'/rating/rating.do';
	var dados = 'perform=carregar&objetoId='+objId+'&tipo='+objTp;
	$.ajax({
		type: 'post',
		data: dados,
		url: caminho,
		complete:function(xml){
		$("#"+nameDiv).html(xml.responseText);
		$("#"+nameDiv).fadeIn(100);
		}
	});
}
// método específico para atualizar o rating do anunciante...
function salvarAvaliacaoAnunciante(vistId, objId, objTp, nameDiv, path, nota, rtId){
	if(objId < 0  || vistId < 0 )return;

	$("#"+nameDiv).css("display", "none");
	
	var ntAux = 0;
	if("Ruim" == nota){ ntAux =1;}
	else if("Razoável" == nota){ ntAux =2;}
	else if("Médio" == nota){ ntAux =3;}
	else if("Bom" == nota){ ntAux =4;}
	else if("Excelente" == nota){ ntAux =5;}
	
	
	var caminho = path+'/rating/rating.do';
	var dados = 'perform=confirmar&objetoId='+objId+'&tipo='+objTp+'&usuarioId='+vistId+'&nota='+ntAux+'&idRating='+rtId;
	$.ajax({
		type: 'post',
		data: dados,
		url: caminho,
		complete:function(xml){

		var variaveis = xml.responseText.split("-");

		avaliacaoAtual = new Number(variaveis[0]);
		votosAtual = new Number(variaveis[1]);
		
		// se não é number, então deu pau e vamos mostrar o erro.
		if(isNaN(avaliacaoAtual)){
			$("#mostrar-avaliacao").html(xml.responseText);
			return;
		}
		var pt = 1;
		var htmlTxt = '';

		htmlTxt += '<div class="avaliacao-box" id="avaliacao'+objId;
		htmlTxt += '" property="v:rating" content="'+avaliacaoAtual+'" > ';
		while(pt < 11){
			htmlTxt += ' <input type="radio" name="rate';
			htmlTxt += '" value="'+pt+'"';
			htmlTxt += '" id="rate'+pt+'"';
			if(avaliacaoAtual == pt){
				htmlTxt += ' checked="checked" ';
			}
			htmlTxt += '/> ';
			pt++;
		}
		htmlTxt += '</div> ';

		$("#mostrar-avaliacao").html(htmlTxt);
		$('#area-alt').fadeOut();
		$("div[id^='avaliacao']").stars({disabled: true, split:2});

		if(votosAtual > 0 ){

			var literal = '<p class="qtde-avaliacoes" > ( <label itemprop="votes"> '+votosAtual;
			if(votosAtual == 1){
				literal += '</label> Avaliação)';
			}else{
				literal += '</label> Avaliações)';
			}
			literal += ' </p>';

			$("#avaliacao-literal").html(literal);
			
			// atualizar avaliação do usuário nos comentários 
			atualizarAvaliacaoUsuario(vistId, ntAux);

		}else{
			$("#avaliacao-literal").html(' <p class="nenhuma-avaliacao">(Sem avaliações)</p> ');
		}
	}
	});
	}

function atualizarAvaliacao(objId, objTp, path){
	if(objId < 0 )return;
	var caminho = path+'/rating/rating.do';
	var dados = 'perform=atualizar&objetoId='+objId+'&tipo='+objTp;
	$.ajax({
	type: 'post',
	data: dados,
	url: caminho,
	complete:function(xml){
		var divName = '#avaliacaoAlterar'+objId;
		$(divName).css("display", "none");
		//$(divName).html("");
		$(divName).html(xml.responseText);
		$(divName).fadeToggle();
	}
	});
}
function salvarAvaliacao(vistId, objId, objTp, nameDiv, path, nota, rtId, divNameTotal){
	if(objId < 0  || vistId < 0 )return;

	$("#"+nameDiv).css("display", "none");
	
	var ntAux = 0;
	if("Ruim" == nota){ ntAux =1;}
	else if("Razoável" == nota){ ntAux =2;}
	else if("Médio" == nota){ ntAux =3;}
	else if("Bom" == nota){ ntAux =4;}
	else if("Excelente" == nota){ ntAux =5;}
	
	
	var caminho = path+'/rating/rating.do';
	var dados = 'perform=confirmar&objetoId='+objId+'&tipo='+objTp+'&usuarioId='+vistId+'&nota='+ntAux+'&idRating='+rtId;
	
	$.ajax({
		type: 'post',
		data: dados,
		url: caminho,
		complete:function(xml){
		
			var auxname = 'avaliacao'+objId;
			
			$("#"+auxname).html(xml.responseText);
			//$("#"+auxname).fadeToggle();	
			atualizarAvaliacaoUsuario(vistId, ntAux);			
		}
	});
}


/*
 * Procurar cidades por estado
 */
function obterCidadeUF(url, uf, cidade) {
	var comboname = "cidade";
	$('#cidade').html("<option value=0 />Carregando...");
	$.ajax(
	{
		type: 'get',
		data: 'perform=carregar&estadoId='+uf+'&cidadeId='+cidade,
		url: url,
		complete: function(xml){
			if(xml.responseText != '')
			{
				//Procurar e colocar o response dentro do combobox
				$('#cidade').html(xml.responseText);
			//alert(xml.responseText);
				//Redundancia de selected para firefox, e outros
				if(navigator.appName != "Microsoft Internet Explorer"){
					var selected = $('#cidade')[0].boxObject.element;
					for(var index=0; index<selected.options.length; index++) {
						if(selected.options.item(index).defaultSelected){
							selected.options.item(index).selected=true;
						}
					}
				}
			}
		}
	}
	)
}
function semLimiteDiario(){
	var semLimite = $('#valorDoDiaSem').attr("checked");
	var comLimite = $('#valorDoDiaCom').attr("checked");

	if (comLimite){
		$("#valorDefinido").removeAttr("disabled");
		$("#valorDefinido").removeClass('disabled');
	}else{
		$("#valorDefinido").attr("disabled", true);
		$("#valorDefinido").addClass('disabled');
	}

	$("#valorDefinido").val("0,00");
}

function alterarVisibilidade(url, perform, enderecoId, visivel){
	$.ajax(
	{
		type: 'post',
		data: 'perform='+perform+'&endereco.enderecoId='+enderecoId+'&endereco.visivel='+visivel,
		url: url,
		beforeSend:function(){},
		complete: function(xml) {}
	});
}

function gerarNovaImagem(url){
	var numero = Math.random()*9999;
	var caminho = url+"/jcaptcha.do#"+numero;
	$("#imgCaptcha").attr({src: caminho});
}

function submitenter(formulario, evento){
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (evento) keycode = evento.which;
	else return true;
	
	if (keycode == 13){
	   $("#"+formulario).submit();
	   return false;
	}else
	   return true;
}	

function verificarCPF(url, perform, cpf, nome, email, confEmail, confSenha, senha){
	var nav = verificarNavegador();
	var nomeAux = "";
	if(nav != 2 ){
		nomeAux  = escape(nome);
	}else{
		nomeAux  = nome;
	}
	
	var parametro = 'perform='+perform+'&cpf='+cpf+'&nomeUsuario='+nomeAux+'&usuario.email='+email+'&usuario.emailConfirm='+confEmail+'&usuario.confSenha='+confSenha+'&usuario.senha='+senha;
	jQuery.ajax({
		type: 'post',
		data: parametro,
		url: url,
		complete: function(xml) {
			jQuery('#usuario').html(xml.responseText);
			
			//$("#erros").html("");
		}
	});
}

/**
 * Retorna: [1] se for IE; [2] se for Firefox; [3] se for Chrome;
 *  [4] se for Safari;  [5] se for Opera;
 *  
 */
function verificarNavegador(){
    var browser = navigator.appName;
    
    if ('Microsoft Internet Explorer' == browser) {
        return 1;
    }
    else 
        if ('Netscape' == browser) {
            var agent = navigator.userAgent;
            var firefox = /Firefox/;
            var f = agent.search(firefox);
            if (f != -1) {
                return 2;
            }
            var chrome = /Chrome/;
            var c = agent.search(chrome);
            if (c != -1) {
                return 3;
            }
			var safari = /Safari/;
            var s = agent.search(safari);
            if (s != -1) {
                return 4;
            }
        }
        else 
            if ('Opera' == browser) {
                return 5;
            }
}

function qual(){

	
}

function exibirEsconderFiltros(id){
	if($("."+id).is(":visible")){
		$("."+id).hide();
		$("#funcao"+id).html('Mais...');
	}else{
		$("."+id).show();
		$("#funcao"+id).html('Ocultar...');
	}	
}

function navegarPasso(perform, passo){
	$("#perform").val(perform);
	if(validaPreCadastroPasso(passo)){
		$("#form").submit();
	}  
}

function semInscricaoEstadual(){
	$("#inscricao").val("");
	if ($("#inscricao").attr("disabled") == true){
		$("#inscricao").removeAttr("disabled");
		$("#inscricao").removeClass('disabled');		
		
	}else{
		$("#inscricao").attr("disabled", true);
		$("#inscricao").addClass('disabled');		
	}	
}

function validaPreCadastroNaoAssociado(){
	var validacao = new Boolean(true);
	var erros = "<div class=\"caution\"><h2>";
	if($.trim($("#cnpj").val()).length > 0 && $.trim($("#razao").val()).length > 0 && $.trim($("#responsavel").val()).length > 0){
		validacao = true;
	}else{
		validacao = false;
		erros+="Os campos marcados com * são obrigatórios. <br />";
	}
	if(!$("#associacaoId").val() > 0){
		validacao = false;
		erros+="Uma associação deve ser selecionada.";
	}
	if($("#ddd").val().length < 2){
		validacao = false;
		erros+="DDD do telefone inválido.<br>";
	}
	if($("#telNumero").val().length < 8){
		validacao = false;
		erros+="Número do telefone inválido.<br>";
	}	
	if(!validarEmail($("#emailLoja").val())){
			validacao = false;
			erros+="E-mail inválido.<br>";
	}
	erros+="</h2></div>"
	if(validacao == true){
		$("#erros").html("");
		return true;
	}else{
		$("#erros").html(erros);
		return false;
	}
}

function validaPreCadastroPasso(passo){
	$(".caution").css("display", "none");

	var validacao = new Boolean(true);
	var erros = "<h2>";
	switch(passo){
		case 1:
			if($("#associacaoId").val() > 0 && $.trim($("#cnpj").val()).length > 0 && $.trim($("#razao").val()).length > 0 && $.trim($("#nome").val()).length > 0 && ($("#inscricao").val().length > 0 || $("#checkInscricao").attr('checked'))){
				validacao = true;
			}else{
				validacao = false;
				erros+="Os campos marcados com * são obrigatórios<br>";
			}	
			break;
		case 2:
			if(!$("#estado").val() > 0 || !$("#cidade").val() > 0 || !$.trim($("#logradouro").val()).length > 0 || !$.trim($("#responsavel").val()).length > 0){
				validacao = false;
				erros+="Os campos marcados com * são obrigatórios.<br>";
			}
			if($("#cep").val().length < 9){
				validacao = false;
				erros+="O CEP está inválido.<br>";
			}			
			if(!validarEmail($.trim($("#emailLoja").val()))){
					validacao = false;
					erros+="E-mail inválido.<br>";
			}
			if($("#telNumero").val().length < 4){
				validacao = false;
				erros+="Número do telefone inválido.<br>";
			}	
			if($.trim($("#loja").val()).length > 0){
				var expReg = /^https?:\/\//i;
				var r = $("#loja").val().search(expReg);
				if(r==-1 || r>0){
					erros+='O link da loja deve começar com http:// ou https://'
					validacao = false;
				}
			}
			break;
		case 3:
			if(!validarCPF($("#cpf").val())){
				validacao = false;
				erros+="CPF inválido.<br>";
			}	
			if(!$("#user").length > 0 || !$("#email").length > 0){
				erros+="É necessário verificar o CPF.<br>";
			}else{
				if($("#usuarioId").val() == true){
					validacao = true;
				}else{			
					if($("#senha").length || $("#confSenha").length){
						if(!$.trim($("#senha").val()).length > 0 || !$.trim($("#confSenha").val()).length > 0){
							validacao = false;
							erros+="Os campos marcados com * são obrigatórios.<br>";
						}else{
							if($.trim($("#senha").val()).length < 6){
								validacao = false;
								erros+="A senha deve conter no mínimo 6 caracteres.<br>";
							}else if($.trim($("#senha").val()) != $.trim($("#confSenha").val())){
								validacao = false;
								erros+="As senhas são diferentes.<br>";
							}
						}
					}
					
					if($("#user").length){
						if(!$.trim($("#user").val()).length > 0){
							validacao = false;
							erros+="O campo Nome do usuário é obrigatório.<br>";
						}
					}
					
					if(!validarEmail($.trim($("#email").val()))){
							validacao = false;
							erros+="E-mail inválido.<br>";
					}
					
				}
			}
			break;
		case 4:
			if(!$("#aceitarTermos").attr('checked')){
				validacao = false;
				erros+="É necessário que o contrato seja aceito";
			}
			break;
		default:
			validacao = true;
			break;
	}
	erros+="</h2>"
	if(validacao == true){
		return true;
	}else{
		$(".caution").html(erros);
		$(".caution").css("display", "block");
		return false;
	}
}

function validarEmail(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false
	}

	if (str.indexOf(at,(lat+1))!=-1){
	    return false
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false
	}

	if (str.indexOf(dot,(lat+2))==-1){
	    return false
	}
	
	if (str.indexOf(" ")!=-1){
	    return false
	}

	return true					
}

function addHTTP(element){
	var a = element.value;
	if("www" == a){
		element.value='http://www';
	}
}

function onblurHTTP(element){
	var a = element.value;
	if(a.length == 0)
		return;

	var reg = /http|https|ftp/;
	var tem = a.search(reg);
	if(tem == -1){
		var p = /:\/\//;
		var pontos = a.search(p);
		if(pontos == -1){
			element.value='http://'+a;
		}else{
			if(pontos == 0){
				element.value='http'+a;
			}				
		}
	}
}

function onfocusHTTP(){
	var a = $(".linkM").val();
	if(a.length == 0)
		return;
	else{
		var reg = "ERRADO: ";
		var tem = a.search(reg);
		if(tem == -1){
		return;
		}else{
			a = a.replace("ERRADO: ", "");
			$('.linkM').val(a);
		}
	}
}


function validarCPF(cpf){
	var valido = true;
	var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
   	if(!filtro.test(cpf)){
	 	valido = false;
   	}
   
  	cpf = remover(cpf, ".");
   	cpf = remover(cpf, "-");
    
   	if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" ||
	  	cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||
	  	cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" ||
	  	cpf == "88888888888" || cpf == "99999999999"){
	  	valido = false;
   	}

   	soma = 0;
   	for(i = 0; i < 9; i++)
   	 	soma += parseInt(cpf.charAt(i)) * (10 - i);
   	resto = 11 - (soma % 11);
   	if(resto == 10 || resto == 11)
	 	resto = 0;
   	if(resto != parseInt(cpf.charAt(9))){
	 	valido = false;
   	}
   	soma = 0;
   	for(i = 0; i < 10; i ++)
	 	soma += parseInt(cpf.charAt(i)) * (11 - i);
   	resto = 11 - (soma % 11);
   	if(resto == 10 || resto == 11)
	 	resto = 0;
   	if(resto != parseInt(cpf.charAt(10))){
	 	valido = false;
   	}
   	return valido;
}

function remover(string1, char1){
while (string1.indexOf(char1) != -1) {
 		string1 = string1.replace(char1, "");
	}
	return string1;
}

function replaceAll(string1, char1, replaceAux) {
	while (string1.indexOf(char1) != -1) {
 		string1 = string1.replace(char1, replaceAux);
	}
	return string1;
}

function acaoForm(perform){
	var acao = perform;
	$("#perform").val(acao);
	$("#form").submit();
}

function acaoOrdenar(ordem){
	$("#ordem").val(ordem);
	selecionatudo();
	var selecionados = document.getElementById('box2View');
	if(selecionados.length > 1){
		$("#form").submit();
	}
}

function removerFiltro(filtros, remover, ordenacao, url){
	remover = replaceAll(remover, "+", " ");
	filtros = removerRegiaoInferior(filtros, remover);
	filtros = replaceAll(filtros, "+", " ");
	var expressao = new RegExp(remover, "g");
	filtros = filtros.replace(expressao,"");
	if(filtros.length > 0){
		window.location = url+'?ordenacao='+ordenacao+'&pagina=1&filtros='+filtros;
	}else{
		window.location = url+'?ordenacao='+ordenacao+'&pagina=1';
	}
}

function removerRegiaoInferior(filtros, remover){
	if(remover.length>6){
		var ehRegiao = remover.substring(0, 6) == 'Regiao';
		if(ehRegiao){
			var flag = remover.substring(6, 7);

			if(flag=='E' || flag=='P'){
				flag = 'C';
				var regex = eval("/Regiao" + flag + "::" + flag + "\\d*;?/");
				filtros = filtros.replace(regex, '');

				var regex = eval("/RegiaoT::E\\d*;?/");
				filtros = filtros.replace(regex, '');

				if(flag=='P'){
					flag = 'E';
					regex = eval("/Regiao" + flag + "::" + flag + "\\d*;?/");
					filtros = filtros.replace(regex, '');
				}
			}
		}
	}
	return filtros;
}

function ativarFiltro(url){
	window.location = url;
}

function filtrarPreco(url, valorMinimo, valorMaximo, filtros){
	if(valorMinimo != '0,00'){
		if(filtros.length > 0){
			filtros = filtros + ';'+'Preco::vMin_'+valorMinimo;	
		}else{
			filtros = 'Preco::vMin_'+valorMinimo;
		}
	}
	if(valorMaximo != '0,00'){
		if(valorMinimo != '0,00'){
			filtros = filtros + '-'+'vMax_'+valorMaximo;	
		}else{
			if(filtros.length > 0){
				filtros = filtros + ';Preco::vMax_'+valorMaximo;
			}else{
				filtros = 'Preco::vMax_'+valorMaximo;
			}
		}
	}
	window.location = url+'&filtros='+filtros;
}

function executarRelatorio(url, pagina, perform){	
	$.ajax(
	{
		type: 'post',
		data: 'perform='+perform+'&pagina='+pagina,
		url: url,
		beforeSend:function(){},
		complete: function(xml){
			if(xml.responseText != ''){
				$('#relatorio').html(xml.responseText);
			}
		}
	})
}
 
function executarRelatorioImportacao(url, pagina, perform, busca, status, importado, cadastrado){
	$.ajax(
	{
		type: 'post',
		data: 'perform='+perform+'&pagina='+pagina+'&busca='+busca+'&status='+status+'&importacao='+importado+'&cadastrado='+cadastrado,
		url: url,
		beforeSend:function(){},
		complete: function(xml){
			if(xml.responseText != ''){
				$('#relatorio').html(xml.responseText);
			}
		}
	})
}

function executarRelatorioImportacaoAdministrador(url, pagina, perform, busca, status, importado, associacaoId, cadastrado){
	$.ajax(
	{
		
		type: 'post',
		data: 'perform='+perform+'&pagina='+pagina+'&busca='+busca+'&status='+status+'&importacao='+importado+'&associacaoId='+associacaoId+'&cadastrado='+cadastrado,
		url: url,
		beforeSend:function(){},
		complete: function(xml){
			if(xml.responseText != ''){
				$('#relatorio').html(xml.responseText);
			}
		}
	})
}

function carregarCombo(url, perform, categoriaId, nodo, id, categoriaAtual)
{	
	var contCombo = $("span", "#comboCategoria").size();
	$.ajax(
	{
		type: 'post',
		data: 'perform='+perform+'&pai='+categoriaId+'&nodo='+nodo+'&categoriaId='+categoriaAtual,
		url: url,
		beforeSend:function(){},
		complete: function(xml){
			if(nodo < contCombo){
				var i;
				for(i=nodo; i<contCombo; i++){						
					$('#comboCategoria span:last-child').remove();
				}				
			}		
			if(contCombo > 1 && categoriaId == 0){	
				$('#comboCategoria span').remove();
			}
			$("#comboCategoria").append(xml.responseText);					
			if(id == categoriaId && id > 0 && categoriaId > 0){	
				$('#comboCategoria span:last-child').remove();
			}
			var paiId = $("select", '#comboCategoria span:last').val();
			$("#paiId").val(paiId);	
			$("#combo"+nodo).val(categoriaId);		
		}		
	})
	var categoriasId = "";
	for(var i = 1;i<=nodo;i++){
		if(categoriasId.length > 0){				
			categoriasId+=","+$('#combo'+i).val();
		}else{
			categoriasId=$('#combo'+i).val();
		}
	}
	$('#categoriasId').val(categoriasId);
}

function cancelarOrdenacao(paiId){
	$("#paiId").val(paiId);
	$('#comboCategoria span').remove();
}

function alterarBotao(tipo){
	if(tipo == 0){
		$('#alterar').show();
		$('#cancelar').hide();
	}else{
		$('#alterar').hide();
		$('#cancelar').show();
	}
}

function tipoRelatorioClique(tipo, url, perform, pagina, dataInicio, dataFim){
	if(tipo == 0){
		$('#divPeriodo').show();
	}else{		
		if(tipo == 5){
			$.ajax({
				type: 'post',
				data: 'perform='+perform + '&tipoRelatorio=' + tipo + '&dataInicio=' + dataInicio + '&dataFim=' + dataFim + '&pagina=' + pagina,
				url: url,
				beforeSend:function(){},
				complete: function(xml) {
					$('#divResultado').html(xml.responseText);
					$('#tipo').val(0);			
				}
			});
		}else{
			$('#divPeriodo').hide();
			$.ajax({
				type: 'post',
				data: 'perform='+perform + '&tipoRelatorio=' + tipo + '&dataInicio=' + dataInicio + '&dataFim=' + dataFim + '&pagina=' + pagina,
				url: url,
				beforeSend:function(){},
				complete: function(xml) {
					$('#divResultado').html(xml.responseText);
					$('#tipo').val(tipo);		
				}
			});
		}
		
	}
}

function tipoRelatorioBaixa(url, perform){
	$.ajax({
		type: 'post',
		data: perform,
		url: url,
		beforeSend:function(){},
		complete: function(xml) {
			$('#divResultado').html(xml.responseText);						
		}
	});
}

function voltarBonus(url, perform, id){
	window.location = url + '?perform='+perform+'&anunciante='+id;
}

function trocarPagina(url, pagina){
	window.location = url + '&pagina=' + pagina;
}

function trocarPaginaLink(url, pagina, filtro){
	window.location = url + '&pagina=' + pagina + '&filtros=' + filtro;
}

function getNavPage(url, value){
	var myUrl = url+value; 
	window.location =myUrl; 
}

function alterPageFindCidade(url, cid, cat, pag){
	var myUrl = url+"anunciante&cidadeId="+cid+"&categoriaId="+cat+"&pagina="+pag;
	window.location =myUrl; 
}


function buscaCidadeComoParametro(url, id){
	window.location = url+'?cidadeId='+id;
}

function buscaCidade(url, id){
	window.location = url+'&cidadeId='+id;
}

function buscaCidadeCategoria(url, id, categoriaId){
	window.location = url+'&cidadeId='+id+'&categoriaId='+categoriaId;
}

function buscaCidadeAnunciante(url, id){
	window.location = url+'&cidadeId='+id;
}

function ordenarProdutos(url, ordenacao, pagina, filtros){
	if(filtros == ""){
		window.location = url+'?ordenacao='+ordenacao+'&pagina='+pagina;
	}else{
		window.location = url+'?ordenacao='+ordenacao+'&pagina='+pagina+'&filtros='+filtros;
	}	
}

function ordenarProdutosAnunciante(url, ordenacao, pagina, categoria){
	if(categoria == ""){
		window.location = url+'?ordenacao='+ordenacao+'&pagina='+pagina;
	}else{
		window.location = url+'?categoria='+categoria+'&ordenacao='+ordenacao+'&pagina='+pagina;
	}
}

function ordenarProdutosAnuncianteSemLink(url, ordenacao){
	window.location = url+'&ordenacao='+ordenacao;
}

function ocultarFiltro(div, id){
	div = div+id;
    $('#' + div).hide();
	$('#filtro-oculta'+id).hide();
	$('#filtro-expande'+id).show();	
	}

function exibirFiltro(div, id){
	div = div+id;
    $('#' + div).show();
	$('#filtro-expande'+id).hide();
	$('#filtro-oculta'+id).show();
}

/*Funções Especiais*/
function mostraEscondeElemento(elementoAcao, elemento) {  
	elemento = document.frmAplicacao.elements[elemento]; 
		if (elementoAcao.value == 'outro') {    //valor da opção
			elemento.style.display = 'inline';  
			elemento.style.visibility="visible"
		} else {    
			elemento.value = ''; 
			// input do texto esta vazio    
			elemento.style.display = 'none'; 
			// esconde o valor do texto
		}  
		return;
}
function mostraEscondeDiv(elemento) {   
	elemento = document.getElementById(elemento);   
	if (elemento.style.display == 'block' || elemento.style.display == '')      
		elemento.style.display = 'none';   
	else      
		elemento.style.display = 'block';   
	return;
}

function mostraEscondeDivElemento(elementoAcao, elemento) {   
	elemento = document.getElementById(elemento); 
	if (elementoAcao.value == 'outro') {    //valor da opção	
		elemento.style.display = 'block';   
	}else{
		elemento.style.display = 'none';
	}
	return;
}

function buscaDataRelatorioBaixa(elementoAcao, elemento) {   
	elemento = document.getElementById(elemento); 
	if (elementoAcao.value == 'T') {    //valor da opção	
		elemento.style.display = 'none';
		
	}else{
		elemento.style.display = 'block';
	}
	return;
}

/*Funções Especiais*/

function obterTelefones(url, perform, entidadeId, usuario, gerenciar){
	$.ajax({
		type: 'post',
		data: 'perform='+perform+ '&entidadeId=' + entidadeId + '&usuario=' + usuario +'&gerenciar=' + gerenciar,
		url: url,
		beforeSend:function(){},
		complete: function(xml) {
			$('#telefones').html(xml.responseText);			
		}
	});
}

function adicionarTelefone(url, perform, ddd, telefone, fax, descricao, usuario, entidadeId){
	var params = 'perform='+perform + '&ddd=' + ddd + '&telNumero=' + telefone +'&fax=' + fax + '&gerenciar=true&usuario='+usuario+'&descFone='+descricao+'&entidadeId='+entidadeId;
	$.ajax({
		type: 'post',
		data: params,
		url: url,
		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
		beforeSend:function(){},
		complete: function(xml) {
			$('#telefones').html(xml.responseText);
		}		
	});
}

function excluirTelefone(url, perform, id, usuario, entidadeId){
	$.ajax({
		type: 'post',
		data: 'perform='+perform + '&telefoneId=' + id +'&gerenciar=true&usuario='+usuario+'&entidadeId='+entidadeId,
		url: url,		
		beforeSend:function(){},
		complete: function(xml) {
			$('#telefones').html(xml.responseText);
		}		
	});
}

function excluirImagemCategoria(url, perform, categoriaId, imagemId){
	url+= '?perform='+perform + '&categoriaId='+ categoriaId +'&imagem=' + imagemId;		
	window.location = url;
}

function procurarAssociacoes(url, perform, cnpj, associacaoId){	
	$.ajax({
		type: 'post',
		data: 'perform='+perform + '&entidade.cpfCnpj=' + cnpj + '&associacaoId='+associacaoId,
		url: url,		
		beforeSend:function(){},
		complete: function(xml) {
			$('#associacoes').html(xml.responseText);			
		}
	});	
}

function mostrarDetalhes(url, perform, id, tipo){
    $(document).ready(function() {
    	$('#resultado-busca-filial-matriz').hide();
    });	
	$.ajax({
		type: 'post',
		data: 'perform='+perform + '&anuncianteId=' + id + '&tipo=' + tipo,
		url: url,	
		beforeSend:function(){},	
		complete: function(xml) {
			$('#detalhes-solicitacao').html(xml.responseText);			
		}
	});
	$(document).ready(function() {
    	$('#detalhes-solicitacao').show();
    });
}

function mostrarBusca(){
	$(document).ready(function() {
    	$('#resultado-busca-filial-matriz').show();
    	$('#detalhes-solicitacao').hide();
    });
}

function mostrarEnvio(url, perform, entidadeId){
	$(document).ready(function() {
    	$('#informacao').hide();
    });
    $.ajax({
    	type: 'post',
    	data: 'perform='+perform+'anuncianteId='+entidadeId,
		url: url,
		beforeSend:function(){},
		complete: function(xml) {
			$('#envio').html(xml.responseText);			
		}
	});
	$(document).ready(function() {
    	$('#envio').show();
    });
}

function mostrarInformacao(){
	$(document).ready(function() {
    	$('#informacao').show();
    	$('#envio').hide();
    });
}

//se as pesquisas forem em ajax
function mostrarPesquisa(url, peform, id, status, nome){
	$.ajax({
		type: 'post',
		data: 'perform='+perform + '&associacaoId=' + id + '&status=' + status + '&nome=' + nome,
		url: url,		
		beforeSend:function(){},
		complete: function(xml) {
			$('#resultado-busca-filial-matriz').html(xml.responseText);			
		}
	});	
}

function mostrarDetalhesImportacao(div){
	$(document).ready(function() {
		$('#total').hide();
    	$('#'+div).show();    	
    });
}

function ocultarDetalhesImportacao(div){
	$(document).ready(function() {
		$('#'+div).hide();
		$('#total').show();    	
    });
}

function confirmarDesassociacao(urlSim, urlNao) {
	var resposta = confirm("Deseja realmente desassociar este usuario?")
	if(resposta){
		window.location = urlSim;
	}else{
		window.location = urlNao;
	}
}

function confirmarExclusao(urlSim, urlNao, texto) {
	var resposta = confirm("Deseja realmente excluir "+texto+" ?")
	if(resposta){
		window.location = urlSim;
	}else{
		if(urlNao.length > 0)
			window.location = urlNao;
	}
}

function procurarUsuario(url, perform, mail){
	$.ajax({
		type: 'post',
		data: 'perform='+perform + '&email=' + mail,
		url: url,		
		beforeSend:function(){},
		complete: function(xml) {
			$('#usuario').html(xml.responseText);			
		}
	});
}

function obterImagens(url, perform, div){
	$.ajax({
		type: 'post',
		data: 'perform='+perform,
		url: url,		
		beforeSend:function(){},
		complete: function(xml) {
			$('#'+div).html(xml.responseText);			
		}
	});
}

function funcaoImagem(url, perform, imagemId, div){
	$.ajax({
		type: 'post',
		data: 'perform='+perform + '&imagemId=' + imagemId,
		url: url,
		beforeSend:function(){},
		complete: function(xml) {
			$('#'+div).html(xml.responseText);			
		}
	});	
}

function funcaoConfirmarExclusao(url, imagemId, div){
	var opcao = confirm("Deseja realmente excluir a imagem ?");
	if(opcao){
		funcaoImagem(url, 'excluir', imagemId, div)
	}
}

//---------- USO GERAL --------------------------------------------------

function paginar(url, parametros, divresult, divOp) {
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
			$('#' + divresult).html("<img src=\"../images/admin/loader.gif\" /><br /> <strong>Carregando...</strong>");
			$('#paginacao').hide();
		}, complete:function(xml){

			var pagina = parametros.slice(parametros.lastIndexOf('=')+1);
			var options = $('option', '#'+divOp);
			
			for(var op=0; op<options.length; op++){
				var valor = $(options[op]).val();
				if(pagina==valor){
					$(options[op]).attr('selected', true);
				}
			}

			var comp = divOp.substring(6, divOp.length);
			
			var qtpaginas = $('#qtpaginas'+comp).val();
			var primeira = (0==pagina);
			var ultima = (qtpaginas==(Number(pagina)+1));

			if(primeira){
				$('#primeirapag'+comp).hide();
				$('#anteriorpag'+comp).hide();
				$('#label-primeira'+comp).show();
				$('#label-anterior'+comp).show();
			}else{
				$('#primeirapag'+comp).show();
				$('#anteriorpag'+comp).show();
				$('#label-primeira'+comp).hide();
				$('#label-anterior'+comp).hide();
			}
			
			if(ultima){
				$('#proximapag'+comp).hide();
				$('#ultimapag'+comp).hide();
				$('#label-proxima'+comp).show();
				$('#label-ultima'+comp).show();
			}else{
				$('#proximapag'+comp).show();
				$('#ultimapag'+comp).show();
				$('#label-proxima'+comp).hide();
				$('#label-ultima'+comp).hide();
			}

			$('#' + divresult).html(xml.responseText);
			$('#paginacao'+comp).show();

		}
	});
}

function tamCampo(obj){
	var componente = $('#' + obj.id);
	var tamConteudo = $(componente).val().length;
	var tamMaximo = $(componente).attr('maxlength');

	if(tamConteudo>tamMaximo){
		var limite = $(componente).val();
		limite = limite.substring(0, tamMaximo);

		$('#' + obj.id).val(limite);
		$("html,body").animate({ scrollTop: $('#page-title').offset().top },"slow");

		var display = $('.caution').css('display');
		if(display=='none'){
			$('.caution').show();
		}
		$('.caution').html("<h2>Você inseriu mais texto que o campo suporta. O texto excedente foi retirado do final do texto.</h2>");
		setTimeout(function(){
			$('.caution').fadeOut("slow", function () {
				$('.caution').hide();
			});
		}, 3500);
	}
}

//---------- PRODUTO --------------------------------------------------

function comboCategoria(url, parametros, divresult, nivel){
    var catSel = parametros.slice(parametros.lastIndexOf('=') + 1);
    
    $("#categorias-box").css("display", "none");
    
    if (Number(catSel) > 0) {
        var contCombo = ($("span", "#categorias").size()) - 1; //Menos um pois o primeiro combo é 0
        $.ajax({
            type: 'post',
            data: parametros,
            url: url,
            beforeSend: function(){
                //$('#' + divresult).append("<strong>Carregando...</strong>");
                $('#' + divresult + ' strong:last-child').remove();
                
            },
            complete: function(xml, text){

                if (nivel < contCombo) {
                    var i;
                    for (i = nivel; i < contCombo; i++) {
                        $('#' + divresult + ' span:last-child').remove();
                    }
                }
                
                var ultimoCombo = $("select", '#' + divresult + ' span:last-child').val();
                $("#categoriaId").val(ultimoCombo);
                
                var resposta = xml.responseText.toString();
                $('#' + divresult).append(resposta);
                
                //No IE não funcionava a comparação direta da resposta com vazio ('')
                var vazio = '';
                resposta = jQuery.trim(resposta);
                vazio = jQuery.trim(vazio);
                if (resposta == vazio) {
                    var array = parametros.split('&');
                    var complemento;
                    for (var j = 0; j < array.length; j++) {
                        var param = array[j].split('=');
                        if ('categoriaId' == param[0].toString()) {
                            complemento = array[j];
                        }
                    }
                    var params = 'perform=cpc&' + complemento;
                    cpcMinimo(url, params);
                    
                    var prdId = $('#produtoId').val();
                    
                    //Codigo antigo - o ocorria erro pois como contava os inputs, quando era um topico do tipo radio era criado 3 inputs um para cada opcao e isso ocasionava erro pois 
                    //o array de caracteristicas mandava os inputs extrar sem valor de topico id.
                    //var indice = $(':input', '#caracprd').size() / 2;
                    
                    //codigo novo
                    var camposSemFiltro = $('#caracprd .filtro_N');
                    var camposComFiltro = $('#caracprd .filtro_S');
                    var indice = camposSemFiltro.length + camposComFiltro.length;
                    
                    var catPrd = $('#catprd').val();
                    var catSel = complemento.slice(complemento.lastIndexOf('=') + 1);
                    
                    params = 'perform=caracteristicas&qtop=' + indice + '&' + complemento + '&produtoId=' + prdId;
                    caracteristicas(url, params, 'caraccat', $('#linkOferta').val());
                    
                }
            }
        });
    }
    $("#categorias-box").css("display", "block");
}

function editarComboCategoria(url, parametros, divresult, linkOferta) {
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
			$('#' + divresult).append("<strong>Carregando...</strong>");

		}, complete:function(xml, text){
			$('#' + divresult+' strong:last-child').remove();
			$('#' + divresult+' span:last-child').remove();

			var resposta = xml.responseText.toString();
			$('#' + divresult).append(resposta);

			if(resposta.lastIndexOf('SELECTED') != -1){
				var span = resposta.slice(0, resposta.lastIndexOf('SELECTED')); //Pega a última ocorrencia de SELECTED

				if(span != '') {
					//span = span.slice(span.lastIndexOf('=')+1); //Pega a última ocorrencia de =
					span = span.substring(span.lastIndexOf('=')+2, span.lastIndexOf('\''));

					if(span != '') {
						var catId = span.replace(/\'/g,''); //replace('\'', '');
						$('#categoriaId').val(catId);

						var expReg = /prdId=\d+/;
						var prdId = String(parametros.match(expReg)).split('=')[1];

						//Esse código não vai funcionar caso seja necessário alterar o número de inputs ou de radio buttons
						//Pegar as caracteristicas da categoria
						/* var radios = $(':radio', '#caracprd').size()/3;
						var inputs = $(':input', '#caracprd').size()/2;

						var indice;
						if(radios>0)
							indice = inputs - radios;
						else
							indice = inputs;*/
							
						var camposSemFiltro = $('.filtro_N');
	                    var camposComFiltro = $('.filtro_S');
	                    var indice = camposSemFiltro.length + camposComFiltro.length;
	                    
						params = 'perform=caracteristicas&categoriaId=' + catId + '&produtoId=' + prdId + '&qtop=' + indice;
						caracteristicas(url, params, 'caraccat', linkOferta);//
					}
				}
			}else{
				$('.caracteristicas').hide();
			}
		}
	});
}

function cpcMinimo(url, parametros) {
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
			$('#cpc').html("<strong>Carregando...</strong>");
		}, complete:function(xml){
			var resp = xml.responseText;
			resp = jQuery.trim(resp);
			resp = resp.split(' - ');

			var anuoferta = $("#anuoferta", "#ofertas");
			for(var i=0; i<anuoferta.length; i++) {
				var nrCpc = $('#cpcs', anuoferta[i]);
				var inputs = $("input", nrCpc);
				var posglobal;
				var poslocal;
				var posminimo;
				var posportal;
				for(var p=0; p<inputs.length; p++){
					var nomeInput = $(inputs[p]).attr('name');
					nomeInput = nomeInput.slice(nomeInput.lastIndexOf('.')+1);

					var valor = $(inputs[p]).val();
					if(nomeInput=='global'){ posglobal = p;}
					if(nomeInput=='local'){ poslocal = p;}
					if(nomeInput=='minimo'){ posminimo = p;}
					if(nomeInput=='portal'){ posportal = p;}
				}

				$(inputs[posglobal]).val(resp[0]);
				$(inputs[poslocal]).val(resp[1]);
				$(inputs[posminimo]).val(resp[2]);
				$(inputs[posportal]).val(resp[3]);
			}
			
			$('#cpcminimo').val(resp[2]);

			var cpcproduto = $('#cpcproduto').val();
			if(cpcproduto=='0,00' || Number(cpcproduto.replace(',', '.'))<Number(resp[2])){
				$('#cpcproduto').val(resp[2]);				
				$('#cpcproduto').css('background', '#fffad4');
			}
			
			//reconfigura as mascaras de cpc's ao trocar de categoria
			configMask();
		}
	});
}

function caracteristicas(url, parametros, divresult, linkOferta) {
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
			$('#'+divresult).html("<strong>Carregando...</strong>");
		}, complete:function(xml){
			var resp = xml.responseText;

			//Se a resposta tiver vazia e a div de topicos do produto tambem, tirar o titulo ''
			var divCaracprd = $(':input', '#caracprd').length;

			if($('.caracteristicas').css('display')=='none' && resp.toString()!=''){
				$('.caracteristicas').show();
			}
			if(divCaracprd==0 && resp.toString()==''){
				$('.caracteristicas').hide();
			}else
				if(divCaracprd==0 && resp.toString()!=''){
					$('#produto-carac').hide();
				}			
			$('#'+divresult).html(resp);
			$('select.[id^=multi]').multiSelect({ oneOrMoreSelected: '*' });
		}
	});
}

function mesmoValorMatriz(contexto, checkbox, prdId, anuId) {
	var divFilial = checkbox.parentNode.parentNode.parentNode.parentNode;
	var filial = $("input", divFilial);

	if($(checkbox).attr('checked')){
		var mtzDisponivel;
		var mtzValorde;
		var mtzValorpor;
		var mtzValidade;
		var mtzParcelamento;
		var mtzCpcproduto;
	
		var anuoferta = $("#anuoferta", "#ofertas");
	
		var matriz = $("input", anuoferta[0]);
		for(var j=0; j<matriz.length; j++){
			var nomeInput = $(matriz[j]).attr('name');
			nomeInput = nomeInput.slice(nomeInput.lastIndexOf('.')+1);
	
			var tipo = $(matriz[j]).attr('type');
			var valor = (tipo!='combobox' ? $(matriz[j]).val() : $(matriz[j]).attr('checked'));
	
			if(nomeInput=='disponivel'){ mtzDisponivel = j;}
			if(nomeInput=='valorde'){ mtzValorde = valor;}
			if(nomeInput=='valorpor'){ mtzValorpor = valor;}
			if(nomeInput=='validade'){ mtzValidade = valor;}
			if(nomeInput=='parcelamento'){ mtzParcelamento = valor;}
			if(nomeInput=='cpc'){ mtzCpcproduto = valor;}
		}

		for(var i=0; i<filial.length; i++){
			var nomeInput = $(filial[i]).attr('name');
			nomeInput = nomeInput.slice(nomeInput.lastIndexOf('.')+1);
	
			if(nomeInput=='disponivel'){ $(filial[i]).attr('checked', $(matriz[mtzDisponivel]).attr('checked'));}
			if(nomeInput=='valorde'){ $(filial[i]).val(mtzValorde); $(filial[i]).attr('readonly', true);}
			if(nomeInput=='valorpor'){ $(filial[i]).val(mtzValorpor); $(filial[i]).attr('readonly', true);}
			if(nomeInput=='validade'){ $(filial[i]).val(mtzValidade); $(filial[i]).attr('readonly', true);}
			if(nomeInput=='parcelamento'){ $(filial[i]).val(mtzParcelamento); $(filial[i]).attr('readonly', true);}
			if(nomeInput=='cpc'){ $(filial[i]).val(mtzCpcproduto); $(filial[i]).attr('readonly', true);}
		}

	}else{
		var url = contexto + '/produtocategoria/produtocategoria.do';
		var params = 'perform=confDesigualMatriz&oferta.produtoId=' + prdId + '&oferta.anuId=' + anuId;

		$.ajax({
			type: 'post',
			data: params,
			url: url,
			beforeSend:function(){
				//alert('Esperando...');
			}, complete:function(xml){
				var resp = xml.responseText;
				resp = $.trim(resp);
				resp = resp.split(' - ');

				if(resp[0]=='null') resp[0] = ''; 
				if(resp[1]=='null') resp[1] = '';
				if(resp[2]=='null') resp[2] = '';
				if(resp[3]=='null') resp[3] = '';
				if(resp[4]=='null') resp[4] = '';
				if(resp[5]=='null') resp[5] = '';

				for(var i=0; i<filial.length; i++){
					var nomeInput = $(filial[i]).attr('name');
					nomeInput = nomeInput.slice(nomeInput.lastIndexOf('.')+1);

					if(nomeInput=='disponivel'){ $(filial[i]).attr('checked', resp[0]);}
					if(nomeInput=='valorde'){ $(filial[i]).val(resp[1]); $(filial[i]).attr('readonly', false);}
					if(nomeInput=='valorpor'){ $(filial[i]).val(resp[2]); $(filial[i]).attr('readonly', false);}
					if(nomeInput=='validade'){ $(filial[i]).val(resp[3]); $(filial[i]).attr('readonly', true);}
					if(nomeInput=='parcelamento'){ $(filial[i]).val(resp[4]); $(filial[i]).attr('readonly', false);}
					if(nomeInput=='cpc'){ $(filial[i]).val(resp[5]); $(filial[i]).attr('readonly', false);}
				}

			}
		});
	}

}

function definirImagemPrincipal(url, parametros) {
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
			//$('#' + divresult).html("<strong>Carregando...</strong>");
		}, complete:function(xml){
			var feedback = xml.responseText.toString();

			if(feedback.length>0){
				var display = $('.popup-caution').css('display');
				if(display=='none'){
					$('.popup-caution').show();
				}

				$('.popup-caution').html(feedback);

				setTimeout(function(){
					$('.popup-caution').fadeOut("slow", function () {
						$('.popup-caution').hide();
					});
				}, 2000);
			}

		}
	});
}

function validarValorMonetario(valor){
	if(valor!=''){
		var regexMonetaria = new RegExp(/^[-+]?\d{1,3}(\.\d{3})*,\d{2}$/);
		var valido = regexMonetaria.test(valor);
		if(!valido)
			return true
	}
	return false;
}

function validarForm() {
	var erro = '';
	var opcional = '';
	$('.caution').html(erro);

	var nome = $.trim($('#nomelovValue').val());
	erro += (nome=='' || nome.length<3 ? '<H2>Obrigatório: Insira o nome do produto, sendo que ele deve possuir ao menos 3 letras.</H2>' : '');

	var catSel = $('#catprd').val();
	var catPrd = $('#categoriaId').val();
	var combos = $('span', '#categorias');
	for(var cb=0; cb<combos.length; cb++){
		var combo = $('select', combos[cb]);
		erro += (combo.val()==0 ? '<H2>Obrigatório: O produto deve ser colocado dentro de uma categoria.</H2>' : '');
	}

	var statusA = $('#ativo', '.checkboxes').attr('checked');
	var statusI = $('#inativo', '.checkboxes').attr('checked');
	erro += (((!statusA && null!=statusA) && (!statusI && null!=statusI)) ? '<H2>Obrigatório: Escolha uma situação para o produto assumir após moderado.</H2>' : '');

	var anuoferta = $("#anuoferta", "#ofertas");
	for(var i=0; i<anuoferta.length; i++) {
		var inputs = $("input", anuoferta[i]);

		var disponivel;
		var sobconsulta;
		var valorde;
		var valorpor;
		var validade;
		var parcelamento;
		var link;
		var cpcminimo;
		var cpcproduto;
		var posdisponivel;
		var possobconsulta;
		var posvalorde;
		var posvalorpor;
		var posvalidade;
		var posparcelamento;
		var poslink;
		var poscpcminimo;
		var poscpcproduto;
		for(var j=0; j<inputs.length; j++){
			var nomeInput = $(inputs[j]).attr('name');
			nomeInput = nomeInput.slice(nomeInput.lastIndexOf('.')+1);

			var nometipo = inputs[j].nodeName;
			var tipo = $(inputs[j]).attr('type');
			var valor = (tipo!='combobox' ? $.trim($(inputs[j]).val()) : $(inputs[j]).attr('checked'));

			if(nomeInput=='disponivel'){ disponivel = valor; posdisponivel = j;}
			if(nomeInput=='sobconsulta'){ sobconsulta = valor; possobconsulta = j;}
			if(nomeInput=='valorde'){ valorde = ('0,00'==valor ? '' : valor); posvalorde = j;}
			if(nomeInput=='valorpor'){ valorpor = ('0,00'==valor ? '' : valor); posvalorpor = j;}
			if(nomeInput=='validade'){ validade = valor; posvalidade = j;}
			if(nomeInput=='parcelamento'){ parcelamento = valor; posparcelamento = j;}
			if(nomeInput=='link'){ link = valor; poslink = j;}
			if(nomeInput=='minimo'){ cpcminimo = ('0,00'==valor ? '' : valor); poscpcminimo = j;}
			if(nomeInput=='cpc'){ cpcproduto = ('0,00'==valor ? '' : valor); poscpcproduto = j;}
		}

		//Oferta
		var valorMascara = '0,00';
		var erroValor = validarValorMonetario(valorde);
		erroValor = (validarValorMonetario(valorpor) ? true : erroValor);
		var preco = (valorde=='' || valorde==valorMascara || !parseFloat(valorde)>0 ? 'preço' : '');
		var promo = (valorpor=='' || valorpor==valorMascara || !parseFloat(valorpor)>0 ? 'promoção' : '');
		var junto = (preco!='' && promo!='' ? ' e ' : '');
		var conec = (preco!='' && promo!='' ? ' devem ser informados.' : ' deve ser informado.');

		if($(inputs[possobconsulta]).attr('checked')==false && !erroValor){
			if(promo!='' && preco!='') {
				erro += '<H2>Obrigatório: informe preço e promoção para o produto ou marque a caixa "Sob consulta".</H2>';
			}
			if(promo!='' && preco=='') {
				$(inputs[posvalorpor]).val($(inputs[posvalorde]).val());
				erro += '<H2>Obrigatório: mesmo não havendo promoção para o produto, o campo "Preço promoção" precisa de um valor. Sugestão: Coloque o preço do produto.</H2>';
			}
			if(promo=='' && preco!='') {
				$(inputs[posvalorde]).val($(inputs[posvalorpor]).val());
				erro += '<H2>Obrigatório: informe um preço para o produto além do valor de promoção.</H2>';
			}
			if(promo=='' && preco=='') {
				var tudoCerto = parseFloat(valorde.replace('.', ''))>=parseFloat(valorpor.replace('.', ''));
				erro += (tudoCerto ? '' : '<H2>Obrigatório: o preço da promoção deve ser menor que o preço normal do produto.</H2>');
			}
		}else {
			erro += (erroValor ? '<H2>Obrigatório: verifique os valores informados para produto.</H2>' : '');
		}

		if(parcelamento!=''){
			if(parcelamento.length>100)
				erro += '<h2>O texto de parcelamento deve conter menos que 100 letras</h2>';
		}

		if(link!=''){
			var regexEmail = new RegExp(/^(http(s)?:\/\/)?([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/);
			var vUrl = regexEmail.test(link);
			if(!vUrl)
				erro += '<h2>O link do produto deve começar com http:// ou https://. Exemplo - http://www.minhaloja.com.br ou https://www.minhaloja.com.br</h2>';
		}

		//Validar se o valor do clique esta dentro do minimo
		erroValor = false;
		erroValor = validarValorMonetario(cpcproduto);
		//erroValor = (cpcproduto=='' || cpcminimo=='' ? true : erroValor);
		if(!erroValor){
			if(!(cpcproduto>=cpcminimo)){
				erro += '<H2>O valor do clique deve ser igual ou superior ao CPC mínimo de R$' + cpcminimo + '.</H2>';
				$(inputs[poscpcproduto]).val(cpcminimo); //Coloca o valor minimo no campo
				$(inputs[poscpcproduto]).css('background', '#fffad4');			
			}else {
				if(cpcproduto>'999,99'){
					erro += '<H2>O valor do clique deve ser menor que R$999,99.</H2>';
				}
			}
		}else {
			if(erroValor)
					erro += '<H2>Obrigatório: verifique o valor informado para o clique do produto.</H2>';
		}
	}

	/*var condicao = true;
	var nrLabel = 0;
	var div = '#caracprd';

	while(condicao) {
		var divs = $('.top-item', div);
		for(var d=0; d<divs.length; d++){
			var carac = $(':input', divs[d]); //Traz inputs e selects
			var label = $('.label', divs[d]);
			for(var c=0; c<carac.length; c++){
				var tipo = $(carac[c]).attr('type');
				if(tipo!='hidden'){
					var opMarcada = false;
					var cssClass = $(carac[c]).attr('class');
					if(cssClass=='multiSelect'){
						for(c=c; c<carac.length; c++){
							opMarcada = ($(carac[c]).attr('checked')==true ? true : opMarcada);
						}
						opcional += (opMarcada ? '' : '<H3>Opcional: Selecione um ou mais valores para a caracteristica ' + $(label[nrLabel]).html() + ' do produto.</H3>');
					}else {
						if(tipo=='select-one'){
							for(c=c; c<carac.length; c++){
								opMarcada = ($(carac[c]).val()!=0);
							}
							opcional += (opMarcada ? '' : '<H3>Opcional: Selecione um valor para a caracteristica ' + $(label[nrLabel]).html() + ' do produto.</H3>');
						}else
							if(tipo=='text'){
								opMarcada = ($(carac[c]).val()!='');
								opcional += (opMarcada ? '' : '<H3>Opcional: Insira um valor para a caracteristica ' + $(label[nrLabel]).html() + ' do produto.</H3>');
							}else
								if(tipo=='radio'){
									for(c=c; c<carac.length; c++){
										opMarcada = ($(carac[c]).val()!=0 && $.trim($(carac[c]).val())!='' && $(carac[c]).attr('checked')==true ? true : opMarcada);
									}
									opcional += (opMarcada ? '' : '<H3>Opcional: Selecione um valor para a caracteristica ' + $(label[nrLabel]).html() + ' do produto.</H3>');
								}else
									if(tipo=='checkbox'){
										for(c=c; c<carac.length; c++){
											opMarcada = ($(carac[c]).attr('checked')==true ? true : opMarcada);
										}
										opcional += (opMarcada ? '' : '<H3>Opcional: Selecione um ou mais valores para a caracteristica ' + $(label[nrLabel]).html() + ' do produto.</H3>');
									}
					}
				}
			}
		}
		//Usada para validar todos os topicos, de produto e da categoria.
		if(div == '#caraccat')
			condicao = false;
		else
			div = '#caraccat';
	}*/

	//Verifica se há algum erro no form e manda mensagem na tela, caso contrário faz o submit do form.
	if(erro!='') {
		if($('.caution').css('display')=='none')
			$('.caution').show();
	
		$('.caution').append(erro);
		if(opcional!=''){
			opcional += '<BR />';
			$('.caution').append(opcional);
		}
		$("html,body").animate({ scrollTop: $('#page-title').offset().top },"slow");
	}else {
		$('form').submit();
	}
}

function cssFiltro(url){
	var camposSemFiltro = $('.filtro_N');
	if(url!=''){
		var regexEmail = new RegExp(/^(http(s)?:\/\/)?([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/);
		vUrl = regexEmail.test(url);
		if(!vUrl){
			$('#'+id).val('ERRADO: ' + $('#'+id).val());
			for(var i=0; i < camposSemFiltro.length; i++){
				$(camposSemFiltro[i]).show();				
			}
		}else{
			for(var i=0; i < camposSemFiltro.length; i++){
				$(camposSemFiltro[i]).hide();				
			}
			if($("#caracprd .filtro_S").size() == 0){
				$("#caracprd").append("<span class='sInfo'> Não há características cadastradas. <span>");
			}
			if($("#categoria-carac .filtro_S").size() == 0){
				$("#categoria-carac h2").hide();
			}
		}
	}else{
		$("#caracprd").children(".sInfo").remove();
		$("#categoria-carac h2").show();
		if(url==''){
			for(var i=0; i < camposSemFiltro.length; i++){
				$(camposSemFiltro[i]).show();
			}
		}
	}
}

function setarCpcMinimo(checkbox, div, minimo) {
	var status = $(checkbox).attr('checked');
	var inputs = $("input", "#"+div);
	if(status){
		for(var c=0; c<inputs.length; c++){
			if($(inputs[c]).attr('type')!='hidden') {
				$(inputs[c]).val(minimo);
				$(inputs[c]).css('background-image', 'url(../images/admin/input-bg-disable.gif)');
				$(inputs[c]).attr('readonly', 'true');
			}
		}
	}else{
		for(var c=0; c<inputs.length; c++){
			if($(inputs[c]).attr('type')!='hidden') {
				$(inputs[c]).val('0,00');
				$(inputs[c]).css('background-image', 'url(../images/admin/input-bg.gif)');
				$(inputs[c]).removeAttr('readonly'); 
			}
		}
	}
}

function possuiCharInvalidos(txtString){
	var charInvalid = /\"|=|\'|>|<|%|&/;
	
	var existe = txtString.search(charInvalid);
	if(existe != -1){
		return false;
	}else{
		return true;
		
	}
}

function editarLegenda(imageId, textLegenda, contexto, exibir, msgDiv){

    var divName = 'altLegenda_' + imageId;
    var css = $('#' + divName).css('display');
    
    	
    
    if (exibir == 'e') {
		
    	
			if (textLegenda == 'Adicionar legenda') {
				pop = '<input type=\"hidden\" id=\"old\" value=\"'+textLegenda+'\"/> <input class=\"input-altera-legenda\" type=\"text\" id=\"alt' + imageId + '\" maxlength=\"128\" value=\"\" />';
			}
			else {
				pop = '<input class=\"input-altera-legenda\" type=\"text\" id=\"alt' + imageId + '\" maxlength=\"128\" value=\"' + textLegenda + '\" />';
			}
	        pop += '<button type=\"button\" onclick=\" editarLegenda(\'' + imageId + '\', document.getElementById(\'alt' + imageId + '\').value , \'' + contexto + '\', \'a\',\''+msgDiv+'\');"> Salvar </button>';
	        
			
			$('#' + divName).html(pop);
	        $('#' + divName).slideToggle('fast');
    }
    else 
        if (exibir == 'a') {
        	
        	
        	var aux = possuiCharInvalidos(textLegenda)+'';
        	
        	if(aux == 'false'){
        		
        		$('.'+msgDiv).html("<div class='caution'><h2>Há caracteres inválidos na legenda.</h2></div>");
                
                var display = $('.'+msgDiv).css('display');
                
                if (display == 'none') {
                    $('.'+msgDiv).show();
                }
                
                
                setTimeout(function(){
                    $('.'+msgDiv).fadeOut("slow", function(){
                        $('.'+msgDiv).hide();
                    });
                }, 3000);
				$("#" + divName).hide();
        		return;
        	}
        	
			legendaAux ="";
			var navegador = verificarNavegador();
			if( navegador != 2){
				legendaAux =  escape(textLegenda);				
			}else{
				legendaAux = textLegenda;				
			}
			
        	
            var url = contexto;
            var params = 'perform=editarLegenda&imgId=' + imageId + '&lgTxt=' + legendaAux;
            var feedback = '';
            $.ajax({
                type: 'post',
                data: params,
                url: url,
                beforeSend: function(){
                },
                complete: function(xml){
                    obterImagens(url, 'carregar', 'imagens');
                }
            });
        }
}

function editarLegendaProduto(imageId, textLegenda, contexto, exibir, msgDiv){

    var divName = 'altLegenda_' + imageId;
    var css = $('#' + divName).css('display');
    
    if (exibir == 'e') {
		
    	
			if (textLegenda == 'Adicionar legenda') {
				pop = '<input type=\"hidden\" id=\"old\" value=\"'+textLegenda+'\"/> <input class=\"input-altera-legenda\" type=\"text\" id=\"alt' + imageId + '\" maxlength=\"128\" value=\"\" />';
			}
			else {
				pop = '<input type=\"text\" id=\"alt' + imageId + '\" maxlength=\"128\" value=\"' + textLegenda + '\" />';
			}
	        pop += '<button type=\"button\" onclick=\" editarLegendaProduto(\'' + imageId + '\', document.getElementById(\'alt' + imageId + '\').value , \'' + contexto + '\', \'a\',\''+msgDiv+'\');"> Salvar </button>';
	        
			$('#' + divName).html(pop);
	        $('#' + divName).slideToggle('fast');
    }
    else 
        if (exibir == 'a') {
        	
        	
        	var aux = possuiCharInvalidos(textLegenda)+'';
        	
        	if(aux == 'false'){
        		
        		$('.'+msgDiv).html("Há caracteres inválidos na legenda.");
                
                var display = $('.'+msgDiv).css('display');
                
                if (display == 'none') {
                    $('.'+msgDiv).show();
                }
                
                
                setTimeout(function(){
                    $('.'+msgDiv).fadeOut("slow", function(){
                        $('.'+msgDiv).hide();
                    });
                }, 3000);
				$("#" + divName).hide();
        		return;
        	}
        	
        	
            var url = contexto;
            var params = 'perform=editarLegenda&imgId=' + imageId + '&lgTxt=' + textLegenda;
            var feedback = '';
            $.ajax({
                type: 'post',
                data: params,
                url: url,
                beforeSend: function(){
                },
                complete: function(xml){
                    feedback = xml.responseText;
                    var htm = '';
                    
                    
                    var aux = ''+textLegenda;
                    var ok = feedback.substring(0, 3);
                    
                    if (feedback.length > 0) {
                    
                        if (ok == '[E]') {
                            feedback = feedback.replace('[E]', '');
                            aux = $('#la_' + imageId).val();							
                        }
                        
                        $('.'+msgDiv).html(feedback);
                        
                        var display = $('.'+msgDiv).css('display');
                        
                        if (display == 'none') {
                            $('.'+msgDiv).show();
                        }
                        
                        
                        setTimeout(function(){
                            $('.'+msgDiv).fadeOut("slow", function(){
                                $('.'+msgDiv).hide();
                            });
                        }, 3000);
						$("#" + divName).hide();						
                    }
                    
                    if (ok != '[E]') {
                        aux = textLegenda;
                    }else{
                    	aux = document.getElementById("old").value;

	                    textLegenda = aux;
                    }
                    
                    if ($.trim(textLegenda).length == 0) {
                        aux = 'Adicionar legenda';
                    }
                    
                    htm = ' <span>Legenda:</span> <a id=\" li_' + imageId + '\"onclick=\"javascript: editarLegendaProduto(\'' + imageId + '\',\'' + textLegenda + '\', \'' + contexto + '\', \'e\',\''+msgDiv+'\');\"> ' + aux + ' </a><div class=\"box-altera-legenda\" id=\"' + divName + '\"> </div>';
                    $('#legendaDiv_' + imageId).html('');
                    $('#legendaDiv_' + imageId).html(htm);
                }
            });
        }
}

function reenviarImagemProduto(imageId, legenda, contexto, msgDiv){

	var divName = 'altLegenda_' + imageId;
    var css = $('#' + divName).css('display');

    var url = contexto;
    var params = 'perform=reenviar&imgId=' + imageId;
    var feedback = '';
    $.ajax({
        type: 'post',
        data: params,
        url: url,
        beforeSend: function(){},
        complete: function(xml){
            feedback = xml.responseText;
            var htm = '';
            
            if (feedback.length > 0) {
                           
                $('.'+msgDiv).html(feedback);
                
                var display = $('.'+msgDiv).css('display');
                
                if (display == 'none') {
                    $('.'+msgDiv).show();
                }
                
                setTimeout(function(){
                    $('.'+msgDiv).fadeOut("slow", function(){
                        $('.'+msgDiv).hide();
                    });
                }, 3000);
										
            }
            
            htm = '<span>Legenda:</span> <a id=\" li_' + imageId + '\"onclick=\"javascript: editarLegendaProduto(\'' + imageId + '\',\'' + legenda + '\', \'' + contexto + '\', \'e\',\''+msgDiv+'\');\"> ' + legenda + ' </a><div class=\"box-altera-legenda\" id=\"' + divName + '\"> </div>';
            htm+='Em moderação';
            $('#legendaDiv_' + imageId).html(htm);
        }
    });
}

function alteraStatus(contexto, acao, prdId, status){
	var link = (status=='A' ? 'Inativar' : 'Ativar');
	var css = $('#altStatus_' + prdId).css('display');

	$('#altStatus_' + prdId).html('<a onclick=\"alteraStatus(\'' + contexto + '\', \'g\', \'' + prdId + '\', \'' + status + '\');\">' + link + '</a>');
	if(acao=='j'){
		$('#altStatus_' + prdId).slideToggle('fast');
	}else
		if(acao=='g'){
			var url = contexto + '/produto/produto.do';
			var params = 'perform=alterarStatusProduto&produtoId=' + prdId + '&status=' + status;

			$.ajax({
				type: 'post',
				data: params,
				url: url,
				beforeSend:function(){
				}, complete:function(xml){
					var resp = xml.responseText;
					
					var css = $('.caution').css('display');
					if(css =='none')
						$('.caution').show();

					var html = '';
					var feedback;
					if(resp=='true'){
						link = (status=='A' ? 'Inativo' : 'Ativo');
						var letra = (link=='Ativo' ? 'A' : 'I');

						html = '<div class=\"box-altera-status\" id=\"altStatus_' + prdId + '\" ></div><a onclick=\"alteraStatus(\'' + contexto + '\', \'j\', \'' + prdId + '\', \'' + letra + '\');\"><span class=\"status'+ letra +'">' + link + '</span></a>';

						feedback = "<h2>Situa&ccedil;&atilde;o do produto " + prdId + " alterada com sucesso.</h2>";
					} else {
						if(resp=='false'){
							html = '<span class="required">*</span>' + (status=='A' ? 'Ativo' : 'Inativo')

							feedback = "<h2>Situa&ccedil;&atilde;o do produto " + prdId + " n&atilde;o alterada.</h2>";
						}
					}
					$('#td_s' + prdId).html(html);
					$('.caution').html(feedback);
				}
			});

		}
}

function deixarImagens(url, parametros){
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
		}, complete:function(xml){
			var html = xml.responseText.toString();

			if(html.length>5){ 
				var expReg = /produtoId=\d+/;
				var prdId = String(parametros.match(expReg)).split('=')[1];

				expReg = /moderacao=\d+/; 
				var status = String(html.match(expReg)).split('moderacao=')[0];
				var moderacao = String(html.match(expReg)).split('moderacao=')[1];

				$('#td_s' + prdId).html(status);
				$('#td_m' + prdId).html(moderacao);
			}else{
				if(html=="true"){
					$('.lbcheckboxes').hide();
					$('.checkboxes').hide();
				}
			}

		}
	});
}

//---------- IMPORTAÇÃO DE PRODUTOS --------------------------------

function importacao(acao, div){
	if(acao=='view'){
		var display = $('#'+div).css('display');
		if(display=='none')
			$('#'+div).show();
		else
			$('#'+div).hide();
	}
}

function dados(url, parans, div, prd_anu_id){
	$.ajax({
		type: 'post',
		data: parans+'&anu_prdId='+prd_anu_id,
		url: url,
		beforeSend:function(){
			$(div).html('<img src=\"../images/admin/loader.gif\" /><br /> <strong>Carregando...</strong>');
		},
		complete:function(xml){
			var html = xml.responseText.toString();

			$(div).html(html);

		}
	});
}

//---------- VALORESCLIQUE ---------------------------------------------

function validarValoresClique(){
	var inputs = $('input:text', '#Tree');
	var checkboxs = $('input:checkbox', '#Tree');
	var indiceMsg;
	var formOk = 'true';

	for(var c=0; c<checkboxs.length; c++){
		var pai = checkboxs[c].parentNode.parentNode;
		var inputs = $('input:text', pai);
		var minimo = $('#minimo'+c).val();
		for(var i=0; i<inputs.length; i++){
			var cpc = $.trim($(inputs[i]).val());
			cpc = (cpc!='0,00' && cpc!='' ? cpc : '');
			if(cpc!='' && cpc<minimo){
				indiceMsg = $(inputs[i]).attr('id');
				indiceMsg = indiceMsg.substring(7, (indiceMsg.length-1));
				$('#cpcMsg'+indiceMsg).html("<div class=\"aviso-minimo\">Mínimo permitido: R$" + minimo + "</div>");
				//$(inputs[i]).val(minimo);
				formOk = 'false';
			}
			//indiceMsg++;
		}
	}

	if(formOk == 'true'){
		$('form').submit();
	}
}

function validarBusca(contexto){
	var produto = $('#busca').val();
	var cpcde = $('#cpcde').val();
	var cpcate = $('#cpcate').val();
	var vTodos = $('#cpctodos').attr('checked');
	var vIntervalo = $('#cpcintervalo').attr('checked');
	var vMinimo = $('#cpcminimo').attr('checked');
	var vMaior = $('#cpcmaior').attr('checked');
	var filtroValido = true;

	var filtro;
	if(vTodos!='')
		filtro = 'todos';
	if(vIntervalo!=''){
		filtro = cpcde + ' - ' + cpcate;
		filtroValido = (cpcde<cpcate || cpcde==cpcate);
	}
	if(vMinimo!='')
		filtro = 'minimo';
	if(vMaior!='')
		filtro = 'maior';

	if(filtroValido){
		var url = contexto + '/produtocategoria/produtocategoria.do';
		var params = 'perform=valoresCliqueBuscar&busca=' + produto + '&filtro=' + filtro;
	
		$.ajax({
			type: 'post',
			data: params,
			url: url,
			beforeSend:function(){
			}, complete:function(xml){
				var resp = xml.responseText;
				$('#html').html(resp);
			}
		});
	}else{
		$('#erroFiltro').html('Intervalo inválido.');
	}

}

function escondeHierarquia(niveis){
	niveis = niveis + 1;
	var objDiv = null;
	var pag = null;
	for(var nivel=1; nivel<=niveis; nivel++){
		$('#div' + nivel).hide();
		objDiv = $('#paginacao' + nivel);
		pag = $(objDiv).html();
		if(pag!=null || pag!=''){
	    	$(objDiv).hide();
	    }
	}
}

function acessoNivel(contexto, div, img){
	var nr = div.slice(3);
	var objDiv = $('#paginacao' + nr);
	var pag = $(objDiv).html();

	var mais = '<img class="expandImage" src="' + contexto + '/images/admin/icons/mais.gif" width="16" height="16">';
	var menos = '<img class="expandImage" src="' + contexto + '/images/admin/icons/menos.gif" width="16" height="16">';

	var tagImg = $('#'+img + ':first-child');
	/*var atual = $(tagImg).html();

	if(atual==menos)
		$(tagImg).html('<img class="expandImage" src="' + contexto = '/images/admin/icons/mais.gif" width="16" height="16">');
	else
		if(atual==mais)
			$(tagImg).html('<img class="expandImage" src="' + contexto = '/images/admin/icons/menos.gif" width="16" height="16">');*/

	var disp = $('#' + div).css('display');

	if(disp == 'block') {
	    jQuery('#' + div).hide();
	    $(tagImg).html('<img class="expandImage" src="' + contexto + '/images/admin/icons/mais.gif" width="16" height="16">');
	    if(pag!=null || pag!=''){
	    	$(objDiv).hide();
	    }
	} else {
	    jQuery('#' + div).show();
	    $(tagImg).html('<img class="expandImage" src="' + contexto + '/images/admin/icons/menos.gif" width="16" height="16">');
	    if(pag!=null || pag!=''){
	    	$(objDiv).show();
	    }
	}
}

function checkboxMinimo(div){
	var checkbox = $('#setarMinimo', div);
	$(checkbox).attr('checked', false);
}

//---------- CONTATO --------------------------------------------------

function validarEnvio(){
	var erro = '';  
	var remetenteNome = $.trim($('#remetenteNome').val());
	var remetente = $.trim($('#remetente').val());
	var assunto = $.trim($('#assunto').val());
	var mensagem = $.trim($('#mensagem').val());

	var vRemetenteNome = remetenteNome=='' ? false : true;
	var vAssunto = assunto=='' ? false : true;
	var vMensagem = mensagem=='' ? false : true;
	var vEmail = false;

	if(vRemetenteNome && vAssunto && vMensagem){
		var expReg = /<{1}.+>{1}/g;
		var r1 = new RegExp(expReg).test(remetenteNome);
		var r2 = new RegExp(expReg).test(assunto);
		var r3 = new RegExp(expReg).test(mensagem);
		if(r1 || r2 || r3){
			erro += ' Há caracteres inválidos no preenchimento.';
			vRemetenteNome = false;
			vAssunto = false;
			vMensagem = false;
		}
	}

	if(remetente!=''){
		var regexEmail = new RegExp(/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/);
		vEmail = regexEmail.test(remetente);
	}

	if(vRemetenteNome && vEmail && vAssunto && vMensagem){
		$('#fContato').submit();
	}else{
		erro += '<h4 class="contato-error"> Todos os campos devem ser preenchidos e o email deve ser válido.</h4>';
		$('.caution-contato').html(erro);

		if($('.caution-contato').css('display')=='none'){
			$('.caution-contato').show();
		}

	}

}

//---------- MENSAGEM --------------------------------------------------

function selecionarTodasMsgs(checked) {
	var checkboxs = $("input", "#tabela");

	for(var i=1; i<checkboxs.size(); i++){
		$(checkboxs[i]).attr('checked', checked);
	}
}

function verificaSelecionarTodasMsgs() {
	var checkboxs = $("input", "#tabela");
	var checked = true;
	
	for(i=1; i<checkboxs.size(); i++) {
		if( !checkboxs[i].checked ) {
			checked = false;
			break;
		}
	}
	
	$(checkboxs[0]).attr('checked', checked);
}

//---------- GERENCIAR COMBOS --------------------------------------------------

function riscar(id) {
	//id do componente que fez a chamada
	var opSelecionada = $('#'+id).val();
	var desabilitar;
	var opcoes;

	if(id=='combo1'){
		desabilitar = $('#op'+opSelecionada, '#combo2');
		opcoes = $('.op', '#combo2');
	}else
		if(id=='combo2'){
			desabilitar = $('#op'+opSelecionada, '#combo1');
			opcoes = $('.op', '#combo1');
		}

	var i;
	
	for(i = 0; i < opcoes.length; i++) {
		if($(opcoes[i]).attr('disabled')){
			$(opcoes[i]).attr('disabled', false);
			var nome = $(opcoes[i]).html();
			nome = nome.replace('<strike>', '');
			nome = nome.replace('</strike>', '');
			$(opcoes[i]).html(nome);
		}
	}

	$(desabilitar).html('<strike>' + $(desabilitar).html() + '</strike>');
	$(desabilitar).attr('disabled', true);
}

/**
 *    Descrição: Function para montar combos a partir da seleção de um item em outro combo.
 * 	      Autor: Denis Lucas Silva.
 * Data Criação: 25/02/2010
 * Proprietário: Auspex.
 */
function multicombo(contexto, comboPai, comboFilho, vetTopId){
	var ctrlCombo = 0;
	var labelAnterior = '';

	var comboPaiId = Number(comboPai.substring(5, comboPai.length));
	var comboFilhoId = Number(comboFilho.substring(5, comboFilho.length));
	var comboFilhoIdBK = comboFilhoId;

	for(var j=0; j<vetTopId.length; j++){
		var topId = vetTopId[j];

		var tovId = $('#'+comboPai).val();

		var url = contexto + '/topico/topicoValorDep.do';
		var parametros = 'perform=adicionar&topico=' + topId + '&topicovalor=' + tovId;

		comboFilhoId = '#combo' + (Number(comboFilhoIdBK) + Number(ctrlCombo));
		var comboFilho = $(comboFilhoId);

		//Pegar o label do combo
		var topItem = $('#'+comboPai);
		topItem = $(topItem.parent());
		var label = $('.label', $(topItem)).html();	//

		$.ajax({
			async: false,
			type: 'post',
			data: parametros,
			url: url,
			beforeSend:function(){
			}, 
			complete:function(xml, text){
				var opcoes = xml.responseText;
				if(opcoes.length==0){
					opcoes = '<option value=\'0\'>Selecione ' + label + '</option>';
				}
				$(comboFilho).html(opcoes);

				if($(comboFilho).attr('onchange')!=null)
					$(comboFilho).change();
			}
		});
		ctrlCombo = ctrlCombo + 1;
	}
}

//---------- ENDEREÇO --------------------------------------------------

function addTelefone(url, params){
	var count = $.trim($('#count', '#addNovo').val());
	var descricao = $.trim($('#descricao', '#addNovo').val());
	var ddd = $.trim($('#ddd', '#addNovo').val());
	var telNumero = $.trim($('#telNumero', '#addNovo').val());
	var fax = $('#fax', '#addNovo').attr('checked');
	var faxMarcado = (fax ? 'checked ' : '');

	var alerta = '';
	var erro = '';
	var expReg = /<{1}.+>{1}/g;
	if(descricao!=''){
		var r = new RegExp(expReg).test(descricao);
		if(r)
			erro += '<h2>Há caracteres inválidos no preenchimento.</h2>';
	}
	if(telNumero == '') {
		erro += '<h2>O número do telefone é obrigatório.</h2>';
	}

	var outroDDD = false;
	var jaExiste = false;
	var telefones = $('.telLista', '#telefones');
	for(var i=0; i<telefones.size(); i++){
		var dddLista = $('#ddd', telefones[i]).val();
		var numeroLista = $('#telNumero', telefones[i]).val();
		var nrLista = dddLista + '-' + numeroLista;
		var nrNovo = ddd + '-' + telNumero;

		outroDDD = (numeroLista==telNumero && dddLista!=ddd ? true : outroDDD);
		jaExiste = (nrLista==nrNovo ? true : jaExiste);
	}
	if(jaExiste) {
		erro += '<h2>O número do telefone já foi informado.</h2>';
	}
	if(outroDDD) {
		alerta += 'O número de telefone já foi informado com outro DDD.';
	}

	var expReg = /enderecoId=\d+/;
	var enderecoId = String(params.match(expReg)).split('=')[1];

	var contexto = url.split('/');
	contexto = '/' + contexto[1];

	if(telNumero != '' && erro == ''){
		var telefoneId = 0;
		if(enderecoId!='' && enderecoId!='0'){
			params += '&telNumero=' + telNumero +
					  '&ddd=' + ddd +
					  '&fax=' + fax +
					  '&descFone=' + descricao;

			$.ajax({
				type: 'post',
				data: params,
				url: url,		
				beforeSend:function(){
				}, complete: function(xml) {
					telefoneId = xml.responseText.toString();
					montaDiv(contexto, telefoneId);
				}		
			});
		}else{
			montaDiv(contexto, telefoneId);
		}
	}else {
		$('.caution').html(erro);
		$('.caution').show();
		$("html,body").animate({ scrollTop: $('#page-title').offset().top },"slow");
		erro = '';
	}

}

function montaDiv(contexto, telefoneId){
	var count = $.trim($('#count', '#addNovo').val());
	var descricao = $.trim($('#descricao', '#addNovo').val());
	var ddd = $.trim($('#ddd', '#addNovo').val());
	var telNumero = $.trim($('#telNumero', '#addNovo').val());
	var fax = $('#fax', '#addNovo').attr('checked');
	var faxMarcado = (fax ? 'checked ' : '');

	var url = contexto + '/entidade/telefone.do';
	var params = 'perform=excluirTelefone&telefoneId=' + telefoneId;
	var html = 
		'<div id="lstFone' + count + '" class="telLista">' +
		'	<input type="hidden" id="telId" name="lstFone[' + count + '].telefoneId" value="' + telefoneId + '" />' +
		'	<label>' +
		'		Descrição' +
		'		<span class="small">Informe a descrição do telefone</span>' +
		'	</label>' +
		'	<input class="" type="text" id="descricao" name="lstFone[' + count + '].descFone" maxlength="255" value="' + descricao + '"/>' +						

		'	<label>' +
		'		Telefone' +
		'		<span class="small">Informe o número do telefone</span>' +
		'	</label>' +
		'	<input class="ddd" alt="ddd" type="text" id="ddd" name="lstFone[' + count + '].ddd" maxlength="2" value="' + ddd + '"/>' +
		'	<input class="fone"  alt="phonefull" type="text" id="telNumero" name="lstFone[' + count + '].telNumero" maxlength="11" value="' + telNumero + '"/>' +						

		'	<div class="opcao-fax-end">' +						
		'		<input type="checkbox" id="fax" name="lstFone[' + count + '].fax" class="check" ' + faxMarcado + '/>' +
		'		<label for="fax">Fax</label>' +
		'	</div>' +

		'	<button class="btn-excluir" type="button" onclick="excTelefone(\'lstFone' + count + '\', \'' + url + '\', \'' + params + '\');">Apagar</button><BR />' +
	    '</div>';

	$('#telefones').append(html);

	$('#count', '#addNovo').val(Number(count)+1);
	$('#descricao', '#addNovo').val('');
	$('#ddd', '#addNovo').val('');;
	$('#telNumero', '#addNovo').val('');;
	$('#fax', '#addNovo').attr('checked', false);
}

function excTelefone(div, url, params){
	var telefoneId = $('#telId', '#' + div).val();
	if(telefoneId!=''){
		$.ajax({
			type: 'post',
			data: params,
			url: url,		
			beforeSend:function(){
			}, complete: function(xml) {
				$('.caution').show();
				if(xml.responseText.toString()=='true'){
					$('#' + div).remove();
					$('.caution').html('<h2>Telefone apagado.</h2>');
				}else {
					$('#' + div).remove();
					$('.caution').html('<h2>Telefone apagado.</h2>');
				}
				$("html,body").animate({ scrollTop: $('#page-title').offset().top },"slow");
			}		
		});
	}else {
		$('.caution').show();
		$('.caution').html('<h2>Telefone não apagado: telefone desconhecido.</h2>');
		$("html,body").animate({ scrollTop: $('#page-title').offset().top },"slow");
	}

}

//---------- CONFIGURACOES ADICIONAIS ANUNCIANTE ------------------------
function buscarCidade(contexto, selectId, divresult){
	$('#' + divresult).html("&nbsp;&nbsp;&nbsp;<img src=\"../images/admin/loader.gif\" />&nbsp;&nbsp;<strong>Carregando...</strong>");
	var estId = $('#'+selectId).val();
	var url = contexto + '/anunciante/adicionaisAnunciante.do';
	var parametros = 'perform=adicionar&estadoId=' + estId;

	$.ajax({
		async: false,
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
		}, 
		complete:function(xml, text){
			var opcoes = xml.responseText;
			$('#'+divresult).html(opcoes);
			$('#multicidade.[id^=multi]').multiSelect({
												oneOrMoreSelected: '*',
												selectAll: false,
												noneSelected: 'Atendo todo o estado'
												});
		}
	});
	$("#loader").remove();
}

function corrigeHora(id){
	console.log(id);
	var hora = $('#'+id).val();
	console.log(hora);
	var hora1 = hora.charAt(0);
	var hora2 = hora.charAt(1);
	var ponto = hora.charAt(2);
	var min1 = hora.charAt(3);
	var min2 = hora.charAt(4);

	if(Number(hora1)>1){
		if(Number(hora2)>3)
			hora2 = 3;
		
		hora = hora1 + '' + hora2 + ':' + min1 + '' + min2;
		console.log(hora);
		$('#'+id).val(hora);
	}
}

function visualizarValores(contexto, estadoId, divresult){
	var url = contexto + '/anunciante/adicionaisAnunciante.do';
	var parametros = 'perform=visualizarValores&estadoId=' + estadoId;

	$('#' + divresult).html("&nbsp;&nbsp;&nbsp;<img src=\"../images/admin/loader.gif\" />&nbsp;&nbsp;<strong>Carregando...</strong>");
	$.ajax({
		async: false,
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
		}, 
		complete:function(xml, text){
			var opcoes = xml.responseText;

			var options = $("option", "#estadoId");
			for(var i = 0; i < options.length; i++) {
				if($(options[i]).attr('value')==estadoId){
					$(options[i]).attr('selected', true);
					break;
				}
			}

			$('#'+divresult).html(opcoes);
			$('#multicidade.[id^=multi]').multiSelect({
												oneOrMoreSelected: '*',
												selectAll: false,
												noneSelected: 'Atendo todo o estado'
												});
		}
	});
	$("#loader").remove();
}

function atendeBrasil(obj){
	var marcado = $(obj).attr('checked');
	var meusLocais = $.trim($('#meuslocais').html());
	var feedback = '<h2>Todos os registros de região serão substituídos por atendimento a todo o Brasil.</h2>';

	if(marcado){
		if('undefined'!=meusLocais && null!=meusLocais && ''!=meusLocais){
			$('#feedback').html(feedback);
			$('#feedback').css('display', 'block');
		}

		$(':input', '#estados').attr('disabled', true);
		$(':input', '#cidades').attr('disabled', true);
	}else {
		$(':input', '#estados').attr('disabled', false);
		$(':input', '#cidades').attr('disabled', false);

		//remover qualquer conteúdo de msg e esconder a div
		if(feedback==$('#feedback').html()){
			$('#feedback').html('');
			$('#feedback').css('display', 'none');
		}
	}
}

function paisTodo(){
	$('#paisTodo').attr('checked', true);
	atendeBrasil($('#paisTodo'));
}

function getParametros(contexto, texto){
	var paisTodo = $('#paisTodo').attr('checked');
	var paisId = $('#paisId').val();
	var estadoId = $('#estadoId').val();
	var cidade = new Array();
	var marcados = $(':input:checked', '#cidades');

	for(var i=0; i<marcados.length; i++){
		cidade.push($(marcados[i]).val());
	}

	var urlDestino = contexto + '/anunciante/adicionaisAnunciante.do';
	var dadosDestino = 'perform=salvar&paisTodo=' + paisTodo + '&paisId=' + paisId + '&estadoId=' + estadoId + '&cidade=' + cidade.toString();
	var urlVerificacao = contexto + '/anunciante/adicionaisAnunciante.do';
	var dadosVerificacao = 'perform=atualizarDados&paisId=' + paisId + '&estadoId=' + estadoId;

	acaoRegiaoEntrega(urlDestino, dadosDestino, urlVerificacao, dadosVerificacao, texto);
}

function acaoRegiaoEntrega(urlDestino, dadosDestino, urlVerificacao, dadosVerificacao, texto) {
	var resp = 'false';
	$('button', '#btn-regiao').attr("disabled", true);
	$('#btn-regiao').prepend("&nbsp;<img id=\"loader\" src=\"../images/admin/loader.gif\" />&nbsp;");

	if(urlVerificacao!=''){
		$.ajax({
			async: false,
			type: 'post',
			data: dadosVerificacao,
			url: urlVerificacao,
			beforeSend:function(){
			}, 
			complete:function(xml, text){
				resp = xml.responseText;
			}
		});
	}

	var respostaUsuario = true; 
	if(resp=='true'){
		respostaUsuario = confirm(texto + "\nDeseja prosseguir com a solicitação?");
	}

	if(respostaUsuario){
		$.ajax({
			async: false,
			type: 'post',
			data: dadosDestino,
			url: urlDestino,
			beforeSend:function(){
			}, 
			complete:function(xml, text){
				var resp = xml.responseText;
				$('#regiaoentrega').html("");
				$('#regiaoentrega').html(resp);

				
			}
		});
	}

	$("#loader").remove();
	$('button', '#btn-regiao').attr("disabled", false);
}

//---------- CATEGORIA --------------------------------------------------

// box2view ou ordena_topico - o denis alterou o id da lista e agora não sei qual é o certo pra deixar comitado//
// box2view fica aqui

function ordenaTopico(url, formulario, direcao){
	
	var topicoFormulario = document.getElementById('box2View').value;
	var formulario = document.getElementById('formularioId').value;
		
	jQuery.ajax({
		type: 'post',
		data: 'perform=ordenar&topicoFormularioId=' + topicoFormulario + '&formularioId=' + formulario + '&ordem=' + direcao,
		url: url,		
		complete: function(xml) {
		
			var posicao = document.getElementById('box2View').selectedIndex;

			if(direcao == 'true'){	
			 	if(posicao > 0){
			 		
			 		var auxValue = document.getElementById('box2View').options[posicao-1].value;
			 		var auxText = document.getElementById('box2View').options[posicao-1].text;
			 		
			 		document.getElementById('box2View').options[posicao-1].value = document.getElementById('box2View').options[posicao].value;
			 		document.getElementById('box2View').options[posicao-1].text = document.getElementById('box2View').options[posicao].text;
			 		
			 		document.getElementById('box2View').options[posicao].value = auxValue;
			 		document.getElementById('box2View').options[posicao].text = auxText;
			 		
			 		$('#box2View')[0].selectedIndex = posicao-1;
			 	}
		 	}else{
		 		if(posicao < document.getElementById('box2View').length-1){
		 		
			 		var auxValue = document.getElementById('box2View').options[posicao+1].value;
			 		var auxText = document.getElementById('box2View').options[posicao+1].text;
			 		
			 		document.getElementById('box2View').options[posicao+1].value = document.getElementById('box2View').options[posicao].value;
			 		document.getElementById('box2View').options[posicao+1].text = document.getElementById('box2View').options[posicao].text;
			 		
			 		document.getElementById('box2View').options[posicao].value = auxValue;
			 		document.getElementById('box2View').options[posicao].text = auxText;
			 		
			 		$('#box2View')[0].selectedIndex = posicao+1;
			 	}
		 	}
		
			jQuery('#valores').html(xml.responseText);
		}
	});
}

function buscarTopicoAbaixo(lista, nome){
	if(nome.length > 0){
		var count = 0;
		var posicaoAtual = $('#'+lista)[0].selectedIndex;
		var found = false;	
		$("#"+lista+" option").each(function() {						 		
	   		if(found == false){
	   			var expressao = new RegExp(nome.toUpperCase(), "g");
		   		if(expressao.test($(this).text().toUpperCase()) && count > posicaoAtual){
					var valor = $(this).val();
					$('#'+lista).val(valor).selectedIndex; 
					found = true;	
				}
		    	count++;
	    	}
	    });
	}else{
		$('#'+lista)[0].selectedIndex = -1;
	}
}

function buscarTopicoAcima(lista, nome){
	if(nome.length > 0){		
		var posicaoAtual = $('#'+lista)[0].selectedIndex;
		if(posicaoAtual < 0){
			posicaoAtual = $('#'+lista)[0].length;
		}
		var found = false;	
		for(var count = posicaoAtual;count > -1;count--){
			if(found == false){
				var expressao = new RegExp(nome.toUpperCase(), "g");
		   		if(expressao.test($('#'+lista+' option:eq('+count+')').text().toUpperCase()) && posicaoAtual > count){
					var valor = $('#'+lista+' option:eq('+count+')').val();
					$('#'+lista).val(valor).selectedIndex;					
					found = true;	
				}
	    	}		
		}
		
	}else{
		$('#'+lista)[0].selectedIndex = -1;
	}	
}

/*
 * Associa Topico ao formulario
 */
 function associaTopico(url, formularioId, associa) {
	 
	var origem = "box1View";
	var destino = "box2View";

	if(!associa){
		var origem = "box2View";
		var destino = "box1View";
	}
	
	var topicoId = $('#' + origem).val();
}

 /*
  * Associa Topico ao formulario
  */
 function associaTodosTopico(url, formularioId, associa) {
	 
	var origem = "box1View";
	var destino = "box2View";

	if(!associa){
		var origem = "box2View";
		var destino = "box1View";
	}
	
	var cont = document.getElementById(''+origem).options.length;
	
	for(var i = cont-1; i > -1 ; i-- ){
			
		$('#' + destino).append(document.getElementById(''+origem).options[''+i]);
	}
	
 }
 
 /*
 * Troca um objeto de box.
 */
function trocaBox(origem, destino) {
	$('#' + destino).append($('option:selected', '#' + origem));
	$('option', '#' + origem).remove('selected');
}

function adicionaFiltro(url, formularioTopicoId){
	
	var filtro = document.getElementById(formularioTopicoId).checked;
	
	if(filtro == true){
		filtro = 'S';
	}else{
		filtro = 'N';
	}

	jQuery.ajax({
		type: 'post',
		data: 'perform=adicionaFiltro&topicoFormularioId=' + formularioTopicoId + '&filtro=' + filtro, 
		url: url,		
		complete: function(xml) {
		
		
		}
	});	
}

function adicionarFiltros(obj){
	var tofId = obj.id.substring(3, obj.id.length);
	var marcado = $(obj).attr('checked');
	var classe = $(obj).attr('class');
	var alvo = obj.id.substring(0, 3);
	var tipo_sim = 'S';
	var tipo_nao = 'N';

	var inputhidden;
	if(alvo=='ref' || classe=='referencia'){
		inputhidden = $('#topicosReferencia');
	}else
		if(alvo=='fil' || classe=='filtro'){
			inputhidden = $('#topicosFiltro');
			tipo_nao = '';
		}

	var val = $(inputhidden).val();
	var valores = val.split(',');
	val = '';
	var virgula = '';
	for(var i=0; i<valores.length; i++){
		var partes = valores[i].split('-');
		var id = partes[0];
		var mc = partes[1];

		if(tofId==id){
			mc = (marcado ? tipo_sim : tipo_nao);
		}

		val = val + virgula + id + '-' + mc;
		virgula = ',';
	}

	$(inputhidden).val(val); //Atualiza os valores
}

/*
* Visualiza filhos
*/
function mostrarFilhos(div)
{
	var disp = $('#' + div).css('display');

	if(disp == 'block') {	
	    jQuery('#' + div).hide();
	} else {
	    jQuery('#' + div).show();
	}
}

/*
* Seleciona gratuito ou não para categoria
*/
function alteraGratiz(id, url){
	
	var opcao = document.getElementById('check'+id).checked;
	
	url += '/categoria/categoria.do';
	
	jQuery.ajax({
		type: 'post',
		data: 'perform=alteraParaGratuito&gratuito=' + opcao + '&idCategoria=' + id,
		url: url,		
		complete: function(xml) {
		
			document.getElementById('erro').textContent = "";	
		}
	});
	
}

/*
* Atualizar valor 
*/
function atualizaValor(id, url){
	
	var divSalvar = 'divSalvar';
	var divEditar = 'divEditar';
	
	var valor = document.getElementById('name'+id).value;
	
	url += '/categoria/categoria.do';
	
	jQuery.ajax({
		type: 'post',
		data: 'perform=alteraValorClick&cmc=' + valor + '&idCategoria=' + id,
		url: url,		
		complete: function(xml) {
			if(xml.responseText != ""){
				
				document.getElementById('name'+id).value = xml.responseText
				document.getElementById('erro').textContent = "Valor informado invalido";
				
			}else{
				document.getElementById('erro').textContent = "";
				document.getElementById('name'+id).disabled = true;
				jQuery('#' + divSalvar+id).hide();
				jQuery('#' + divEditar+id).show();
			}
		}
	});
	
}

/*
* Libera Texto para ser alterado o valor 
*/
function editaValor(id, url){
	
	var value = document.getElementById('name'+id).disable;
	
	var divSalvar = 'divSalvar';
	var divEditar = 'divEditar';
	
	if(value == false){
		document.getElementById('name'+id).disabled = true;
		
		jQuery('#' + divSalvar+id).hide();
		jQuery('#' + divEditar+id).show();
		
		
	}else{
		document.getElementById('name'+id).disabled = false;
		
		jQuery('#' + divSalvar+id).show();
		jQuery('#' + divEditar+id).hide();
	}	
	
	document.getElementById('erro').textContent = "";
}

/*
* Libera Texto para ser alterado o valor 
*/
function cancelarValor(id, url){

	url += '/categoria/categoria.do';
	
	jQuery.ajax({
		type: 'post',
		data: 'perform=retornaValorInicial&idCategoria=' + id,
		url: url,		
		complete: function(xml) {
		
			document.getElementById('name'+id).value = ""+xml.responseText;
		
			document.getElementById('name'+id).disabled = true;
			
			jQuery('#divSalvar' + id).hide();
			jQuery('#divEditar' + id).show();
			
		}
	});
	
}

function escondeDivValores(todasCategorias){
	
	var ids = '';
	
	for(var i=0; i < todasCategorias.length; i++){
		
		if(todasCategorias.charAt(i) == ','){
					
			jQuery('#divSalvar' + ids).hide();
				
			ids = "";
			
		}else{
		
			ids = ids + todasCategorias.charAt(i);
			
		}
	}		
}

function carregaHtml(url, parametros, divresult) {
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
			$('#' + divresult).html("<strong>Carregando...</strong>");
		}, complete:function(xml){
			$('#' + divresult).html(xml.responseText);
		}
	});
}

function appendObjetoComentado(url, parametros, divresult,indice,nrresultados) {
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
		}, complete:function(xml){
			if ((xml.responseText!='	')&&(xml.responseText!='')){
				$('#'+indice).val(parseInt($('#'+indice).val())+parseInt(nrresultados));
			}
			$('#' + divresult).append(xml.responseText);
		}
	});
}

function mostrarOcultarUtilizacao(url, perform, tipo, id){
	jQuery('#utilizacao'+id).toggle();
		$.ajax({
		type: 'post',
		data: 'perform='+perform + '&'+tipo+'=' + id,
		url: url,		
		beforeSend:function(){},
		complete: function(xml) {
		$('#utilizacao'+id).html(xml.responseText);
		}
	});
}

function apagarUnidade(url, valorId, topicoId){	
	jQuery.ajax({
		type: 'post',
		data: 'perform=apagar&topicoValorId=' + valorId + '&topicoId=' + topicoId,
		url: url,		
		complete: function(xml) {
			jQuery('#valores').html(xml.responseText);
		}
	});
}

/* configuracao da mascara em campos numericos */
function configMask() {
	$('input:text').setMask();
};

function vitrineGrid(){
	$('.vit-prod-sel').addClass('prod-grid');
	$('.vit-prod-sel').removeClass('prod-list');
	$('.vit-prod-linha').addClass('vit-prod-linha-grid');
};

function vitrineList(){
	$('.vit-prod-sel').addClass('prod-list');
	$('.vit-prod-sel').removeClass('prod-grid');
	$('.vit-prod-linha').removeClass('vit-prod-linha-grid');
};

function configureBoxes(){
	$.configureBoxes();
}

function mudarCategorias(exibir, esconder){
	if (exibir == 'produtos'){ 
		$('#vitrine-categorias').css('background-color','#fffef9');
		$('#aba-produtos').css('background-position', '0 0');
		$('#aba-servicos').css('background-position', '0 0');		
	}	
	if (exibir == 'servicos') {
		$('#vitrine-categorias').css('background-color', '#f8f8f8');
		$('#aba-produtos').css('background-position', '-85px 0');
		$('#aba-servicos').css('background-position', '-85px 0');
		
	}
	$("#"+exibir).show();
	$("#"+esconder).hide();	
}

function selecionatudo(){
	var selecionados = document.getElementById('box2View');
	if(selecionados.length > 0){
		for(i=0; i<=selecionados.length-1; i++){	
			selecionados.options[i].selected = true;
		}
	}
}

function logout(url){
	var valor;
	if(null != $("#edicao").val())
		valor = $("#edicao").val();
	else 
		valor = false;
	var parametros = '&edicao='+valor;
	$.ajax({
		type: 'post',
		data: 'perform=logout'+parametros,	
		url: url,
		beforeSend:function(){},
		complete: function(xml) {
			if(!valor)
				window.location.reload( true );
			else
				window.location.replace(xml.responseText);
		}
	});
}

function aceitarTermosImportacao(){
	$("#aceite").attr('disabled', 'disabled');
	$("#link").removeAttr('readonly');
	$("#idSubmit").removeAttr('disabled');
	$("#primeiroBotao").show();
}

function redirecionamento(url){
	window.location = url;
}

function executarRelatorioBaixa(url, parametros, pagina){
	$.ajax(
	{
		
		type: 'post',
		data: parametros + '&pagina='+pagina,
		url: url,
		beforeSend:function(){},
		complete: function(xml){
			if(xml.responseText != ''){
				$('#divResultado').html(xml.responseText);
			}
		}
	})
}

function removerCategoriaAnunciante(url, catAnuncianteId, nome){
	var remover = confirm("Deseja remover esta categoria?");
	if(remover){ 
		$.ajax({
			type: 'post',
			data: '&catAnunciante='+catAnuncianteId,
			url: url,
			beforeSend:function(){},
			complete: function(xml) {
				var retorno = xml.responseText;
				if(retorno.length > 0){
					$("#exibirCaminho"+nome).html('Sem categoria selecionada.');
					$("#remover"+nome).hide();
					$("#idCategoria"+nome).val(retorno);
				}
			}
		});
	}
}

function carregarComboCaracAnunciante(url, perform, nome, categoriaId, nodo, id, categoriaAtual, catAnuncianteId){	
	var contCombo = $("span", '#comboCategoria'+nome).size();
	$.ajax(
	{
		type: 'post',
		data: 'perform='+perform+'&idCategoria='+categoriaId+'&nodo='+nodo+'&categoriaId='+categoriaAtual+'&nomeCategoria='+nome+'&catAnuncianteId='+catAnuncianteId,
		url: url,
		beforeSend:function(){},
		complete: function(xml){
			
			if(nodo < contCombo){
				var i;
				for(i=nodo; i<contCombo; i++){						
					$('#comboCategoria'+nome+' span:last-child').remove();
				}				
			}		
			if(contCombo > 1 && categoriaId == 0){	
				$('#comboCategoria'+nome+' span').remove();
			}
			$('#comboCategoria'+nome).append(xml.responseText);					
			if(id == categoriaId && id > 0 && categoriaId > 0){	
				$('#comboCategoria'+nome+' span:last-child').remove();
			}
			var id = $("select", '#comboCategoria'+nome+' span:last').val();
			$("#idCategoria").val(id);	
			$("#combo"+nodo).val(categoriaId);	
			
			if($("#caminho"+nome).length > 0){
				$('#exibirCaminho'+nome).html($('#caminho'+nome).val());
				if(catAnuncianteId > 0){
					$("#idCategoria"+nome).val(categoriaId+";"+catAnuncianteId);
				}else{
					$("#idCategoria"+nome).val(categoriaId);
				}
				$('#categoriaAnunciante'+nome).val(1);
				$('#comboCategoria'+nome+' span').remove();
				alterarBotaoEdicaoAnunciante(0, nome);
				$('#remover'+nome).show();
				$('#cancelar'+nome).attr('onClick', '');
				$('#cancelar'+nome).attr('onClick', 'alterarBotaoEdicaoAnunciante(0, '+nome+'), cancelarComboCategoria('+categoriaId+', '+nome+', '+catAnuncianteId+')')
			}
		}		
	})
	var categoriasId = "";
	for(var i = 1;i<=nodo;i++){
		if(categoriasId.length > 0){				
			categoriasId+=","+$('#combo'+i).val();
		}else{
			categoriasId=$('#combo'+i).val();
		}
	}
	$('#categoriasId').val(categoriasId);
}

function cancelarComboCategoria(id, nome, catAnuncianteId){
	if(catAnuncianteId > 0)
		$("#idCategoria"+nome).val(id+";"+catAnuncianteId);
	else
		$("#idCategoria"+nome).val(id);
	$('#comboCategoria'+nome+' span').remove();
}

function alterarBotaoEdicaoAnunciante(tipo, nome){
	if(tipo == 0){
		$('#alterar'+nome).show();
		if($('#categoriaAnunciante'+nome).val() > 0)
			$('#remover'+nome).show();
		else
			$('#remover'+nome).hide();
		$('#cancelar'+nome).hide();
	}else{
		$('#alterar'+nome).hide();
		$('#remover'+nome).hide();
		$('#cancelar'+nome).show();
	}
}

function carregarComboCategoria(url, perform, categoriaId, nodo, id, categoriaAtual, catAnuncianteId){	
	var contCombo = $("span", '#comboCategoria').size();
	$.ajax(
	{
		type: 'post',
		data: 'perform='+perform+'&idCategoria='+categoriaId+'&nodo='+nodo+'&categoriaId='+categoriaAtual+'&catAnuncianteId='+catAnuncianteId,
		url: url,
		beforeSend:function(){},
		complete: function(xml){
			var resposta = xml.responseText;
			if(nodo < contCombo){
				var i;
				for(i=nodo; i<contCombo; i++){						
					$('#comboCategoria span:last-child').remove();
				}				
			}		
			if(contCombo > 1 && categoriaId == 0){	
				$('#comboCategoria span').remove();
			}
			$('#comboCategoria').append(resposta);					
			if(id == categoriaId && id > 0 && categoriaId > 0){	
				$('#comboCategoria span:last-child').remove();
			}
			
			var id = $("select", '#comboCategoria span:last').val();
			$("#idCategoria").val(id);	
			$("#combo"+nodo).val(categoriaId);	
			
			if(resposta.length <= 0 || categoriaId == 0){
				$('#categoriaProduto').val(categoriaId);				
			}
						
		}		
	})
}

function verificarCategoriasAnunciante(){
	var retorno = true;
	$(".categoria-ordenacao a[class='btn-cancelar']").each(function(index) {
    	if($(this).css("display") != 'none'){
	    	$("#divErro").show();
			$("#mensagemErro").html("Não é possível selecionar uma categoria que possua sub-categorias");
			retorno = false;
    	}
  	});
	return retorno;	
}

function obterTagsCategoria(url, perform, categoriaId){
	$.ajax({
		type: 'post',
		data: 'perform='+perform+ '&categoriaId=' + categoriaId,
		url: url,
		beforeSend:function(){},
		complete: function(xml) {
			$('#tagsCategoria').html(xml.responseText);			
		}
	});
}

function excluirTag(url, perform, tagCatId, categoriaId){
	$.ajax({
		type: 'post',
		data: 'perform='+perform + '&tagCategoriaId=' + tagCatId + '&categoriaId=' + categoriaId,
		url: url,		
		beforeSend:function(){},
		complete: function(xml) {
			$('#tagsCategoria').html(xml.responseText);
		}		
	});
}

function adicionarTag(url, perform, tag, categoriaId){
	$.ajax({
		type: 'post',
		data: 'perform='+perform + '&tag=' + tag + '&categoriaId=' + categoriaId,
		url: url,
		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
		beforeSend:function(){},
		complete: function(xml) {
			$('#tagsCategoria').html(xml.responseText);
		}		
	});
}

/* mover produtos */
function selecionarTodosProdutos(checked) {
	var checkboxs = $("input", "#mover-produtos-lista");
	for(var i=0; i<checkboxs.size(); i++){
		$(checkboxs[i]).attr('checked', checked);
	}
}

/*Utilziado no cadastro e edição de produto referência*/
function topicosProdutoReferencia(url, perform, categoriaId, produtoId) {	
	$.ajax({
		type: 'post',
		data: 'perform='+perform+'&categoriaId='+categoriaId+'&produtoId='+produtoId,
		url: url,
		beforeSend:function(){
			$('#caraccat').html("<strong>Carregando...</strong>");
		}, complete:function(xml){
			var resp = xml.responseText;
			var divCaracprd = $(':input', '#caracprd').length;

			if($('.caracteristicas').css('display')=='none' && resp.toString()!=''){
				$('.caracteristicas').show();
			}
			if(divCaracprd==0 && resp.toString()==''){
				$('.caracteristicas').hide();
			}else
				if(divCaracprd==0 && resp.toString()!=''){
					$('#produto-carac').hide();
				}			
			$('#caraccat').html(resp);
			$('select.[id^=multi]').multiSelect({ oneOrMoreSelected: '*' });

		}
	});
}

/*Utilziado no cadastro e edição de produto referência*/
function editarComboCategoriaProdutoReferencia(url, parametros, divresult) {
	$.ajax({
		type: 'post',
		data: parametros,
		url: url,
		beforeSend:function(){
			$('#' + divresult).append("<strong>Carregando...</strong>");

		}, complete:function(xml, text){
			$('#' + divresult+' strong:last-child').remove();
			$('#' + divresult+' span:last-child').remove();

			var resposta = xml.responseText.toString();
			$('#' + divresult).append(resposta);

			if(resposta.lastIndexOf('SELECTED') != -1){
				var span = resposta.slice(0, resposta.lastIndexOf('SELECTED')); //Pega a última ocorrencia de SELECTED

				if(span != '') {
					//span = span.slice(span.lastIndexOf('=')+1); //Pega a última ocorrencia de =
					span = span.substring(span.lastIndexOf('=')+2, span.lastIndexOf('\''));

					if(span != '') {
						var catId = span.replace(/\'/g,''); //replace('\'', '');
						$('#categoriaId').val(catId);

						var expReg = /prdId=\d+/;
						var prdId = String(parametros.match(expReg)).split('=')[1];

						//Pegar as caracteristicas da categoria
						var radios = $(':radio', '#caracprd').size()/3;
						var inputs = $(':input', '#caracprd').size()/2;

						var indice;
						if(radios>0)
							indice = inputs - radios;
						else
							indice = inputs;
						params = 'perform=caracteristicas&categoriaId=' + catId + '&produtoId=' + prdId + '&qtop=' + indice;
						caracteristicasProdutoReferencia(url, params, 'caraccat');//
					}
				}
			}else{
				$('.caracteristicas').hide();
			}
		}
	});
}

function carregarImagensOferta(url, perform, ofertaId, categoriaId){
	$.ajax({
		type: 'post',
		data: 'perform='+perform+'&ofertaId='+ofertaId+'&categoriaId='+categoriaId,
		url: url,
		beforeSend:function(){},
		complete: function(xml, text){
			$('#imagensOferta').html(xml.responseText);
		}
	});
}

var cadPrdPasso2 = {
	carregar: function(){
		cadPrdPasso2.eventoSalvar();
		cadPrdPasso2.eventoVoltar();
	},
	eventoSalvar: function(){
		$('#btSalvar').click(function(){
			cadPrdPasso2.validarSubmit();
		});
	},
	eventoVoltar: function(){
		var url = servidor.contexto + '/produto/produto.do';
		var parametros = 'perform=principal';//&exibir=$!exibir&exibir2=$!exibir2&busca=$!busca&pagina=$!pagina
		$('#btVoltar').click(function(){
			window.location = url + '?' + parametros; 
		});
	},
	validarSubmit: function(){
		var erro = '';
		$('.caution').html(erro);
	
		var nome = $.trim($('#nomelovValue').val());
		erro += (nome=='' || nome.length<3 ? '<H2>Obrigatório: Insira o nome do produto, sendo que ele deve possuir ao menos 3 letras.</H2>' : '');
	
		var catSel = $('#categoriaId').val();
		erro += (catSel>0 ? '' : '<H2>Obrigatório: O produto deve ser colocado dentro de uma categoria.</H2>');
	

	
		var anuoferta = $("#anuoferta", "#ofertas");
		for(var i=0; i<anuoferta.length; i++) {
			var inputs = $("input", anuoferta[i]);
	
			var sobconsulta;
			var valorde;
			var valorpor;
			var validade;
			var parcelamento;
			var link;
			var cpcminimo;
			var cpcproduto;

			var possobconsulta;
			var posvalorde;
			var posvalorpor;
			var posvalidade;
			var posparcelamento;
			var poslink;
			var poscpcminimo;
			var poscpcproduto;

			for(var j=0; j<inputs.length; j++){
				var nomeInput = $(inputs[j]).attr('name');
				nomeInput = nomeInput.slice(nomeInput.lastIndexOf('.')+1);
	
				var nometipo = inputs[j].nodeName;
				var tipo = $(inputs[j]).attr('type');
				var valor = (tipo!='combobox' ? $.trim($(inputs[j]).val()) : $(inputs[j]).attr('checked'));

				if(nomeInput=='sobconsulta'){ sobconsulta = valor; possobconsulta = j;}
				if(nomeInput=='valorde'){ valorde = ('0,00'==valor ? '' : valor); posvalorde = j;}
				if(nomeInput=='valorpor'){ valorpor = ('0,00'==valor ? '' : valor); posvalorpor = j;}
				if(nomeInput=='validade'){ validade = valor; posvalidade = j;}
				if(nomeInput=='parcelamento'){ parcelamento = valor; posparcelamento = j;}
				if(nomeInput=='link'){ link = valor; poslink = j;}
				if(nomeInput=='minimo'){ cpcminimo = ('0,00'==valor ? '' : valor); poscpcminimo = j;}
				if(nomeInput=='cpc'){ cpcproduto = ('0,00'==valor ? '' : valor); poscpcproduto = j;}
			}

			var valorMascara = '0,00';
			var erroValor = validarValorMonetario(valorde);
			erroValor = (validarValorMonetario(valorpor) ? true : erroValor);
			var preco = (valorde=='' || valorde==valorMascara || !parseFloat(valorde)>0 ? 'preço' : '');
			var promo = (valorpor=='' || valorpor==valorMascara || !parseFloat(valorpor)>0 ? 'promoção' : '');
			var junto = (preco!='' && promo!='' ? ' e ' : '');
			var conec = (preco!='' && promo!='' ? ' devem ser informados.' : ' deve ser informado.');
	
			if($(inputs[possobconsulta]).attr('checked')==false && !erroValor){
				if(promo!='' && preco!='') {
					erro += '<H2>Obrigatório: informe preço e promoção para o produto ou marque a caixa "Sob consulta".</H2>';
				}
				if(promo!='' && preco=='') {
					$(inputs[posvalorpor]).val($(inputs[posvalorde]).val());
					erro += '<H2>Obrigatório: mesmo não havendo promoção para o produto, o campo "Preço promoção" precisa de um valor. Sugestão: Coloque o preço do produto.</H2>';
				}
				if(promo=='' && preco!='') {
					$(inputs[posvalorde]).val($(inputs[posvalorpor]).val());
					erro += '<H2>Obrigatório: informe um preço para o produto além do valor de promoção.</H2>';
				}
				if(promo=='' && preco=='') {
					var tudoCerto = parseFloat(valorde.replace('.', ''))>=parseFloat(valorpor.replace('.', ''));
					erro += (tudoCerto ? '' : '<H2>Obrigatório: o preço da promoção deve ser menor que o preço normal do produto.</H2>');
				}
			}else {
				erro += (erroValor ? '<H2>Obrigatório: verifique os valores informados para produto.</H2>' : '');
			}
	
			if(parcelamento!=''){
				if(parcelamento.length>50)
					erro += '<h2>O texto de parcelamento deve conter menos que 100 letras</h2>';
			}
	
			if(link!=''){
				var regexEmail = new RegExp(/^(http(s)?:\/\/)?([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/);
				var vUrl = regexEmail.test(link);
				if(!vUrl)
					erro += '<h2>O link do produto deve começar com http:// ou https://. Exemplo - http://www.minhaloja.com.br ou https://www.minhaloja.com.br</h2>';
			}
	
			erroValor = false;
			erroValor = validarValorMonetario(cpcproduto);
			if(!erroValor){
				if(!(cpcproduto>=cpcminimo)){
					erro += '<H2>O valor do clique deve ser igual ou superior ao CPC mínimo de R$' + cpcminimo + '.</H2>';
					$(inputs[poscpcproduto]).val(cpcminimo); //Coloca o valor minimo no campo
					$(inputs[poscpcproduto]).css('background', '#fffad4');			
				}else {
					if(cpcproduto>'999,99'){
						erro += '<H2>O valor do clique deve ser menor que R$999,99.</H2>';
					}
				}
			}else {
				if(erroValor)
						erro += '<H2>Obrigatório: verifique o valor informado para o clique do produto.</H2>';
			}
		}

		//Verifica se há algum erro no form e manda mensagem na tela, caso contrário faz o submit do form.
		if(erro!='') {
			if($('.caution').css('display')=='none')
				$('.caution').show();
			$('.caution').append(erro);
			$("html,body").animate({ scrollTop: $('#page-title').offset().top },"slow");
		}else {
			$('form').submit();
		}
	}
}

var cadPrdPasso1 = {
	criarBotaoSalvar: function(divresult){
		//var btContinuar = ($("#btBarra:has('button#btContinuar')").size());
		var btContinuar = ($("#passos:has('div#continuar')").size());
		//Se eh produto que vai pra tela e o botão continuar não existe: colcoa botão
		if(divresult=='produto' && parseInt(btContinuar)==0){
			//$('.btn-gray').before("<button class=\"btn-blue\" id=\"continuar\" type=\"button\">" + $('#txtbotaocontinuar').val() + "</button>");
			$('#passos').append("<div id=\"continuar\"><span class=\"div-select\"><button class=\"btn-blue\" id=\"btContinuar\" type=\"button\">" + $('#txtbotaocontinuar').val() + "</button></span></div>");
			$('#continuar').click(function(){
				cadPrdPasso1.continuar();
			});
		}else{
			//Se não eh produto que vai pra tela e o botão continuar já existe: remove botão
			if(divresult!='produto' && btContinuar>0){
				//$("button#continuar").remove();
				$('div#continuar', '#passos').remove();
			}
		}
	},
	eventoOnChangeCombo: function(id, divresult){
		var url = servidor.contexto + '/produtocategoria/produtocategoria.do';
		var parametros = 'perform=cadastroProdutoPasso1&categoriaId=';

		$('#'+id).change(function(){
			cadPrdPasso1.procurarProximaCategoria(url, parametros, divresult, this);
		});
	},
	procurarProximaCategoria: function(url, parametros, divresult, obj){
		var categoriaId = obj.value;
		var nivel = obj.id.split('-')[1];
		var contCombo = ($("span", "#passos").size());
		var contComboCat = ($("span", "#categoria").size());
		var contComboFil = ($("span", "#filtro").size());
		var contProduto = ($("div#produto:has('span')").size());

		var lstTopTela = '';

    	if (nivel < contCombo) {
    		//Atualiza o campo hidden com os ids tov selecionado
    		while(contComboFil>0){
				lstTopTela = $('#filtrosId').val().split(',');
				lstTopTela = lstTopTela.slice(0, (lstTopTela.length-1)).toString();
				$('#filtrosId').val(lstTopTela);
				contComboFil--;
			}

    		//Remove da tela os combos que não são da opção selecionada
    		if(contProduto>0){
    			$('div#continuar', '#passos').remove();
    		}
            for (var i = contCombo; i > nivel; i--) {
            	var combo = ($("select#combo-" + i).size());
            	alert('#combo-' + i + ': ' + parseInt(combo));
            	if(parseInt(combo)>0)
        			$("select#combo-" + i).parent().remove();
            }
        }

    	//Atualiza os campos hidden categoriaId ou filtrosId, com a opção selecionada
		if(divresult=='filtro'){
			categoriaId = $("#categoriaId").val();
			var objId = $('#filtro span:last-child').attr('id');
			var tovId = $('select', $('#filtro span:last-child')).val();
			lstTopTela = $('#filtrosId').val();
			if(lstTopTela!='')
				lstTopTela = lstTopTela + ',' + objId + '::' + tovId;
			else
				lstTopTela = objId + '::' + tovId;
			$('#filtrosId').val(lstTopTela);
			String(lstTopTela);
		}else{
			$("#categoriaId").val(categoriaId);
		}
		//

		$.ajax({
			async: false,
	        type: 'post',
	        url: url,
	        data: parametros + categoriaId + '&nivel=' + nivel + '&topTela=' + lstTopTela,
	        beforeSend: function(){
	        },
	        complete: function(xml, text){
	        	var resp = xml.responseText;

	        	if(resp!=''){
	        		expReg = /alt="[a-z]+"/;
		        	var div = String(resp.match(expReg)).split('=')[1];
		        	if(div!=null){
		        		divresult = div.slice(1, div.length-1);
		        		$('#'+divresult).append(resp);
	        		}else
		        		$('html').html(resp);
	        	}
	        }
	    });
	},
	continuar: function(){
		$('#frmPasso1').submit();
	}
}

function excluirImagem(url, perform, ofertaId, catId, imgId){
	var resposta = confirm("Deseja realmente excluir a imagem?")
	if(resposta){
		$.ajax({
			type: 'post',
			data: 'perform='+perform+'&ofertaId='+ofertaId+'&categoriaId='+catId+'&imagemId='+imgId,
			url: url,
			beforeSend:function(){},
			complete: function(xml, text){
				$('#imagensOferta').html(xml.responseText);
			}
		});
	}
}

function gerarCampoUrl(){
	var count = parseInt($('#count').val());
	var total = count+1;
	$('#divUrl'+count).html('<label> Url para produto(s) <span class="small">Formato: http://link.com/</span></label> <input type="text" id="link" name="urls['+count+']" value="" onkeyup="addHTTP(this)" onblur="onblurHTTP(this);"/> <div id="divUrl'+total+'"><input type="button" onclick="gerarCampoUrl()" value="Novo"/></div>');
	$('#count').val(total);
}

function redirecionamentoExcluir(url){
	var resposta = confirm("Deseja realmente excluir esta URL?")
	if(resposta){
		window.location = url;
	}
}

function carregarTweets(url, perform, twitter){
	$.ajax({
			type: 'post',
			data: 'perform='+perform+'&twitter='+twitter,
			url: url,
			beforeSend:function(){
				$('#tweets').html("<img src=\"../images/admin/loader.gif\" /><br /> <strong>--------- Carregando updates do twitter...---------</strong>");
			},
			complete: function(xml, text){
				$('#tweets').html(xml.responseText);
			}
		});
}

