/*
 * Ext JS Library 2.0
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

Ext.onReady(function(){

    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

    var myData = [
    //                                       Gesamt ,Jan.,Mar.,Mai ,Juli,Sep.,Nov.,Wer.,Tend.
	[ 1,'Nötzel, F.',        'Borussia ',   4.5 ,4.5 ,    ,    ,    ,    ,    ,    , ],
	[ 2,'Neldner, A.',       'Borussia ',   4.0 ,4.0 ,    ,    ,    ,    ,    ,    , ],
	[ 3,'Gros, D.',          'Bau-Union',   3.5 ,3.5 ,    ,    ,    ,    ,    ,    , ],
	[ 4,'Sube, G.',          'Bau-Union',   3.0 ,3.0 ,    ,    ,    ,    ,    ,    , ],
	[ 4,'Kreitling, O.',     'Borussia ',   3.0 ,3.0 ,    ,    ,    ,    ,    ,    , ],
	[ 4,'Freudenstein, K.',  'Bau-Union',   3.0 ,3.0 ,    ,    ,    ,    ,    ,    , ],
	[ 7,'Bandlow, R.',       'Bau-Union',   2.0 ,2.0 ,    ,    ,    ,    ,    ,    , ],
	[ 7,'Reinhardt, M.',     'Bau-Union',   2.0 ,2.0 ,    ,    ,    ,    ,    ,    , ],
	[ 7,'Beckert, F.',       './.',         2.0 ,2.0 ,    ,    ,    ,    ,    ,    , ],
	[ 7,'Fitzke, U.',        'Bau-Union',   2.0 ,2.0 ,    ,    ,    ,    ,    ,    , ],
	[11,'Blank, D.',         'Bau-Union',   1.0 ,1.0 ,    ,    ,    ,    ,    ,    , ],
	[12,'Kirchner, M.',      './.      ',   0.0 ,0.0 ,    ,    ,    ,    ,    ,    , ] 
    ];

    // example of custom renderer function
    function change(val){
        if(val > 0){
            return '<span style="color:green;">' + val + '</span>';
        }else if(val < 0){
            return '<span style="color:red;">' + val + '</span>';
        }
        return val;
    }

    // example of custom renderer function
    function pctChange(val){
        if(val > 0){
            return '<span style="color:green;">' + val + '%</span>';
        }else if(val < 0){
            return '<span style="color:red;">' + val + '%</span>';
        }
        return val;
    }

    //make the text bold
    function makebold(val){
        return '<div style="font-weight:bold;" align="center">' + val + '</div>';
    }

    //make the text centered
    function tendenzIcon(val){
       var imageTag = '<div align="center"><img src="images/radio.gif" alt="keine Ver?§nderung" title="keine Ver?§nderung"></div>'; //black    
	   for(i=0; i<myData.length; i++) {
        if(val == myData[i][11]) {
		    if(myData[i][11] > myData[i][0]) {
		        //green
		        imageTag = '<div align="center"><img src="images/pfeil_hoch.gif"  width="10" height="13" alt="verbessert" title="verbessert"></div>';
		    } else if(myData[i][11] < myData[i][0]) {
		        //red
		        imageTag = '<div align="center"><img src="images/pfeil_runter.gif"  width="10" height="13" alt="verschlechtert" title="verschlechtert"></div>';
		    }
		 }   
		}		
		return imageTag;
	}

    //make the text centered
    function makecenter(val){
        return '<div align="center">' + val + '</div>';
    } 

    // create the data store
    var store = new Ext.data.SimpleStore({
        fields: [
           {name: 'platz'},
           {name: 'name', type: 'string'},
           {name: 'verein', type: 'string'},
	   {name: 'gesamt', type: 'float'},
	   {name: 'jan', type: 'float'},
	   {name: 'mrz', type: 'float'},
	   {name: 'mai', type: 'float'},
	   {name: 'jul', type: 'float'},
	   {name: 'sep', type: 'float'},
	   {name: 'nov', type: 'float'},
	   {name: 'wertung', type: 'string'},
	   {name: 'tendenz', type: 'string'}
        ]
    });
    store.loadData(myData);

    // create the Grid
    var grid = new Ext.grid.GridPanel({
        store: store,
        columns: [
            {id:'platz',header: "Platz", width: 10, sortable: true, renderer: makecenter, dataIndex: 'platz'},
            {header: "Name", width: 140, sortable: true, dataIndex: 'name'},
            {header: "Verein", width: 75, sortable: true, dataIndex: 'verein'},
	    {header: "Gesamt", width: 60, sortable: true, renderer: makebold, dataIndex: 'gesamt'},
	    {header: "Jan", width: 40, sortable: true, renderer: makecenter, dataIndex: 'jan'},
	    {header: "Mrz", width: 40, sortable: true, renderer: makecenter, dataIndex: 'mrz'},
	    {header: "Mai", width: 40, sortable: true, renderer: makecenter, dataIndex: 'mai'},
	    {header: "Jul", width: 40, sortable: true, renderer: makecenter, dataIndex: 'jul'},
	    {header: "Sep", width: 40, sortable: true, renderer: makecenter, dataIndex: 'sep'},
	    {header: "Nov", width: 40, sortable: true, renderer: makecenter, dataIndex: 'nov'},
	    {header: "Wertung", width: 60, sortable: true, renderer: makecenter, dataIndex: 'wertung'},
	    {header: "Tendenz", width: 60, sortable: true, renderer: tendenzIcon, dataIndex: 'tendenz'}
        ],
        stripeRows: false,
        autoExpandColumn: 'platz',        
        height: 500,
        width: 740,
	frame: true,
	border: true,
	autoScroll: true,
        title:'Rapidschach 2012 - Aktuelle Ergebnisse'
    });

    grid.render('rapid-tabelle');

    grid.getSelectionModel().selectFirstRow();
});
