function chama_ancora(ancora) 
	{
		this.location = "#" + ancora;
	}

function ajaxGet(url,elemento_retorno,exibe_carregando){
/******
* ajaxGet - Coloca o retorno de uma url em um elemento qualquer
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.2 - 20/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* url: string; elemento_retorno: object||string; exibe_carregando:boolean
*  - Se elemento_retorno for um elemento html (inclusive inputs e selects),
*    exibe o retorno no innerHTML / value / options do elemento
*  - Se elemento_retorno for o nome de uma variavel
*    (o nome da variável deve ser declarado por string, pois será feito um eval)
*    a função irá atribuir o retorno à variável ao receber a url.
*******/
    var ajax1 = pegaAjax();
    if(ajax1){
        url = antiCacheRand(url)
        ajax1.onreadystatechange = ajaxOnReady
        ajax1.open("GET", url ,true);//ajax1.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1");//"application/x-www-form-urlencoded");
        ajax1.setRequestHeader("Cache-Control", "no-cache");
        ajax1.setRequestHeader("Pragma", "no-cache");
        if(exibe_carregando){ put("<img src=\"imagens/ajax_loader.gif\" border=\"0\" alt=\"\" /> Carregando ...")    }
        ajax1.send(null)
        return true;
    }else{
        return false;
    }
    function ajaxOnReady(){
        if (ajax1.readyState==4){
            if(ajax1.status == 200){
                var texto=ajax1.responseText;
                if(texto.indexOf(" ")<0) texto=texto.replace(/\+/g," ");//texto=unescape(texto); //descomente esta linha se tiver usado o urlencode no php ou asp
                put(texto);
                extraiScript(texto);
            }else{
                if(exibe_carregando){put("Falha no carregamento. " + httpStatus(ajax1.status));}
            }
            ajax1 = null
        }else if(exibe_carregando){//para mudar o status de cada carregando
                put("<img src=\"imagens/ajax_loader.gif\" border=\"0\" alt=\"\" /> Carregando ..." )
        }
    }
    function put(valor){ //coloca o valor na variavel/elemento de retorno
        if((typeof(elemento_retorno)).toLowerCase()=="string"){ //se for o nome da string
            if(valor!="Falha no carregamento"){
                eval(elemento_retorno + '= unescape("' + escape(valor) + '")')
            }
        }else if(elemento_retorno.tagName.toLowerCase()=="input"){
            valor = escape(valor).replace(/\%0D\%0A/g,"")
            elemento_retorno.value = unescape(valor);
        }else if(elemento_retorno.tagName.toLowerCase()=="select"){        
            select_innerHTML(elemento_retorno,valor)
        }else if(elemento_retorno.tagName){
            elemento_retorno.innerHTML = valor;//alert(elemento_retorno.innerHTML)
        }    
    }
    function pegaAjax(){ //instancia um novo xmlhttprequest baseado na getXMLHttpObj que possui muitas cópias na net e eu nao sei quem é o autor original
        if(typeof(XMLHttpRequest)!='undefined'){return new XMLHttpRequest();}
        var axO=['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0'];
        for(var i=0;i<axO.length;i++){ try{ return new ActiveXObject(axO[i]);}catch(e){} }
        return null;
    }
    function httpStatus(stat){ //retorna o texto do erro http
        switch(stat){
            case 0: return "Erro desconhecido de javascript";
            case 400: return "400: Solicita&ccedil;&atilde;o incompreensível"; break;
            case 403: case 404: return "404: N&atilde;o foi encontrada a URL solicitada"; break;
            case 405: return "405: O servidor n&atilde;o suporta o m&eacute;todo solicitado"; break;
            case 500: return "500: Erro desconhecido de natureza do servidor"; break;
            case 503: return "503: Capacidade m&aacute;xima do servidor alcançada"; break;
            default: return "Erro " + stat + ". Mais informa&ccedil;&otilde;es em http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"; break;
        }
    }
    function antiCacheRand(aurl){
        var dt = new Date();
        if(aurl.indexOf("?")>=0){// já tem parametros
            return aurl + "&" + encodeURI(Math.random() + "_" + dt.getTime());
        }else{ return aurl + "?" + encodeURI(Math.random() + "_" + dt.getTime());}
    }
}
function select_innerHTML(objeto,innerHTML){
/******
* select_innerHTML - altera o innerHTML de um select independente se é FF ou IE
* Corrige o problema de não ser possível usar o innerHTML no IE corretamente
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.0 - 06/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* objeto(tipo object): o select a ser alterado
* innerHTML(tipo string): o novo valor do innerHTML
*******/
    objeto.innerHTML = ""
    var selTemp = document.createElement("micoxselect")
    var opt;
    selTemp.id="micoxselect1"
    document.body.appendChild(selTemp)
    selTemp = document.getElementById("micoxselect1")
    selTemp.style.display="none"
    if(innerHTML.toLowerCase().indexOf("<option")<0){//se não é option eu converto
        innerHTML = "<option>" + innerHTML + "</option>"
    }
    innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
    selTemp.innerHTML = innerHTML
    for(var i=0;i<selTemp.childNodes.length;i++){
        if(selTemp.childNodes[i].tagName){
            opt = document.createElement("OPTION")
            for(var j=0;j<selTemp.childNodes[i].attributes.length;j++){
                opt.setAttributeNode(selTemp.childNodes[i].attributes[j].cloneNode(true))
            }
            opt.value = selTemp.childNodes[i].getAttribute("value")
            opt.text = selTemp.childNodes[i].innerHTML
            if(document.all){ //IEca
                objeto.add(opt)
            }else{
                objeto.appendChild(opt)
            }                    
        }    
    }
    document.body.removeChild(selTemp)
    selTemp = null
}

