/*############################ FUNÃ‡ÃƒO QUE CRIA O OBJETO XMLHttpRequest #############################*/

/*Conexao assincrona
open(mode, url, boolean)

mode = Tipo de requisiÃ§Ã£o GET ou POST;

url = URL do objeto solicitado no modo assÃ­ncrono, pro questÃµes de seguranÃ§a. O
Firefox nÃ£o permite que a URL esteja em um servidor diferente da pÃ¡gina que esta
fazendo a solicitaÃ§Ã£o.

boolean: true (assÃ­ncrono) ou false (sÃ­ncrono).

send() Ã‰ o mÃ©todo SEND que ativa a conexÃ£o e faz a requisiÃ§Ã£o de informaÃ§Ãµes ao
documento aberto pelo mÃ©todo OPEN. Este mÃ©todo possui somente um parÃ¢metro que
serve para enviarmos dados extras ao documento que estamos acessando. Usamos este
parÃ¢metro quando, por exemplo, no mÃ©todo OPEN, acessamos o documento com POST
ao invÃ©s de GET, neste caso os dados do POST sÃ£o passados neste parÃ¢metro de SEND.

/*Valores de retorno do readystate
0 (uninitialized);
1 (a carregar);
2 (carregado);
3 (interativo);
4 (completo);
*/
function openajax() { 
	//cria a variavel xmlhttp;
    var xmlhttp;
	//verifica se o browser tem suporte a ajax 
    try { //IE atuais
        xmlhttp = new XMLHttpRequest();
    } catch(e) {
        try { //IE antigos
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(ex) {
            try { //Mozilla
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(exc) {
                alert("Esse browser nÃ£o tem recursos para uso do Ajax");
                xmlhttp = null;
            }
        }
    }
    return xmlhttp;
    /* Retorna um Boleano*/
}
/*############# FUNÃ‡ÃƒO CARREGA PAGINAS DO CONTEÃšDO PAGINAS SEM RELOAD #############*/
function carrega_pagina (pagina, parametro){
	if(parametro.indexOf("#p=")!=-1) {
	//if(verificaURLajax() == true) {
		var url_atual = window.location.href;
		//alert('teste - '+url_atual);
		index1 = url_atual.indexOf("#");
		index2 = url_atual.indexOf("?");
		//if(index2 != -1) {
			sub_url_atual = url_atual.substring(index2, url_atual.length);
		//} else {
			//sub_url_atual = url_atual.substring(0, index1);
		//}
		//alert(' ---1 '+sub_url_atual);
		var nova_url = url_atual.replace(sub_url_atual,'')+parametro;
		//alert(' ---2 '+nova_url);
		window.location.href = nova_url.replace('#', '?');		
	} else {

		var ajax = openajax(); /* Chama a FunÃ§Ã£o que Instancia o AJAX */	
		var carregando = document.getElementById('carregando');	
		var conteudo = document.getElementById('conteudo');
		ajax.open("GET", pagina, true);
	    /* ajax.open = Abri uma SolicitaÃ§Ã£o ao Navegador */
	    /* GET = MÃ©todo Usado */
	    /* plink = pagina que tratara o solicitado */
	    /* true = Assicrono ou nÃ£o = Dando o Refresh no Browser ou Nao*/
	    ajax.onreadystatechange = function() {
	        /* ajax.onreadystatechange = O que ele fara de acordo com o tempo de execuaÃ§Ã£o*/
	        if (ajax.readyState < 4) {
	            carregando.style.display = 'block';
				conteudo.style.display = 'none';
				/* ajax.readystate = Estado que se encontra a RequisiÃ§Ã£o*/			
	        }
	        if (ajax.readyState == 4) {
	            if (ajax.status == 200) {
					var res = ajax.responseText;               
					carregando.style.display = 'none';	
					conteudo.style.display = 'block';				
					conteudo.innerHTML = res;
					extraiScript(res);
					
	            }
	        }        
	    }
	    ajax.send(null);
	}
}


function carrega_thumb (pagina){
	var ajax = openajax(); /* Chama a FunÃ§Ã£o que Instancia o AJAX */	
	var carregando_thumb = document.getElementById('carregando_thumb');	
	var conteudo_thumb = document.getElementById('conteudo_thumb');
	ajax.open("GET", pagina, true);
    /* ajax.open = Abri uma SolicitaÃ§Ã£o ao Navegador */
    /* GET = MÃ©todo Usado */
    /* plink = pagina que tratara o solicitado */
    /* true = Assicrono ou nÃ£o = Dando o Refresh no Browser ou Nao*/
    ajax.onreadystatechange = function() {
        /* ajax.onreadystatechange = O que ele fara de acordo com o tempo de execuaÃ§Ã£o*/
        if (ajax.readyState < 4) {
            carregando_thumb.style.display = 'block';
			conteudo_thumb.style.display = 'none';
			/* ajax.readystate = Estado que se encontra a RequisiÃ§Ã£o*/			
        }
        if (ajax.readyState == 4) {
            if (ajax.status == 200) {
				var res = ajax.responseText;               
				carregando_thumb.style.display = 'none';	
				conteudo_thumb.style.display = 'block';				
				conteudo_thumb.innerHTML = res;
				extraiScript(res);
				//initialize();
            }
        }        
    }
    ajax.send(null);
}

function extraiScript(texto){
//desenvolvido por Skywalker.to, Micox e Pita.
//http://forum.imasters.uol.com.br/index.php?showtopic=165277
var ini, pos_src, fim, codigo;
var objScript = null;
ini = texto.indexOf('<script', 0)
while (ini!=-1){
var objScript = document.createElement("script");
//Busca se tem algum src a partir do inicio do script
pos_src = texto.indexOf(' src', ini)
ini = texto.indexOf('>', ini) + 1;

//Verifica se este e um bloco de script ou include para um arquivo de scripts
if (pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
//Marca como sendo o inicio do nome do arquivo para depois do src
ini = pos_src + 4;
//Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
fim = texto.indexOf('.', ini)+4;
//Pega o nome do arquivo
codigo = texto.substring(ini,fim);
//Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
// Adiciona o arquivo de script ao objeto que sera adicionado ao documento
objScript.src = codigo;
}else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
// Procura o final do script
fim = texto.indexOf('</script>', ini);
// Extrai apenas o script
codigo = texto.substring(ini,fim);
// Adiciona o bloco de script ao objeto que sera adicionado ao documento
objScript.text = codigo;
}

//Adiciona o script ao documento
document.body.appendChild(objScript);
// Procura a proxima tag de <script
ini = texto.indexOf('<script', fim);
//Limpa o objeto de script
objScript = null;
}
}

/*##################################################################################################*/

/*############# FUNÃ‡ÃƒO CARREGA PAGINAS DO CONTEÃšDO PAGINAS SEM RELOAD #############*/
function carrega_dados (){
	var ajax = openajax(); /* Chama a FunÃ§Ã£o que Instancia o AJAX */	
	ajax.open("GET", 'confirma_pedido.php', true);
    /* ajax.open = Abri uma SolicitaÃ§Ã£o ao Navegador */
    /* GET = MÃ©todo Usado */
    /* plink = pagina que tratara o solicitado */
    /* true = Assicrono ou nÃ£o = Dando o Refresh no Browser ou Nao*/
    ajax.onreadystatechange = function() {
        /* ajax.onreadystatechange = O que ele fara de acordo com o tempo de execuaÃ§Ã£o*/
        if (ajax.readyState == 4) {
            if (ajax.status == 200) {
				var res = ajax.responseText;			
				document.getElementById('ref_transacao').value = res;
				document.getElementById('form_pag_seguro').submit();
            }
        }        
    }
    ajax.send(null);
}
/*##################################################################################################*/

/*############# FUNÃ‡ÃƒO CARREGA PAGINAS DO CONTEÃšDO PAGINAS SEM RELOAD #############*/
function carrega_carrinho(pagina){
	var ajax = openajax(); /* Chama a FunÃ§Ã£o que Instancia o AJAX */	
	var carregando = document.getElementById('carregando');	
	var conteudo = document.getElementById('div_carrinho');
	ajax.open("GET", pagina, true);
    /* ajax.open = Abri uma SolicitaÃ§Ã£o ao Navegador */
    /* GET = MÃ©todo Usado */
    /* plink = pagina que tratara o solicitado */
    /* true = Assicrono ou nÃ£o = Dando o Refresh no Browser ou Nao*/
    ajax.onreadystatechange = function() {
        /* ajax.onreadystatechange = O que ele fara de acordo com o tempo de execuaÃ§Ã£o*/
        if (ajax.readyState < 4) {
            carregando.style.display = 'block';
			conteudo.innerHTML = '';
			/* ajax.readystate = Estado que se encontra a RequisiÃ§Ã£o*/			
        }
        if (ajax.readyState == 4) {
            if (ajax.status == 200) {
				var res = ajax.responseText;               
				carregando.style.display = 'none';	
				//conteudo.innerHTML = 'block';				
				conteudo.innerHTML = res;				
            }
        }        
    }
    ajax.send(null);
}
/*##################################################################################################*/

function ajax(url) 
{ 
	req = null; 
	// Procura por um objeto nativo (Mozilla/Safari) 
	if (window.XMLHttpRequest) { 
		req = new XMLHttpRequest(); 
		req.onreadystatechange = processReqChange; 
		req.open("GET",url,true); 		
		req.send(null); 
	// Procura por uma versÃ£o ActiveX (IE) 
	} else if (window.ActiveXObject) { 
		req = new ActiveXObject("Microsoft.XMLHTTP"); 
		if (req) { 
			req.onreadystatechange = processReqChange; 
			req.open("GET",url,true);			
			req.send(); 
		} 
	} 
} 
function processReqChange() 
{ 
	//alert(req.readyState);
	//alert(req.status);
	// apenas quando o estado for "completado" 
	if (req.readyState == 4) { 
		// apenas se o servidor retornar "OK" 
		if (req.status ==200) { 
			// procura pela div id="pagina" e insere o conteudo 
			 //retornado nela, como texto HTML 
			document.getElementById('youtubeMovie').innerHTML = req.responseText; 
		} else { 
			alert("Houve um problema ao obter os dados:n" + req.statusText); 
		} 
	} 
} 

function MudaConteudo(objeto){
	var descricao = document.getElementById("btn_descricao");	
	var dados = document.getElementById("btn_dados");	
	var itens = document.getElementById("btn_itens");
	
	document.getElementById('div_texto_descricao').style.display="none";
	document.getElementById('div_texto_dados').style.display="none";
	document.getElementById('div_texto_itens').style.display="none";
	
	if(objeto=="btn_descricao"){
		document.getElementById("div_texto_descricao").style.display="block";
		descricao.className="botao_descricao_hover";
		dados.className="botao_dados";
		itens.className="botao_itens";
	}else if(objeto=="btn_dados"){
		document.getElementById("div_texto_dados").style.display="block";
		dados.className="botao_dados_hover";
		descricao.className="botao_descricao";
		itens.className="botao_itens";
	}else {
		document.getElementById("div_texto_itens").style.display="block";
		itens.className="botao_itens_hover";
		descricao.className="botao_descricao";
		dados.className="botao_dados";
	}
}
function carregar_div(mostrar_sub) {
	var div = document.getElementById(mostrar_sub);
	if ( div.style.display != "none" ) {
		div.style.display = 'none';			
	}
	else {
		div.style.display = "";					
	}
}
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
  }
  node.onmouseout=function() {
  this.className=this.className.replace
	(" over", "");
   }
   }
  }
 }
}
window.onload=startList;

