/*
 * Ext JS Library 1.1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://www.extjs.com/license
 */

Ext.onReady(function(){

    // create the Data Store
    ds = new Ext.data.Store({
        // load using script tags for cross domain, if the data in on the same domain as
        // this page, an HttpProxy would be better
        proxy: new Ext.data.HttpProxy({
            url: 'http://www.dalim.com/en/pressroom/events/wScripts/listing.php'
        }),

        // create reader that reads the Topic records
        reader: new Ext.data.JsonReader({
            root: 'expos',
            totalProperty: 'totalCount',
            id: 'post_id'
        }, [
            {name: 'uSTART', mapping: 'uSTART', type: 'date', dateFormat: 'timestamp'},
            {name: 'BOOTH', mapping: 'BOOTH'},
            {name: 'DESCRIPTION', mapping: 'DESCRIPTION'},
            {name: 'ORGANISATION', mapping: 'ORGANISATION'},
            {name: 'PLACE', mapping: 'PLACE'},
            {name: 'COUNTRY', mapping: 'COUNTRY'},
            {name: 'TITLE', mapping: 'TITLE'},
            {name: 'WEB', mapping: 'WEB'},
            {name: 'details', mapping: 'details'},
            {name: 'EXPORT', mapping: 'EXPORT'},
            {name: 'RATING', mapping: 'RATING'},
            {name: 'REGISTRATION', mapping: 'REGISTRATION'},
            {name: 'row', mapping: 'post_id'},
            {name: 'ID', mapping: 'ID'}
        ]),

        // turn on remote sorting
        remoteSort: true
    });


    // pluggable renders
    function renderTopic(value, p, record){
    	// Show details
        return String.format('<b>{0}</b><br /><span style="color:#444444;">{1}</span>{2}', value, record.data['DESCRIPTION'], record.data['details']);
    }
    function renderDate(value, p, record){
        return String.format('{0}', value.dateFormat('M j. Y'));
        //return value;
    }
    function renderLink(value, p, record){
    	if (value=='1') {
        	return String.format('<a href="contact/?event_id={0}" target="_blank"><img src="/en/pressroom/events/img/intern.gif" /></a>', record.data['ID']);
        }
        if (record.data['WEB']!='') {
        	return String.format('<a href="{0}" target="_blank"><img src="/en/pressroom/events/img/extern.gif" /></a>', record.data['WEB']);
        }
    }

    cm = new Ext.grid.ColumnModel([{
           id: 'title', // id assigned so we can apply custom css (e.g. .x-grid-col-topic b { color:#333 })
           header: "Title",
           dataIndex: 'TITLE',
           width: 370,
           renderer: renderTopic,
           sortable: true,
           css: 'white-space:normal;'
        },{
           header: "Country",
           dataIndex: 'COUNTRY',
           width: 50,
           sortable: true,
           hidden: false
        },{
        /*
           header: "Organizer",
           dataIndex: 'ORGANISATION',
           width: 150,
           hidden: false
        },{
        */
           id: 'uSTART',
           header: "Date",
           dataIndex: 'uSTART',
           width: 80,
           sortable: true,
           renderer: renderDate
        },{
           id: 'WEB',
           header: "Link",
           dataIndex: 'REGISTRATION',
           width: 50,
           sortable: true,
           renderer: renderLink
        }]);

    

    // create the editor grid
    grid = new Ext.grid.Grid('topic-grid', {
        ds: ds,
        cm: cm,
        //selModel: new Ext.grid.RowSelectionModel({singleSelect:false}),
        enableColLock:false,
        loadMask: true
    });

    // make the grid resizable, do before render for better performance
    rz = new Ext.Resizable('topic-grid', {
        wrap:true,
        minHeight:100,
        pinned:true,
        handles: 's'
    });
    rz.on('resize', grid.autoSize, grid);

    // render it
    grid.render();

    gridFoot = grid.getView().getFooterPanel(true);

    // add a paging toolbar to the grid's footer
    paging = new Ext.PagingToolbar(gridFoot, ds, {
        pageSize: 20,
        displayInfo: true,
        displayMsg: 'Displaying events {0} - {1} of {2}',
        emptyMsg: "No participants to display"
    });

    // trigger the data store load
    ds.load({params:{start:0, limit:15}});
});

function eventEntryPopUp(mode,ID) {
	if (mode && ID) {
		temp  = '?mode=' + mode;
		temp += '&ID=' + ID;
	} else {
		temp = '';
	}
	URL = "/intranet/events/wScripts/enterPresence5.php" + temp;
	eval("eventEntry = window.open(URL, 'eventEntry', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=510,height=495,dependent=yes');");
}