/**
 * extranetGrid : grille Ext du sommaire des occasions Hertz
 *
 * version :			1.0
 * creation date :		05/11/07
 * modification date :	05/11/07
 * author :				Guillaume Sellier, Christian Yobouet
 * copyright :			La compagnie des éclaireurs
 * access :				private
 *
 */
var ds;

Ext.BLANK_IMAGE_URL = "/medias/img/pix.gif";
var intObjTypId = 10;
var objGrid = function () 
{

    return {
        loadGrid : function () {
			//Ext.QuickTips.init();
            var tempstrProcessAction;
            tempstrProcessAction = "allVehicles";

            var pagesize = 17;
            var start = 0;
            //alert (pag_id);
            // crée le datastore
	
                ds = new Ext.data.Store ({
                    // chargement des données par HTTP
                    proxy: new Ext.data.HttpProxy ({url: '../main/article_process.php?strAction=' + tempstrProcessAction + '&intPageSize=' + pagesize + '&intObjTypId=' + intObjTypId}),

                    // lecteur XML
                    reader: new Ext.data.XmlReader ({
                        record: 'article',
                        id: 'obj_id',
                        totalRecords: 'articlesCount'
                    }, [
                        // mapping
                        'obj_id','pag_id', 'picture', 'mark', 'model', 'year', 'km', 'color', 'center', {name:'price',name:'price',type: 'int'}
                    ]),

					sortInfo: {field: 'center', direction: 'asc' }
                });
				ds.load({params:{start:0, limit: pagesize}});
                function formatPrice (value, p, record) {
                    return value + " &euro;";
                }
                
                function formatKilo (value, p, record) {
                    return value + " km";
                }				             
                // Modèle des colonnes
                var cm;
                cm = [
                    { header: 'Photo', sortable: false, dataIndex: 'picture', width: 110, resizable: false },
                    { header: 'Marque', sortable: true, dataIndex: 'mark', css: 'white-space:normal;', width: 100, resizable: true },
                    { header: 'Modèle', sortable: true, dataIndex: 'model', width: 200, resizable: false, css: 'white-space:normal;' },
                    { header: 'Année', sortable: true, dataIndex: 'year', width: 90, resizable: false },
                    { header: 'Kilométrage', sortable: true, dataIndex: 'km', width: 90, resizable: false, renderer: formatKilo },
                    { header: 'Couleur', sortable: true, dataIndex: 'color', width: 90, resizable: false },
                    { header: 'Centre', sortable: true, dataIndex: 'center', width: 90, resizable: false },
                    { header: 'Prix', sortable: true, dataIndex: 'price', width: 86, resizable: false, renderer: formatPrice }
			];

                // Réordonnable par colonne
                cm.defaultSortable = true;

                // grid
                var grid = new Ext.grid.GridPanel({
                    el: 'articles-grid',
                    store: ds,
                    columns: cm,
                    sm: new Ext.grid.RowSelectionModel(),
                    bbar: new Ext.PagingToolbar({
                        pageSize: pagesize,
                        store: ds,
                        emptyMsg: "Aucun Véhicule"
                    }),
                    enableColLock:false,
                    width: 890,
                    height: 470,
                    monitorWindowResize: false,
                    frame: true,
                    loadMask: true
                });

                // quand une ligne est cliquée
                function cellClicked (grid, rowIndex, colIndex, event ) {
                    objData = ds.getAt (rowIndex);
                    // sélection du véhicule
                    document.location.href = "core.php?pag_id=" + objData.get("pag_id");
                }
                grid.addListener ("cellclick", cellClicked);

                // render
                grid.render();
				/*
				var view = grid.getView();
				view.showPreview = true;
				view.refresh();
				*/
            //}
        }
    };
}();
Ext.EventManager.onDocumentReady(objGrid.loadGrid, objGrid, true);

