
Ext.ns('app');

app.ComboArticulos = function(config) {
	var config = config || {};

	var storeArticulos = new Ext.data.JsonStore({
	    url: 'BuscarArticulos',
	    root: 'registros',
	    baseParams:{start:0, limit:-1, sort:'nombre', dir:'asc'},
	    fields: app.articuloRecord
	});

	Ext.applyIf(config,{
		fieldLabel: '<b>Articulo</b>',
	    store : storeArticulos,
		hiddenName:'id_articulo',
		valueField:'id',
	    displayField:'nombre',
	    typeAhead: true,
	    mode: 'remote',
	    minChars:2,
	    triggerAction: 'all',
	    emptyText:'Selecciona Articulo..',
	    selectOnFocus:true,
	    forceSelection:true,
	    anchor:'90%',
	    allowBlank:true
    });

	// call the superclass's constructor
	app.ComboArticulos.superclass.constructor.call(this, config);
};

Ext.extend(app.ComboArticulos, Ext.form.ComboBox);

/**************************************************************************/


app.ComboClientes = function(config) {
	var config = config || {};

	var storeClientes = new Ext.data.JsonStore({
	    url: 'BuscarClientes',
	    root: 'registros',
	    baseParams:{start:0, limit:-1, sort:'nombre', dir:'asc'},
	    fields: app.clienteRecord
	});

	Ext.applyIf(config,{
		fieldLabel: '<b>Cliente</b>',
	    store : storeClientes,
		hiddenName:'id_cliente',
		valueField:'id',
	    displayField:'nombre',
	    typeAhead: true,
	    mode: 'remote',
	    minChars:2,
	    triggerAction: 'all',
	    emptyText:'Selecciona Cliente..',
	    selectOnFocus:true,
	    forceSelection:true,
	    anchor:'90%',
	    allowBlank:false
    });

	// call the superclass's constructor
	app.ComboClientes.superclass.constructor.call(this, config);
};

Ext.extend(app.ComboClientes, Ext.form.ComboBox);

/**************************************************************************/


app.ComboProveedores = function(config) {
	var config = config || {};

	var storeProveedores = new Ext.data.JsonStore({
	    url: 'BuscarProveedores',
	    root: 'registros',
	    baseParams:{start:0, limit:-1, sort:'nombre', dir:'asc'},
	    fields: app.proveedorRecord
	});

	Ext.applyIf(config,{
		fieldLabel: '<b>Proveedor</b>',
	    store : storeProveedores,
		hiddenName:'id_proveedor',
		valueField:'id',
	    displayField:'nombre',
	    typeAhead: true,
	    mode: 'remote',
	    minChars:2,
	    triggerAction: 'all',
	    emptyText:'Selecciona Proveedor..',
	    selectOnFocus:true,
	    forceSelection:true,
	    anchor:'90%',
	    allowBlank:false
    });

	// call the superclass's constructor
	app.ComboProveedores.superclass.constructor.call(this, config);
};

Ext.extend(app.ComboProveedores, Ext.form.ComboBox);

/**************************************************************************/

app.ComboBancos = function(config) {
	var config = config || {};

	var storeBancos = new Ext.data.JsonStore({
	    url: 'BuscarBancos',
	    root: 'registros',
	    baseParams:{start:0, limit:-1, sort:'descripcion', dir:'asc'},
	    fields: app.bancoRecord
	});

	Ext.applyIf(config,{
		fieldLabel: '<b>Banco</b>',
	    store : storeBancos,
		hiddenName:'id_banco',
		valueField:'id',
	    displayField:'descripcion',
	    typeAhead: true,
	    mode: 'remote',
	    minChars:2,
	    triggerAction: 'all',
	    emptyText:'Selecciona Banco..',
	    selectOnFocus:true,
	    forceSelection:true,
	    anchor:'90%',
	    allowBlank:false
    });

	// call the superclass's constructor
	app.ComboBancos.superclass.constructor.call(this, config);
};

Ext.extend(app.ComboBancos, Ext.form.ComboBox);

/**************************************************************************/

app.ComboAniosTrabajo = function(config) {
	var config = config || {};

	var storeAniosTrabajo = new Ext.data.JsonStore({
	    url: 'CargarAniosTrabajo',
	    root: 'registros',
	    fields: app.anioTrabajoRecord
	});

	Ext.applyIf(config,{
		fieldLabel: '<b>A&ntilde;o de Trabajo</b>',
	    store : storeAniosTrabajo,
		hiddenName:'anio',
		valueField:'anio',
	    displayField:'value',
	    typeAhead: true,
	    mode: 'local',
	    minChars:2,
	    triggerAction: 'all',
	    emptyText:'',
	    selectOnFocus:true,
	    forceSelection:true,
	    anchor:'90%',
	    allowBlank:false
    });

	// call the superclass's constructor
	app.ComboAniosTrabajo.superclass.constructor.call(this, config);
};

Ext.extend(app.ComboAniosTrabajo, Ext.form.ComboBox);

/***************** COMBO ESTADO VENTA  ******************/

app.ComboEstadoCompraVenta = function(config) {

	var config = config || {};

	var arrayEstado = [['TODAS'], ['PENDIENTES'],['COBRADAS']];
    if(config.tipo!=null && config.tipo=='compra')
    	arrayEstado = [['TODAS'], ['PENDIENTES'],['PAGADAS']];

    var storeEstado = new Ext.data.SimpleStore({fields: ['estado'], data : arrayEstado});

	Ext.applyIf(config,{
		name:'estado',
		fieldLabel: '<b>Estado</b>',
	    displayField:'estado',
	    store : storeEstado,
	    typeAhead: true,
	    mode: 'local',
	    value:'TODAS',
	    triggerAction: 'all',
	    emptyText:'Selecciona Tipo..',
	    selectOnFocus:true,
	    forceSelection:true,
	    allowBlank:false,
	    anchor:'85%'
    });

	// call the superclass's constructor
	app.ComboEstadoCompraVenta.superclass.constructor.call(this, config);

};

Ext.extend(app.ComboEstadoCompraVenta, Ext.form.ComboBox);

