/****************************************************************
*	Criado em:			03/07/2007			Por: ANDRÉ LUIZ
*	Alterado em:		21/08/2007			Por: ANDRÉ LUIZ
*	Alterado em:		21/09/2007			Por: ANDRÉ LUIZ
*   Alterado em:        20/04/2010          Por: MARCELO CRUZ
****************************************************************/

/*_________________________________ FUNÇÕES DO AJAX [lojas] _________________________________*/

/*# carrega o conteúdo das lojas */
function loadContent(id_segmento, id_atividade, id_loja, it_pesquisa, it_pag, vc_termo, vc_loja) {
	var id_segmento		        = (id_segmento > 0)	        ?	parseInt(id_segmento)	    :	0;
	var id_atividade			= (id_atividade > 0)		?	parseInt(id_atividade)		:	0;
	var id_loja					= (id_loja > 0)				?	parseInt(id_loja)			:	0;
	var it_pesquisa				= (it_pesquisa)				?	parseInt(it_pesquisa)		:	0;
	var it_pag					= (it_pag)					?	parseInt(it_pag)			:	0;
	var vc_termo				= (vc_termo)				?	new String(vc_termo)		:	new String();
	var vc_loja					= (vc_loja)					?	new String(vc_loja)			:	new String();
	
	
	// envia request ao servidor
	var ob_ajax				= new ajax('GET', 'codigos/loja_alimentacao_pesquisa.asp?segmentoID=' + id_segmento + '&atividadeID=' + id_atividade + '&lojaID=' + id_loja + '&pesquisaIT=' + it_pesquisa + '&pagIT=' + it_pag + '&termoVC=' + vc_termo + '&lojaVC=' + vc_loja, true, '', 'showContent');
	ob_ajax.ajaxResponse();
	
	// armazena parametros atuais no hash da URL (conteúdo após o [ # ])
	document.location.hash	= 'segmentoID=' + id_segmento + '&atividadeID=' + id_atividade + '&lojaID=' + id_loja + '&pesquisaIT=' + it_pesquisa + '&pagIT=' + it_pag + '&termoVC=' + vc_termo + '&lojaVC=' + vc_loja;
	
	// ativa o loading
	loading();
}

/*# exibe "loading" enquanto o conteúdo é carregado */
function loading() {
	$('dv_servico_pesquisa').innerHTML	= '<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><img src="imagens/layout/loading.gif" id="loading" style="display:block; margin:auto;" />';
}

/*# exibe conteúdo retornado pelo ajax */
function showContent(tx_html) {
	var tx_html		= new String(decodeURI(tx_html));	// arruma problema com acentuação (URI)
	$('dv_servico_pesquisa').innerHTML	= tx_html;			// escreve conteúdo retornado
}


/*# resume a função [ getElementById ] */
function $(vc_id) {
	return document.getElementById(vc_id);
}


/*# carrega filtro e conteúdo AJAX ao voltar p/ a página [IE] */
window.onload = function() {
	if ($('dv_servico_pesquisa')) {												// verifica se o conteiner p/ o retorno do conteúdo existe
		var ar_hash				= document.location.hash.toString().split('&');	// cria array com o nome e o valor dos parametros do hash
		var id_segmento	        = ar_hash[0].split('=')[1];						// segmentoID
		var id_atividade		= ar_hash[1].split('=')[1];						// atividadeID
		var id_loja				= ar_hash[2].split('=')[1];						// lojaID
		var it_pesquisa			= ar_hash[3].split('=')[1];						// pesquisaIT
		var it_pag				= ar_hash[4].split('=')[1];						// pagIT [ nº da página ]
		var vc_termo			= ar_hash[5].split('=')[1];						// termoVC [ termo de pesquisa ]
		
		// Verifica se foi passado um segmento válido p/ 
		// mostrar os combos e posicioná-los corretamente
		if (id_segmento > 0) {
			$('tb_servico').style.display	= 'block';
			$('tb_shopping').style.display	= 'none';
			carregaComboLoja(id_segmento, id_atividade);									    // preenche e seleciona opção correta das lojas
			selecionaOpcaoCombo(document.getElementsByName('atividadeID')[0], id_atividade);	// marca opção selecionada pelo usuário [ atividade ]
		} else {
			$('tb_servico').style.display	= 'none';
			$('tb_shopping').style.display	= 'block';
			selecionaOpcaoCombo(document.getElementsByName('servicoID')[0], id_loja);			// marca opção selecionada pelo usuário [ atividade ]
		}
		
		destacaBotao(id_segmento);															// marca segmento clicado
		loadContent(id_segmento, id_atividade, id_loja, it_pesquisa, it_pag, vc_termo);	    // carrega conteúdo via AJAX e atualiza hash
	}
}


