/**
* StockTwits - http://stocktwits.com
* Copyright (c) 2010 StockTwits
* Author: Chris Corriveau (chris@stocktwits.com), Dustin Schneider (dustin@stocktwits.com) based on work by Gleb Esman
*
* Version: 1.0
* Get more at: http://stocktwits.com/goodies
*/
var StockTwitsWidget={}; (function(){StockTwitsWidget.widgetHelpersUrl="http://stocktwits.com/addon/widget/1";StockTwitsWidget.load=function(a){a=a||{};var b={all:1,options:1,charts:1,equities:1,forex:1,futures:1,trending:1,suggested:1,commentary:1};this.opts=a;this.streamUrl="http://api.stocktwits.com/api/streams/";if(/^[@\$]/.test(a.stream)){this.streamUrl+=(a.stream[0]=="$"?"symbol":"user")+"/"+a.stream.substring(1)+".json";this.streamTitle=a.stream}else if(b[a.stream]===1){this.streamUrl+=(a.stream=="trending"?"trending/all": a.stream)+".json";this.streamTitle=this.capitalize(a.stream)}else{this.streamUrl+="all.json";this.streamTitle="All"}if(this.opts.title)this.streamTitle=this.opts.title;a.display_messages=a.display_messages||10;a.style=a.style||{};this.show();return this};StockTwitsWidget.show=function(){document.write("<!-- begin stocktwits widget --\><div id='StockTwits_wrapper'><div id='stModuleHeader' class='stModuleHeader'><div id='stModuleTitle' class='stTitle'>"+this.streamTitle+"</div></div><div id='stModuleContent' class='stModuleContent'></div><div align='center' id='stModuleFooter' class='stModuleFooter'><a href='http://stocktwits.com/"+ this.urlTag+"' target='_blank'><img src='"+this.widgetHelpersUrl+"/stocktwits-logo.png' class='stLogo' /></a><a href='http://stocktwits.com/signup"+this.urlTag+"' target='_blank' class='stTagline'>Share Ideas &amp; Learn</a></div></div><!-- end stocktwits widget --\>");this.injectCSS();var a=this.opts.style,b=document.getElementById("StockTwits_wrapper"),c=document.getElementById("stModuleHeader"),e=document.getElementById("stModuleContent"),d=document.getElementById("stModuleFooter");if(a.background_color){b.style.backgroundColor= a.background_color;e.style.backgroundColor=a.background_color}if(a.border)b.style.border=a.border;if(a.width)b.style.width=a.width;if(a.height)e.style.height=a.height;if(a.font_size)b.style.fontSize=a.font_size;if(a.message_color)b.style.color=a.message_color;if(a.header_color){c.style.backgroundColor=a.header_color;c.style.background="none"}if(a.footer_color)d.style.backgroundColor=a.footer_color;if(a.overflow)e.style.overflow=a.overflow;b="";if(a.odd_background_color)b+="div.stStatus.stOdd { background-color: "+ a.odd_background_color+"; } ";if(a.even_background_color)b+="div.stStatus.stEven { background-color: "+a.even_background_color+"; } ";if(a.avatar)b+="div.stStatus div.stAvatar { display: "+a.avatar+";} ";if(a.link_color)b+="#StockTwits_wrapper a { color: "+a.link_color+";} ";if(a.border)b+="div.stStatus div.stAvatar a img { border: "+a.border+";} ";if(a.symbol_color)b+="div.stStatus a.stTicker { color: "+a.symbol_color+"; } ";if(a.time_color)b+="div.stStatus a.stTime { color: "+a.time_color+"; } "; a=document.createElement("style");a.type="text/css";if(this.ie)a.styleSheet.cssText=b;else{c=document.createDocumentFragment();c.appendChild(document.createTextNode(b));a.appendChild(c)}document.getElementsByTagName("head")[0].appendChild(a);this.update()};StockTwitsWidget.injectCSS=function(){var a=document.createElement("link");a.setAttribute("rel","stylesheet");a.setAttribute("type","text/css");a.setAttribute("href",this.widgetHelpersUrl+"/stocktwits.css");document.getElementsByTagName("head")[0].appendChild(a)}; StockTwitsWidget.getJSONP=function(a,b){var c=document.createElement("script");c.src=a;c.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(c);this._JSONPScript=c;this._JSONPCallback=b};StockTwitsWidget.getJSONPCallback=function(a){this._JSONPCallback.call(this,a);this._JSONPCallback=undefined;try{this._JSONPScript.parentNode.removeChild(this._JSONPScript)}catch(b){}};StockTwitsWidget.update=function(){var a=this;this.getJSONP(this.streamUrl+"?callback=StockTwitsWidget.getJSONPCallback", function(b){a.display(b);a.updateTimer&&clearTimeout(a.updateTimer);a.updateTimer=setTimeout(function(){a.update()},6E4)})};StockTwitsWidget.display=function(a){if(!a.messages)return false;var b=Math.min(this.opts.display_messages,a.messages.length),c=document.getElementById("stModuleContent");c.innerHTML="";for(var e=0;e<b;e++){var d=a.messages[e].message,h=this.messageTime(this.date(d.created_at)),i=this.textFilter(d.body),g=d.user_login+this.urlTag,j=d.user_login+"/message/"+d.id+this.urlTag,k= "stStatus "+(e%2===0?"stOdd":"stEven"),f=document.createElement("div");f.className=k;f.innerHTML="<div class='stAvatar'><a href='http://stocktwits.com/'"+g+" target='_blank'><img width='32' height='32' src='"+d.avatar_url+"'></a></div><a href='http://stocktwits.com/"+g+"' class='stUser' target='_blank'>"+d.user_login+"</a> "+i+"<br /><a href='http://stocktwits.com/"+j+"' class='stTime' target='_blank'>"+h+"</a>";c.appendChild(f)}return true};StockTwitsWidget.textFilter=function(a){var b=function(c){return"<a class='stTicker' target='_blank' rel='nofollow' href='http://stocktwits.com/symbol/"+ c.toUpperCase()+StockTwitsWidget.urlTag+"'>$"+c.toUpperCase()+"</a>"};return a.replace(/((http|https):\/\/[\w?=&.\/\-;#~%\-]+(?![\w\s?&.\/;#~%"=\-]*>))/g,'<a href="$1" class="stLink" rel="nofollow" target="_blank">$1</a>  ').replace(/@([\w\-]+)/g,'<a href="http://stocktwits.com/$1'+this.urlTag+'" class="stReply" target="_blank">@$1</a>').replace(/\B\$((?:[0-9]+(?=[a-z])|(?![0-9\.\:\_\-]))(?:[a-z0-9]|[\_\.\-\:](?![\.\_\.\-\:]))*[a-z0-9]+)/ig,function(c,e){return b(e)}).replace(/(\s|^)\$\$(\s|$)/g,' <span class="stFinancetalk">$$$$</span> ')}; StockTwitsWidget.parseISO8601=function(a){var b=a.split("T");a=b[0].split("-");b=b[1].split("Z")[0].split(":");var c=b[2].split("."),e=Number(b[0]),d=new Date;d.setUTCFullYear(Number(a[0]));d.setUTCMonth(Number(a[1])-1);d.setUTCDate(Number(a[2]));d.setUTCHours(Number(e));d.setUTCMinutes(Number(b[1]));d.setUTCSeconds(Number(c[0]));c[1]&&d.setUTCMilliseconds(Number(c[1]));return d};StockTwitsWidget.date=function(a){var b=new Date(a);if(isNaN(b))b=this.parseISO8601(a);return b};StockTwitsWidget.messageTime= function(a){var b=(a.getHours()+12)%12;if(b===0)b=12;var c=["January","February","March","April","May","June","July","August","September","October","November","December"][a.getMonth()],e=a.getMinutes()>9?a.getMinutes():"0"+a.getMinutes(),d=a.getHours()<12?"am":"pm";return c+" "+a.getDate()+", "+b+":"+e+" "+d};StockTwitsWidget.ie=function(){return/MSIE\s([^;]*)/.test(navigator.userAgent)}();StockTwitsWidget.capitalize=function(a){return a.charAt(0).toUpperCase()+a.slice(1)};StockTwitsWidget.urlTag= "?utm_medium=widget&utm_campaign=widget&utm_source="+document.domain})();