//---------------------------------------------INSTANCIA O AJAX-----------------------------------------
//FUNÇÃO: @criaObjetoAjax()
//DESCRIÇÃO: Cria o objeto httpxml para transação assíncrona de dados
//RETORNO: Retorna objeto httpxml via a variável objeto
//------------------------------------------------------------------------------------------------------
function criaObjetoAjax() 
	{
		if(window.XMLHttpRequest) 
			{
				try 
					{
						objeto = new XMLHttpRequest();
					} catch(e)
						{
							objeto = false;
						}
			} else if(window.ActiveXObject) 
				{
				try 
					{
						objeto = new ActiveXObject("Msxml2.XMLHTTP");
					} catch(e)
						{
						try {
								objeto = new ActiveXObject("Microsoft.XMLHTTP");
							} catch(e) 
								{
									objeto = false;
								}
						}
				}
			return objeto;
	}
//-------------------------------------CRIA O MÉTODO DE ENVIO------------------------
//FUNÇÃO: @fazRequest
//DESCRIÇÃO: Cria o método de envio assincrono, chamando a função @criaObjetoAjax
//PARÂMETROS: string url 			 =>(Guarda a Url para onde deve ser enviada);
//			  string metodo 		 =>(Especifica o Método de envio POST OU GET);
//			  string funcao_retorno  =>(Nome da função de retorno);
//RETORNO:
//-----------------------------------------------------------------------------------
function fazRequest(url,metodo,funcao_retorno,div_resp,aparecer)
	{
//o metodo pode ser GET ou POST
		objAjax = criaObjetoAjax();
		try
			{
				objAjax.open(metodo, url, true);
				objAjax.setRequestHeader('Content-Type',"text/xml");
				objAjax.onreadystatechange = function()
					{
						if (objAjax.readyState==4)
							{
								retornoHTML = objAjax.responseXML;
								mostraCarregando(div_resp,1,'');
								eval(funcao_retorno+'(retornoHTML,div_resp,aparecer)');
							}
					}
				objAjax.send(null);
			}catch(e)
				{
					alert('Falha na comunicação.');
				}
			finally{}
				mostraCarregando(div_resp,1,"<span style='color:#EE0000'><strong>Processando...</strong></span>");
	}
//-----------------------------------------------MOSTRA CARREGANDO---------------------------------------------------
//NOME: @mostraCarregando
//DESCRIÇÃO: Mostra barra de processamento de dados (Carregamento)
//PARAMÊTROS: string obj_div	=>	(Div onde a barra deve ser mostrada);
//			  bool 	 on_off		=>	(se verdadeiro ou 1 ele exibe a div, caso false ou 0 ele não mostra);	
//			  string msg		=>	(Mensagem a ser exibida);
//-------------------------------------------------------------------------------------------------------------------
function mostraCarregando(obj_div,on_off,msg)
	{
		if(on_off == 1)
			{
				container_status = document.getElementById(obj_div);
				container_status.innerHTML = msg;
				container_status.style.visibility = 'visible';
			}else
				{
					container_status = document.getElementById(obj_div);
					container_status.innerHTML = "";
					container_status.style.visibility = 'hidden';
				}
	}
//-----------------------------------------------RESPOSTA---------------------------------------------------
//NOME: @carregaDados
//DESCRIÇÃO: Carrega os dados retornados
//PARAMÊTROS: var respostaHTML	=>	Resposta retornada em HTML;
//--------------------------------------------------------------------------------------------------------
function esqueci(respostaHTML,div_resp)
	{
		var itens = respostaHTML.getElementsByTagName('item').getAttribute("label");
		document.getElementById(div_resp).innerHTML = itens;
	}		
//-----------------------------------------------ENVIAR---------------------------------------------------
//NOME: @buscarPlanos
//DESCRIÇÃO: Monta a Url e chama a Função fazRequest que faz toda a chamada AJAX
//PARAMÊTROS: var id		=> (Envia o valor do código);
//			  var div_resp	=> (Container de resposta)
//--------------------------------------------------------------------------------------------------------
function calculaFrete(url,tipofrete,pesototal,cepDestino,vlDeclarado,funcao_retorno,resposta)
	{
		if(tipofrete=="")
			{
				alert("Por favor, selecione o tipo da encomenda!");
				return false;
			}else if(cepDestino=="")
				{
					alert("Por favor, digite o CEP de destino!");
					return false;
				}else if(cepDestino.length<8)
					{
						alert("Digite seu CEP corretamente.\nEx.: 99999999.");
						return false;
					}else if(pesototal=="0")
						{
							alert("Não tem como calcular o frete com seu carrinho vazio!");
							return false;
						}else
							{
								fazRequest(url+"?cepDestino="+cepDestino+"&tipofrete="+tipofrete+"&pesototal="+pesototal+"&vlrDeclarado="+vlDeclarado,'POST',funcao_retorno,resposta);
							}
	}	
//-----------------------------------------------CARREGAR DADOS---------------------------------------------------
//NOME: @carregaDados
//DESCRIÇÃO: Carrega os dados retornados
//PARAMÊTROS: var respostaHTML	=>	Resposta retornada em HTML;
//--------------------------------------------------------------------------------------------------------
function carregaDados(respostaHTML,div_resp,aparecer)
	{
		combo = document.getElementById(div_resp);
		combo.innerHTML = respostaHTML;
	}
//-----------------------------------------------RESPOSTA---------------------------------------------------
//NOME: @carregaDados
//DESCRIÇÃO: Carrega os dados retornados
//PARAMÊTROS: var respostaHTML	=>	Resposta retornada em HTML;
//--------------------------------------------------------------------------------------------------------
function carregaFrete(respostaHTML,div_resp,aparecer)
	{
		var itens = respostaHTML.getElementsByTagName('item');
		if(itens[0].getAttribute("label")!="0,00")
			{
				document.getElementById('total').innerHTML=itens[1].getAttribute("label");
				document.getElementById(div_resp).innerHTML=itens[2].getAttribute("label");
			}else
				{
					alert("Seu pedido é muito especial!\nEntre em contato conosco clicando no link contato no menu, ou pelo telefone (62) 3091-4955.");
					document.getElementById('total').innerHTML=itens[1].getAttribute("label");
					document.getElementById(div_resp).innerHTML=itens[2].getAttribute("label");
				 }
	}	
//------------------------------------------------MOSTRA FORM-------------------------------------------
//NOME: @mostraform
//DESCRIÇÃO: mostra o restante do formulário escondido
//PARAMÊTROS: var id_div	=>	A ID da div escondida
//------------------------------------------------------------------------------------------------------
function mostraForm(valor,id_div)
	{
		if(valor!=="")
			{
				document.getElementById(id_div).style.visibility = 'visible';	
			}
			else
				{
					document.getElementById(id_div).style.visibility = 'hidden';	
				}
	}
function esqci_senha(url,valor,resposta)
	{
		var url = url+"?email="+valor;
		fazRequest(url,'POST','esqueci',resposta);
	}