/*==================================================================================
	Funcoes para mascara de objetos CEP, CNPJ, CPF, INDENTIDADE E TELEFONE	
==================================================================================== */
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function soNumeros(v){
    return v.replace(/\D/g,"")
}

function telefonem(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que nÃ£o Ã© dÃ­gito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parÃªnteses em volta dos dois primeiros dÃ­gitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hÃ­fen entre o quarto e o quinto dÃ­gitos
    return v
}

function cpfm(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que nÃ£o Ã© dÃ­gito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dÃ­gitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dÃ­gitos
                                             //de novo (para o segundo bloco de nÃºmeros)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hÃ­fen entre o terceiro e o quarto dÃ­gitos
    return v
}

function cep(v){
    v=v.replace(/D/g,"")                //Remove tudo o que nÃ£o Ã© dÃ­gito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse Ã© tÃ£o fÃ¡cil que nÃ£o merece explicaÃ§Ãµes
    return v
}

function cepm(v){
    v=v.replace(/D/g,"")                //Remove tudo o que nÃ£o Ã© dÃ­gito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse Ã© tÃ£o fÃ¡cil que nÃ£o merece explicaÃ§Ãµes
    return v
}

function cnpjm(v){
    v=v.replace(/\D/g,"")                           //Remove tudo o que nÃ£o Ã© dÃ­gito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro dÃ­gitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dÃ­gitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono dÃ­gitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um hÃ­fen depois do bloco de quatro dÃ­gitos
    return v
}


