var ControlSeleccion;
ControlSeleccion = function(){

/***   Funcion para los Tips   ***/
	Ext.QuickTips.init();
/*** Cartel Cargando   ***/
 
 // custom column plugin example
var datoscapa = new Ext.data.SimpleStore({fields: [{name: 'capas'},{name: 'seleccionable'}]});
da = new Array();
cont = 0;

Gestionar_CapasSeleccionables(elementos, "vSeleccion");

datoscapa.loadData(da);

Ext.grid.CheckColumn = function(config){
    Ext.apply(this, config);
    if(!this.id){
        this.id = Ext.id();
    }
    this.renderer = this.renderer.createDelegate(this);
};

Ext.grid.CheckColumn.prototype ={
    init : function(grid){
        this.grid = grid;
        this.grid.on('render', function(){
            var view = this.grid.getView();
            view.mainBody.on('mousedown', this.onMouseDown, this);
        }, this);
    },

    onMouseDown : function(e, t){
        if(t.className && t.className.indexOf('x-grid3-cc-'+this.id) != -1){
            e.stopEvent();
            var index = this.grid.getView().findRowIndex(t);
            var record = this.grid.store.getAt(index);
            record.set(this.dataIndex, !record.data[this.dataIndex]);
        }
    },

    renderer : function(v, p, record){
        p.css += ' x-grid3-check-col-td'; 
        return '<div class="x-grid3-check-col'+(v?'-on':'')+' x-grid3-cc-'+this.id+'">&#160;</div>';
    }
};

var checkColumn = new Ext.grid.CheckColumn({
       header: "Seleccionable",
       dataIndex: 'seleccionable',
       width: 78
    });

 var cm = new Ext.grid.ColumnModel([{
           id:'capas',
           header: "Capas",
           dataIndex: 'capas',
           width: 220
          },
        checkColumn
    ]);
 var grid = new Ext.grid.EditorGridPanel({
        store: datoscapa,
        cm: cm,
        width:338,
        height: 175,
        frame:true,
        autoScroll : true,	
        plugins:[checkColumn]
        });


var pcontrolsel = new Ext.Panel({
		frame : true,
		width : 350,
		//layout : 'fit',
	  height: 275,
		items : [
		          grid,
		          {
		            xtype: 'checkbox', 
		            boxLabel: 'seleccionar todas',
		            style : 'margin:6 0 0 6;',
		            listeners:{
		                        'check': function(comp,e)
					          {
					           		for(i=0;i<datoscapa.data.items.length;i++)
									{
									  var s = datoscapa.data.items[i];
									  s.data.seleccionable = e;
									  datoscapa.data.items[i] = s;																						
									}	
									grid.reconfigure(datoscapa,cm);									                 
					          }
		                       }
		          }
		        ]
});
var controlsel = new Ext.Window(
	{
				title : 'Control de Selecci&oacute;n',  
        width : 365,
        //autoHeight : true,
        height: 280,
				plain : true,
				resizable :false,
				modal :true,
				//layout : 'fit',
        closeAction :'hide',
				buttons: [
				{text : 'Aceptar',
				handler :		function()
				{
				  var cadena="";
				  var arreg= new Array();
				  for(i=0;i<datoscapa.data.items.length;i++)
				  {
				    var s = datoscapa.data.items[i];
				    if(s.data.seleccionable)
				    {
				      if(cadena=="")
				      {
				       cadena = s.data.capas;
				      }
				      else
				      {
				        cadena += "," + s.data.capas;
				      }
				    }				     
				  }
					arreg = cadena.split(',');
					document.getElementById('capas_select').value = arreg;
					controlsel.hide();
				}},
				{text : 'Cancelar',
         handler  : function()
					{
                       			 controlsel.hide();
                    			}
                		}],
				items : pcontrolsel
				
            }
 ); 

controlsel.show();
};

