// require jquery
// require jquery-ui

BPjs = window.BPjs || {};

// Helpers

$.urlParam = function(name, url){
	if(!url) url = window.location.href; 
	var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url) || false;
	return results[1];
}

// Home

BPjs.Comum = (function($){
	var exports = {};
	
	var filtroTipo = $.urlParam("carro") || "todo",
		filtroUrl = {	todo : { url: "", title: ""},
					novo : { url: "&xro=3380&xrc3380=111137", title: "Novos" },
					usado : {url: "&xro=3380&xrc3380=111138", title: "Usados" }};
	
	// @private: filtroTipo
	
	function _buscaPlaceholder(){
		$("#produto").click(function(){ $(this).val(""); });
	}
	
	// @private: filtroTipo
	
	function _filtroTipo(){
		// home: handle tabs
		$("#home-hd a").click(function(e){
			$("#home-hd .categoria-tabs a").removeClass("active");
			$(this).addClass("active");
			filtroTipo = $.urlParam("carro", $(this).attr("href"));
			e.preventDefault();
		});
		
		// marcas: add title
		$("#main-hd h1").append(" " + filtroUrl[ filtroTipo ].title)		
			
		// capture and parse link
		$(".marcas a, #marcas-principais a").click(function(e){
			var url = $(this).attr("href") + filtroUrl[ filtroTipo ].url;
			window.location = url;
			e.preventDefault();
		});
	}

	// @private: filtroPreco
	
	function _filtroPreco()
	{
		var priceSliderUrl = "/proc_unico?id=9825&cr=2&pr=105" + filtroUrl[ filtroTipo ].url,
			min = 1000,
			max = 340000;

		var priceSlider = $( "#slider-range" ).slider({
			range: true,
			min: 1000,
			max: 350000,
			step: 1000,
			values: [ min, max ],
			slide: function( event, ui ) {
				$( "#field-price-min" ).val( ui.values[ 0 ] );
				$( "#field-price-max" ).val( ui.values[ 1 ] );
				_updateFormAction();
			},
			create: function(event, ui) {
				$( "#slider-range" ).find(".ui-slider-handle:last").addClass("ui-slider-handle-last");
			}
		});
	
		function updatePriceSlider(){
			min = $( "#field-price-min" ).val();
			max = $( "#field-price-max" ).val();
			
			min = (min >= max) ? max : min;
	
			priceSlider.slider( "values" , 0 , [min] );
			priceSlider.slider( "values" , 1 , [max] );
			
			_updateFormFields()
			_updateFormAction();
		}
	
		function _updateFormFields(){
			$( "#field-price-min" ).val(min);
			$( "#field-price-max" ).val(max);							
		}
	
		function _updateFormAction(){
			min = $( "#field-price-min" ).val();
			max = $( "#field-price-max" ).val();								
			
			var	url = priceSliderUrl + '&precomax=' + max + '&precomin=' + min,
				form = $("#box-faixa-preco form").attr("action", url);
		}
	
		$( ".field-price" ).change(function(){ _updatePriceSlider(); });
	
		_updateFormFields();
		_updateFormAction();
	}
	
	function _toggleContent(){
		$('.box-filter h2 a, .box-marcas p a').click(function(e) {
			$(this).parent().find("a").toggle();
			$(this).parent().parent().find("ul.more").slideToggle();
			e.preventDefault();
		});
	}

	exports.init = function(){
		// jquery required 
		$(function(){
			_filtroPreco();
			_filtroTipo();
			_toggleContent();
			_buscaPlaceholder()
		})
	}
	
	return exports;
})(jQuery);

BPjs.FaleConosco = (function($){
	var exports = {};
	
	exports.init = function(){
		// jquery required 
		$(function(){ })
	}
	
	return exports;
})(jQuery);

BPjs.Comum.init();