function site(v){
    v=v.replace(/^http:\/\/?/,"")
    dominio=v
    caminho=""
    if(v.indexOf("/")>-1)
        dominio=v.split("/")[0]
        caminho=v.replace(/[^\/]*/,"")
    dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
    caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
    caminho=caminho.replace(/([\?&])=/,"$1")
    if(caminho!="")dominio=dominio.replace(/\.+$/,"")
    v="http://"+dominio+caminho
    return v
}
/* =============================================================================================
	 FUNCAO PARA DESABILITAR O ENTER DE UM CAMPO TEXT	
================================================================================================ */
function handleEnter (field, event) {
        var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
        if (keyCode == 13) {
            var i;
            for (i = 0; i < field.form.elements.length; i++)
                if (field == field.form.elements[i])
                    break;
            i = (i + 1) % field.form.elements.length;
            return false;
        } 
        else
        return true;
    }    
	
function Calculo_Frete(){
		//Verifica qual o tipo do frete selecionado
		if(document.getElementById('opt_tipo_frete[0]').checked==1){
			var vtipo_frete = "pac";
		}else{
			if(document.getElementById('opt_tipo_frete[1]').checked==1){
				var vtipo_frete = "sedex";
			}
		}
		
		carrega_pagina('calcula_frete.php?servico='+vtipo_frete+'&destino='+document.getElementById('cep').value);
		//alert(document.getElementById('peso').value);
	}