function extraiScript(texto){
//Maravilhosa função feita pelo SkyWalker.TO do imasters/forum
//http://forum.imasters.com.br/index.php?showtopic=165277&
    // inicializa o inicio ><
    var ini = 0;
    // loop enquanto achar um script
    while (ini!=-1){
        // procura uma tag de script
        ini = texto.indexOf('<script', ini);
        // se encontrar
        if (ini >=0){
            // define o inicio para depois do fechamento dessa tag
            ini = texto.indexOf('>', ini) + 1;
            // procura o final do script
            var fim = texto.indexOf('</script>', ini);
            // extrai apenas o script
            codigo = texto.substring(ini,fim);
            // executa o script
            //eval(codigo);
            /**********************
            * Alterado por Micox - micoxjcg@yahoo.com.br
            * Alterei pois com o eval não executava funções.
            ***********************/
            novo = document.createElement("script")
            novo.text = codigo;
            document.body.appendChild(novo);
        }
    }
}

// FUNÇÕES
function question(frase,endereco)
	{
		if(confirm(frase))
			{
				window.location=endereco;
			}
	}
	
function simula_tab(event)
	{
		var keynum;  
		if(window.event) 
			{ //IE   
				keynum = event.keyCode;
			} 
		else if(event.which) 
			{ // Netscape/Firefox/Opera   
				keynum = event.which;
			}
		if(keynum == 13)
			{
				document.form1.Button1.focus();
			}
	}
function lista_gal(page)
	{
		var url;
		alvo = document.getElementById('divGaleria');
		url = "index.php?action=lista_gal&page="+page;
		ajaxGet(url,alvo,true);
	}
function galeria_view(id_gal)
	{
		var url;
		alvo = document.getElementById('div2Galeria');
		url = "index.php?action=view&id_gal="+id_gal;
		ajaxGet(url,alvo,true);
	}
function lista_left(id_gal,page)
	{
		var url;
		alvo = document.getElementById('div3Galeria');
		url = "index.php?action=lista_left&id_gal="+id_gal+"&page="+page;
		ajaxGet(url,alvo,true);
	}
function view_foto_prox(id_gal,page)
	{
		var url;
		alvo = document.getElementById('div4Galeria');
		url = "index.php?action=view_foto&id_gal="+id_gal+"&page="+page;
		ajaxGet(url,alvo,true);
	}
function view_foto(id_fot,page)
	{
		var url;
		alvo = document.getElementById('div4Galeria');
		url = "index.php?action=view_foto&id_fot="+id_fot+"&page="+page;
		ajaxGet(url,alvo,true);
	}
function itens_pedido_atual_finalizar_c(div,id_ped)
	{
		var url;
		alvo = document.getElementById(div);
		url = "home.php?action=itens_pedido_atual_finalizar_c&id_ped="+id_ped;
		ajaxGet(url,alvo,true);
	}
function mostra_opcao(div)
	{
		document.getElementById(div).style.visibility='visible'; //para ficar visível
	}
function esconde_opcao(div)
	{
		document.getElementById(div).style.visibility='hidden'; //para ficar invisível
	}
function esconde_div()
	{
		divInfo.style.display = 'block';
		divInfo.style.display= 'none'; 
		divInfo2.style.display = 'block';
		divInfo2.style.display= 'none'; 
	}
function mostra_div()
	{
		divInfo.style.display = '';
		divInfo.style.display= ''; 
	}
function mostra_div_item(div,id_fot)
	{
		function pegarPosicaoX(objeto)
			{
				var atual_left = 0;
				if (objeto.offsetParent) {
					while (objeto.offsetParent) {
						atual_left += objeto.offsetLeft
						objeto = objeto.offsetParent;
					}
				}
				return atual_left;
			}
		function pegarPosicaoY(objeto)
			{
				var atual_top = 0;
				if (objeto.offsetParent) {
					while (objeto.offsetParent) {
						atual_top += objeto.offsetTop
						objeto = objeto.offsetParent;
					}
				}
				return atual_top;
			}
		elemento = document.getElementById(div);
		x = pegarPosicaoX(elemento);
		y = pegarPosicaoY(elemento);
		
		divInfo.style.left = x;
		divInfo.style.top = y;
		divInfo.style.display = '';
		divInfo.style.display= '';
		document.all.id_fot.value = id_fot;
	}
