/*//================================== AJAX =========================================
// global flag
var isIE = false;

// global request and XML document objects
var req;

var tipo;

// controla o tipo de envio da requisição
var tipo_envio = "GET";

// contém o formulário para envio (usado para o método post)
var form_envio;

// =====
function loadXMLDoc(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
	   req = new XMLHttpRequest();
	   req.onreadystatechange = processReqChange;
	   req.open(tipo_envio, url, true);
	   if (tipo_envio == "POST") {
	   	   req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	   	   req.send(get(form_envio));
	   } else
	   		req.send(null);
	   // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
			 isIE = true;
			 req = new ActiveXObject("Microsoft.XMLHTTP");
			 if (req) {
				req.onreadystatechange = processReqChange;
				var form_string = get(form_envio);
				req.open(tipo_envio, url, true);
				if (tipo_envio == "POST") {
	   	   			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	   	   			req.send(get(form_envio));
	   	   		} else 
	   	   			req.send();

			 }
		  }
}

function get(obj) {
  if (obj) {
	  // come from: http://www.captain.at/howto-ajax-form-post-get.php
	  var getstr = "";
	  for (i=0; i<obj.elements.length; i++) {
		   campo = obj.elements[i];
		   switch (campo.type) {
		   		case "textarea":
				case "password":
				case "hidden":
				case "text":  getstr += campo.name + "=" + campo.value; break;
	
				case "radio": if (campo.checked)
					                 getstr += campo.name + "=" + campo.value;
							   break;
	
				case "checkbox": if (campo.checked)
									  getstr += campo.name + "=" + campo.value;
									  else
										getstr += campo.name + "=";
								    break;
	
				case "select-one": getstr += campo.name + "=" + campo.value;
								   break;
		   }
		   getstr += "&";
	  }
	
	  getstr =  getstr.substr(0, getstr.length-2);
	  return getstr;
  }
}

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {

	   // only if "OK"
	   if (req.status == 200) {
		  switch (tipo) {
			 case "listaOrcamento":  listaOrcamento();  break;
			 case "retornoNews":	 retornoNews();     break;
			 case "mostraMsg":		 mostraMsg(); 	    break;
			 case "mostraPaginacao": mostraPaginacao(); break;
		  }
		  //tipo_envio = "GET";
	   } else {
		  alert("There was a problem retrieving the XML data:\n" +		req.statusText);
		}
    }
}
*/
//===========================================================================



