var DEVXFilters=function (data) {
	this.data=data;
	this.last_hdl='';
	this.mcap_max=data['mcap_max'];
	this.last_menu='view_menu_grid';
	this.current_grid = 'grid';
	this.init();
}

DEVXFilters.prototype.init = function () {
//	for (var name in this.data['columns'])
//		if (this.data['columns'][name]>0) this.addColumn(name);
};

DEVXFilters.prototype.selectFilter = function (name) {
	getObj('form_'+name).style['display']='none';
	var toname='tpl_all';
	var divname='tpl_filter_filters';
	this.moveDiv(toname, divname);
	var toname='filtr_'+this.data['columns']['filters'];
	var divname='tpl_filter_'+name;
	this.moveDiv(toname, divname);
	this.data['columns'][name]=this.data['columns']['filters'];
	this.data['columns']['filters']=0;
};

DEVXFilters.prototype.clearFilter = function (name) {
	var id=this.data['columns'][name];
	var max_id=this.getMax();
	var form=getObj('filters');
	for (var i in this.data['columns']) {
		if (this.data['columns'][i]>=id) {
			if (i=='market_cap') {
				this.mcapslider.setInputs(0, this.mcap_max);
				this.mcapslider.start();
			}
			this.clearColumn(i);
			if ((i!='filters')&&(i!='market_cap')) {
				for (var j=0; j<form.length; j++) {
					if ((form[j].type=="checkbox")&&(form[j].checked==true)&&(form[j].getAttribute('filter_')==i)) {
						form[j].checked=false;
					}
				}
			}
		}
	}
	var toname='filtr_'+id;
	var divname='tpl_filter_filters';
	this.moveDiv(toname, divname);
	this.data['columns']['filters']=id;
	return false;
};

DEVXFilters.prototype.addFilters = function () {
	var new_id=this.getMax();
	if (new_id>this.data['columns']['filters']&&new_id<5) {
		new_id++;
		var toname='filtr_'+new_id;
		var divname='tpl_filter_filters';
		this.moveDiv(toname, divname);
		this.data['columns']['filters']=new_id;
	}
	return false;
};

DEVXFilters.prototype.getMax = function () {
	var max=0;
	for (var i in this.data['columns'])
		if (max<this.data['columns'][i]) max=this.data['columns'][i];
	return max;
};


DEVXFilters.prototype.clearColumn = function (name) {
	if (name!='filters') {
		getObj('filter_'+name).checked=false;
		getObj('form_'+name).style['display']='';
	}
	var toname='tpl_all';
	var divname='tpl_filter_'+name;
	this.moveDiv(toname, divname);
	this.data['columns'][name]=0;
};

DEVXFilters.prototype.addColumn = function (name) {
	if (name!='filters') {
		getObj('filter_'+name).checked=true;
		getObj('form_'+name).style['display']='none';
	}
	var toname='filtr_'+this.data['columns'][name];
	var divname='tpl_filter_'+name;
	this.moveDiv(toname, divname);
};

DEVXFilters.prototype.showGrid = function (hdl, ahref) {
	if (loader) {
		ahref.className="view_menu_curr";
		if ( (this.last_menu!=null) && (this.last_menu!=ahref.id)) {
			getObj(this.last_menu).className="view_menu";
		}
		var form=new DEVXForm({'loader':loader});
		url='index.php?act=company&hdl='+hdl+'_grid&from_hdl='+this.last_hdl;
        if ('grid' != hdl) {
            var params = gridArray[this.current_grid].store.lastOptions.params;
            if (params) url += '&start='+params['start'];
            if (slider) url += '&slider_pos='+slider.x;
        }
//		url+='_ajax_table&'+dg.data['prefix']+'page='+dg.data['page']+'&'+dg.data['prefix']+'order='+dg.data['order_name']+'&'+dg.data['prefix']+'order_type='+dg.data['order_type']+'&from_hdl='+this.last_hdl;
		var s=this;
		form.loadObj2ID(url, 'grid_ext', function () {s.afterReloadGrid(form)});
		this.last_hdl=hdl;
		this.last_menu=ahref.id;
		this.current_grid = hdl;
	}
};

DEVXFilters.prototype.afterReloadGrid = function (form) {
	eval(form.jscode);
//	dg.rows={};
//	dg.pages={};
//	dg.showPage();
};

DEVXFilters.prototype.changeRowClass = function (record, rowIndex, p, store) {
	if (1 == rowIndex % 2) return 'oddRow';
	return '';
};

DEVXFilters.prototype.submitFilter = function (f) {
		var form=new DEVXForm({'loader':loader});
		url='index.php?act=company&hdl='+this.current_grid+'_grid';
/*
		url='index.php?act=company&hdl='+this.last_hdl;
		url+='_ajax_table&' + dg.data['prefix'] + 'page=' + dg.data['page'] + '&' + dg.data['prefix'] + 'order=' + dg.data['order_name'] + '&'+dg.data['prefix'] + 'order_type='+dg.data['order_type']+'&from_hdl=need_redraw';
		dg.createHiddenContainer();
*/
		var s=this;
		form.submit(f, function () {s.afterReloadGrid(form)}, url);
		return false;
};

DEVXFilters.prototype.startDoubleSlider = function (form) {
	this.mcapslider=new DEVXDoubleSlider({
		"id_point":"mcap_slider",
		"loader":loader,
		"minInput": "input_mcap_min",
		"maxInput": "input_mcap_max",
		"minValue": 0,
		"maxValue": this.mcap_max,
		"scaleHeight": 1
	});
	this.mcapslider.preDraw();
};

DEVXFilters.prototype.moveDiv = function (toname, divname) {
	var todiv=getObj(toname);
	var div=getObj(divname);
	if (detectBrowser()=='IE') {
		var tmp=div.outerHTML;
		div.parentNode.removeChild(div);
		todiv.innerHTML=todiv.innerHTML+tmp;
	} else {
		var tmp=div.cloneNode(true);
		div.parentNode.removeChild(div);
		todiv.appendChild(tmp);
	}
};

