// JavaScript Document
var brand;
var brandAuto;
var model;
var gen;
var motor;
var redirect;
var filter = 'general';
var brand = "";
var minps = "";
var maxps= "";
var minETS= "";
var maxETS= "";
var minHoleS= "";
var maxHoleS= "";

$(function() {

	var minPrice;
	var maxPrice;
	var minET;
	var maxET;
	var maxHole;
	var minHole;
	
	$("#mainQuick a").hover(function() {
		var name = $(this).attr('title');
		$(this).children().prop('src', '/i/main/' + name + "A.jpg");
	}, function() {
		var name = $(this).attr('title');
		$(this).children().prop('src', '/i/main/' + name + ".jpg");
	});
	
	// по умолчанию
	$.post('/filters/getFilters', $("#disksForm").serialize() + "&type=disks&convert=true&brand=" + brand + "&filter=" + filter, function(data) {
		fillFields(data, 'D', '155px');
		$("#mainSearch img[title='disks']").attr('src', '/i/main/disksA.gif').parent().attr('title', 'selected');
		$("#t_disks, #diskAuto").show();
		$(":radio[name='typeDisk']").eq(0).trigger('click');
	}, 'json');
			
	
	$("#mainSearch img").hover(function() {		
		if($(this).parent().attr('title') != "selected") {
			var name = $(this).attr('title'); 
			$(this).attr('src', '/i/main/' + name + 'A.gif');
		}
	}, function() {
		if($(this).parent().attr('title') != "selected") {
			var name = $(this).attr('title'); 
			$(this).attr('src', '/i/main/' + name + '.gif');
		}
	});
	
	$(":radio[name='typeDisk']").change(function() {
		$("#diskAuto, #diskSize").hide();
		if($(this).val() == "auto")
			$("#diskAuto").show();
		else if ($(this).val() == "size")
			$("#diskSize").show();
	});
	
	$("#mainSearch a").click(function(event) {
		var name = $(this).children().attr('title');
		$("#mainSearch a").attr("title", "");
		$(".blockPrice, #diskAuto, #diskSize").hide();
		$("#mainSearch img[title='disks']").attr('src', '/i/main/disks.gif');
		$("#mainSearch img[title='tyres']").attr('src', '/i/main/tyres.gif');
		$("#t_" + name).show();
		$(this).attr('title', 'selected').children().attr('src', '/i/main/' + name + 'A.gif');
		if(name == 'disks') { 	
				$.post('/filters/getFilters', $("#disksForm").serialize() + "&type=disks&convert=true&brand=" + brand + "&filter=" + filter, function(data) {
					fillFields(data, 'D', '155px');
					$("#diskAuto").show();
			}, 'json');
	
		} else if(name == 'tyres') {
			$.post('/filters/getFilters', $("#tyresForm").serialize() + "&type=tyres&convert=true&brand=" + brand + "&filter=" + filter, function(data) {
					fillFields(data, 'T', '85px');
			}, 'json');
			
		}
		event.preventDefault();
	});
	
	
	// фильтры -------------------------------------------------------

		$("#startAuto").click(function() {
			if(redirect != null)
				location.href = redirect;
		});
		
		$("#cleanAuto").click(function() {
			$("#DDbrand :first").attr("selected", "selected");
			$("#DDgen, #DDmotor, #DDmodel").html("<option>все</option>");
			redirect = null;
		});
		
		// при выборе бренда
		$("#DDbrand").change(function () {
			if($(this).val() == "") return;
			$("#DDgen, #DDmotor").html("<option>все</option>");
			brandAuto = $("#DDbrand option:selected").attr('title');
			var request = {"id" : $(this).val()};
			$.post("/disks/auto/getModels", request, function(data) {
				$.each(data, function(key, value) { 
				  $("#DDmodel").append("<option title='" + value['url'] + "' value='" + value['id'] + "'>" + value['title'] + "</option>");
				});
				redirect = '/disks/auto/' + brandAuto + '/';
			}, 'json');
		});
		
		// при выборе модели
		
		$("#DDmodel").change(function () {
			if($(this).val() == "") return;
			$("#DDmotor").html("<option>все</option>");
			model = $("#DDmodel option:selected").attr('title');
			var request = {"id" : $(this).val()};
			$.post("/disks/auto/getGen", request, function(data) {
				$.each(data, function(key, value) { 
				  $("#DDgen").append("<option value='" + value['id'] + "'>" + value['title'] + "</option>");
				});
				redirect = '/disks/auto/' + brandAuto + '/' + model + '/';
			}, 'json');
		});
		
		$("#DDgen").change(function () {
			if($(this).val() == "") return;
			var request = {"id" : $(this).val()};
			gen = $("#DDgen option:selected").text();
			$.post("/disks/auto/getMotor", request, function(data) {
				$.each(data, function(key, value) { 
				  $("#DDmotor").append("<option value='" + value['id'] + "'>" + value['name'] + "</option>");
				});
				redirect = '/disks/auto/' + brandAuto + '/' + model + '/';
			}, 'json');
		});
		
		$("#DDmotor").change(function () {
			if($(this).val() == "") return;
			var request = {"id" : $(this).val()};
			motor = $("#DDmotor option:selected").val();
			redirect = '/disks/auto/' + brandAuto + '/' + model + '/' + gen + '/' + motor + '/';
		});
	
	
	// фильтры по дискам ---------------------------------------
	
	$("#cleanFilterDisk").click(function() { // очистка формы поиска	
		maxps = "";
		minps = "";
		minETS = "";
		maxETS = "";
		maxHoleS = "";
		minHoleS = "";
		var request = {"type" : "disks", "brand" : brand, "filter" : filter, "maxps" : maxps, "minps" : minps, "minETS" : minETS, "maxETS" : maxETS, "maxHoleS" : maxHoleS,
		"minHoleS" : minHoleS};
		
		$.post('/filters/deleteFilter', request, function(data) {	
			fillFields(data, 'D', '155px');
		}, 'json');
	});
	
	$("#disksForm select, #disksForm :checkbox").change(function() { // формирование по одному фильтру
		
		minPrice = $("#minPrice").val();
		maxPrice = $("#maxPrice").val();
		
		maxHole = ($("#maxHole").val());
		minHole = ($("#minHole").val());
				
		minET = ($("#minET").val());
		maxET = ($("#maxET").val());
				
		$.post('/filters/getFilters', $("#disksForm").serialize() 
		+ "&type=disks&brand=" + brand + "&filter=" + filter  
		+ "&minPrice=" + minPrice + "&maxPrice=" + maxPrice  
		+ "&minps=" + minps + "&maxps=" + maxps + "&minET=" + minET + "&maxET=" + maxET
		+ "&minETS=" + minETS + "&maxETS=" + maxETS + "&minHole=" + minHole + "&maxHole=" + maxHole
		+ "&minHoleS=" + minHoleS + "&maxHoleS=" + maxHoleS + "&fromStart=true", 
		function(data) {		
			fillFields(data, 'D', '155px');
		}, 'json');
	});
		
	$("#starSearchDisk").click(function () {
		location.href = '/disks/disk/general/';
	});	
	
	// фильтры по дискам ---------------------------------------
	
	
	
	// фильтры по шинам ----------------------------------------------
	
	$("#starSearchTyre").click(function () {
		location.href = '/tyres/car/general/';
	});
	
	$("#cleanFilterTyre").click(function() { // очистка формы поиска	
		maxps = "";
		minps = "";
		var request = {"type" : "tyres", "brand" : brand, "filter" : filter, "maxps" : maxps, "minps" : minps};
		$.post('/filters/deleteFilter', request, function(data) {	
			fillFields(data, 'T', '85px');
		}, 'json');
	});
	
	
	$("#tyresForm select, #tyresForm :checkbox").change(function() { // формирование по одному фильтру
		
		if($(this).attr('id') == 'Tmodel') return;

		minPrice = $("#minPrice").val();
		maxPrice = $("#maxPrice").val();
					
		$.post('/filters/getFilters', $("#tyresForm").serialize() + "&type=tyres&brand=" + brand + "&filter=" + filter  + 
		"&minPrice=" + minPrice + "&maxPrice=" + maxPrice  + "&minps=" + minps + "&maxps=" + maxps  + "&fromStart=true", 
		function(data) {	
			fillFields(data, 'T', '85px');
		}, 'json');
	});
	
	// фильтры по шинам ----------------------------------------------
	
			
	// фильтры -------------------------------------------------------
});


