(function($){
  // очищаем select
  $.fn.clearSelect = function() {
	  return this.each(function(){
		  if(this.tagName=='SELECT') {
		      this.options.length = 0;
		      $(this).attr('disabled','disabled');
		  }
	  });
  }
  // заполняем select
  $.fn.fillSelect = function(dataArray) {
	  return this.clearSelect().each(function(){
		  if(this.tagName=='SELECT') {
			  var currentSelect = this;
			  $.each(dataArray,function(index,data){
				  var option = new Option(data.text,data.value);
				  if($.support.cssFloat) {
					  currentSelect.add(option,null);
				  } else {
					  currentSelect.add(option);
				  }
			  });
		  }
	  });
  }
})(jQuery);
// Вытаскиваем AJAXом SELECTы которые выбирает пользователь
$(document).ready(function(){
  // выбор сезонности
  function adjustSeasson(){
  	var seassonValue = $('#seasson').val();
  	var tmpSelect = $('#width');
  	if(seassonValue.length == 0) {
  		tmpSelect.attr('disabled','disabled');
  		tmpSelect.clearSelect();
  		adjustTyreWidth();
  	} else {
  		$.getJSON('',{seasson:seassonValue},function(data) { 
  	  		tmpSelect.fillSelect(data.content).attr('disabled',''); 
			$('#count').text("Найдено " + data.count + " товаров");
  	  		adjustTyreWidth();
  	  		 
  	  	});
  	}
  };
  // выбор ширины шины
  function adjustTyreWidth(){
  	var seassonValue = $('#seasson').val();
  	var widthValue = $('#width').val();
  	var tmpSelect = $('#profile');
  	if(seassonValue.length == 0||widthValue.length == 0) {
  		tmpSelect.attr('disabled','disabled');
  		tmpSelect.clearSelect();
  		adjustTyreHeight();
  	} else {
  		$.getJSON('',{seasson:seassonValue,width:widthValue},function(data) { 
  	  		tmpSelect.fillSelect(data.content).attr('disabled','');
  	  		$('#count').text("Найдено " + data.count + " товаров"); 
  	  		adjustTyreHeight(); 
  	  	});
  	}
  };

  // выбор профиля шины
  function adjustTyreHeight(){
  	var seassonValue = $('#seasson').val();
  	var widthValue = $('#width').val();
  	var heightValue = $('#profile').val();
  	var tmpSelect = $('#radius');
  	if(seassonValue.length == 0||widthValue.length == 0||heightValue.length == 0) {
  		tmpSelect.attr('disabled','disabled');
  		tmpSelect.clearSelect();
  		adjustTyreRadius();
  	} else {
  		$.getJSON('',{seasson:seassonValue,width:widthValue,height:heightValue},function(data) { 
  	  		tmpSelect.fillSelect(data.content).attr('disabled','');
  	  		$('#count').text("Найдено " + data.count + " товаров");
  	  		adjustTyreRadius();
  	  	});
  	}
  };
  
  // выбор радиуса шины
  function adjustTyreRadius(){
  	var seassonValue = $('#seasson').val();
  	var widthValue = $('#width').val();
  	var heightValue = $('#profile').val();
  	var radiusValue = $('#radius').val();
  	var tmpSelect = $('#producer');
  	if(seassonValue.length == 0||widthValue.length == 0||heightValue.length == 0||radiusValue.length == 0) {
  		tmpSelect.attr('disabled','disabled');
  		tmpSelect.clearSelect();
  	} else {
  		$.getJSON('',{seasson:seassonValue,width:widthValue,height:heightValue,radius:radiusValue},function(data) { 
  	  		tmpSelect.fillSelect(data.content).attr('disabled','');
  	  		$('#count').text("Найдено " + data.count + " товаров"); 
  	  	});
  	}
  };
	
  $('#seasson').change(function(){
  	adjustSeasson();
  }).change();
  $('#width').change(adjustTyreWidth);
  $('#profile').change(adjustTyreHeight);
  $('#radius').change(adjustTyreRadius);
  $('#producer').change(function(){
  	if($(this).val().length != 0) { 
  	  	var seassonValue = $('#seasson').val();
  	  	var widthValue = $('#width').val();
  	  	var heightValue = $('#profile').val();
  	  	var radiusValue = $('#radius').val();
  	  	var producerValue = $('#producer').val();
  	  	document.location.href = "?seasson=" + seassonValue + "&width=" + widthValue + "&height=" + heightValue + "&radius=" + radiusValue + "&producer=" + producerValue; 
  	}
  });
  

});
// Если пользователь выбрал уже параметры, отображаем их
var arrGET = get_request();
if(arrGET["seasson"] != undefined) {
	$(document).ready(function(){
		//var seassonValue = $('#seasson').val();
		//var tmpSelect = $('#width');
		$('#seasson option[value="' + arrGET["seasson"] + '"]').attr('selected', 'selected');
		//adjustSeasson();
		$.getJSON('',{seasson:arrGET["seasson"]},function(data) { 
			$('#width').fillSelect(data.content).attr('disabled','');
			$('#width option[value="' + arrGET["width"] + '"]').attr('selected', 'selected');
		});
		$.getJSON('',{seasson:arrGET["seasson"],width:arrGET["width"]},function(data) { 
			$('#profile').fillSelect(data.content).attr('disabled','');
			$('#profile option[value="' + arrGET["height"] + '"]').attr('selected', 'selected');
		});
		$.getJSON('',{seasson:arrGET["seasson"],width:arrGET["width"],height:arrGET["height"]},function(data) { 
			$('#radius').fillSelect(data.content).attr('disabled','');
			$('#radius option[value="' + arrGET["radius"] + '"]').attr('selected', 'selected');
		});
		$.getJSON('',{seasson:arrGET["seasson"],width:arrGET["width"],height:arrGET["height"],radius:arrGET["radius"]},function(data) { 
			$('#producer').fillSelect(data.content).attr('disabled','');
			$('#producer option[value="' + arrGET["producer"] + '"]').attr('selected', 'selected');
		});
	});
}
