﻿Ext.BLANK_IMAGE_URL = 'includes/feeds/images/default/s.gif';
Ext.onReady(function(){
	var DS = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({
                url: 'http://www.growthstockwire.com/ProxyService.asp'
        }),
        reader: new Ext.data.XmlReader({
            record: 'Item',
            totalRecords: 'Total',
            id: 'FullName',
            fields:
                [{
                    name: 'FullName',
                    mapping: 'FullName'
                },{
                    name: 'CurrentPrice',
                    mapping: 'CurrentPrice',
                    sortType: 'asFloat'
                },{
                    name: "DayDifference",
                    mapping: "DayDifference",
                    sortType: 'asFloat'
                },{
                    name: "YearDifference",
                    mapping: "YearDifference",
                    sortType: 'asFloat'
                }]
        }),
        remoteSort: false
    });

    var CM = new Ext.grid.ColumnModel(
                [{
                    header: 'Symbol',
                    dataIndex: 'FullName',
                    width: 135,
                    menuDisabled: true,
                    resizable: false,
                    sortable: true
                },{
                    header: 'Price',
                    dataIndex: 'CurrentPrice',
                    width: 65,
                    menuDisabled: true,
                    resizable: false,
                    sortable: true,
                    align: 'right'
                },{
                     header: 'Change',
                     dataIndex: 'DayDifference',
                     width: 75,
                     menuDisabled: true,
                     resizable: false,
                     renderer: function(value, p, record) {
                                    var value = record.get('DayDifference');
                                    if (value >= 0) {
                                      return ('+' + record.get('DayDifference') + '%');
                                    }
                                    else {
                                      return (record.get('DayDifference') + '%');
                                    }
                               },
                     sortable: true,
                     align: 'right'
                },{
                     header: '52-Wk',
                     dataIndex: 'YearDifference',
                     width: 80,
                     menuDisabled: true,
                     resizable: false,
                     renderer: function(value, p, record) {
                                    var value = record.get('YearDifference');
                                    if (value >= 0) {
                                      return ('+' + record.get('YearDifference') + '%&nbsp;');
                                    }
                                    else {
                                      return (record.get('YearDifference') + '%&nbsp;');
                                    }
                               },
                     sortable: true,
                     align: 'right'
                }]
    );
    CM.defaultSortable = true;

    function onLoadException(pp,op, arg, e ) {
        alert(e.message);
    }
                
    var servicesGrid = new Ext.grid.GridPanel({
            ds: DS,
            cm: CM,
            width: 365,
            height: 480,
            el: 'services-grid-3',
            stripeRows : true,
            trackMouseOver: false,
            enableColumnMove: false,
            sm: new Ext.grid.RowSelectionModel({selectRow: Ext.emptyFn}),
	        loadMask: {msg: 'loading...'}
    });
    servicesGrid.render();
    
    Ext.TaskMgr.start({
                    run: function(){DS.load({params: {sourceType: 3}});},
                    interval: 300000 //5 minutes
    });
});


