var DataView = function(){};

DataView.prototype = 
{
	instance 	: null,
	sessionId	: null,
	
	filters		: [],
	
	init: function()
	{
		this.initFilters();
	},
	
	action: function(action, parameters)
	{
		var DV = this;
		
		parameters["action"] 		= action;
		parameters["instance"] 		= this.instance;
		parameters["session_id"] 	= this.sessionId;
		
		var succes_actions = function(html)
		{
			jQuery("#"+DV.instance).html(html);
			DV.ajaxRefresh();
		}
				
		jQuery.ajax({
			url		: this.dvHost,
			type	: "post",
			data	: parameters,
			success	: succes_actions
		});
	},
	
	addFilter: function(name)
	{
		this.filters.push(name);
	},
	
	ajaxRefresh: function(){},
	
	initFilter: function(field)
	{
		var query 	= "#dv_select_"+field+"_"+this.instance;
		var DV		= this;
		
		jQuery(query).change(function(){
			DV.action("filter", {field:field, value:this.value});
		});
	},
	
	initFilters: function()
	{
		for(var i=0; i<this.filters.length; i++)
		{
			this.initFilter(this.filters[i]);
		}
	}
}