var positions = [];
var sliders = [];
window.addEvent('domready', function() {
		$$('div.roll').addEvent('click', function(){
			$(this).getNext('.filter-content').toggleClass('fclose');
		});
		
		$$('a.switch').addEvent('click', function(){
			var filterId = this.get('rel');
			$$('a.switch[rel="' + filterId + '"]').removeClass('current');
			this.addClass('current');
			$(filterId + '-value').set('value', this.get('id'));
			return false;
		});
		
		/*reset form*/
		$('panel_oshist_filtr').addEvent('click', function(){
			
			$$('a.switch').removeClass('current');
			$('all').addClass('current');
			
			$$('.slider').each(function(slider){
				var sliderId = slider.get('id').replace('-slider', '');
				var minValue = parseInt($(sliderId + '-from').retrieve('value'), 10);
				var maxValue = parseInt($(sliderId + '-to').retrieve('value'), 10);
				$(sliderId + '-from').set('value', '');
				$(sliderId + '-to').set('value', '');
				positions[sliderId] = {min: minValue, max: maxValue};
				sliders[sliderId].min.set(0);
				sliders[sliderId].max.set(maxValue);
			});
			
			$$('input[type=checkbox]:checked').each(function(checkbox){
				checkbox.removeProperty('checked');
				checkbox.getPrevious().setStyle('background-position', '0 0');
			});
			
			$$('div.roll').each(function(roll){
				roll.getNext('.filter-content').addClass('fclose');
			});
			
			return false;
		});
		
		
		$$('.slider').each(function(slider){
			var sliderId = slider.get('id').replace('-slider', '');
			
			var minValue = parseInt($(sliderId + '-from').get('value'), 10);
			var maxValue = parseInt($(sliderId + '-to').get('value'), 10);
			$(sliderId + '-from').set('value', '');
			$(sliderId + '-to').set('value', '');
			$(sliderId + '-from').store('value', minValue);
			$(sliderId + '-to').store('value', maxValue);
			
			var step = parseInt(slider.get('title'), 10);
			slider.removeProperty('title');
			
			positions[sliderId] = {min: minValue, max: maxValue};
			
			var slMin = new Slider(
				$(sliderId + '-slider-min'),
				$(sliderId + '-slider-min').getFirst('.knob'),
				{
					range : [minValue, maxValue],
					steps: Math.ceil((maxValue - minValue) / step),
					onChange: function(value){
						if (value < positions[sliderId].max) {
							$(sliderId + '-from').set('value', (value == minValue) ? '' : value);
							positions[sliderId].min = value;
						}
					}
				}
			);
			
			var slMax = new Slider(
				$(sliderId + '-slider-max'),
				$(sliderId + '-slider-max').getFirst('.knob'),
				{
					range : [minValue, maxValue],
					steps: Math.ceil((maxValue - minValue) / step),
					onChange: function(value){
						if (value > positions[sliderId].min) {
							$(sliderId + '-to').set('value', (value == maxValue) ? '' : value);
							positions[sliderId].max = value;
						}
					}
				}
			);
			sliders[sliderId] = {min: slMin, max: slMax};
			
			slMax.set(maxValue);
		});
	});
