	/**
	 * JavaScript Document
	 * Este arquivo permite que seja consultado o endereço a partir do CEP.
	 * É possível também, popular os campos de cidade, de acordo com o estado selecionado, 
	 * e bairro, de acordo com a cidade selecionada.
	 * @author Vinicius Cruz
	 * @date 02/12/2008
	 */
	jQuery.noConflict();
	jQuery(document).ready(function(){
		/* Consulta endereço a partir do CEP
		 */
		jQuery("[@name=cep]").blur(function(){
			var cepDigitado = jQuery("input[@name=cep]").val();
			if(cepDigitado=='_____-___')
			{
				alert('Por favor, digite o cep.');
				return false;
			}
			
			//Exibe aguardando (GIF)
			jQuery("select[@name=idestado]").attr("disabled","disabled"); //Desabilita
			jQuery("select[@name=idcidade]").attr("disabled","disabled"); //Desabilita
			jQuery("select[@name=idbairro]").attr("disabled","disabled"); //Desabilita
			jQuery("#carregando").show();
			
			if(cepDigitado!='') //Se tiver digitado CEP
			{
				jQuery.post(ENDERECO_ABSOLUTO+'index.php/cidade/AJAXpopulaEndereco',
				{
					cep :  cepDigitado
				},
				function(resposta){
					if(resposta=='')
					{
						alert('O CEP informado não existe.');
						jQuery("select[@name=idestado]").attr("disabled",""); //Habilita
						jQuery("select[@name=idcidade]").attr("disabled",""); //Habilita
						jQuery("select[@name=idbairro]").attr("disabled",""); //Habilita
					}else
					{
						var end = resposta.split("#");
						//Marca ESTADO
						if(end[3])
						{
							jQuery("select[@name=idestado]").selectOptions(end[3]);
							jQuery("select[@name=idestado]").attr("disabled",""); //Habilita
							populaCidade(); //Consulta AJAX sincrona
							
							//Marca CIDADE apenas se tiver selecionado ESTADO
							if(end[2])
							{
								jQuery("select[@name=idcidade]").selectOptions(end[2]);
								jQuery("[@name=cidade]").val(end[2]);
								populaBairro(); //Consulta AJAX sincrona
							
								//Marca Endereco
								jQuery("input[@name=endereco]").val(end[0]);

								//Marca BAIRRO apenas se tiver selecionado CIDADE
								if(end[1])
								{
									jQuery("select[@name=idbairro]").selectOptions(end[1]);
									jQuery("[@name=bairro]").val(end[1]);
								}
							}
						}
					}
					jQuery("#carregando").hide();

				});
			}
		});

		 /************************************************************************************|
		 |*** CONSULTA OUTRAS BUSCAS, DIFERENTE DA BUSCA *************************************|
		 |************************************************************************************/
	    /* Popula combo de CIDADE via AJAX
		 */
		jQuery("select[@name=idestado]").change(function(){
			populaCidade();
			populaBairro();
		});
	    /* Popula combo de BAIRRO via AJAX
		 */
		jQuery("select[@name=idcidade]").change(function(){
			populaBairro();
		});
		//Funções auxiliares
		function populaCidade()
		{
			populaComboGenerico("idestado", "idcidade", "cidade", "AJAXcidade", "idestado");
		}
		function populaBairro()
		{
			populaComboGenerico("idcidade", "idbairro", "bairro", "AJAXbairro", "idcidade");
		}
	});

	/* Função genérica para consultar COMBO
	 */
	function populaComboGenerico(campoEntrada, campoSaida, controller, metodo, idpost)
	{
		var identrada = jQuery("select[@name="+campoEntrada+"]").val();
		
		jQuery("select[@name="+campoSaida+"]").attr("disabled","disabled"); //Desabilita
		jQuery("select[@name="+campoSaida+"]").html('<option value="#">Carregando...</option>');
		jQuery.ajax({
			type: "POST",
			async: false,
			url: ENDERECO_ABSOLUTO+"index.php/"+controller+"/"+metodo,
			data: idpost+"="+identrada,
			success: function(resposta){
				jQuery("select[@name="+campoSaida+"]").attr("disabled",""); //Habilita
				jQuery("select[@name="+campoSaida+"]").html(resposta);
			}
		});
	}