//===========================================================================
// FUNÇÕES DA PÁGINA PRINCIPAL
//===========================================================================
 function mostraDetalhes(codProd) {
 		 
		 bt = document.getElementById("prod_"+codProd+"link");
		 bt.className = bt.className == "detalhes-ocultar" ? "detalhes-prod" : "detalhes-ocultar";
		 
		 if (bt.className == "detalhes-ocultar")
		 	 fetchAndShowInlineSpecs("../includes/mostra_detalhe.php?codigo="+codProd+"&area=produto", "prod_"+codProd, false);
		 	 else
		 	 	hideInlineSpecs("prod_"+codProd, "../includes/mostra_detalhe.php?codigo="+codProd+"&area=faq", false);
		 
	 }


 function validaProduto(codigo, acao) {

	  var container = document.getElementById("produto_" + codigo);

	  if (codigo != "" && acao != "") {

		if (acao == "inserir")
		   container.innerHTML = "<a class=\"remove-prod\" href=\"javaScript:;\" onClick=\"validaProduto("+codigo+", 'excluir', 'produto_"+codigo+"')\"><span class=\"escondido\">Remover</span></a>";
		   else if (acao == "excluir")
		   		    container.innerHTML = "<a class=\"adicionar-prod\" href=\"javaScript:;\" onClick=\"validaProduto("+codigo+", 'inserir', 'produto_"+codigo+"')\"><span class=\"escondido\">Adicionar produtos</span></a>";

		controlaOrcamento(codigo, acao);

	  }
  }

  function controlaOrcamento(codigo, acao) {

	  if (codigo != "" && acao != "") {
		 url   = "../includes/controla_carrinho.php?produto=" + codigo + "&acao=" + acao;
		 tipo = "listaOrcamento()";
		 loadXMLDoc(url);

		 obj_produto = document.getElementById("produto_" + codigo);
		 if (obj_produto) {
			if (acao == "excluir")
			    obj_produto.innerHTML = "<a class=\"adicionar-prod\" href=\"javaScript:;\" onClick=\"validaProduto("+codigo+", 'inserir', 'produto_"+codigo+"')\"><span class=\"escondido\">Adicionar produtos</span></a>";
			    else 
				   obj_produto.innerHTML = "<a class=\"remove-prod\" href=\"javaScript:;\" onClick=\"validaProduto("+codigo+", 'excluir', 'produto_"+codigo+"')\"><span class=\"escondido\">Remover</span></a>";
		 }

		textoIncluido = document.getElementById("textoIncluido_" + codigo);
		if (textoIncluido)
			if (acao == "excluir")
			    textoIncluido.style.display = "none";
			    else 
				    textoIncluido.style.display = "block";
	  }
  }
  
  var stausOrcamento = "fechado";
  
  function fechaOrcamento() {
  	hideInlineSpecs('geral', '../includes/orcamento.php?mostrabotao=no'); 
  	stausOrcamento = "fechado";
  	return false;  	
  }  
  
  function abreOrcamento() {

  		botao = document.getElementById("gerallink");
  		botao.blur();
  	
  		if (stausOrcamento == "fechado") {
  			fetchAndShowInlineSpecs('../includes/orcamento.php?mostrabotao=no', 'geral', false);
  			stausOrcamento = "aberto";
  			botao.className = "gerallink2";
  			return false;
  		} else {
  			botao.className = "gerallink";
  			fechaOrcamento();
  		}
  }

  var paginacao = false;
  function listaOrcamento() {
		var exibeOrcamento = document.getElementById("listaOrcamento");
		var texto   = req.responseText;
		if (texto.length > 0) {
		   exibeOrcamento.innerHTML = texto;
		}
		
		if (paginacao) {
			url  = "../includes/mostra_paginacao.php";
			tipo = "mostraPaginacao()";
			paginacao = false;
			loadXMLDoc(url);			
		}
  }
  
  function alteraQtde (codigo, qtde) {
  		if (codigo != "" && qtde != "") {  			
  			num_qtde = qtde;
  			tipo = "listaOrcamento()";
  			url  = "../includes/muda_qtde.php?codigo=" + codigo + "&qtde=" + qtde;
  			loadXMLDoc(url);
		}
  }

  function buscaPalavrasOrcamento(texto) {	
		if (texto.length >= 3) {
		    url = "../includes/filtra_orcamento.php?texto=" + texto;
		    tipo = "listaOrcamento()";
		    loadXMLDoc(url);
		}
  }
  
  
  var ordem = "";
  function ordenaLista(campo) {
  	 var ordenacao;
  	 var img_ordem = document.getElementById("img_ordem_" + campo);
  	 
  	 if (ordem == "") {
  	     ordem = "ASC";
  	 }   else if (ordem == "ASC") {
  	     		  ordem = "DESC";
  	     	  } else {
  	     		  	ordem = "";
  	     		  	}
  	 
  	 switch (campo) {
	   	case "codigo":  ordenacao = "PRO_SEQ " + ordem;
		   	 		    break;
		   	 		   
	   	case "unidade": ordenacao = "MED_DSC_SIGLA " + ordem;
		   	 		    break;
		   	 		   
	   	case "nome":    ordenacao = "PRO_DSC_NOME " + ordem;
		   	 		    break;						   			 
	   }
	   
	url = "../includes/filtra_orcamento.php?ordem=" + ordenacao;

    tipo = "listaOrcamento()";
	loadXMLDoc(url);
  }

  function validaNewsletter() {
     var nome = document.getElementById("nome");
     var email = document.getElementById("email");
	
	if (validaVazio(nome, "Por favor, informe seu nome."))
	   return;

	if (validaVazio(email, "Por favor, informe seu email."))
	   return;

	if (!valida_mail(email.value)) {
	   alert("O E-mail informado não parece ser válido.");
	   return;
	}
    
    url = "../home/cadastra_news.php?nome=" + nome.value  + "&email=" + email.value;
    tipo = "retornoNews()";
    loadXMLDoc(url);
	    
  }

  function retornoNews() {
	   var exibeRetorno = document.getElementById("news");
	   var texto   = req.responseText;
	   if (texto.length > 0) {
	      exibeRetorno.innerHTML = texto;
	   }	
  }
  
  function controlaQtde(link, codigo) {
			link.innerHTML = link.innerHTML == "" ? document.getElementById("inp"+codigo).value : "";		    
  }
 
  function controlaInput(obj) {
			span = document.getElementById("span"+obj);
		    div   = document.getElementById("div"+obj);
		    span.style.display = "none";
		    div.style.display   =  "block";
  }

 function produto(qtde) {}
 
 function imprimeProdutos() {
 	window.open("../produtos/print.php","printProd","width=565, height=500");
 }

