// JavaScript Document
/**********************************************************************/
/* Função para manipular AJAX									      */
/**********************************************************************/
function ajax() {
	obj_ajax = null;
	try {
		obj_ajax = new XMLHttpRequest(); //Firefox, Opera 8.0+, Safari
	} catch (e) {
		try { //Internet Explorer
			obj_ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			obj_ajax = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return obj_ajax;
}
/**********************************************************************/
/* Fim da Função                                                      */
/**********************************************************************/

$(document).ready(function() {
	
	/**********************************************************************/
	/* Rotina de pesquisa por montadoras 								  */
	/**********************************************************************/
	$('#montadora_autocomplete').simpleAutoComplete('js/autocomplete.php',{
		autoCompleteClassName: 'autocomplete',
		selectedClassName: 'sel',
		attrCallBack: 'rel',
		identifier: 'montadora'
		},
		montadoraCallback
	);

	//Função que executa rotina sobre o valor de retorno
	function montadoraCallback(par) {
		$("#codigo_montadora").val(par[0]);
		atualiza_filtros_modelos(par[0]);
	}
	
	//Some com a lista criada caso o foco volte ao campo
	$('#montadora_autocomplete').focus(function(){
		$('#div2_montadoras').css({
			display: 'none'
		});
	});
	
	//Mostra lista com todos registros
	$("#seta_montadora").click(function(){
			
			if ($('#div2_montadoras').css('display') == "none") {
				$('#todas_montadoras').width($('#montadora_autocomplete').width()-2);
				
				$('#div2_montadoras').width($('#montadora_autocomplete').width()+15);
				$('#div2_montadoras').css({
					display: 'block',
					left: $('#montadora_autocomplete').offset().left+'px',
					top: ($('#montadora_autocomplete').offset().top+($('#montadora_autocomplete').height()+5))+'px'
				});
			} else {
				$('#div2_montadoras').css({
					display: 'none'
				});
			}
		}
	);
	/**********************************************************************/
	/* Fim da rotina de pesquisa por montadoras 						  */
	/**********************************************************************/
	
	/**********************************************************************/
	/* Rotina de pesquisa por modelos 								  */
	/**********************************************************************/
	$('#modelo_autocomplete').simpleAutoComplete('js/autocomplete.php',{
		autoCompleteClassName: 'autocomplete',
		selectedClassName: 'sel',
		attrCallBack: 'rel',
		identifier: 'modelos'
		},
		modeloCallback
	);

	//Função que executa rotina sobre o valor de retorno
	function modeloCallback(par) {
		$("#codigo_modelo").val(par[0]);
	}
	
	//Some com a lista criada caso o foco volte ao campo
	$('#modelo_autocomplete').focus(function(){
		$('#div2_modelos').css({
			display: 'none'
		});
	});
	
	//Mostra lista com todos registros
	$("#seta_modelo").click(function(){
			
		if ($('#div2_modelos').css('display') == "none") {
			$('#todos_modelos').width($('#modelo_autocomplete').width()-2);
			
			$('#div2_modelos').width($('#modelo_autocomplete').width()+15);
			$('#div2_modelos').css({
				display: 'block',
				left: $('#modelo_autocomplete').offset().left+'px',
				top: ($('#modelo_autocomplete').offset().top+($('#modelo_autocomplete').height()+5))+'px'
			});
		} else {
			$('#div2_modelos').css({
				display: 'none'
			});
		}
		
	});
	/**********************************************************************/
	/* Fim da rotina de pesquisa por modelos	 						  */
	/**********************************************************************/
	
	/**********************************************************************/
	/* Rotina de pesquisa por categorias 								  */
	/**********************************************************************/
	$('#categoria_autocomplete').simpleAutoComplete('js/autocomplete.php',{
		autoCompleteClassName: 'autocomplete',
		selectedClassName: 'sel',
		attrCallBack: 'rel',
		identifier: 'categoria'
		},
		categoriaCallback
	);

	//Função que executa rotina sobre o valor de retorno
	function categoriaCallback(par) {
		$("#codigo_categoria").val(par[0]);
		atualiza_filtros_subcategoria(par[0]);
	}
	
	//Some com a lista criada caso o foco volte ao campo
	$('#categoria_autocomplete').focus(function(){
		$('#div2_categorias').css({
			display: 'none'
		});
	});
	
	//Mostra lista com todos registros
	$("#seta_categoria").click(function(){
			
			if ($('#div2_categorias').css('display') == "none") {
				$('#todas_categorias').width($('#categoria_autocomplete').width()-2);
				
				$('#div2_categorias').width($('#categoria_autocomplete').width()+15);
				$('#div2_categorias').css({
					display: 'block',
					left: $('#categoria_autocomplete').offset().left+'px',
					top: ($('#categoria_autocomplete').offset().top+($('#categoria_autocomplete').height()+5))+'px'
				});
			} else {
				$('#div2_categorias').css({
					display: 'none'
				});
			}
		}
	);
	/**********************************************************************/
	/* Fim da rotina de pesquisa por categorias 						  */
	/**********************************************************************/
	
	/**********************************************************************/
	/* Rotina de pesquisa por subcategorias 							  */
	/**********************************************************************/
	$('#subcategoria_autocomplete').simpleAutoComplete('js/autocomplete.php',{
		autoCompleteClassName: 'autocomplete',
		selectedClassName: 'sel',
		attrCallBack: 'rel',
		identifier: 'subcategoria'
		},
		subcategoriaCallback
	);

	//Função que executa rotina sobre o valor de retorno
	function subcategoriaCallback(par) {
		$("#codigo_subcategoria").val(par[0]);
	}
	
	//Some com a lista criada caso o foco volte ao campo
	$('#subcategoria_autocomplete').focus(function(){
		$('#div2_subcategorias').css({
			display: 'none'
		});
	});
	
	//Mostra lista com todos registros
	$("#seta_subcategoria").click(function(){
			
			if ($('#div2_subcategorias').css('display') == "none") {
				$('#todas_subcategorias').width($('#subcategoria_autocomplete').width()-2);
				
				$('#div2_subcategorias').width($('#subcategoria_autocomplete').width()+15);
				$('#div2_subcategorias').css({
					display: 'block',
					left: $('#subcategoria_autocomplete').offset().left+'px',
					top: ($('#subcategoria_autocomplete').offset().top+($('#subcategoria_autocomplete').height()+5))+'px'
				});
			} else {
				$('#div2_subcategorias').css({
					display: 'none'
				});
			}
		}
	);
	/**********************************************************************/
	/* Fim da rotina de pesquisa por subcategorias						  */
	/**********************************************************************/
	
	
	/**********************************************************************/
	/* Rotina de pesquisa por anos inicial e final						  */
	/**********************************************************************/
	
	//Mostra lista com todos registros
	$("#seta_anoinicial").click(function(){
			
		if ($('#div2_anoinicial').css('display') == "none") {
			$('#todas_anosiniciais').width($('#anoinicial_autocomplete').width()-2);
			
			$('#div2_anoinicial').width($('#anoinicial_autocomplete').width()+15);
			$('#div2_anoinicial').css({
				display: 'block',
				left: $('#anoinicial_autocomplete').offset().left+'px',
				top: ($('#anoinicial_autocomplete').offset().top+($('#anoinicial_autocomplete').height()+5))+'px'
			});
		} else {
			$('#div2_anoinicial').css({
				display: 'none'
			});
		}
		
	});
	
	
	//Mostra lista com todos registros
	$("#seta_anofinal").click(function(){
			
		if ($('#div2_anofinal').css('display') == "none") {
			$('#todas_anosfinais').width($('#anofinal_autocomplete').width()-2);
			
			$('#div2_anofinal').width($('#anofinal_autocomplete').width()+15);
			$('#div2_anofinal').css({
				display: 'block',
				left: $('#anofinal_autocomplete').offset().left+'px',
				top: ($('#anofinal_autocomplete').offset().top+($('#anofinal_autocomplete').height()+5))+'px'
			});
		} else {
			$('#div2_anofinal').css({
				display: 'none'
			});
		}
		
	});
	/**********************************************************************/
	/* Fim da rotina de pesquisa por subcategorias						  */
	/**********************************************************************/
	
	
	$('#anoinicial_autocomplete').focus(function(){
		$('#div2_anoinicial').css({
			display: 'none'
		});
	});
	
	$('#anofinal_autocomplete').focus(function(){
		$('#div2_anofinal').css({
			display: 'none'
		});
	});

});

//Função para atualizar o filtro de subcategorias
function atualiza_filtros_subcategoria(codigo_categoria) {
	/* Inicia o Objeto Ajax */
	var obj_ajax;
	obj_ajax = ajax();
	
	/* Verifica se o navegador da suporte a Ajax */
	if (obj_ajax == null) {
		alert ("Seu navegador não da suporte a este tipo de ação!");
		return false;
	}
	
	/* Cria um identificador para o link, para evitar cache */
	var datahora = new Date();
	var ano 	 = datahora.getYear();
	var mes 	 = datahora.getMonth();
	var dia 	 = datahora.getDay();
	var hora 	 = datahora.getHours();
	var minuto 	 = datahora.getMinutes();
	var segundos = datahora.getSeconds();
	var id_link  = ano+mes+dia+hora+minuto+segundos;
	
	var params = "?id_link="+id_link;
	params = params + "&acao=listar";
	params = params + "&tipo_listagem=subcategorias";
	params = params + "&categoria="+codigo_categoria;
	
	obj_ajax.open("GET", "lista_filtros.asp"+params, true);
	obj_ajax.onreadystatechange = function() {
		if (obj_ajax.readyState == 4) {
			document.getElementById("div2_subcategorias").innerHTML = obj_ajax.responseText;
			document.filtros_pesquisa.subcategoria_autocomplete.focus();
		}
	}	
	obj_ajax.send(null);
}

//Função para atualizar o filtro de subcategorias
function atualiza_filtros_modelos(codigo_montadora) {
	/* Inicia o Objeto Ajax */
	var obj_ajax;
	obj_ajax = ajax();
	
	/* Verifica se o navegador da suporte a Ajax */
	if (obj_ajax == null) {
		alert ("Seu navegador não da suporte a este tipo de ação!");
		return false;
	}
	
	/* Cria um identificador para o link, para evitar cache */
	var datahora = new Date();
	var ano 	 = datahora.getYear();
	var mes 	 = datahora.getMonth();
	var dia 	 = datahora.getDay();
	var hora 	 = datahora.getHours();
	var minuto 	 = datahora.getMinutes();
	var segundos = datahora.getSeconds();
	var id_link  = ano+mes+dia+hora+minuto+segundos;
	
	var params = "?id_link="+id_link;
	params = params + "&acao=listar";
	params = params + "&tipo_listagem=modelos";
	params = params + "&montadora="+codigo_montadora;
	
	obj_ajax.open("GET", "lista_filtros.asp"+params, true);
	obj_ajax.onreadystatechange = function() {
		if (obj_ajax.readyState == 4) {
			document.getElementById("div2_modelos").innerHTML = obj_ajax.responseText;
			document.filtros_pesquisa.modelo_autocomplete.focus();
		}
	}	
	obj_ajax.send(null);
}

//Função para atualizar os campos data
function atualiza_datas(anoinicial, anofinal) {
	
	if ((parseInt(anoinicial.length) == 0) && (parseInt(anofinal.length) > 0)) {
		document.filtros_pesquisa.anoinicial_autocomplete.value = anofinal;
	} else {	
		if ((parseInt(anoinicial.length) > 0) && (parseInt(anofinal.length) == 0)) {
			document.filtros_pesquisa.anofinal_autocomplete.value = anoinicial;
		}
	}
}