function mostra_div_tam(div,id_ite)
	{
		function pegarPosicaoX(objeto)
			{
				var atual_left = 0;
				if (objeto.offsetParent) {
					while (objeto.offsetParent) {
						atual_left += objeto.offsetLeft
						objeto = objeto.offsetParent;
					}
				}
				return atual_left;
			}
		function pegarPosicaoY(objeto)
			{
				var atual_top = 0;
				if (objeto.offsetParent) {
					while (objeto.offsetParent) {
						atual_top += objeto.offsetTop
						objeto = objeto.offsetParent;
					}
				}
				return atual_top;
			}
		elemento = document.getElementById(div);
		x = pegarPosicaoX(elemento);
		y = pegarPosicaoY(elemento);
		
		document.form3.id_ite.value = id_ite;
		
		divInfo2.style.left = x;
		divInfo2.style.top = y;
		divInfo2.style.display = '';
		divInfo2.style.display= '';
	}
function add_itens_pedido(div)
	{
		if(document.form2.qtde_ite.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form2.qtde_ite.focus();
				return false;
			}
		
		var id_ped = document.form1.id_ped.value;
		var id_fot = document.form2.id_fot.value;
		var qtde_ite = document.form2.qtde_ite.value;
		var url;
		alvo = document.getElementById(div);
		url = "pedido.php?action=add_itens_pedido&id_ped="+id_ped+"&qtde_ite="+qtde_ite+"&id_fot="+id_fot;
		ajaxGet(url,alvo,true);
		
		divInfo.style.display = 'block';
		divInfo.style.display= 'none'; 
	}
function add_itens_pedido_c(div)
	{
		if((document.form2.qtde_ite.value == "") || (document.form2.qtde_ite.value == 0))
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form2.qtde_ite.focus();
				return false;
			}
		if(document.form2.id_tam.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form2.id_tam.focus();
				return false;
			}
		if(document.form2.borda_ite.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form2.borda_ite.focus();
				return false;
			}
		
		var id_ped = document.form1.id_ped.value;
		var id_fot = document.form2.id_fot.value;
		var qtde_ite = document.form2.qtde_ite.value;
		var id_tam = document.form2.id_tam.value;
		var borda_ite = document.form2.borda_ite.value;
		var url;
		alvo = document.getElementById(div);
		url = "home.php?action=add_itens_pedido_c&id_ped="+id_ped+"&qtde_ite="+qtde_ite+"&id_tam="+id_tam+"&borda_ite="+borda_ite+"&id_fot="+id_fot;
		ajaxGet(url,alvo,true);
		
		chama_ancora("topo");
		divInfo.style.display = 'block';
		divInfo.style.display= 'none'; 
	}
function remover_item_pedido(id_ite,div,frase)
	{
		if(confirm(frase))
			{
				var id_ped = document.form1.id_ped.value;
				var url;
				alvo = document.getElementById(div);
				url = "pedido.php?action=remover_item_pedido&id_ped="+id_ped+"&id_ite="+id_ite;
				ajaxGet(url,alvo,true);
			}
	}
function remover_item_pedido_c(id_ite,div,frase)
	{
		if(confirm(frase))
			{
				var id_ped = document.form1.id_ped.value;
				var url;
				alvo = document.getElementById(div);
				url = "home.php?action=remover_item_pedido_c&id_ped="+id_ped+"&id_ite="+id_ite;
				ajaxGet(url,alvo,true);
			}
	}
function busca_galeria(div)
	{
		var id_gal = document.form1.id_gal.value;
		var url;
		alvo = document.getElementById(div);
		url = "pedido.php?action=busca_galeria&id_gal="+id_gal;
		ajaxGet(url,alvo,true);
	}
function busca_galeria_c(div)
	{
		var id_gal = document.form1.id_gal.value;
		var url;
		alvo = document.getElementById(div);
		url = "home.php?action=busca_galeria_c&id_gal="+id_gal;
		ajaxGet(url,alvo,true);
		chama_ancora("galeria");
	}
function add_foto(id_fot,div)
	{
		var url;
		alvo = document.getElementById(div);
		url = "pedido.php?action=add_foto&id_fot="+id_fot;
		ajaxGet(url,alvo,true);
	}
function itens_pedido_atual(id_ped,div)
	{
		var url;
		alvo = document.getElementById(div);
		url = "pedido.php?action=itens_pedido_atual&id_ped="+id_ped;
		ajaxGet(url,alvo,true);
	}