//===========================================================================


//===========================================================================
// PÁGINA DE LOGIN E CADASTRO
//===========================================================================

	function validaEmail(form) {
		
		if (form.email.value == "") {
		    document.getElementById("primeiroAcesso").style.display = "none";
		    document.getElementById("validacao").innerHTML = "Campos obrigat&oacute;rios: <strong>email</strong>";
		    document.getElementById("validacao").style.display = "block";
		    form.email.className = "box-cadastro2";
		    return false;
		}

		if (!valida_mail(form.email.value)) {
		    document.getElementById("primeiroAcesso").style.display = "none";
		    document.getElementById("validacao").innerHTML = "O E-mail informado n&atilde;o parece ser <strong>v&aacute;lido.</strong>";
		    document.getElementById("validacao").style.display = "block";
		    return false;
		}

		mostraImgLoading();
		dlg0.show();
		url = "../cadastro/checa_usuario.php";
		tipo = "mostraMsg()";
		tipo_envio = "POST";
		form_envio = document.getElementById("frmNovoCadastro");
		loadXMLDoc(url);
		return false;

	}

	function validaEmailModal(form) {
		
		if (validaVazio(form.email, "Por favor, informe o email"))
			return false;
			
		if (!valida_mail(form.email.value))	{
			alert("O email digitado não parece ser válido");
			return false;
		}
				
		mostraImgLoading();
		dlg0.show();
		url = "../cadastro/checa_usuario.php?email="+form.email.value;
		tipo = "mostraMsg()";
		tipo_envio = "POST";
		form_envio = document.getElementById("frmNovoCadastro");
		loadXMLDoc(url);
		return false;
					
	}


	function validaCadastro(form) {
		
		var erro = 0;
		var borda_erro = "2px solid #F28300";

		if (form.nome.value == "")	{
		    erro++;
		    form.nome.style.border = borda_erro;
		}

		if (form.apelido.value == "")	{
		    erro++;
		    form.apelido.style.border = borda_erro;
		}

		if (form.senha.value == "")	{
		    erro++;
		    form.senha.style.border = borda_erro;
		}

		if (form.confirma.value == "")	{
		    erro++;
		    form.confirma.style.border = borda_erro;
		}
		
		if (form.logradouro.value == "")	{
		    erro++;
		    form.logradouro.style.border = borda_erro;
		}

		if (form.numero.value == "")	{
		    erro++;
		    form.numero.style.border = borda_erro;
		}

		if (form.bairro.value == "")	{
		    erro++;
		    form.bairro.style.border = borda_erro;
		}

		if (form.cep.value == "")	{
		    erro++;
		    form.cep.style.border = borda_erro;
		}

		if (form.cidade.value == "")	{
		    erro++;
		    form.cidade.style.border = borda_erro;
		}

		if (form.estado.value == "")	{
		    erro++;
		    form.estado.style.border = borda_erro;
		}

		if (form.telefone.value == "")	{
		    erro++;
		    form.telefone.style.border = borda_erro;
		}

		if (!valida_mail(form.email.value))	{
		    erro++;
		    document.getElementById("validacao1").innerHTML = "O campo e-mail n&atilde;o parece ser <strong>v&aacute;lido</strong>";
		    document.getElementById("validacao2").innerHTML = "O campo e-mail n&atilde;o parece ser <strong>v&aacute;lido</strong>";
		}

		if (form.senha.value != form.confirma.value)	{
		    erro++;
		    document.getElementById("validacao1").innerHTML = "Por favor, informe a <strong>senha</strong>";
		    document.getElementById("validacao2").innerHTML = "Por favor, informe a <strong>senha</strong>";
		    form.senha.style.border = borda_erro;
		    form.confirma.style.border = borda_erro;
		}

		
		if (erro > 0) {
		    document.getElementById("validacao1").style.display = "block";
		    document.getElementById("validacao2").style.display = "block";
		    return false
		} else {
			 mostraImgLoading();
			 dlg0.show();
			 url = "../cadastro/cadastra_cliente.php";
			 tipo = "mostraMsg()";
			 tipo_envio = "POST";
			 form_envio = form;
			 loadXMLDoc(url);			
		     return false;
		    }
	}
	
	function validaLogin(form) {
		if (validaVazio(form.email, "Por favor, informe o email"))
			return false;
			
		if (!valida_mail(form.email.value))	{
			alert("O email digitado não parece ser válido");
			return false;
		}
				
		if (validaVazio(form.senha, "Por favor, informe a senha"))
			return false;

		mostraImgLoading();
		dlg0.show();
		url = "../cadastro/loga.php";
		tipo = "mostraMsg()";
		tipo_envio = "POST";
		form_envio = form;
		loadXMLDoc(url);		
		return false;
					
	}
