/**
 * Rozszerzenie/nadpisanie do Ext-ów odblokowujące możliwość ZAZNACZANIA gridów.
 * 
 * @author ???
 * @copyright LGPL
 * @version 1.0, Ext 2.0-alhpa!!!
 **/

Ext.override(Ext.grid.GridPanel, {
	makeSelectable: function() {
		if (Ext.isIE) {
			var elms=Ext.DomQuery.select("div[unselectable=on]",this.dom);
			for (i=0; i<elms.length;i++) {
				elms[i].unselectable="off";
			}
		} else {
			//var elms_h=Ext.DomQuery.select("div[class*=x-grid3-hd-inner]{overflow=hidden}",this.dom)
			//var elms_1=Ext.DomQuery.select("div[class*=x-grid3-cell-inner]{overflow=hidden}",this.dom)
			var elms_2=Ext.DomQuery.select("*{-moz-user-select=none}",this.dom)
			/*
			for (i=0; i<elms_h.length;i++) {
				elms_h[i].style.overflow="visible";
			}
			for (i=0; i<elms_1.length;i++) {
				elms_1[i].style.overflow="visible";
			}
			*/
			for (i=0; i<elms_2.length;i++) {
				elms_2[i].style["MozUserSelect"]="all";
			}
		}
	},
	onRender : function(ct, position){
        Ext.grid.GridPanel.superclass.onRender.apply(this, arguments);

        var c = this.body;

        this.el.addClass('x-grid-panel');

        var view = this.getView();
        view.init(this);

        c.on("mousedown", this.onMouseDown, this);
        c.on("click", this.onClick, this);
        c.on("dblclick", this.onDblClick, this);
        c.on("contextmenu", this.onContextMenu, this);
        c.on("keydown", this.onKeyDown, this);

        this.relayEvents(c, ["mousedown","mouseup","mouseover","mouseout","keypress"]);

        this.getSelectionModel().init(this);
        this.view.render();
        var thisScope = this;
        this.view.on('refresh', function() {
        	thisScope.makeSelectable();
        });
    }
});


