﻿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,
                    renderer: function(value, p, record) {
                                    if (record.get('FullName') == '10-Year Yield'){
                                        return value + '%';
                                    }
                                    else{
                                        return value;
                                    }
                               },
                    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 (record.get('FullName') == '10-Year Yield'){
                                        var currentPrice = record.get('CurrentPrice')
                                        return Math.round(currentPrice * value)/100 +'&nbsp;&nbsp;'
                                    }
                                    else{
                                        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 (record.get('FullName') == '10-Year Yield'){
                                        var currentPrice = record.get('CurrentPrice')
                                        return Math.round(currentPrice * value)/100 +'&nbsp;&nbsp;'
                                    }
                                    else{
                                        if (value >= 0) {
                                          return ('+' + record.get('YearDifference') + '%&nbsp;&nbsp;');
                                        }
                                        else {
                                          return (record.get('YearDifference') + '%&nbsp;&nbsp;');
                                        }
                                   }
                               },
                     sortable: true,
                     align: 'right'
                }]
    );
    CM.defaultSortable = true;

    var servicesGrid = new Ext.grid.GridPanel({
            ds: DS,
            cm: CM,
            width: 365,
            height: 220,
            el: 'services-grid-1',
            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: 1}});},
                    interval: 300000 //5 minutes
    });
});
