﻿/* Indica se está ocorrendo filtragem dos resultados: */
var filtrando = false;

/* Redireciona a página nas ordenações: */
function redireciona(opcao)
{
	location.href=opcao;
}

/* Aramazenarão os objetos XMLHttp: */
var xmlHttp = createXMLHttpRequest();

/* Função para criação do objeto XMLHttp: */
function createXMLHttpRequest()
{
	var xmlHttpObject;
	
	try{
		//Caso o browser suporte o objeto XMLHttpRequest:
		xmlHttpObject = new XMLHttpRequest();
	}
	catch(e){
		//O browser deve ser IE6 ou mais velho.
		var xmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
										'MSXML2.XMLHTTP.5.0',
										'MSXML2.XMLHTTP.4.0',
										'MSXML2.XMLHTTP.3.0',
										'MSXML.XMLHTTP',
										'Microsoft.XMLHTTP');
		//Tentar as opções do array até que alguma funcione:
		for(var i = 0; i < xmlHttpVersions.length && !xmlHttpObject; i++)
		{
			try{
				xmlHttpObject = new ActiveXObject(xmlHttpVersions[i]);
			}
			catch(e){}
		}	
	}
	
	//Verficação da construção do objeto:
	if(!xmlHttpObject)
		alert("Impossível criar objeto XMLHttp");
	else
		return xmlHttpObject;
}

/* Armazenará os estados de cada uma das categorias de filtragem: */
var categorias = new Array();
for(var i = 1; i < 5; i++)
	categorias[i] = false; //"false" indica que a categoria está desativada.

/* Definindo quais categorias estão ativas (true): */
function setCategorias(vetorCategorias)
{
	for(var i = 1; i < 5; i++)
		categorias[i] = vetorCategorias[i-1];
}

/* Função que exibirá/esconderá o "ticado": */
function selecaoCategoria(div)
{
	switch(div)
	{
		case 1: //Primeira categoria.
			if(categorias[1])
			{
				document.getElementById('tik1').innerHTML = "";
				categorias[1] = false;
			}
			else
			{
				document.getElementById('tik1').innerHTML = "<img src='http://www.amodindin.com.br/imagens/ticadoGordo.gif' alt='Escolhido' border='0' />";
				categorias[1] = true;
			}
			break;
			
		case 2: //Segunda categoria.
			if(categorias[2])
			{
				document.getElementById('tik2').innerHTML = "";
				categorias[2] = false;
			}
			else
			{
				document.getElementById('tik2').innerHTML = "<img src='http://www.amodindin.com.br/imagens/ticadoGordo.gif' alt='Escolhido' border='0' />";
				categorias[2] = true;
			}
			break;
			
		case 3: //Terceira categoria.
			if(categorias[3])
			{
				document.getElementById('tik3').innerHTML = "";
				categorias[3] = false;
			}
			else
			{
				document.getElementById('tik3').innerHTML = "<img src='http://www.amodindin.com.br/imagens/ticadoGordo.gif' alt='Escolhido' border='0' />";
				categorias[3] = true;
			}
			break;
			
		case 4: //Quarta categoria.
			if(categorias[4])
			{
				document.getElementById('tik4').innerHTML = "";
				categorias[4] = false;
			}
			else
			{
				document.getElementById('tik4').innerHTML = "<img src='http://www.amodindin.com.br/imagens/ticadoGordo.gif' alt='Escolhido' border='0' />";
				categorias[4] = true;
			}
			break;
	}
}

/* Filtra os produtos da busca: */
function filtrar(busca, pag, ord, tipo, id, precoDe, precoAte, descDe, descAte, comP, semP, cats)
{
	//Só executará se o objeto XMLHttp tiver sido instanciado adequadamente.
	if(xmlHttp)
	{
		try {
			//Gerando string com as categorias selecionadas:
			var categs = "";
			var vetorIds = cats.split(',');

			for(var i = 0; i < vetorIds.length; i++)
				if(categorias[i+1])
				{
					categs += vetorIds[i];
					if (i < vetorIds.length - 1 && categorias.lastIndexOf(true) > i + 1)
						categs += ",";
				}
			
			xmlHttp.open("GET", "filtro.php?busca="+busca+"&pagina="+pag+"&ordenar="+ord+"&tipo="+tipo+"&id="+id+"&precode="+precoDe+"&precoate="+precoAte+"&descDe="+descDe+"&descAte="+descAte+"&comP="+comP+"&semP="+semP+"&cats="+categs);
			xmlHttp.onreadystatechange = function(){
				if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
				{
					document.getElementById("produtos").innerHTML = xmlHttp.responseText;
					document.getElementById("carregando").style.visibility = "hidden";
					document.getElementById("marca").style.visibility = "visible";
					filtrando = false;
				}
				else
				{
					document.getElementById("marca").style.visibility = "hidden";
					document.getElementById("carregando").style.visibility = "visible";
					if (filtrando == false)
					{
						document.getElementById("carregando").innerHTML = "<htlm><img src='http://www.amodindin.com.br/imagens/loading_21267.gif'> Filtrando...</html>";
						filtrando = true;
					}
				}
			}
			xmlHttp.send(null);
		} 
		catch (e){}
	}
}

/* Função para gerar links do "ordenar por": */
function geraOrd(t, id)
{
	if(t == 1)
		return "&tipo=1&id=" + id;
	else
		return "";
}

/* Função lastIndexOf (PARA VETORES!) que funciona no Internet Explorer */
/* Retorna o índice da última ocorrência de "procurar" no "vetor" */
/* Caso "procurar" não seja encontrado, a função retornará -1 */
function novaLastIndexOf(vetor, procurar)
{
	var indice = -1; //Armazenará o índice da última ocorrência de procurar.
	
	for(var i = 0; i < vetor.length; i++)
	{
		if(vetor[i] == procurar)
			indice = i;
	}

	return indice;
}

