/****************************************************************
*	Criado em:			17/10/2007			Por: ANDRÉ LUIZ
*	Alterado em:		15/04/2008			Por: RONI COSTA
****************************************************************/

/*_________________________________ FUNÇÕES DO AJAX _________________________________*/

/*# 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_loja_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_loja_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_loja_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 ]
		try{
			vc_loja				= ar_hash[6].split('=')[1];						// lojaVC [ termo de pesquisa ]		
		}catch(ex){
			vc_loja				= '';
		}

		// atualiza info. dos combos e botoes
		if (id_segmento != 5) {
			destacaBotao(id_segmento);									// marca segmento clicado
			carregaComboAtividade(id_segmento);							// preenche e seleciona opção correta das atividades
			carregaComboLoja(id_segmento, id_atividade);				// preenche e seleciona opção correta das lojas
		}
		
		loadContent(id_segmento, id_atividade, id_loja, it_pesquisa, it_pag, vc_termo, vc_loja);	// carrega conteúdo via AJAX
	}
}


/*# filtra combo de atividades */
function carregaComboAtividade(id_segmento) {
	var id_segmento	= (id_segmento) ? parseInt(id_segmento) : 0;
	var ob_ajax				= new ajax('GET', 'codigos/popula_combo_atividade.asp?segmentoID=' + id_segmento, true, '', 'preencheComboAtividade');
	ob_ajax.ajaxResponse();										// envia request ao servidor
	limpaCombo(document.getElementsByName('atividadeID')[0]);	// escreve carregando no combo
}
/*# preenche combo de atividades */
function preencheComboAtividade(tx_response){
	var tx_response		= new String(decodeURI(tx_response));			// arruma problema com acentuação (URI)
	var ob_combo		= document.getElementsByName('atividadeID')[0];	// pega combo a ser reposicionado
	var ar_campo		= tx_response.split('\n');						// monta array com dados
	var ar_id_atividade	= ar_campo[0].split('#');						// monta array com dados
	var ar_vc_atividade	= 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_atividade	= parseInt(ar_hash[1].split('=')[1]);			// recupera valor da atividade p/ selecioná-lo no combo
	limpaCombo(ob_combo, 'Todas as Atividades');						// limpa combo
	
	// adiciona novas opções no combo
	for (var i = 1; i < ar_id_atividade.length; i++) {
		ob_combo.options[ob_combo.options.length]	= new Option(ar_vc_atividade[i], ar_id_atividade[i]);
	}
	
	selecionaOpcaoCombo(ob_combo, id_atividade)							// marca opção selecionada pelo usuário
}


/*# 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('lojaSegmentoID');			// 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');
}
