// JavaScript Document
$(document).ready(function(){
	filterSubmit();
	setupSliders();
	changeFilter();
});

function filterSubmit() {
	$('#search_block form').live('submit', function(){
		var yearMin = $('div#year a span#yearMinValue').text();
		var yearMax = $('div#year a span#yearMaxValue').text();
		$('input[name=yearMin]').attr('value', yearMin);
		$('input[name=yearMax]').attr('value', yearMax);

		var priceMin = $('div#price a span#priceMinValue').text();
		var priceMax = $('div#price a span#priceMaxValue').text();
		$('input[name=priceMin]').attr('value', priceMin);
		$('input[name=priceMax]').attr('value', priceMax);

		var distanceMin = $('div#distance a span#mileageMinValue').text();
		var distanceMax = $('div#distance a span#mileageMaxValue').text();
		$('input[name=mileageMin]').attr('value', distanceMin);
		$('input[name=mileageMax]').attr('value', distanceMax);
	});
}

var obj = {};
var flag = 0;

function parseUrl() {
	if(flag > 5) return;
	var vars = window.location.href;
	vars = vars.split('?');
	if(vars[1]) {
		vars = vars[1].split('&');
		$.each(vars, function(i, val){
			var value = val.split('=');
			var name = value[0];
			value = value[1];
			value = urldecode(value);
			window.obj[name] = value;
		});
		flag++;
		return window.obj;
	}
}

function urldecode(str) {
   return decodeURIComponent((str+'').replace(/\+/g, '%20'));
}

function rememberFilter() {
	var vars = parseUrl();
	if(vars){
		$.each(vars, function(i, val){
			$('#search_block input[name=' + i + ']').val(val);
			if(i != 'postcode' && i != 'keywords') {
				$('#search_block select[name=' + i + '] option[value=' + val + ']').attr('selected', 'selected');
			}
		});
		$("#year-slider-range").slider( "option", "values", [vars.yearMin, vars.yearMax]);
		$("#year .qvan").html("<span id='yearMinValue'>" + vars.yearMin +
		"</span> - <span id='yearMaxValue'>" + vars.yearMax + "</span>");

		$("#price-slider-range").slider( "option", "values", [vars.priceMin, vars.priceMax]);
		$("#price .qvan").html("&#8364; <span id='priceMinValue'>" + vars.priceMin +
		"</span> - &#8364; <span id='priceMaxValue'>" + vars.priceMax + "</span>");

		if(vars.mileageMin){
			$("#mileage-slider-range").slider( "option", "values", [vars.mileageMin, vars.mileageMax]);
			$("#distance .qvan").html("<span id='mileageMinValue'>" + vars.mileageMin +
			"</span> - <span id='mileageMaxValue'>" + vars.mileageMax + "</span>");
		}
	}
}

function changeFilter() {
	$('div.home-check a[class!="hide"]').live('click', function(){
		var path = $(this).attr('href');
		$('div#search_block').animate({opacity: 0.00}, 200, loadFilter(path));
		var pathObj = path.split('/');
		createCookie('filter', pathObj[2], 1);
		return false;
	});
}

function loadFilter(filter) {
	$('div#search_block').load(filter, function() {
		$('div#search_block').animate({opacity: 1.00}, 200);
		setupSliders();
	});
}

function setupSliders() {

	var yearLimit = $('span[name=yearLimit]').attr('value');
	var priceLimit = 100000;
	var mileageLimit = $('span[name=mileageLimit]').attr('value');

	$("#year-slider-range").slider({
		range: true,
		min: 1995,
		max: parseInt(yearLimit),
		values: [1995, parseInt(yearLimit)],
		slide: function(event, ui) {
			$("#year .qvan").html("<span id='yearMinValue'>" + ui.values[0] +
				"</span> - <span id='yearMaxValue'>" + ui.values[1] + "</span>");
		}
	});
	$("#year .qvan").html("<span id='yearMinValue'>" + $("#year-slider-range").slider("values", 0) +
		"</span> - <span id='yearMaxValue'>" + $("#year-slider-range").slider("values", 1) + "</span>");

	$("#price-slider-range").slider({
		range: true,
		min: 0,
		max: parseInt(priceLimit),
		values: [0, parseInt(priceLimit)],
		slide: function(event, ui) {
			$("#price .qvan").html("&#8364; <span id='priceMinValue'>" + ui.values[0] +
				"</span> - &#8364; <span id='priceMaxValue'>" + ui.values[1] + "</span>");
		}
	});
	$("#price .qvan").html("&#8364; <span id='priceMinValue'>" + $("#price-slider-range").slider("values", 0) +
		"</span> - &#8364; <span id='priceMaxValue'>" + $("#price-slider-range").slider("values", 1) + "</span>");

	$("#mileage-slider-range").slider({
		range: true,
		min: 0,
		max: parseInt(mileageLimit),
		values: [0, parseInt(mileageLimit)],
		slide: function(event, ui) {
			$("#distance .qvan").html("<span id='mileageMinValue'>" + ui.values[0] +
				"</span> - <span id='mileageMaxValue'>" + ui.values[1] + "</span>");
		}
	});
	$("#distance .qvan").html("<span id='mileageMinValue'>" + $("#mileage-slider-range").slider("values", 0) +
		"</span> - <span id='mileageMaxValue'>" + $("#mileage-slider-range").slider("values", 1) + "</span>");
}