//===========================================================================


//===========================================================================
// FUNÇÕES GENÉRICAS
//===========================================================================

function valida_mail(valor) {
	   prim = valor.indexOf("@")
	   if(prim < 1) return false;
	   if(valor.indexOf("@",prim + 1) != -1) return false;
	   if(valor.indexOf(".") < 1) return false;
	   if(valor.indexOf("zipmeil.com") > 0) return false;
	   if(valor.indexOf("hotmeil.com") > 0) return false;
	   if(valor.indexOf(".@") > 0) return false;
	   if(valor.indexOf("@.") > 0) return false;
	   if(valor.indexOf(".com.br.") > 0) return false;
	   if(valor.indexOf("/") > 0) return false;
	   if(valor.indexOf("[") > 0) return false;
	   if(valor.indexOf("]") > 0) return false;
	   if(valor.indexOf("(") > 0) return false;
	   if(valor.indexOf(")") > 0) return false;
	   if(valor.indexOf("..") > 0) return false;
	   if(valor.indexOf(",") > 0) return false;
	   return true;

}

function validaVazio(obj, msgErro) {
    if (obj.value == "") {
	   alert(msgErro);
	   obj.focus();
	   return true;
    }
    return false;
}

function mostraImgLoading() {
	document.getElementById("container_box").innerHTML = "<img src=\"../img/loading.gif\">";
}

//===========================================================================


//===========================================================================
// CONTROLA OS ESTILOS DAS PERGUNTAS E DAS RESPOSTAS
//===========================================================================
var faqAntigoResposta;
var faqAntigoPergunta;
function controlaFaq(codFaq, acao) {
	
	if (faqAntigoResposta && faqAntigoPergunta != "estiloPergunta"+codFaq) {
		hideInlineSpecs(faqAntigoResposta, "../includes/mostra_detalhe.php?codigo="+codFaq+"&area=faq", false);
		document.getElementById(faqAntigoPergunta).className = "fechado";
	}
	
	if (acao == "open") {
		estilo = "aberto";
		fetchAndShowInlineSpecs("../includes/mostra_detalhe.php?codigo="+codFaq+"&area=faq", "conteudo-resp"+codFaq, false);
	} else if (acao == "close") {
		estilo = "fechado";
		hideInlineSpecs("conteudo-resp"+codFaq, "../includes/mostra_detalhe.php?codigo="+codFaq+"&area=faq", false);
	}
	
	//alert(acao);
	document.getElementById("estiloPergunta"+codFaq).className = estilo;	
	faqAntigoResposta = "conteudo-resp"+codFaq;
	faqAntigoPergunta = "estiloPergunta"+codFaq;
	
	
}
//===========================================================================


