/****************************************************************
*	Criado em:			03/07/2007			Por: ANDRÉ LUIZ
*	Alterado em:		21/08/2007			Por: ANDRÉ LUIZ
*	Alterado em:		01/10/2007			Por: ANDRÉ LUIZ
****************************************************************/

/*_________________________________ 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	= 'lojaSegmentoID=' + 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_alimentacao_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_alimentacao_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_alimentacao_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 ]
		
		selecionaOpcaoCombo(document.getElementsByName('lojaID')[0], id_loja);					// marca opção selecionada pelo usuário
		selecionaOpcaoCombo(document.getElementsByName('atividadeID')[0], id_atividade);		// marca opção selecionada pelo usuário
		loadContent(id_segmento, id_atividade, id_loja, it_pesquisa, it_pag, vc_termo);	        // carrega conteúdo via AJAX
	}
}


/*# 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;
		}
	}
}


/*# 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_alimentacao.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
}



/*# 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');
}

