function Filter(){
	this.producer;
	this.series;
	this.models;
		
	this.init = function(){
		var self=this;
		this.producer=$("select.producer");
		this.series=$("select.series");
		this.models=$("select.models");

		this.changeProducer($('option:selected',this.producer).val());
		this.changeSeries($('option:selected',this.series).val());
		this.changeModels($('option:selected',this.models).val());
		
		this.producer.change(function () { 
			self.producer=$(this); 
			self.changeProducer($(this).val())  
			if ($(this).val()==""){			
				$('.empty',self.models).attr('selected','selected'); 
				$('.empty',self.series).attr('selected','selected');  
			}		
		});
		this.series.change(function () { 
			self.series=$(this); 
			self.changeSeries($(this).val()) ;
			if ($(this).val()==""){			
				$('.empty',self.models).attr('selected','selected');  
			};
		});
		this.models.change(function () { 
			self.models=$(this); 
			self.changeModels($(this).val())  
		});
	}

	this.showOption = function(tagOption){
		tagOption=$(tagOption);
		var element=tagOption.prev()
		while(element.length>0){

			if ( element.attr('class')=='empty' ){
				tagOption.css('color','black');				
					element.after(tagOption);
				return;			
			}
			if (element.css('color')=='black'  ){
				tagOption.css('color','black');				
					element.before(tagOption);
				return;			
			}
			element=element.prev()
		}
		tagOption.css('color','black');
		if ($.browser.opera) {
			tagOption.prev().after(tagOption);
		}
			
	}

	this.hideOption = function(tagOption){
		tagOption=$(tagOption);		
		$(tagOption).css('color','gray')
		if ($.browser.opera) {
			$(tagOption).prev().after($(tagOption));
		}
	}
	
	this.trow = function(list){
		if ($.browser.opera) {
			$('option',list).each(function (i) {
				showOption(this);
			});
			return;	
		}
		$('option',list).css('color','black');
	}
	
	this.changeProducer = function(id){
		var self=this;
		var cntS=0;
		var cntM=0;
		if (id==""){
			this.trow(self.series);
			this.trow(self.models);
			return;
		}		
	//	self.models.removeAttr('selected');		
	//	$('.empty',self.series).attr('selected','selected')		
		var reSeries = new RegExp('^\\w+-'+id+'$');;
		$('option',self.series).each(function (i) {
			if (!(reSeries.test($(this).attr('class'))) && $(this).attr('class')!='empty'){
				self.hideOption(this);
				$(this).removeAttr('selected');
				cntS++;			
			}else{
				self.showOption(this);
			}
		});
		if (cntS==0){
			$('.empty',self.series).attr('selected','selected');
		}
        	var reModels = new RegExp('^\\w+-\\d*-'+id+'$');;
		$('option',self.models).each(function (i) {
			if (!(reModels.test($(this).attr('class')))&& $(this).attr('class')!='empty'){
				self.hideOption(this);
				$(this).removeAttr('selected');
				cntM++;			
			}else{
				self.showOption(this);
			}
		});
		if (cntM==0){
			$('.empty',self.models).attr('selected','selected');
		}        	
	}
	this.changeSeries = function(id){
		var self=this;
		if (id==""){
			this.changeProducer(self.producer.val())	
		//	self.trow(self.models);	
			return;
		}
		var producer=/^\w+-(\d+)$/.exec($('option:selected',$(this.series)).attr('class'))
		if (producer){
			$('#products-'+producer[1]).attr('selected','selected')		
			self.changeProducer(producer[1]);		
		}else{
			$('.empty',$('select.producer')).attr('selected','selected')		
		}		
		var reModels = new RegExp('^\\w+-'+id+'-\\d+$');;
		$('option',self.models).each(function (i) {
			if (!(reModels.test($(this).attr('class'))) && $(this).attr('class')!='empty' ){
				self.hideOption(this);
				$(this).removeAttr('selected');
			}else{
				self.showOption(this);
			}
		});
																																																															}
	this.changeModels = function(id){
		var self=this;
		if ($('option:selected',$(this)).css('color')=='gray'){
			self.trow(self.models);			
			return;
		}	
		var parent=/^\w+-(\d*)-(\d*)$/.exec($('option:selected',$(self.models)).attr('class'))
		if (parent){
			if (parent[2] && parent[2]!=''){
				$('#products-'+parent[2]).attr('selected','selected');		
				self.changeProducer(parent[2]);		
			}else{
				$('.empty',$('select.producer')).attr('selected','selected');		
				self.changeProducer("");		
			}
			if (parent[1] && parent[1]!=''){
				$('#series-'+parent[1]).attr('selected','selected');
				self.changeSeries(parent[1]);		
			}else{
				$('.empty',$('select.series')).attr('selected','selected');		
				self.changeSeries("");		
			}
		}
		
					
		
	}

}
var filter;

$(document).ready(function(){
	filter = new Filter();
	filter.init();
	if($("#pagetitle").html()==''){
		$("#pagetitle").remove();
	}

	if ($.browser.msie){
		$('#vertical-multilevel-menu li').hover(
			function(){
				$('ul.root-item',$(this)).show();
			},
			function(){
				$('ul.root-item',$(this)).hide();
			}
		
		)
	}



});


$('input.params').live('keyup',function(){ 
	var str=$(this).val();
	var result = "";
	for(var chr in str){
		if (/[0-9]/.test(str[chr])){			
			result+=str[chr];	
		}
		if(chr>5){
			$(this).val(result);
			return;
		} 
	}
	$(this).val(result);
});
 