function finalizaPedido(){
	url  = "../cadastro/finaliza_pedido.php";
	tipo = "mostraMsg()";
	loadXMLDoc(url);	 
}

function mostraMsg() {
   var exibeRetorno = document.getElementById("container_box");
   var texto   = req.responseText;
   if (texto.length > 0) {
	   // verifica se tem redirecionamento
	   var pos = texto.indexOf("=>");
	   if (pos > 0) {
		  link = texto.substr(pos+2);
	       location.href = link;
	   } else {
		    exibeRetorno.innerHTML = texto;
		    var btn = document.getElementById("hider0");
		    dlg0.setCloseControl(btn);	   
	   }
    
   }
}

//===========================================================================
// VALIDA O FORMULÁRIO DE CONTATO
//===========================================================================
	function validaContato(form) {
		
		var erro = 0;
		var borda_erro = "2px solid #F28300";
		var obrigatorios = "O(s) campo(s) ";

		if (form.nome.value == "")	{
		    erro++;
		    obrigatorios += "<b>Nome, </b>";
		    form.nome.style.border = borda_erro;
		}

		if (form.email.value == "")	{
		    erro++;
		    obrigatorios += "<b>E-mail, </b>";
		    form.email.style.border = borda_erro;
		}
		
		if (form.assunto.value == "")	{
		    erro++;
		    obrigatorios += "<b>Assunto, </b>";
		    form.assunto.style.border = borda_erro;
		}

		if (form.msg.value == "")	{
		    erro++;
		    obrigatorios += "<b> Mensagem</b>";
		    form.msg.style.border = borda_erro;
		}
		
		// tira a última vírgula da mensagem
		if (obrigatorios.substr(obrigatorios.length-6) == ", </b>")
			obrigatorios = obrigatorios.substr(0, obrigatorios.length-6) + "</b>";
			
		obrigatorios += " é(são) obrigatório(s)";

		if (erro == 0) {
			if (!valida_mail(form.email.value))	{
			    erro++;
			    document.getElementById("validacao1").innerHTML = "O campo e-mail n&atilde;o parece ser <strong>v&aacute;lido</strong>";
			    document.getElementById("validacao2").innerHTML = "O campo e-mail n&atilde;o parece ser <strong>v&aacute;lido</strong>";
			}		
		} else {
		    document.getElementById("validacao1").innerHTML = obrigatorios;
		    document.getElementById("validacao2").innerHTML = obrigatorios;			
		}
		
		if (erro > 0) {
		    document.getElementById("validacao1").style.display = "block";
		    document.getElementById("validacao2").style.display = "block";
		    return false
		} else {
			 mostraImgLoading();
			 dlg0.show();
			 url = "../contato/grava_contato.php";
			 tipo = "mostraMsg()";
			 tipo_envio = "POST";
			 form_envio = document.getElementById("frmContato");
			 loadXMLDoc(url);			
		     return false;
		    }
	}
//===========================================================================


function validaPaginacaoCarrinho(pg) {
	if (pg != "") {
		url = "../includes/paginacao_carrinho.php?pg=" + pg;
		tipo = "listaOrcamento()";
		paginacao = true;
		loadXMLDoc(url);
	}
}

function mostraPaginacao() {
		var exibePaginacao = document.getElementById("paginacao");
		var texto   = req.responseText;
		if (texto.length > 0) {
		   exibePaginacao.innerHTML = texto;
		}	
}


// controla o envio da senha
function envia_senha(lightbox) {

	form = lightbox ? document.frmLogaLight : document.frmLoga;
	
	if (validaVazio(form.email, "Por favor, informe o e-mail")) {
		form.email.focus();
		return;
	}
	
	if (!valida_mail(form.email.value)) {
		alert("O e-mail informado não parece ser válido");
		document.frmLoga.email.focus();
		return;		
	}
	
	mostraImgLoading();
	dlg0.show();
	url = "../cadastro/envia_senha.php?email=" + form.email.value;
	tipo = "mostraMsg()";
	form_envio = document.getElementById("frmLoga");
	loadXMLDoc(url);
	return;	
	
}
