;(function($){
	window.Estocolmo = {
		init: function() {
			this.Veiculo.init();
			this.initMapaLocalizacao();
		},
		initMapaLocalizacao: function() {
			if ((typeof GBrowserIsCompatible !== "undefined") && (GBrowserIsCompatible())) {
				var map = new GMap2(document.getElementById("map"));
		        	geocoder = 	new GClientGeocoder();

				geocoder.getLatLng("R. Eng. Rebouças, 2176 - Rebouças, Curitiba - PR, 80230-040", function(point){
									if (point) {
										var marker = new GMarker(point);
										map.addOverlay(marker);
										map.setCenter(point, 16);
									}
								});

      		}
		},
		Veiculo: {
			init: function(){
				this.Detalhes.init();
				$('select#marca,select#busca_avancada_marca').change(function(){
					if (this.value !== "0")
						Estocolmo.Veiculo.getModelosFabricante(this.value);
					else
						$('select#modelo,select#busca_avancada_modelo').empty().append('<option value="0"> - Modelo - </option>');
					return false;
				});
				$('select#modelo,select#busca_avancada_modelo').change(function(){
					if ($('select#ano,' +
					  'select#busca_avancada_ano_ini,' +
					  'select#busca_avancada_ano_fim,' +
					  'select#valor,' +
					  'select#busca_avancada_preco_de,' +
					  'select#busca_avancada_preco_ate').size() > 0) {
						if (this.value !== "0") {
							Estocolmo.Veiculo.getFaixaAnosModelo(this.value);
							Estocolmo.Veiculo.getFaixaPrecoModelo(this.value);
						} else {
							$('select#ano,select#busca_avancada_ano_ini,select#busca_avancada_ano_fim').empty().append('<option value="0"> - Ano - </option>');
							$('select#busca_avancada_preco_de').empty().append('<option value="0">De</option>');
							$('select#busca_avancada_preco_ate').empty().append('<option value="0">Até</option>');
						}
					}
					return false;
				});
				$('select#marca').change();
				$('input#ano_carro').mask('9999/9999');
				$('input#telefone').mask('(99) 9999-9999');
			},
			Detalhes: {
				init: function() {
					this.initMiniGaleria();
					this.enviarProposta();
					$('input#troca_carro')
						.click(function(){
							if (this.checked)
								$(this).parents('ol').find('li:lt(10):gt(5)').show();
							else {
								$(this).parents('ol').find('li:lt(10):gt(5)').hide();
								$(this).parents('ol').find('li:lt(10):gt(5)').find(':input').val('');
								$(this).parents('ol').find('select#marca').change();
							}
						});
					$('ul.opcoes li a.imprimir').click(function(){ window.print(); return false; });
				},
				initMiniGaleria: function() {
					$('div#detalhe-veiculo div.detalhes-veiculo div.galeria img.imagem-maior')
						.load(function(){
								Shadowbox.setup($('div#detalhe-veiculo div.detalhes-veiculo div.galeria a:eq(0)'), shadowbox_conf);
								$(this).fadeIn('slow');
						});
					$('div#detalhe-veiculo div.detalhes-veiculo div.galeria ul li a')
						.each(function(){
							$(this).click(function(){
								var new_src = this.href;
								$(this).parents('ul').find('li a.ativo').removeClass('ativo');
								$(this).addClass('ativo');
								$('div#detalhe-veiculo div.detalhes-veiculo div.galeria img.imagem-maior')
									.fadeOut('slow', function(){
														this.src = this.parentNode.href = new_src;
													 }
									);
								return false;
							});
						});
				},
				enviarProposta: function() {
					$('form#formProposta').submit(function(){
						var form = $(this);
					try {
						form.block({
										message: '<strong>Enviando proposta, aguarde...</strong>',
										centerY: false,
										css: { width: '50%', top: 'auto', bottom: '10%' }
									 });
						$.post(
							form.attr('action'),
							form.serialize(),
							function(data) {
								form.unblock();
								if (data.errors.length > 0) {
									alert(data.errors.join('\r\n'));
								} else {
									alert("Proposta enviada com sucesso.\n\nEm breve um de nossos consultores entrará em contato no telefone informado.");
									form.find(':input').val('');
									form.find('select#marca').change();
								}
							},
							'json'
						);
					} catch (err) {
						console.log(err);
					}
						return false;
					});
				}
			},
			getModelosFabricante: function(f) {
				$('select#modelo,select#busca_avancada_modelo')
					.parents('form')
						.block({
							message: '<strong>Carregando modelos, aguarde...</strong>',
							centerY: false,
							css: { width: '70%' }
						 });
				$.post(
					HTTP_PATH + 'nosso-estoque/veiculo-modelo/',
					'f=' + f,
					function(data) {
						$('select#modelo,select#busca_avancada_modelo').parents('form').unblock();
						$('select#modelo  option[value!="0"],select#busca_avancada_modelo  option[value!="0"]').remove();
						for (var i = 0; i < data.modelo.length; i++) {
							$('select#modelo,select#busca_avancada_modelo').append('<option value="' + data.modelo[i].cd_modelo + '">' + data.modelo[i].ds_modelo + '</option>');
						}
						$('select#modelo,select#busca_avancada_modelo').focus();
						$('select#modelo,select#busca_avancada_modelo').change();
					},
					'json'
				);
			},
			getFaixaAnosModelo: function(m) {
				$('select#ano,select#busca_avancada_ano_ini,select#busca_avancada_ano_fim')
					.parents('form')
						.block({
								message: '<strong>Carregando ano dos modelos, aguarde...</strong>',
								centerY: false,
								css: { width: '70%' }
							 });
				$.post(
					HTTP_PATH + 'nosso-estoque/faixa-ano-modelo/',
					'm=' + m,
					function(data) {
						$('select#ano,select#busca_avancada_ano_ini,select#busca_avancada_ano_fim').focus().parents('form').unblock();
						$('select#ano option[value!="0"],select#busca_avancada_ano_ini option[value!="0"],select#busca_avancada_ano_fim  option[value!="0"]').remove();
						if (data.ano.length > 0) {
							for (var i = 0; i < data.ano.length; i++) {
								$('select#ano,select#busca_avancada_ano_ini,select#busca_avancada_ano_fim').append('<option value="' + data.ano[i].nr_ano_ini_veiculo + '">' + data.ano[i].nr_ano_ini_veiculo + '</option>');
							}
							/*for (var i = data.ano.min; i <= data.ano.max; i++) {
								$('select#ano,select#busca_avancada_ano_ini,select#busca_avancada_ano_fim').append('<option value="' + i + '">' + i + '</option>');
							}*/
						}
						if ($('select#ano option,select#busca_avancada_ano_ini option,select#busca_avancada_ano_fim option').size() === 0)
							$('select#ano option,select#busca_avancada_ano_ini,select#busca_avancada_ano_fim').empty().append('<option value="0"> - Ano - </option>');
					},
					'json'
				);
			},
			getFaixaPrecoModelo: function(m) {
				$.post(
					HTTP_PATH + 'nosso-estoque/faixa-preco-modelo/',
					'm=' + m,
					function(data) {
						$('select#valor option[value!="0"],select#busca_avancada_preco option[value!="0"]').remove();
						if (typeof data.faixa !== 'undefined') {
							for (var i = 0; i < data.faixa.length; i++) {
								$('select#valor,select#busca_avancada_preco')
									.append('<option value="' + data.faixa[i].value + '">' + data.faixa[i].label + '</option>');
							}
						}
					},
					'json'
				);
			}
		}
	};
	$(document).ready(function(){Estocolmo.init()});
})(jQuery);
