document.write('<script src=\"\/global-js\/util\/numberFormat154-c.js\"><\/script>');Ext.BLANK_IMAGE_URL='/global-js/ext/2.0/resources/images/default/s.gif';Ext.namespace('DJIndexes');DJIndexes.Formatter=function(){var nf;return{decimal:function(value){if(!nf){nf=new NumberFormat(0);nf.setPlaces(3);nf.setSeparators(false);}nf.setNumber(value===null?'':value);return nf.toFormatted();}};}();DJIndexes.Intraday=function(){var config={proxyURL:'/DataService/v2/Intraday.cfc',intraday:{type:'isl',title:'Dow Jones Indexes - Islamic Finance Center Intraday Values',container:'intraday',autoWidth:false,autoHeight:false,width:330,height:283},details:{enabled:false,title:'Index Information',container:'details',minWidth:400,minHeight:400}};var panelItems=[];var detailsWindow;var familyStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:config.proxyURL}),baseParams:{method:'getFamilies',type:config.intraday.type},reader:new Ext.data.JsonReader({root:'data',totalProperty:'size',id:'key',fields:[{name:'id',mapping:'key'},{name:'name',mapping:'lookup'},{name:'label',mapping:'display'}]})});return{init:function(){familyStore.load({callback:this.handleFamilyStoreLoad,scope:this});},createFamilyGrid:function(family){var grid=new Ext.grid.GridPanel({id:family.data.name,store:this.createIndexDataStore(family.id),columns:[{id:'name',header:'Index',dataIndex:'ticker',sortable:true,renderer:function(txt,el,d){var html='<span title="'+d.data.name+'" alt="'+d.data.name+'">'+txt+'</span>';return html;}},{id:'date',header:'Date Time',width:80,dataIndex:'date',sortable:true,align:'right'},{id:'quote',header:'Last',width:60,dataIndex:'quote',sortable:true,renderer:this.decimalFormat,align:'right'},{id:'change',header:'Chg.',width:50,dataIndex:'change',sortable:true,renderer:this.quoteChange,align:'right'}],sm:new Ext.grid.RowSelectionModel({singleSelect:true}),title:family.data.label,autoExpandColumn:'name',stripeRows:true,trackMouseOver:true,autoScroll:true,enableColumnHide:false,enableColumnMove:false,loadMask:true,buttonAlign:'left'});var reloadBtn=new Ext.Button({cls:'x-btn-text-icon',text:'Reload',icon:'/global-img/icons/silk/arrow_refresh.png',scope:grid,handler:function(button,e){button.scope.store.reload();}});grid.addButton(reloadBtn);grid.on('activate',this.loadFamilyGridData,this);if(config.details.enabled){grid.on('rowclick',this.handleRowClick,this);}if(DJIndexes.IntradayQuotemediaBridge){grid.store.on('load',this.handleFamilyGridStoreLoad,this);grid.on('rowclick',this.handleFamilyGridRowClick,this);}panelItems.push(grid);},createComponentGrid:function(){var grid=new Ext.grid.GridPanel({id:'componentGrid',store:this.createComponentStore(),columns:[{id:'ticker',header:'Symbol',width:50,dataIndex:'ticker',sortable:true},{id:'name',header:'Company',dataIndex:'name',sortable:true},{id:'exchange',header:'Exchange',width:150,dataIndex:'exchange',sortable:true},{id:'subsector',header:'Subsector',width:150,dataIndex:'subsector',sortable:true},{id:'close',header:'Close',width:60,dataIndex:'close',sortable:true,renderer:this.decimalFormat,align:'right'},{id:'weight',header:'Weight',width:60,dataIndex:'weight',sortable:true,renderer:this.decimalFormat,align:'right'}],sm:new Ext.grid.RowSelectionModel({singleSelect:true}),title:'Components',autoExpandColumn:'name',stripeRows:true,trackMouseOver:true,autoScroll:true,enableColumnHide:false,enableColumnMove:false,loadMask:true});grid.on('hide',this.onGridHide);grid.on('show',this.onGridShow);return grid;},createProductGrid:function(){var grid=new Ext.grid.GridPanel({id:'productGrid',store:this.createProductStore(),columns:[{id:'type',header:'Product Type',width:150,dataIndex:'type',sortable:true},{id:'name',header:'Product Name',width:150,dataIndex:'name',sortable:true},{id:'exchange',header:'Exchange',dataIndex:'exchange',sortable:true},{id:'symbol',header:'Trading Symbol',width:150,dataIndex:'symbol',sortable:true}],sm:new Ext.grid.RowSelectionModel({singleSelect:true}),title:'Products',autoExpandColumn:'exchange',stripeRows:true,trackMouseOver:true,autoScroll:true,enableColumnHide:false,enableColumnMove:false,loadMask:true});grid.on('hide',this.onGridHide);grid.on('show',this.onGridShow);return grid;},createIndexDataStore:function(id){var store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:config.proxyURL}),baseParams:{method:'getIndexes',familyId:id},reader:new Ext.data.JsonReader({root:'data',totalProperty:'size',id:'ticker',fields:['ticker',{name:'name',mapping:'indexname'},{name:'date',mapping:'lasttime'},{name:'quote',mapping:'last',type:'float'},{name:'change',mapping:'netchange',type:'float'},{name:'showComponents',mapping:'hascomponents',type:'boolean'},{name:'showProducts',mapping:'hasproducts',type:'boolean'}]})});store.on('loadexception',this.handleException,this);return store;},createComponentStore:function(){var store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:config.proxyURL}),baseParams:{method:'getComponents'},reader:new Ext.data.JsonReader({root:'data',totalProperty:'size',id:'ticker',fields:['ticker','subsector',{name:'name',mapping:'companyname'},{name:'exchange',mapping:'primaryexchange'},{name:'close',mapping:'localclose',type:'float'},{name:'weight',mapping:'averageweight',type:'float'}]})});store.on('loadexception',this.handleException,this);return store;},createProductStore:function(){var store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:config.proxyURL}),baseParams:{method:'getProducts'},reader:new Ext.data.JsonReader({root:'data',totalProperty:'size',id:'exchangename',fields:[{name:'exchange',mapping:'exchangename'},{name:'url',mapping:'exchangeurl'},{name:'name',mapping:'productname'},{name:'type',mapping:'producttype'},{name:'symbol',mapping:'tradingsymbol'}]})});store.on('loadexception',this.handleException,this);return store;},createPanel:function(){var _config={renderTo:config.intraday.container,frame:true,title:config.intraday.title,activeTab:0,items:panelItems,enableTabScroll:true};if(config.intraday.autoWidth){_config['autoWidth']=true;}else{_config['width']=config.intraday.width||300;}if(config.intraday.autoHeight){_config['autoHeight']=true;}else{_config['height']=config.intraday.height||300;}var tp=new Ext.TabPanel(_config);},createDetailsWindow:function(){if(config.details.enabled&&!detailsWindow){detailsWindow=new Ext.Window({modal:true,el:config.details.container,layout:'accordion',title:config.details.title,minWidth:config.details.minWidth,minHeight:config.details.minHeight,width:700,height:500,closeAction:'hide',items:this.createDetailsWindowItems(),buttons:[{text:'Close',handler:function(){detailsWindow.hide();}}]});detailsWindow.on('show',this.onDetailsWindowShow);detailsWindow.on('hide',this.onDetailsWindowHide);}},createDetailsWindowItems:function(){var items=[];items.push(this.createComponentGrid());items.push(this.createProductGrid());return items;},configureDetailsWindow:function(data){var title=data.label+' ('+data.ticker+')';detailsWindow.setTitle(title);if(data.components){detailsWindow.findById('componentGrid').store.baseParams['ticker']=data.ticker;detailsWindow.findById('componentGrid').show();}if(data.products){detailsWindow.findById('productGrid').store.baseParams['ticker']=data.ticker;detailsWindow.findById('productGrid').show();}if(data.components||data.products){this.displayDetails(data.target);}},displayDetails:function(elem){detailsWindow.show(elem||config.intraday.container);},handleFamilyStoreLoad:function(store,records,options){if(store.length){Ext.each(familyStore.data.items,this.createFamilyGrid,this);this.createPanel();this.createDetailsWindow();}},loadFamilyGridData:function(grid){grid.store.load();},reloadFamilyGridData:function(grid){grid.store.reload();},handleRowClick:function(grid,i,e){var config={target:e.target,ticker:grid.store.data.items[i].id,label:grid.store.data.items[i].data.name,components:grid.store.data.items[i].data.showComponents,products:grid.store.data.items[i].data.showProducts};this.configureDetailsWindow(config);},onDetailsWindowHide:function(window){Ext.each(window.items.items,function(c){c.hide();});},onDetailsWindowShow:function(window){window.items.items[0].expand();},onGridShow:function(grid){grid.store.load();},onGridHide:function(grid){grid.store.removeAll();},handleFamilyGridStoreLoad:function(store,records,options){var symbol=store.getAt(0).get('ticker');DJIndexes.IntradayQuotemediaBridge.changeQuote(symbol);},handleFamilyGridRowClick:function(grid,i,e){var symbol=grid.store.data.items[i].id;DJIndexes.IntradayQuotemediaBridge.changeQuote(symbol);},debug:function(){console.debug(arguments);},decimalFormat:function(e){return DJIndexes.Formatter.decimal(e);},quoteChange:function(e){e=DJIndexes.Formatter.decimal(e);if(e>0){return'<span style="color:green;">'+e+'</span>';}else if(e<0){return'<span style="color:#cc3333;">'+e+'</span>';}else{return'<span style="color:#bbbbbb;">'+e+'</span>';}},handleException:function(){}}}();Ext.onReady(DJIndexes.Intraday.init,DJIndexes.Intraday);