function etRange() {
		
	$("#slider-rangeET").slider({
		range: true,
		min: parseFloat($("#minET").val()),
		max: parseFloat($("#maxET").val()),
		step: 1,
		values: [parseFloat($("#minET").val()), parseFloat($("#maxET").val())],
		slide: function(event, ui) {
			$("#etAmount").val(ui.values[0] + " - " + ui.values[1]);
		}, stop: function(event, ui) {
				
			var minPrice = parseFloat($("#minPrice").val());
			var maxPrice = parseFloat($("#maxPrice").val());
					
			var filter = $("#filter").val();
			var brand = $("#brandID").val();
			var filter = $("#filter").val();
			
			var minET = parseFloat($("#minET").val());
			var maxET = parseFloat($("#maxET").val());
				
			var maxHole = parseFloat($("#maxHole").val());
			var minHole = parseFloat($("#minHole").val());
			
			minETS = ui.values[0];
			maxETS = ui.values[1];
												
			$.post('/filters/getFilters', $("#disksForm").serialize() 
			+ "&type=disks&brand=&filter=general&minps=" + minps 
			+ "&maxps=" + maxps  + "&minPrice=" + minPrice + "&maxPrice=" + maxPrice  
			+ "&minET=" + minET + "&maxET=" + maxET + "&minETS=" + minETS + "&maxETS=" + maxETS 
			+ "&minHole=" + minHole + "&maxHole=" + maxHole
			+ "&minHoleS=" + minHoleS + "&maxHoleS=" + maxHoleS  + "&fromStart=true", 
			
			function(data) {	
				fillFields(data, 'D', '155px');
			}, 'json');	
		}
	});
		
	$("#etAmount").val($("#slider-rangeET").slider("values", 0) + " - " + $("#slider-rangeET").slider("values", 1));
}	