function itens_pedido_atual_c(id_ped,div)
	{
		var url;
		alvo = document.getElementById(div);
		url = "home.php?action=itens_pedido_atual_c&id_ped="+id_ped;
		ajaxGet(url,alvo,true);
	}
function itens_pedido_atual_view(id_ped,div)
	{
		var url;
		alvo = document.getElementById(div);
		url = "pedido.php?action=itens_pedido_atual_view&id_ped="+id_ped;
		ajaxGet(url,alvo,true);
	}
function muda_tamanho(div)
	{
		if(document.form3.id_tam.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form3.id_tam.focus();
				return false;
			}
		var id_tam = document.form3.id_tam.value;
		var id_ite = document.form3.id_ite.value;
		var url;
		alvo = document.getElementById(div);
		url = "home.php?action=muda_tamanho&id_tam="+id_tam+"&id_ite="+id_ite;
		ajaxGet(url,alvo,true);

		divInfo2.style.display = 'block';
		divInfo2.style.display= 'none'; 
	}
function finaliza_pedido_c(div)
	{
		if(document.form1.forma_envio_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.forma_envio_ped.focus();
				return false;
			}
		if(document.form1.cep_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.cep_ped.focus();
				return false;
			}
		if(document.form1.cep_ped.value.length < 8)
			{
				alert('Atenção, o cep deve conter no mínimo 8 caracteres.');
				document.form1.cep_ped.focus();
				return false;
			}
		if(document.form1.nome_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.nome_ped.focus();
				return false;
			}
		if(document.form1.sobrenome_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.sobrenome_ped.focus();
				return false;
			}
		if((document.form1.telefone_ped.value == "") && (document.form1.celular_ped.value == ""))
			{
				alert('Por favor, preencha ou o telefone ou o celular.');
				document.form1.telefone_ped.focus();
				return false;
			}
		if(document.form1.email_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.email_ped.focus();
				return false;
			}
		if(document.form1.email_ped2.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.email_ped2.focus();
				return false;
			}
		if(document.form1.email_ped.value != document.form1.email_ped2.value)
			{
				alert('Por favor, verifique os campos de e-mail, eles devem ser iguais.');
				document.form1.email_ped2.focus();
				return false;
			}
		if(document.form1.endereco_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.endereco_ped.focus();
				return false;
			}
		if(document.form1.bairro_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.bairro_ped.focus();
				return false;
			}
		if(document.form1.cidade_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.cidade_ped.focus();
				return false;
			}
		if(document.form1.estado_ped.value == "")
			{
				alert('Por favor, preencha os campos obrigatórios.');
				document.form1.estado_ped.focus();
				return false;
			}
		
		var forma_envio_ped = document.form1.forma_envio_ped.value;
		var nome_ped = document.form1.nome_ped.value;
		var sobrenome_ped = document.form1.sobrenome_ped.value;
		var telefone_ped = document.form1.telefone_ped.value;
		var celular_ped = document.form1.celular_ped.value;
		var email_ped = document.form1.email_ped.value;
		var endereco_ped = document.form1.endereco_ped.value;
		var bairro_ped = document.form1.bairro_ped.value;
		var cidade_ped = document.form1.cidade_ped.value;
		var estado_ped = document.form1.estado_ped.value;
		var cep_ped = document.form1.cep_ped.value;
		var obs_ped = document.form1.obs_ped.value;
		var url;
		alvo = document.getElementById(div);
		url = "home.php?action=finaliza_pedido_c&forma_envio_ped="+forma_envio_ped+"&nome_ped="+nome_ped+"&sobrenome_ped="+sobrenome_ped+"&telefone_ped="+telefone_ped+"&celular_ped="+celular_ped+"&email_ped="+email_ped+"&endereco_ped="+endereco_ped+"&bairro_ped="+bairro_ped+"&cidade_ped="+cidade_ped+"&estado_ped="+estado_ped+"&cep_ped="+cep_ped+"&obs_ped="+obs_ped;
		ajaxGet(url,alvo,true);
	}
function calcula_frete(div)
	{
		if((document.form1.forma_envio_ped.value == 1) || document.form1.forma_envio_ped.value == 2)
			{
				var valor_ped = document.form1.valor_ped.value;
				var forma_envio_ped = document.form1.forma_envio_ped.value;
				var url;
				alvo = document.getElementById(div);
				url = "home.php?action=calcula_frete&valor_ped="+valor_ped+"&forma_envio_ped="+forma_envio_ped;
				ajaxGet(url,alvo,true);
			}
	}
function busca_galerias(div)
	{
		var id_cat = document.form1.id_cat.value;
		var url;
		alvo = document.getElementById(div);
		url = "home.php?action=busca_galerias&id_cat="+id_cat;
		ajaxGet(url,alvo,true);
	}