$().ready(function() {
	var formulario = '#form-busca-loja';
	var classeErro = 'Erro';
	var divResposta = '#onde-encontrar > div:last';
	var selectCidades = formulario+' div select';

	$('#cep').focus();
	
	$(formulario).validate({
		rules: {
			cep: {required: '#uf:blank', digits:true, minlength:8},
			siglaEstado: {required: '#cep:blank'}
		},
		messages: {
			cep: {required:'Obrigatório', digits:'Somente números', minlength:'Inválido'},
			siglaEstado: 'Selecione um Estado'
		},
		highlight: function(element, errorClass){
			//$(element).addClass(classeErro);
			$(element).prev().addClass(classeErro);
		},
		unhighlight: function(element, errorClass){
			//$(element).removeClass(classeErro);
			$(element).prev().removeClass(classeErro);
		},
		errorPlacement: function(error, element){
			error.appendTo(element.prev());
		},
		errorElement: 'strong',
		submitHandler: function(form){
			// DESABILITA O BOTAO
			var botao = $(formulario+' button');
			
			// SE O CEP NAO ESTIVER VAZIO, RESETA O ESTADO E ESCONDE A CIDADE
			
			var cep = $('#cep').val();
			botao.attr('disabled', true);
			// REMOVE O CONTEUDO ATUAL
			$(divResposta).empty();
			$(divResposta+' h3 strong').html(cep.substr(0,5)+'-'+cep.substr(5,3));

			// SE ESTÁ APARECENDO, ESCONDE
			if($(divResposta).css('display') != 'none'){
				$(divResposta).hide();
			}

			$(form).ajaxSubmit({
				success: function(data){
					// HABILITA O BOTAO
					$(formulario+' button').attr('disabled', false);
					$(divResposta).append(data);
					$(divResposta).slideDown(function(){
						if($('#cep').val() != ''){
							form.reset();
							$(selectCidades).parent().slideUp();
						}else{
							$('#cep').val('');
						}
					});
					
				}
			});
		}
	});

	$(formulario).submit(function(e){
		e.preventDefault();
	});

	// SELECIONAR ESTADO
	$('#uf').change(function(){
		$('#cep').val('');
		$.post(siteURL + "ajax/onde-encontrar-cidades", {siglaEstado: $(this).val()},function(data){
			if($(selectCidades).parent().css('display') != 'none'){
				$(selectCidades).fadeOut('slow', function(){
					$(selectCidades).empty();		
					$(selectCidades).append(data);
					$(selectCidades).fadeIn('slow');
				});
			}else{
				$(selectCidades).append(data);			
				$(selectCidades).parent().slideDown();
			}
		});
	});

});