function holeRange() {

	$("#slider-rangeHole").slider({
		
		range: true,
		min: parseFloat($("#minHole").val()),
		max: parseFloat($("#maxHole").val()),
		step: .1,
		values: [parseFloat($("#minHole").val()), parseFloat($("#maxHole").val())],
		slide: function(event, ui) {
			$("#holeAmount").val(ui.values[0] + " - " + ui.values[1]);
		}, stop: function(event, ui) {
		
			minHoleS = ui.values[0];
			maxHoleS = ui.values[1];
			
			var minPrice = parseFloat($("#minPrice").val());
			var maxPrice = parseFloat($("#maxPrice").val());
			
			var filter = $("#filter").val();
			var brand = $("#brandID").val();
			var filter = $("#filter").val();
			
			var minET = parseFloat($("#minET").val());
			var maxET = parseFloat($("#maxET").val());
			
			var maxHole = parseFloat($("#maxHole").val());
			var minHole = parseFloat($("#minHole").val());
	

			$.post('/filters/getFilters', $("#disksForm").serialize() 
			+ "&type=disks&brand=&filter=general&minps=" + minps + "&maxps=" + maxps  
			+ "&minPrice=" + minPrice + "&maxPrice=" + maxPrice  + "&minET=" + minET 
			+ "&maxET=" + maxET + "&minETS=" + minETS + "&maxETS=" + maxETS + "&minHole=" + minHole 
			+ "&maxHole=" + maxHole + "&minHoleS=" + minHoleS + "&maxHoleS=" + maxHoleS  + "&fromStart=true", 
			
			function(data) {	
				fillFields(data, 'D', '155px');
			}, 'json');	
		}
	});
		
	$("#holeAmount").val($("#slider-rangeHole").slider("values", 0) + " - " + $("#slider-rangeHole").slider("values", 1));
}