/*# carrega novas opções do combo de lojas */
function carregaComboLoja(id_segmento, id_atividade) {
	var id_segmento		        = (id_segmento > 0)	        ?	parseInt(id_segmento)	    :	0;
	var id_atividade			= (id_atividade > 0)		?	parseInt(id_atividade)		:	0;
	// envia request ao servidor
	var ob_ajax					= new ajax('GET', 'codigos/popula_combo_loja.asp?segmentoID=' + id_segmento + '&atividadeID=' + id_atividade, true, '', 'preencheComboLoja');
	ob_ajax.ajaxResponse();
	limpaCombo(document.getElementsByName('lojaID')[0]);	// escreve carregando no combo
}
/*# preenche combo de lojas */
function preencheComboLoja(tx_response) {
	var tx_response	= new String(decodeURI(tx_response));				// arruma problema com acentuação (URI)
	var ob_combo		= document.getElementsByName('lojaID')[0];		// pega combo a ser reposicionado
	var ar_campo		= tx_response.split('\n');						// monta array com dados
	var ar_id_loja		= ar_campo[0].split('#');						// monta array com dados
	var ar_vc_loja		= ar_campo[1].split('#');						// monta array com dados
	var ar_hash			= document.location.hash.toString().split('&');	// cria array com o nome e o valor dos parametros
	var id_loja			= parseInt(ar_hash[2].split('=')[1]);			// recupera valor da atividade p/ selecioná-lo no combo
	limpaCombo(ob_combo, 'Todas as Lojas');								// limpa combo
	
	// adiciona opções filtradas no combo
	for (var i = 1; i < ar_id_loja.length; i++) {
		ob_combo.options[ob_combo.options.length]	= new Option(ar_vc_loja[i], ar_id_loja[i]);
	}
	
	selecionaOpcaoCombo(ob_combo, id_loja);								// marca opção selecionada pelo usuário
}


/*# destaca botão de segmento clicado */
function destacaBotao(id_segmento) {
	var ar_botao					= document.getElementsByName('segmentoID');		// array com todos os botões de segmento
	var id_segmento			        = (id_segmento) ? parseInt(id_segmento) : 0;    // ID do botão a ser destacado
	var vc_class					= new String($(id_segmento).className);		    // armazena as classes do botão a ser destacado
	
	// remove destaque de todos os botões
	for (var i = 0; i < ar_botao.length; i++) {
		ar_botao[i].className		= ar_botao[i].className.replace('bgc_02', 'bgc_00').replace('cr_02', 'cr_00');
	}
	
	// destaca botão clicado
	$(id_segmento).className	    = vc_class.replace('bgc_00', 'bgc_02').replace('cr_00', 'cr_02');
}


/*# posiciona combo na opção selecionada */
function selecionaOpcaoCombo(ob_combo, it_valor) {
	for (var i = 0; i < ob_combo.options.length; i++) {
		if (ob_combo.options[i].value == it_valor) {
			ob_combo.options[i].selected	= true;
			break;
		}
	}
}


/*# limpa o combo */
function limpaCombo(ob_combo, vc_status) {
	var vc_status										= (vc_status) ? new String(vc_status) : new String('Carregando...');
	
	// limpa combo
	while (ob_combo.options.length > 0) {
		ob_combo.options[ob_combo.options.length - 1]	= null;
	}

	// escreve opção padrão no combo
	ob_combo.options[ob_combo.options.length]			= new Option(vc_status, '0');
}


/*# mostra ou esconde os combos que filtram as lojas de serviço */
function showHideFiltro(id_segmento) {
	var id_segmento						= (id_segmento) ? parseInt(id_segmento) : 1;
	
	if (id_segmento > 0) {
		$('tb_servico').style.display										= 'block';
		$('tb_shopping').style.display										= 'none';
		document.getElementsByName('atividadeID')[0].options[0].selected	= true;
	} else {
		$('tb_servico').style.display										= 'none';
		$('tb_shopping').style.display										= 'block';
		document.getElementsByName('servicoID')[0].options[0].selected		= true;
	}
	
	destacaBotao(id_segmento);
}