function SomenteNumero(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 47 && tecla < 58)) return true;
    else{
    if (tecla != 8) return false;
    else return true;
    }
}

function verifica_dados(){		
  missinginfo = "";
  if ((document.frm_cadastro.login_cad.value == "") || 
  (document.frm_cadastro.login_cad.value.indexOf('@') == -1) || 
  (document.frm_cadastro.login_cad.value.indexOf('.') == -1)) {
    missinginfo += "\n     -  E-mail inválido";
  }
  if (document.frm_cadastro.senha_cad.value == "") {
    missinginfo += "\n     -  Senha";
  }
  if (document.frm_cadastro.repete_senha.value == "") {
    missinginfo += "\n     -  Confirmação de senha";
  }
  if (document.frm_cadastro.cep_cad.value == "") {
    missinginfo += "\n     -  CEP";
  }  
  if (document.frm_cadastro.senha_cad.value != document.frm_cadastro.repete_senha.value) {
    missinginfo += "\n     -  As duas senhas não são iguais";
  }	

  if (missinginfo != "") {
    missinginfo ="                                \n" +
    "Existe algum erro nos seguintes campos:\n" +
    missinginfo + "\n                               " +
    "\nPreencha-os novamente e clique em Me cadastrar agora!.";
    alert(missinginfo);
    return false;
	}else{
	document.getElementById('frm_cadastro').submit();
	}
	
}
