Ext.QuickTips.init();Ext.Ajax.disableCaching=false;Ext.ns("DJIndexes.widget.Intraday.data");DJIndexes.widget.Intraday=Ext.extend(Ext.Panel,{defaultConfig:{proxy:"/DataService/v2/Intraday.cfc",familyId:null,reloadIntervalMinutes:2,activeTab:0,title:"Intraday Index Values",layout:"border",frame:true,defaults:{split:true,border:true,frame:true,resizable:false},numberFormat:"0.00",stringsToRemove:["TM","SM"],languageCode:null,gridColumnNames:[],quoteLabels:[],chartTabLabels:[]},constructor:function(b,a){this.container=b;this.addEvents("tickerselected");this.cls="widget";DJIndexes.widget.Intraday.superclass.constructor.call(this,Ext.apply(this.defaultConfig,a));this.renderer=new DJIndexes.Utils.numberFormatter(this.numberFormat);this.stringRenderer=new DJIndexes.Utils.stringFormatter(this.stringsToRemove);this.height=780;this.add([{region:"north",id:"grid-panels",xtype:"tabpanel",enableTabScroll:true,animScroll:true,height:300,minHeight:300,maxHeight:300},{region:"center",xtype:"dji-intraday-quote",layout:"fit",renderer:this.renderer,stringRenderer:this.stringRenderer,languageCode:this.languageCode,quoteLabels:this.quoteLabels,proxy:this.proxy},{region:"south",xtype:"dji-intraday-chart",layout:"fit",height:275,minHeight:275,maxHeight:275,renderer:this.renderer,tabLabels:this.chartTabLabels,proxy:this.proxy}]);this.on({tickerselected:function(e){var f=this.findByType("dji-intraday-chart",true)[0];f.init(e);var d=this.findByType("dji-intraday-quote",true)[0];d.init(e)},render:this.setupAutoReload,scope:this});this.render(this.container||Ext.getBody());this.init()},init:function(){Ext.Ajax.request({url:this.proxy,method:"POST",params:{method:"getFamilies",type:this.familyId},callback:this.handleSetupRequest,scope:this})},setupAutoReload:function(){Ext.TaskMgr.start({run:function(){var a=Ext.getCmp("grid-panels").activeTab;if(a){var b=a.selModel.getSelected();var c=a.store.indexOfId(b.id);a.store.load({params:a.store.baseParams,callback:function(d,e,f){if(f){this.selModel.selectRow(c);this.el.scrollIntoView(b.id)}},scope:a})}},interval:this.reloadIntervalMinutes*60000,scope:this})},handleSetupRequest:function(b,f,a){var c=[];if(f){var d=this.decode(a.responseText);if(d){Ext.each(d.data,function(j,h){var g=this.createFamilyGrid(j);this.relayEvents(g,["tickerselected"]);c.push(g)},this)}if(c.length){var e=Ext.getCmp("grid-panels");e.add(c);e.setActiveTab(this.activeTab||0)}this.doLayout()}},createFamilyGrid:function(c){var a=new Ext.data.JsonStore({autoDestroy:true,url:this.proxy,method:"POST",baseParams:{method:"getIndexes",familyId:c.key},root:"data",totalProperty:"size",fields:["indexname","ticker","lasttime",{name:"last",type:"float"},{name:"netchange",type:"float"},"bigchartsid",{name:"realtime",type:"boolean"}]});var d=new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{id:"indexname",header:this.gridColumnNames[0]||"Index Name",dataIndex:"indexname"},{header:this.gridColumnNames[1]||"Last",dataIndex:"last",renderer:this.renderer.decimal,width:30,align:"right"},{header:this.gridColumnNames[2]||"Net Change",dataIndex:"netchange",renderer:this.renderer.change,width:35,align:"right"},{header:this.gridColumnNames[3]||"Date Time",dataIndex:"lasttime",width:35}]});var e=new Ext.grid.RowSelectionModel({singleSelect:true});var b=new Ext.grid.GridPanel({store:a,cm:d,autoExpandColumn:"indexname",sm:e,title:c.display,stripeRows:true,columnLines:true,enableColumnHide:false,enableColumnMove:false,viewConfig:{autoFill:true,forceFit:true,scrollOffset:true},loadMask:new Ext.LoadMask(this.container,{msg:"Loading..."})});b.on({activate:this.handlePanelActivation,scope:b});e.on({rowselect:this.handleRowSelection,scope:b});return b},handlePanelActivation:function(a){a.store.load({callback:function(){this.selModel.selectFirstRow()},scope:this})},handleRowSelection:function(a,b,d){var c=this.store.getAt(b).data;this.fireEvent("tickerselected",c)},decode:function(a){var c;try{c=Ext.decode(a)}catch(b){}return c}});DJIndexes.widget.IntradayChart=Ext.extend(Ext.Panel,{templates:{chart:new Ext.XTemplate('<img width="375" height="214" border="0" src="{chartURL}" title="{title}" alt="{title}" />').compile()},controls:{eod:[{label:"1 mo",value:"1mo"},{label:"3 mo",value:"3mo"},{label:"1 yr",value:"1yr"},{label:"5 yr",value:"5yr"},{label:"10 yr",value:"10yr"}],realtime:[{label:"Today",value:"1dy"},{label:"5 day",value:"5dy"},{label:"1 mo",value:"1mo"},{label:"3 mo",value:"3mo"},{label:"1 yr",value:"1yr"},{label:"5 yr",value:"5yr"},{label:"10 yr",value:"10yr"}]},bigcharts:{url:"http://bigcharts.marketwatch.com/charts/big.chart?type=256&ma=3&maval=100,200&style=2281&rightfill=0&uf=8192",frequency:{"1dy":"5mi","5dy":"15mi","1mo":"1dy","3mo":"1dy","1yr":"2dy","5yr":"1wk","10yr":"1dy",All:"3mo"}},defaultConfig:{proxy:"/DataService/v2/Intraday.cfc",collapsible:false,showTitle:false,defaults:{autoWidth:true,autoHeight:true,split:false},tabPosition:"top"},constructor:function(a){DJIndexes.widget.IntradayChart.superclass.constructor.call(this,Ext.apply(this.defaultConfig,a));this.add([{xtype:"tabpanel",split:true,autoScroll:true,animScroll:true,tabPosition:this.tabPosition,activeTab:0,defaults:{bodyStyle:{fontFamily:"Arial,Helvetica",backgroundColor:"#e8f0f5",padding:"12px 0 0 20px"},height:225}}])},init:function(a){this.setChartTabs(a,this)},setChartTabs:function(d,b){var a=(d.realtime)?this.controls.realtime:this.controls.eod;var c=[];Ext.each(a,function(m,j){var l=m.value;var h=8;var f=b.bigcharts.url+"&ticker="+d.ticker+"&symb="+l+"&sid="+d.bigchartsid+"&size="+h+"&time="+l+"&freq="+b.bigcharts.frequency[l];var g=(d.bigchartsid)?b.templates.chart.applyTemplate({chartURL:f,title:d.ticker}):l.toUpperCase()+" chart is not available.";var k={title:b.tabLabels[j]||m.label,html:g};c.push(k)});var e=b.findByType("tabpanel")[0];e.removeAll();e.add(c);e.setActiveTab(0)},decode:function(a){var c;try{c=Ext.decode(a)}catch(b){}return c}});Ext.reg("dji-intraday-chart",DJIndexes.widget.IntradayChart);DJIndexes.widget.IntradayQuote=Ext.extend(Ext.Panel,{labels:["Net Chg","% Chg","Open","Volume","High","Low","YTD Chg","YTD % Chg"],defaultConfig:{proxy:"/DataService/v2/Intraday.cfc",bodyStyle:{fontFamily:"Arial,Helvetica",padding:"10px 5px"},defaults:{border:false}},constructor:function(a){DJIndexes.widget.IntradayQuote.superclass.constructor.call(this,Ext.apply(this.defaultConfig,a));if(this.quoteLabels.length){Ext.apply(this.labels,this.quoteLabels)}this.store=new Ext.data.JsonStore({autoLoad:false,url:this.proxy,method:"POST",baseParams:{method:"getIndexDetails",full:true,lang:this.languageCode||""},root:"data",totalProperty:"size",fields:[{name:"indexname",convert:this.stringRenderer.indexname},{name:"price",convert:this.renderer.decimal},{name:"netchange",convert:this.renderer.change},{name:"percentagechange",convert:this.renderer.change},{name:"openprice",convert:this.renderer.decimal},"volume",{name:"high",convert:this.renderer.decimal},{name:"low",convert:this.renderer.decimal},{name:"ytdnetchange",convert:this.renderer.change},{name:"ytdpctchange",convert:this.renderer.change}],listeners:{load:function(c,b,d){this.hideQuoteValues(this.id+"-openprice",(b[0].data.openprice=="0.00"||b[0].data.openprice==""));this.hideQuoteValues(this.id+"-high",(b[0].data.high=="0.00"||b[0].data.high==""));this.hideQuoteValues(this.id+"-low",(b[0].data.low=="0.00"||b[0].data.low==""));this.hideQuoteValues(this.id+"-ytdnetchange",(b[0].data.ytdnetchange=="0.00"||b[0].data.ytdnetchange==""));this.hideQuoteValues(this.id+"-ytdpctchange",(b[0].data.ytdpctchange=="0.00"||b[0].data.ytdpctchange==""));this.hideQuoteValues(this.id+"-volume",(b[0].data.volume=="0"||b[0].data.volume=="0.00"||b[0].data.volume==""))},scope:this}});this.template=new Ext.XTemplate('<tpl for=".">','<div class="intraday-quote">','<div class="indexname">{indexname}</div>','<div class="intraday-price">{price}</div>','<ul class="intraday-details">','<li id="'+this.id+'-netchange"><span class="label">'+this.labels[0],":</span> {netchange}</li>",'<li id="'+this.id+'-percentagechange"><span class="label">'+this.labels[1],":</span> {percentagechange}</li>",'<li id="'+this.id+'-openprice"><span class="label">'+this.labels[2],":</span> {openprice}</li>",'<li id="'+this.id+'-volume"><span class="label">'+this.labels[3],":</span> {volume}</li>",'<li id="'+this.id+'-high"><span class="label">'+this.labels[4],":</span> {high}</li>",'<li id="'+this.id+'-low"><span class="label">'+this.labels[5],":</span> {low}</li>",'<li id="'+this.id+'-ytdnetchange"><span class="label">'+this.labels[6],":</span> {ytdnetchange}</li>",'<li id="'+this.id+'-ytdpctchange"><span class="label">'+this.labels[7],":</span> {ytdpctchange}</li>","</ul>","</div>","</tpl>",'<div class="x-clear"></div>').compile();this.add(new Ext.DataView({store:this.store,tpl:this.template,itemSelector:"div.intraday-quote"}))},init:function(a){this.store.load({params:{ticker:a.ticker}})},hideQuoteValues:function(b,c){var a=Ext.get(b);if(a&&c){a.hide()}}});Ext.reg("dji-intraday-quote",DJIndexes.widget.IntradayQuote);DJIndexes.widget.Intraday.initializer=function(){function b(){Ext.state.Manager.setProvider(new Ext.state.CookieProvider({expires:new Date(new Date().getTime()+(1000*60*60*24*30))}))}function a(){var c="intraday";if(Ext.get(c)){new DJIndexes.widget.Intraday(c,{familyId:"hom"})}}return{init:a}}();Ext.onReady(DJIndexes.widget.Intraday.initializer.init,DJIndexes.widget.Intraday);
Ext.QuickTips.init();Ext.ns("DJIndexes.widget.Search.data");DJIndexes.widget.Search=Ext.extend(Ext.Panel,{pageSize:7,searchStore:new Ext.data.JsonStore({url:"/DataService/v3/Search.cfc",baseParams:{method:"search"},method:"post",root:"ysearchresponse.resultset_web",totalProperty:"ysearchresponse.totalhits",fields:["abstract","dispurl","clickurl","title","size"]}),searchResultTemplate:new Ext.XTemplate('<tpl for=".">','<div class="result">','<h3><a href="{clickurl}">{title}</a></h3>','<div class="abstract">{abstract}</div>','<div class="dispurl"><a href="{clickurl}">{dispurl}</a> - {size:fileSize}</div>',"</div>","</tpl>",'<div class="x-clear"></div>'),defaultConfig:{layout:"border",title:"Dow Jones Indexes",frame:true,height:745,defaults:{border:true,frame:true,split:true,resizable:false}},constructor:function(b,a){this.cls="widget";this.container=b;DJIndexes.widget.Search.superclass.constructor.call(this,Ext.apply(this.defaultConfig,a));this.add([{region:"center",xtype:"dataview",layout:"fit",margins:"0 8",autoScroll:false,store:this.searchStore,tpl:this.searchResultTemplate,itemSelector:"div.result",emptyText:"No results were found matching your criteria.",deferEmptyText:true},{region:"south",xtype:"paging",autoHeight:true,store:this.searchStore,displayInfo:true,pageSize:this.pageSize}]);this.render(this.container||Ext.getBody());this.init()},init:function(){this.doLayout();this.run()},validate:function(c,b){var a="btn-submit";if(b){Ext.getCmp(a).enable()}else{Ext.getCmp(a).disable()}},run:function(){var b=DJIndexes.Utils.getQueryParams("criteria");if(b!==""&&b!=undefined){this.searchStore.setBaseParam("criteria",b);this.searchStore.load({params:{start:0,limit:this.pageSize}});try{Ext.getDom("criteria").value=b}catch(a){}}}});Ext.reg("dji-search-grid",DJIndexes.widget.Search);DJIndexes.widget.Search.initializer=function(){function a(){var b="search-result";if(Ext.get(b)){new DJIndexes.widget.Search(b)}}return{init:a}}();Ext.onReady(DJIndexes.widget.Search.initializer.init,DJIndexes.widget.Search);

