/* - visas varikliukas- */
Filter = Class.create();
Filter.prototype = {
	initialize: function(settings) {
		this.settings = new Array();
		for (var i in settings) {
			this.settings[i] = settings[i];
		}
		this.settings['extParams'] = '';
		this.menu_div = $(this.settings['block']);
		this.addObservers();
		this.update();
	},
	addObservers: function() {
		if (this.menu_div) {
			//Event.observe(this.menu_div, "click", this.onClick.bindAsEventListener(this));
			//Event.observe(this.menu_div, "change", this.onChange.bindAsEventListener(this));
		}
	},
	update: function() {
		this.settings['params'] = 'category_id=' + this.settings['category_id'];
		if (this.settings['criterion_id'] != undefined){
			this.settings['params'] += '&criterion_id=' + this.settings['criterion_id'];
			this.settings['params'] += '&value_id=' + this.settings['value_id'];
		}
		this.settings['params'] += this.settings['extParams'];
		var myAjax = new Ajax.Updater(
			this.settings['block'], 
			this.settings['script_page'], 
			{
				method: 'post',
				parameters: this.settings['params'], 
				onComplete: this.onComplete()
			}
		);
	},
	setCategory: function(category_id){
		this.settings['category_id'] = category_id;
		this.update();
	},
	setCriterions: function(criterion_id, value_id){
		//$('loading').style.display = "inline";
		this.settings['criterion_id'] = criterion_id;
		this.settings['value_id'] = value_id;
		//this.settings['use_filter'] = 0;
		this.update();
	},
	setExternalParam: function (param, value){
		this.settings['extParams'] += "&" + param + "=" + value; 
	},
	setExternalParams: function (settings){
		for (var i in settings) {
			this.settings['extParams'] += "&" + i + "=" + settings[i]; 
		}		
	},
	onComplete: function(){
		$('category_id').value = this.settings['category_id'];
	}
};