/* Função que modificará o código do <div> do ordenador após filtragens */
/* Atuará somente na página 1 das filtragens */
function alterarOrdenador(pagina , ordenacao, busca, tipo, id, precoDe, precoAte, descDe, descAte, comP, semP, cats)
{
	if(pagina == 1)
	{
		//Gerando string com as categorias selecionadas:
		var categs = "";
		var vetorIds = cats.split(',');

		for(var i = 0; i < vetorIds.length; i++)
			if(categorias[i+1])
			{
				categs += vetorIds[i];
				if (i < vetorIds.length - 1 && novaLastIndexOf(categorias, true) > i + 1)
					categs += ",";
			}
			
		//Gerando o código HTML para ser inserido no <div> do ordenador:
		var html = 'Ordenar por: <select name="ordenarPor" class="menuOrdenar" onChange="redireciona(this.value)">';

		if(ordenacao != "desconto")
			html += '<option value="http://www.amodindin.com.br/busca.html?busca='+busca+'&ordenar=desconto&pagina=1'+geraOrd(tipo, id)+'&filtro=1&precode='+precoDe+'&precoate='+precoAte+'&descDe='+descDe+'&descAte='+descAte+'&comP='+comP+'&semP='+semP+'&cats='+categs+'">Desconto</option>';
		if(ordenacao != "preco")
			html += '<option value="http://www.amodindin.com.br/busca.html?busca='+busca+'&ordenar=preco&pagina=1'+geraOrd(tipo, id)+'&filtro=1&precode='+precoDe+'&precoate='+precoAte+'&descDe='+descDe+'&descAte='+descAte+'&comP='+comP+'&semP='+semP+'&cats='+categs+'">Menor preço</option>';
		if(ordenacao != "preco2")
			html += '<option value="http://www.amodindin.com.br/busca.html?busca='+busca+'&ordenar=preco2&pagina=1'+geraOrd(tipo, id)+'&filtro=1&precode='+precoDe+'&precoate='+precoAte+'&descDe='+descDe+'&descAte='+descAte+'&comP='+comP+'&semP='+semP+'&cats='+categs+'">Maior preço</option>';
		if(ordenacao != "economia")
			html += '<option value="http://www.amodindin.com.br/busca.html?busca='+busca+'&ordenar=economia&pagina=1'+geraOrd(tipo, id)+'&filtro=1&precode='+precoDe+'&precoate='+precoAte+'&descDe='+descDe+'&descAte='+descAte+'&comP='+comP+'&semP='+semP+'&cats='+categs+'">Economia</option>';
		if(ordenacao != "busca")
			html += '<option value="http://www.amodindin.com.br/busca.html?busca='+busca+'&ordenar=busca&pagina=1'+geraOrd(tipo, id)+'&filtro=1&precode='+precoDe+'&precoate='+precoAte+'&descDe='+descDe+'&descAte='+descAte+'&comP='+comP+'&semP='+semP+'&cats='+categs+'">Cliques</option>';
		
		html += '<option selected>';

		switch(ordenacao)
		{
			case "desconto":
	            html += "Desconto";
	            break;
	        case "preco":
	            html += "Menor preço";
	            break;
	        case "preco2":
	            html += "Maior preço";
	            break;
	        case "economia":
	            html += "Economia";
	            break;
	        case "busca":
	            html += "Cliques";
	            break;
	        default:
	            html += "Desconto";
		}
		
		html += '</option></select>';
		
		//Alterando o código do <div>:
		document.getElementById('ordenador').innerHTML = html;
	}
}

/* Função que atualiza o número de resultados mostrados após filtragens: */
function atualizarResultados(num)
{
	if(num > 0)
		document.getElementById("resulTotal").innerHTML = "<strong>"+num+"</strong>";
	if(num == 0)
		{
			document.getElementById("resulTotal").innerHTML = "Nenhum resultado ";
			document.getElementById("resultados").innerHTML = "";
		}
}

/* Função que efetua a filtragem quando enter for pressionado */
function enterPressionado(event)
{
	var keynum;  
          
    if(window.event) //IE  
        keynum = event.keyCode;
	else
		if(event.which) //Netscape, Firefox, Opera...
      		keynum = event.which;
    
	if(keynum==13) //Código do enter é 13.
		document.getElementById("filtrar").click();
}

/* Função que apaga o que está escrito na caixa de texto SE o que estiver escrito for o slogan: */
function apagaSlogan(isso){
	if(isso.value=="Busque aqui o seu produto"){
		isso.value="";
	}
}

/* Função que ao tirar o foco da caixa de texto escreve o slogan novamente SE não estiver sido escrito nada pelo usuário: */
function voltaSlogan(esse){
	if(esse.value == "" || esse.value==" "){
		esse.value="Busque aqui o seu produto";
	}
}

/* Função que adiciona o plugin de busca ao Firefox */
function addDinEngine()
{
    if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function"))
    {
        window.sidebar.addSearchEngine(
            "http://update.amodindin.com.br/dinEngineFF.src",  
            "http://update.amodindin.com.br/dinEngineFF.gif", 
            "DinEngine",                                 
            "Web" );                                        
    }
    else
    {
        alert("Disponível somente para Firefox.");
    }
}

/* Função que verifica se o browser é IE7 */
function isIE7()
{
	var versao = navigator.appVersion;
	var navegador = navigator.appName;

	if(navegador=="Microsoft Internet Explorer" && versao.indexOf("MSIE 7.0")!=-1)
        return true;
    return false;
}