String.prototype.Trim=function(){return this.replace(/^\s*|\s*$/g,"")};Array.prototype.contains=function(b){for(var a=0;a<this.length;a++){if(b.Trim().toUpperCase()==this[a].Trim().toUpperCase()){return true}}return false};Array.prototype.unique=function(){var a=[];for(var b=0;b<this.length;b++){if(!a.contains(this[b])){a.push(this[b])}}return a};function formatNumber(e,j){var m=e?e.toString().split("."):["0"];var a=j?j.split("."):[""];var h="";var k=m[0];var b=a[0];var d=k.length-1;var n=false;for(var g=b.length-1;g>=0;g--){switch(b.substr(g,1)){case"#":if(d>=0){h=k.substr(d--,1)+h}break;case"0":if(d>=0){h=k.substr(d--,1)+h}else{h="0"+h}break;case",":n=true;h=","+h;break}}if(d>=0){if(n){var c=k.length;for(;d>=0;d--){h=k.substr(d,1)+h;if(d>0&&((c-d)%3)==0){h=","+h}}}else{h=k.substr(0,d+1)+h}}h=h+".";k=m.length>1?m[1]:"";b=a.length>1?a[1]:"";d=0;for(var g=0;g<b.length;g++){switch(b.substr(g,1)){case"#":if(d<k.length){h+=k.substr(d++,1)}break;case"0":if(d<k.length){h+=k.substr(d++,1)}else{h+="0"}break}}return h.replace(/^,+/,"").replace(/\.$/,"")}function readWSCookie(f){var a=f+"=";var d=document.cookie.split(";");for(var b=0;b<d.length;b++){var e=d[b];while(e.charAt(0)==" "){e=e.substring(1,e.length)}if(e.indexOf(a)==0){return unescape(e.substring(a.length,e.length))}}return null}function setMSCookie(a,b){var c=new Date();c.setTime(c.getTime()+365*24*60*60*1000);document.cookie=a+"="+escape(b)+"; expires="+c.toGMTString()+"; path=/; domain=.morningstar.com"}function readWSCNameCookie(a){if(window.cName){a=a+escape(window.cName)}return readWSCookie(a)}function setMSCNameCookie(a,b){if(window.cName){a=a+escape(window.cName)}setMSCookie(a,b)}function FindCtrlPosition(d){var a=d;var b=0;var c=0;while(a){b+=a.offsetTop;c+=a.offsetLeft;a=a.offsetParent}return{top:b,left:c}}function AddJRequest(c){var b="JD"+JSONscriptRequest.scriptCounter;JSONscriptRequest.scriptCounter++;c=c+"&JID="+b;var a=new JSONscriptRequest(c,b);a.buildScriptTag();JRequests[JRequests.length]=a;a.addScriptTag()}function RemoveJRequestTag(c){var a=null;for(var b=0;b<JRequests.length;b++){if(JRequests[b]!=null){if(c.hasOwnProperty("jsid")){if(JRequests[b].scriptId==c.jsid){a=JRequests[b];break}}else{if(c.hasOwnProperty("JsonID")){if(JRequests[b].scriptId==c.JsonID){a=JRequests[b];break}}}}}if(a!=null){JRequests.splice(b,1);a.removeScriptTag()}}function EncodeQuote(a){return a.replace(/'/g,"\\'")}function TickerTape(b,a){this._varName=b;this._tickerCountForOnce=a;this._tickersArr=new Array();this._marketTickersArr=new Array("COMP","SPX","$INDU");this._marketTickerNames=new Array("Nasdaq","S&P 500","DJIA");this._portfolioWebserviceUrl="http://www.morningstar.com/GetPortfolio";this._loginStatus=true;this._portfolioTickersArr=new Array();this._commodityPricesArr=new Array();this._tickerPricesArr=new Array();this._mstarCookie=null;this.curTickerIndex=0;this._QUSZTickIdArr=new Array();this._QUSZcbList=new Array();this._isFirstCallBack=false;this._zeroOut=false;this._dtNow=new Date();this._dt6am=new Date(this._dtNow.getFullYear(),this._dtNow.getMonth(),this._dtNow.getDate(),6,0);this._mCommodityState=1;this._mCurrentTime=new Date().getTime();this.Init=function(){var c=readWSCNameCookie("hiddenTickerTape");if(c){if(c=="1"){this.HideTickerButtonClick("pricesPanel","settingsPanel","expandBtnPanel");return}}this._tickersArr=this._GetTickers();this._mstarCookie=readWSCookie("mstar");this._IsWeekendHoliday();this._InitTaperOptions();this.GetCommodityPrices(true);this._InitPortfolios();this._GetPortfolioTickers()};this._IsWeekendHoliday=function(){var c="http://www.morningstar.com/hpwebservice/GetMarketDay.aspx?cb="+this._varName+"._RenderZeroOut";AddJRequest(c)};this._RenderZeroOut=function(d){if(d==null){return}var c=d.Results;if(this._dtNow<this._dt6am){this._zeroOut=false}if(c=="False"&&this._dtNow>this._dt6am){this._zeroOut=true}RemoveJRequestTag(d)};this._InitAutoDropDownQuote=function(){CheckOSBrowser();var k=new Array(30);var j=new Array(30);initCache(k,j);var d=this._varName+".SelectNewTicker";var c=new AutoCompleteBox("newTickerInput","AutoCompleteDropDownQuote",4,null,null,"",k,j,d,false,"");var h=document.getElementById("AutoCompleteDropDownQuote");var f=document.getElementById("newTickerInput");if(h){if(f){var g=FindCtrlPosition(f);var e=FindCtrlPosition(h.offsetParent);h.style.top=(g.top+1+f.clientHeight-e.top)+"px";h.style.left=(g.left-e.left)+"px"}}};this._InitPrices=function(){this.GetPrices(this.UpdateTickerAndLayers);this.GetPrices()};this._InitTaperOptions=function(){var f=document.getElementById("markets");var e=document.getElementById("newTickers");var g=document.getElementById("rtQuote");var d=readWSCNameCookie("TickerTapeOptions");if(d){var c=d.split(":");if(f&&c[0]=="1"){f.checked=true}else{f.checked=false}if(e&&c[1]=="1"){e.checked=true}else{e.checked=false}if(g&&c[2]=="1"){g.checked=true}else{g.checked=false}}};this.SelectNewTicker=function(l){l=l.replace(/\s/g,"");var e=l.split(",");var m=0;l="";var g=0;var j=readWSCNameCookie("NewQuotes");var k;if(!j||j==""){k="";g=1}else{k=j}for(var f=0;f<e.length;f++){if(e[f]!=""){reg=new RegExp("\\b"+e[f]+"\\b","gi");if(reg.test(k)){continue}k=k+","+e[f];m++;l=l+e[f]+","}}if(m==0){document.getElementById("newTickerInput").value="";return}l=l.substr(0,l.length-1);if(g>0){k=k.substr(g)}var c=k.split(",");var h=c.length;var d=0;while(h>20){d=k.indexOf(",",d+1);h--}if(d>0){k=k.substr(d+1)}j=k;setMSCNameCookie("NewQuotes",j);this._tickersArr=this._GetTickers();this.GetPrices()};this.SaveOptions=function(){var g=document.getElementById("markets");var f=document.getElementById("newTickers");var h=document.getElementById("rtQuote");var d="";if(g){if(g.checked){d="1"}else{d="0"}}if(f){if(f.checked){d=d+":1"}else{d=d+":0"}}if(h){if(h.checked){d=d+":1"}else{d=d+":0"}}setMSCNameCookie("TickerTapeOptions",d);var e=document.getElementById("newTickerInput");if(e!=null&&e.value!="Enter Tickers"&&e.value!=""){this.SelectNewTicker(e.value)}var c=this._varName+".AfterSaveOptions";this._tickersArr=this._GetTickers();this.HideTickerTapeSettingsPanel("pricesPanel","settingsPanel");this.GetPrices(this.AfterSaveOptions,true)};this._GetTickers=function(){var f=readWSCNameCookie("TickerTapeOptions");if(f){var j=new Array();var c=f.split(":");if(c[0]=="1"){j=j.concat(this._marketTickersArr)}if(this._mstarCookie!=null&&this._portfolioTickersArr.length>0){j=j.concat(this._portfolioTickersArr)}if(c[1]=="1"){var e=readWSCNameCookie("NewQuotes");if(e){var d=(e).split(",");j=j.concat(d)}}if(c[2]=="1"){var h=readWSCookie("RecentQuotes");if(h){var g=(h).split("+");j=j.concat(g)}}j=j.unique();return j}else{return this._marketTickersArr}};this.RenderPriceLayer=function(e){var c=this.RenderPrices();var d=document.getElementById(e);if(d){d.innerHTML=c}};this.GetCommodityPrices=function(d){var c;var e=new Date();e=e.getTime();if(d){c=this._portfolioWebserviceUrl+"/GetCommodityQuotes.ashx?cb="+this._varName+".InitCommodityPrices";AddJRequest(c)}else{if(this._mCommodityState==1||(this._mCurrentTime+120000)<e){this._mCommodityState=0;c=this._portfolioWebserviceUrl+"/GetCommodityQuotes.ashx?cb="+this._varName+".RenderCommodityPrices";AddJRequest(c)}this._mCurrentTime=e}};this.InitCommodityPrices=function(c){this._commodityPricesArr=c.Results.split(",");this._InitPrices();RemoveJRequestTag(c)};this.RenderCommodityPrices=function(c){this._commodityPricesArr=c.Results.split(",");this._mCommodityState=1;RemoveJRequestTag(c)};this._InitPortfolios=function(){if(this._mstarCookie!=null){var c=this._portfolioWebserviceUrl+"/GetPortfolio.ashx?op=1&cb="+this._varName+"._RenderPortfolioDropDownList";AddJRequest(c)}else{this._loginStatus=false}};this._RenderPortfolioDropDownList=function(e){if(e==null){return}if(e.Results=="Unlogined"){this._loginStatus=false;return}var c=document.getElementById("pfDropDownList");var d="";if(c){d='<ul class="drop_shad_h"><li><a class="rowlist_h" href="javascript:'+this._varName+'.ClearPortfolioCookie()">Clear portfolio tickers</a></li><br />';for(i=0;i<e.Results.length;i++){d+='<li><a class="rowlist_h" href="javascript:void(0)" onclick="'+this._varName+".SelectPortfolio("+e.Results[i][1]+',this.innerHTML)">'+e.Results[i][0]+"</a></li><br />"}d+="</ul>";c.innerHTML=d;RemoveJRequestTag(e)}};this.ClearPortfolioCookie=function(){var d=document.getElementById("pfDropDownList");if(d){d.style.display="none"}this._portfolioTickersArr=new Array();setMSCNameCookie("NewPortfolios","");var c=document.getElementById("pfSelect");if(c){c.innerHTML="Select a Portfolio"}};this.SelectPortfolio=function(g,f){var c=document.getElementById("pfDropDownList");if(c){c.style.display="none"}var h=readWSCNameCookie("NewPortfolios");var e=new RegExp("\\b"+g+"\\b","gi");if(e.test(h)){return}else{h=g.toString()+"|"+f}setMSCNameCookie("NewPortfolios",h);this._GetPortfolioTickers();this._tickersArr=this._GetTickers();this.GetPrices();var d=document.getElementById("pfSelect");if(d){d.innerHTML=f}};this._GetPortfolioTickers=function(){var f=readWSCNameCookie("NewPortfolios");var d=document.getElementById("pfSelect");if(f==null||f==""||this._mstarCookie==null){if(d){d.innerHTML="Select a Portfolio"}return}var e=f.split("|");if(d){d.innerHTML=e[1]}var c=this._portfolioWebserviceUrl+"/GetPortfolio.ashx/GetPortfolio.ashx?op=2&&pfIds="+e[0]+"&cb="+this._varName+"._RenderPortfolioTickers";AddJRequest(c)};this._RenderPortfolioTickers=function(d){try{if(d.Results=="Unlogined"){this._loginStatus=false;return}else{this._portfolioTickersArr=d.Results;this._tickersArr=this._GetTickers();this.GetPrices();RemoveJRequestTag(d)}}catch(c){}};this.RenderPrices=function(){if(this._tickerPricesArr.length<1){return""}var e="";if(this._tickerPricesArr.length<=this._tickerCountForOnce){for(var d=0;d<this._tickerPricesArr.length;d++){if(e.length>0){e=e+this._RendSingleTickerPrice(this._tickerPricesArr[d])}else{e=this._RendSingleTickerPrice(this._tickerPricesArr[d])}}}else{var c;var f=0;if(this.curTickerIndex+this._tickerCountForOnce>=this._tickerPricesArr.length){c=this._tickerPricesArr.length;f=this.curTickerIndex+this._tickerCountForOnce-this._tickerPricesArr.length}else{c=this.curTickerIndex+this._tickerCountForOnce}for(var d=this.curTickerIndex;d<c;d++){if(e.length>0){e=e+this._RendSingleTickerPrice(this._tickerPricesArr[d])}else{e=this._RendSingleTickerPrice(this._tickerPricesArr[d])}}if(c==this._tickerPricesArr.length){this.curTickerIndex=0}else{this.curTickerIndex=c}if(f>0){for(var d=0;d<f;d++){if(e.length>0){e=e+this._RendSingleTickerPrice(this._tickerPricesArr[d])}else{e=this._RendSingleTickerPrice(this._tickerPricesArr[d])}}this.curTickerIndex=f}}return e};this._RendSingleTickerPrice=function(d){var e="";if(d==null||d==""){return e}var c=d.split("|");if(c[4]=="1"){e='<div class="TTTWrap"><div class="TTtickers"><a href="'+c[5]+'">'+c[0]+'</a></div><div class="TTQuote">'+c[1]+'&nbsp;<font color="green">'+c[2]+"("+c[3]+")</font></div></div>"}else{if(c[4]=="-1"){e='<div class="TTTWrap"><div class="TTtickers"><a href="'+c[5]+'">'+c[0]+'</a></div><div class="TTQuote">'+c[1]+'&nbsp;<font color="red">'+c[2]+"("+c[3]+")</font></div></div>"}else{e='<div class="TTTWrap"><div class="TTtickers"><a href="'+c[5]+'">'+c[0]+'</a></div><div class="TTQuote">'+c[1]+"&nbsp;"+c[2]+"("+c[3]+")</div></div>"}}return e};this.TweenPrices=function(){var c;var d=document.getElementById("tpc");if(d){var e=document.getElementById("tcPrices1");if(e){e.innerHTML=""}this.RenderPriceLayer("tcPrices2");c=new Tween(d.style,"top",Tween.strongEaseOut,0,-24,0.7,"px")}c.start()};this._htmlbak="";this.HideShowTickerTape=function(d,c){var h=document.getElementById(d);var e=document.getElementById(c);if(h!=null&&e!=null){if(h.style.display==""){h.style.display="none"}else{h.style.display=""}if(e.style.display==""){this._htmlbak=e.innerHTML;e.innerHTML="";var g=document.getElementById("pfDropDownList");if(g){g.style.display="none"}e.style.display="none"}else{if(this._htmlbak){e.innerHTML=this._htmlbak}this._InitTaperOptions();e.style.display="";this._InitAutoDropDownQuote();var f=document.getElementById("getElementById");if(f){f.value="Enter Tickers"}}}};this.HideTickerTapeSettingsPanel=function(d,c){var g=document.getElementById(d);var e=document.getElementById(c);if(g!=null&&e!=null){if(e.style.display==""){this._htmlbak=e.innerHTML;e.innerHTML="";var f=document.getElementById("pfDropDownList");if(f){f.style.display="none"}e.style.display="none";g.style.display=""}}};this.HideTickerButtonClick=function(e,d,c){var j=document.getElementById(e);var f=document.getElementById(d);var h=document.getElementById(c);if(j!=null&&f!=null&&h!=null){j.style.display="none";this._htmlbak=f.innerHTML;f.innerHTML="";var g=document.getElementById("pfDropDownList");if(g){g.style.display="none"}f.style.display="none";h.style.display=""}setMSCNameCookie("hiddenTickerTape","1")};this.ShowTickerButtonClick=function(e,d,c){var h=document.getElementById(e);var f=document.getElementById(d);var g=document.getElementById(c);if(h!=null&&f!=null&&g!=null){h.style.display="";f.style.display="none";g.style.display="none"}setMSCNameCookie("hiddenTickerTape","0")};this.DropDownPortfolioList=function(h){if(!this._loginStatus){var g="http://member.morningstar.com/forbidden/loginrawp.html?vurl="+document.URL;window.location.href=g;return}var f=document.getElementById("pfDropDownList");if(f){if(f.style.display=="none"){if(f.innerHTML!=null&&f.innerHTML.length>0){var c=document.getElementById("pfSelect");if(c){f.style.display="";var j=FindCtrlPosition(c);var d=FindCtrlPosition(f.offsetParent);f.style.left=j.left-d.left+"px";f.style.top=j.top+c.clientHeight-d.top+"px"}}}else{f.style.display="none"}}h=window.event||h;if(window.event){h.cancelBubble=true}else{h.stopPropagation()}};this.GetPrices=function(c,f){var e=null;for(var d=0;d<this._QUSZTickIdArr.length;d++){e=QU.GetTickQuery(this._QUSZTickIdArr[d],this._QUSZcbList[d],this);if(e!=null){QU.RemoveSymbol(e)}}this._QUSZTickIdArr.length=0;this._QUSZcbList.length=0;this._isFirstCallBack=true;if(this._tickersArr.length<1){this._tickerPricesArr.length=0;this.RenderPriceLayer("tcPrices1");this.RenderPriceLayer("tcPrices2");if(f){this.TweenPrices();this.HideTickerTapeSettingsPanel("pricesPanel","settingsPanel")}return}if(c==undefined){c=this.UpdateTickerPrices}for(var d=0;d<this._tickersArr.length;d++){this._QUSZTickIdArr[this._QUSZTickIdArr.length]=new QUSZTickId(QU.TICKIDTYPE_TICKANDREGION,this._tickersArr[d],"");this._QUSZcbList[this._QUSZcbList.length]=c;QU.AddSymbol(this._QUSZTickIdArr[this._QUSZTickIdArr.length-1],c,this)}QU.Start()};this.UpdateTickerAndLayers=function(c,g){c.UpdateTickerPrices(c,g);var f="";for(var e=0;e<g.length;e++){f=g[e];var d=f.getTickId();f=QU.GetTickQuery(d,arguments.callee,c);if(f!=null){QU.RemoveSymbol(f)}}c.RenderPriceLayer("tcPrices1")};this.AfterSaveOptions=function(c,d){c.UpdateTickerPrices(c,d);if(c._isFirstCallBack){c.TweenPrices();c._isFirstCallBack=false}};this.UpdateTickerPrices=function(u,f){try{var k;var o;u._tickerPricesArr.length=0;for(k=0;k<f.length;k++){var l=f[k];var p=l.getTickId();var n=l.getSecurityRecord();var q="";for(var d=0;d<u._marketTickersArr.length;d++){if(p.m_tickId1==u._marketTickersArr[d]){o="http://quote.morningstar.com/switch.html?ticker="+encodeURIComponent(u._marketTickersArr[d]);q=u._marketTickerNames[d];break}}if(q==""){q=p.m_tickId1;o="http://quote.morningstar.com/switch.html?ticker="+encodeURIComponent(q)}var c="0.00";var r="0.00";var h="1";try{var g=n.m_TradeTime.replace(/-/g,"/");var t=new Date(g);if(u._marketTickerNames.contains(q)&&(u._zeroOut==true)&&(t<u._dt6am)){h="0";c="0.00";r="0.00"}else{if(n.m_lastPrice>n.m_yestClose){h="1"}else{if(n.m_lastPrice==n.m_yestClose){h="0"}else{h="-1"}}c=formatNumber(n.m_lastPrice-n.m_yestClose,"0.00");r=formatNumber((n.m_lastPrice-n.m_yestClose)*100/n.m_yestClose,"0.00")}}catch(m){}if(q=="DJIA"){u._tickerPricesArr.push(q+"|"+n.m_lastPrice+"|"+c+"|"+r+"%|"+h+"|"+o);for(var s=0;s<u._commodityPricesArr.length;s++){if(u._commodityPricesArr[s].length>0){u._tickerPricesArr.push(u._commodityPricesArr[s])}}}else{if(n!=null&&n.m_state>0){u._tickerPricesArr.push(q+"|"+n.m_lastPrice+"|"+c+"|"+r+"%|"+h+"|"+o)}}}}catch(m){}}}document.onclick=function(){var a=document.getElementById("pfDropDownList");if(a){a.style.display="none"}};var TickerTapeObj=new TickerTape("TickerTapeObj",5);TickerTapeObj.Init();setInterval("TickerTapeObj.GetCommodityPrices()",60000);setInterval("TickerTapeObj.TweenPrices()",6000);