
/*wikinvest/javascript/stockQuotesManager.js*/

nv.StockQuotesManager=new function(){var $this=this;var _partnerName=null;$this.QUOTE_URL="http://stockdata.wikinvest.com/stockdata/";$this.QUOTE_SQUID_CACHE_LIFE=30;$this.setPartnerName=function(partnerName){_partnerName=partnerName;};$this.stockQuoteData=new Array();$this.onNewStockDataAvailable=new nv.Event();$this.onStockDataUnavailable=new nv.Event();$this.fetchStockQuoteData=function(ticker){if(typeof($this.stockQuoteData[ticker])!="undefined"){if($this.stockQuoteData[ticker]===null){$this.onStockDataUnavailable.Trigger(ticker);}
else{$this.onNewStockDataAvailable.Trigger(ticker);}}
else if(typeof(_symbolsInCurrentRequest[ticker])!="undefined"){return;}
else{_pendingStockData[ticker]=1;if(_timer!==null){clearTimeout(_timer);}
_timer=setTimeout(function(){_doFetch();},_timerInterval);}};$this.suspendRequests=function(){_requestsSuspended=true;};$this.resumeRequests=function(){_requestsSuspended=false;if(_initiateFetchOnResume){_initiateFetchOnResume=false;_doFetch();}};$this.addDataFromExternalSource=function(ticker,stockData){if(typeof _symbolsInCurrentRequest[ticker]!="undefined"){delete _symbolsInCurrentRequest[ticker];}
if(typeof _pendingStockData[ticker]!="undefined"){delete _pendingStockData[ticker];}
$this.stockQuoteData[ticker]=stockData;$this.onNewStockDataAvailable.Trigger(ticker);};$this.isUnprefixedTicker=function(ticker){return!(/[^a-z0-9.']/i).test(ticker);};var _pendingStockData=new Array();var _symbolsInCurrentRequest=new Array();var _timerInterval=350;var _timer=null;var _requestsSuspended=false;var _initiateFetchOnResume=false;var _successCallback=function(requestSymbols,stockData){var symbols=new Array();for(var i=0;i<requestSymbols.length;i++){var ticker=requestSymbols[i];symbols[ticker]=1;if(typeof _symbolsInCurrentRequest[ticker]!="undefined"){delete _symbolsInCurrentRequest[ticker];}}
if(typeof stockData!="undefined"&&typeof stockData.data=="object"&&stockData.data!=null&&stockData.data.constructor==Object){for(var tickerKey in stockData.data){if(stockData.data.hasOwnProperty(tickerKey)){var quote=stockData.data[tickerKey];$this.stockQuoteData[tickerKey]=quote;delete symbols[tickerKey];$this.onNewStockDataAvailable.Trigger(tickerKey);}}}
for(var k in symbols){if(symbols.hasOwnProperty(k)){$this.stockQuoteData[k]=null;$this.onStockDataUnavailable.Trigger(k);}}};var _doFetch=function(){if(_requestsSuspended){_initiateFetchOnResume=true;return;}
_timer=null;var symbols=new Array();for(var i in _pendingStockData){if(_pendingStockData.hasOwnProperty(i)){symbols.push(i);_symbolsInCurrentRequest[i]=1;}}
_pendingStockData=new Array();var args={'action':'getQuotes','prefixedTickers':symbols.join(',')};args['timestamp']=nv.http.GetTimestampForCachedRequest($this.QUOTE_SQUID_CACHE_LIFE);if(_partnerName!==null){args['partner']=_partnerName;}
if(nv.String.Trim(args['prefixedTickers'])!=""){var request=nv.http.Factory($this.QUOTE_URL,'GET');request.OnSuccess.Bind(function(data){_successCallback(symbols,data);});request.OnFailure.Bind(function(){_successCallback(symbols,{});});request.Send(args);}};};
/* /wikinvest/javascript/stockQuotesManager.js*/

/*frontend/viz/wikinvest/javascript/stockQuotesManager.js*/

nv.StockQuotesManager=new function(){var $this=this;var _partnerName=null;$this.QUOTE_URL="http://stockdata.wikinvest.com/stockdata/";$this.QUOTE_SQUID_CACHE_LIFE=30;$this.setPartnerName=function(partnerName){_partnerName=partnerName;};$this.stockQuoteData=new Array();$this.onNewStockDataAvailable=new nv.Event();$this.onStockDataUnavailable=new nv.Event();$this.fetchStockQuoteData=function(ticker){if(typeof($this.stockQuoteData[ticker])!="undefined"){if($this.stockQuoteData[ticker]===null){$this.onStockDataUnavailable.Trigger(ticker);}
else{$this.onNewStockDataAvailable.Trigger(ticker);}}
else if(typeof(_symbolsInCurrentRequest[ticker])!="undefined"){return;}
else{_pendingStockData[ticker]=1;if(_timer!==null){clearTimeout(_timer);}
_timer=setTimeout(function(){_doFetch();},_timerInterval);}};$this.suspendRequests=function(){_requestsSuspended=true;};$this.resumeRequests=function(){_requestsSuspended=false;if(_initiateFetchOnResume){_initiateFetchOnResume=false;_doFetch();}};$this.addDataFromExternalSource=function(ticker,stockData){if(typeof _symbolsInCurrentRequest[ticker]!="undefined"){delete _symbolsInCurrentRequest[ticker];}
if(typeof _pendingStockData[ticker]!="undefined"){delete _pendingStockData[ticker];}
$this.stockQuoteData[ticker]=stockData;$this.onNewStockDataAvailable.Trigger(ticker);};$this.isUnprefixedTicker=function(ticker){return!(/[^a-z0-9.']/i).test(ticker);};var _pendingStockData=new Array();var _symbolsInCurrentRequest=new Array();var _timerInterval=350;var _timer=null;var _requestsSuspended=false;var _initiateFetchOnResume=false;var _successCallback=function(requestSymbols,stockData){var symbols=new Array();for(var i=0;i<requestSymbols.length;i++){var ticker=requestSymbols[i];symbols[ticker]=1;if(typeof _symbolsInCurrentRequest[ticker]!="undefined"){delete _symbolsInCurrentRequest[ticker];}}
if(typeof stockData!="undefined"&&typeof stockData.data=="object"&&stockData.data!=null&&stockData.data.constructor==Object){for(var tickerKey in stockData.data){if(stockData.data.hasOwnProperty(tickerKey)){var quote=stockData.data[tickerKey];$this.stockQuoteData[tickerKey]=quote;delete symbols[tickerKey];$this.onNewStockDataAvailable.Trigger(tickerKey);}}}
for(var k in symbols){if(symbols.hasOwnProperty(k)){$this.stockQuoteData[k]=null;$this.onStockDataUnavailable.Trigger(k);}}};var _doFetch=function(){if(_requestsSuspended){_initiateFetchOnResume=true;return;}
_timer=null;var symbols=new Array();for(var i in _pendingStockData){if(_pendingStockData.hasOwnProperty(i)){symbols.push(i);_symbolsInCurrentRequest[i]=1;}}
_pendingStockData=new Array();var args={'action':'getQuotes','prefixedTickers':symbols.join(',')};args['timestamp']=nv.http.GetTimestampForCachedRequest($this.QUOTE_SQUID_CACHE_LIFE);if(_partnerName!==null){args['partner']=_partnerName;}
if(nv.String.Trim(args['prefixedTickers'])!=""){var request=nv.http.Factory($this.QUOTE_URL,'GET');request.OnSuccess.Bind(function(data){_successCallback(symbols,data);});request.OnFailure.Bind(function(){_successCallback(symbols,{});});request.Send(args);}};};
/* /frontend/viz/wikinvest/javascript/stockQuotesManager.js*/

/*wikinvest/javascript/stockQuote.js*/

nv.StockQuote=function(ticker){var $this=this;var __construct=function(){nv.StockQuotesManager.onNewStockDataAvailable.Bind(_newStockDataHandler);nv.StockQuotesManager.onStockDataUnavailable.Bind(_failedStockDataHandler);nv.StockQuotesManager.fetchStockQuoteData(ticker);};$this.ticker=ticker;$this.stockQuoteData=null;$this.onStockDataReady=new nv.Event(true);$this.onStockDataFail=new nv.Event(true);var _newStockDataHandler=function(eventargs){if(eventargs==ticker){nv.StockQuotesManager.onNewStockDataAvailable.Unbind(_newStockDataHandler);$this.stockData=nv.StockQuotesManager.stockQuoteData[ticker];$this.onStockDataReady.Trigger($this.stockData);}};var _failedStockDataHandler=function(eventargs){if(eventargs==ticker){nv.StockQuotesManager.onStockDataUnavailable.Unbind(_failedStockDataHandler);$this.stockData=null;$this.onStockDataFail.Trigger();}};__construct();};
/* /wikinvest/javascript/stockQuote.js*/

/*wikinvest/javascript/gainerslosersmovers.js*/

if(nv.CreateNamespace("nv.GainersLosersMovers")){nv.GainersLosersMovers=function(numGainers,numLosers,numMovers,minMarketCapitalization){var $this=this;$this.ready=false;$this.success=false;$this.gainers=[];$this.losers=[];$this.movers=[];$this.onDataReady=new nv.Event(true);$this.onDataFailed=new nv.Event(true);var manager=nv.GainersLosersMovers.ManagerFactory(minMarketCapitalization);var _onNewDataHandler=function(data){if(data.numGainers>=numGainers&&data.numLosers>=numLosers&&data.numMovers>=numMovers){manager.onDataReceived.Unbind(_onNewDataHandler);manager.onDataFailed.Unbind(_onNewDataHandler);$this.gainers=manager.gainers.slice(0,numGainers);$this.losers=manager.losers.slice(0,numLosers);$this.movers=manager.movers.slice(0,numMovers);$this.ready=true;$this.success=true;var eventargs={gainers:$this.gainers,losers:$this.losers,movers:$this.movers};$this.onDataReady.Trigger(eventargs);}};var _onDataFailedHandler=function(data){if(data.numGainers>=numGainers&&data.numLosers>=numLosers&&data.numMovers>=numMovers){manager.onDataReceived.Unbind(_onNewDataHandler);manager.onDataFailed.Unbind(_onNewDataHandler);$this.ready=true;$this.success=false;$this.onDataFailed.Trigger();}};var __construct=function(){manager.fetch(numGainers,numLosers,numMovers);manager.onDataReceived.Bind(_onNewDataHandler);manager.onDataFailed.Bind(_onDataFailedHandler);};__construct();};var managers={};nv.GainersLosersMovers.ManagerFactory=function(minMarketCapitalization){if(typeof managers[minMarketCapitalization]!="undefined"){return managers[minMarketCapitalization];}
else{var manager=new function(){var $this=this;$this.CACHE_LIFE=180;$this.gainers=[];$this.losers=[];$this.movers=[];var requestInProgress=false;var maxGainersRequested=0;var maxLosersRequested=0;var maxMoversRequested=0;$this.onRequestComplete=new nv.Event(true);$this.onDataReceived=new nv.Event(true);$this.onDataFailed=new nv.Event(true);$this.fetch=function(numGainers,numLosers,numMovers){if(requestInProgress){$this.onRequestComplete.Bind(function(){$this.fetch(numGainers,numLosers,numMovers);},true);}
else{_fetch(numGainers,numLosers,numMovers);}};var _fetch=function(numGainers,numLosers,numMovers){var params={'action':'getgainerslosersmovers'};var eventargs={numGainers:0,numLosers:0,numMovers:0};if(numGainers>maxGainersRequested){maxGainersRequested=numGainers;eventargs.numGainers=params.gainers=numGainers;}
if(numLosers>maxLosersRequested){maxLosersRequested=numLosers;eventargs.numLosers=params.losers=numLosers;}
if(numMovers>maxMoversRequested){maxMoversRequested=numMovers;eventargs.numMovers=params.movers=numMovers;}
if(typeof minMarketCapitalization!="undefined"){params.minMarketCapitalization=minMarketCapitalization;}
if(nv.array.count(params)>=2){var request=nv.http.Factory(nv.StockQuotesManager.QUOTE_URL,'GET');request.Timeout=20000;request.OnSuccess.Bind(function(data){requestInProgress=false;$this.onRequestComplete.Trigger();if(data==null||typeof data.gainers=="undefined"||typeof data.losers=="undefined"||typeof data.movers=="undefined"){$this.onDataFailed.Trigger(eventargs);}
else{$this.gainers=data.gainers;$this.losers=data.losers;$this.movers=data.movers;$this.onDataReceived.Trigger(eventargs);}});request.OnFailure.Bind(function(data){requestInProgress=false;$this.onRequestComplete.Trigger();$this.onDataFailed.Trigger(eventargs);});requestInProgress=true;params.timestamp=nv.http.GetTimestampForCachedRequest($this.CACHE_LIFE);request.Send(params);}};};managers[minMarketCapitalization]=manager;return manager;}};nv.GainersLosersMovers.Manager=nv.GainersLosersMovers.ManagerFactory();}
/* /wikinvest/javascript/gainerslosersmovers.js*/

/*frontend/mashup/ui/TickerBoardComponent/base/base.js*/

nv.defineAwesomeClass("nv.widget.tickerboard.Base",function($this,$protected){"use strict";$this.onDataReceived;$this.onDataFailed;$this.dataProviders=[];var failed=false;var numReceived=0;$this.__construct=function(){$this.onDataReceived=new nv.Event(true);$this.onDataFailed=new nv.Event(true);};$protected.getAuthOptions=function(action){return{};};$this.init=function(){var numProviders=nv.array.count($this.dataProviders);nv.array.iterate($this.dataProviders,function(provider){var name=provider.getName();provider.onDataFailed.Bind(function(){if(failed){return;}
else{failed=true;}
nv.log("Data Error on "+name,"TickerBoard");$this.onDataFailed.Trigger();},true);provider.onDataReceived.Bind(function(){numReceived++;if(numReceived==numProviders){$this.onDataReceived.Trigger();}},true);});};$protected.getAuthUrl=function(action,permissions,options){options=options||{};var url="";var actions=nv.widget.tickerboard.Base.Actions;if(action==actions.LOGIN){url='https://www.wikinvest.com/partner/Forbes/account/connect/login';}
else if(action==actions.DIRECT_LOGIN){url='https://www.wikinvest.com/partner/Forbes/account/connect/directLogin';}
else if(action==actions.REGISTER){url='https://www.wikinvest.com/partner/Forbes/account/connect/welcome?';}
else if(action==actions.DIRECT_REGISTER){url='https://www.wikinvest.com/partner/Forbes/account/connect/register';}
else if(action==actions.LINK){url='https://www.wikinvest.com/partner/Forbes/account/connect/link';}
else{url='https://www.wikinvest.com/partner/Forbes/account/connect';}
url=$protected.prepareUrl(url,action,options,permissions);return url;};$protected.prepareUrl=function(url,action,options,permissions){options=options||{};options=nv.JQuery.extend(true,options,$protected.getAuthOptions(action));var tracking=options.tracking;if(tracking){url=nv.Analytics.addTrackingTags(url,tracking);delete options.tracking;}
if(nv.JQuery.isArray(permissions)&&permissions.length>0){var permissionStr=permissions.join(",");url=nv.util.Url.addToQueryString(url,{permissions:permissionStr});}
var extra=nv.util.Url.getQueryString(options);if(extra.length>0)url=nv.util.Url.addToQueryString(url,{extra:extra});if(tracking)options.tracking=tracking;return url;};$protected.routeCta=function(action,permissions,options){options=options||{};if(nv.widget.tickerboard.Base.isNvConnectAction(action)){$protected.startNvConnect(action,permissions,options);}
else{gotoPageInParentWindow(action,permissions,options);}};var gotoPageInParentWindow=function(action,permissions,options){var url;switch(action){case nv.widget.tickerboard.Base.Actions.HOLDINGS:url='https://www.wikinvest.com/partner/Forbes/portfolio';break;case nv.widget.tickerboard.Base.Actions.LANDING:url='https://www.wikinvest.com/partner/Forbes/';break;case nv.widget.tickerboard.Base.Actions.RISK:url='https://www.wikinvest.com/partner/Forbes/?type=risk';break;case nv.widget.tickerboard.Base.Actions.GEO:url='https://www.wikinvest.com/partner/Forbes/?type=geo';break;case nv.widget.tickerboard.Base.Actions.SIGNUP:url='https://www.wikinvest.com/partner/Forbes/account/signup';break;default:nv.log("Unknown action "+action);return;}
url=$protected.prepareUrl(url,action,options,permissions);try{window.parent.location=url;}
catch(e){nv.log(e);}};$protected.startNvConnect=function(action,permissions,options){options=options||{};var width=options.width||650;var height=options.height||450;var getPopupLocation=options.getPopupLocation||function(){return{top:100,left:100};};var popupLocation=getPopupLocation(width,height);if(nv.JQuery.browser.msie)width+=20;var url=$protected.getAuthUrl(action,permissions,options);window.open(url,"nvconnect","status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=0,scrollbars=1,height="+height+",width="+width+', top='+popupLocation.top+', left='+popupLocation.left);};$this.getTearsheetLinkForTicker=function(prefixedTicker){return nv.widget.tickerboard.Base.getTearsheetLinkForTicker(prefixedTicker);};},function(){"use strict";this.Actions={LOGIN:'login',DIRECT_LOGIN:'directlogin',REGISTER:'register',DIRECT_REGISTER:'directregister',LINK:'link',HOLDINGS:'holdings',LANDING:'landing',RISK:'risk',GEO:'geo',SIGNUP:'signup'};this.isNvConnectAction=function(action){return action!=nv.widget.tickerboard.Base.Actions.HOLDINGS&&action!=nv.widget.tickerboard.Base.Actions.LANDING&&action!=nv.widget.tickerboard.Base.Actions.RISK&&action!=nv.widget.tickerboard.Base.Actions.GEO&&action!=nv.widget.tickerboard.Base.Actions.SIGNUP;};this.getTearsheetLinkForTicker=function(prefixedTicker){return nv.Urls.ServerUrl+"/frontend/mashup/?action=viewtearsheet&ticker="+prefixedTicker;};});nv.defineAwesomeClass("nv.widget.tickerboard.dataprovider.Base",function($this,$protected){"use strict";$this.onDataReceived=new nv.Event(true);$this.onDataFailed=new nv.Event(true);$this.data={};$this.getName=function(){throw"Not implemented";};});nv.extendClass("nv.widget.tickerboard.dataprovider.StockData",nv.widget.tickerboard.dataprovider.Base,function($this,$protected,$parent){"use strict";$this.__construct=function(stockTickers){$parent.__construct();nv.array.iterate(stockTickers,function(v){var stockQuote=new nv.StockQuote(v);stockQuote.onStockDataReady.Bind(function(data){$this.data[v]=data;if(nv.array.count($this.data)==nv.array.count(stockTickers)){$this.onDataReceived.Trigger();}});stockQuote.onStockDataFail.Bind(function(){nv.log("Stock Data Error for "+v,"TickerBoard");$this.onDataFailed.Trigger();});});};$this.getName=function(){return"StockData";};});
/* /frontend/mashup/ui/TickerBoardComponent/base/base.js*/

/*mediawiki/wikinvest/lib/jquery/plugin/jquery.autocomplete.js*/
;(function($){$.fn.extend({autocomplete:function(urlOrData,options){var isUrl=typeof urlOrData=="string";options=$.extend({},$.Autocompleter.defaults,{url:isUrl?urlOrData:null,data:isUrl?null:urlOrData,delay:isUrl?$.Autocompleter.defaults.delay:10,max:options&&!options.scroll?10:150},options);options.highlight=options.highlight||function(value){return value;};options.formatMatch=options.formatMatch||options.formatItem;return this.each(function(){new $.Autocompleter(this,options);});},result:function(handler){return this.bind("result",handler);},search:function(handler){return this.trigger("search",[handler]);},flushCache:function(){return this.trigger("flushCache");},setOptions:function(options){return this.trigger("setOptions",[options]);},unautocomplete:function(){return this.trigger("unautocomplete");}});$.Autocompleter=function(input,options){var KEY={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var $input=$(input).attr("autocomplete","off").addClass(options.inputClass);var timeout;var previousValue="";var cache=$.Autocompleter.Cache(options);var hasFocus=0;var lastKeyPressCode;var lastTerm='';var config={mouseDownOnSelect:false};var select=$.Autocompleter.Select(options,input,selectCurrent,config);var blockSubmit;$.browser.opera&&$(input.form).bind("submit.autocomplete",function(){if(blockSubmit){blockSubmit=false;return false;}});$input.bind(($.browser.opera?"keypress":"keydown")+".autocomplete",function(event){lastKeyPressCode=event.keyCode;switch(event.keyCode){case KEY.UP:event.preventDefault();if(select.visible()){select.prev();}else{onChange(0,true);}
break;case KEY.DOWN:event.preventDefault();if(select.visible()){select.next();}else{onChange(0,true);}
break;case KEY.PAGEUP:event.preventDefault();if(select.visible()){select.pageUp();}else{onChange(0,true);}
break;case KEY.PAGEDOWN:event.preventDefault();if(select.visible()){select.pageDown();}else{onChange(0,true);}
break;case options.multiple&&$.trim(options.multipleSeparator)==","&&KEY.COMMA:case KEY.TAB:case KEY.RETURN:if(selectCurrent()){event.preventDefault();blockSubmit=true;return false;}
break;case KEY.ESC:select.hide();break;default:clearTimeout(timeout);timeout=setTimeout(onChange,options.delay);break;}}).focus(function(){hasFocus++;}).blur(function(){hasFocus=0;if(!config.mouseDownOnSelect){hideResults();}}).click(function(){if(hasFocus++>1&&!select.visible()){onChange(0,true);}}).bind("search",function(){var fn=(arguments.length>1)?arguments[1]:null;function findValueCallback(q,data){var result;if(data&&data.length){for(var i=0;i<data.length;i++){if(data[i].result.toLowerCase()==q.toLowerCase()){result=data[i];break;}}}
if(typeof fn=="function")fn(result);else $input.trigger("result",result&&[result.data,result.value]);}
$.each(trimWords($input.val()),function(i,value){request(value,findValueCallback,findValueCallback);});}).bind("flushCache",function(){cache.flush();}).bind("setOptions",function(){$.extend(options,arguments[1]);if("data"in arguments[1])
cache.populate();}).bind("unautocomplete",function(){select.unbind();$input.unbind();$(input.form).unbind(".autocomplete");});function selectCurrent(){var selected=select.selected();if(!selected)
return false;var v=selected.result;previousValue=v;if(options.multiple){var words=trimWords($input.val());if(words.length>1){v=words.slice(0,words.length-1).join(options.multipleSeparator)+options.multipleSeparator+v;}
v+=options.multipleSeparator;}
$input.val(v);hideResultsNow();$input.trigger("result",[selected.data,selected.value]);return true;}
function onChange(crap,skipPrevCheck){if(lastKeyPressCode==KEY.DEL){select.hide();return;}
var currentValue=$input.val();if(!skipPrevCheck&&currentValue==previousValue)
return;previousValue=currentValue;currentValue=lastWord(currentValue);if(currentValue.length>=options.minChars){$input.addClass(options.loadingClass);if(!options.matchCase)
currentValue=currentValue.toLowerCase();request(currentValue,receiveData,hideResultsNow);}else{stopLoading();select.hide();}};function trimWords(value){if(!value){return[""];}
var words=value.split(options.multipleSeparator);var result=[];$.each(words,function(i,value){if($.trim(value))
result[i]=$.trim(value);});return result;}
function lastWord(value){if(!options.multiple)
return value;var words=trimWords(value);return words[words.length-1];}
function autoFill(q,sValue){if(sValue.toLowerCase().indexOf(q.toLowerCase())!==0){return false;}
if(options.autoFill&&(lastWord($input.val()).toLowerCase()==q.toLowerCase())&&lastKeyPressCode!=KEY.BACKSPACE){$input.val($input.val()+sValue.substring(lastWord(previousValue).length));$.Autocompleter.Selection(input,previousValue.length,previousValue.length+sValue.length);}};function hideResults(){clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){var wasVisible=select.visible();select.hide();clearTimeout(timeout);stopLoading();if(options.mustMatch){$input.search(function(result){if(!result){if(options.multiple){var words=trimWords($input.val()).slice(0,-1);$input.val(words.join(options.multipleSeparator)+(words.length?options.multipleSeparator:""));}
else
$input.val("");}});}
if(wasVisible)
$.Autocompleter.Selection(input,input.value.length,input.value.length);};function receiveData(q,data){if(lastTerm!=q){return;}
$input.trigger("queryresponse",[q,data]);if(data&&data.length&&hasFocus){stopLoading();select.display(data,q);autoFill(q,data[0].value);select.show();}else{hideResultsNow();}};function request(term,success,failure){if(!options.matchCase)
term=term.toLowerCase();lastTerm=term;var data=cache.load(term);if(data&&data.length){success(term,data);}else if((typeof options.url=="string")&&(options.url.length>0)){var extraParams={timestamp:nv.http.GetTimestampForCachedRequest(options.cacheTime)};$.each(options.extraParams,function(key,param){extraParams[key]=typeof param=="function"?param():param;});$input.trigger("datarequest");nv.http.request({url:options.url,data:$.extend({q:lastWord(term),limit:options.max,partner:nv.getCurrentPartnerToken()},extraParams),success:function(data){$input.trigger("datasuccess",[data]);var parsed=options.parse&&options.parse(data)||parse(data);cache.add(term,parsed);success(term,parsed);},error:function(data){$input.trigger("dataerror");}});}else{select.emptyList();failure(term);}};function parse(data){var parsed=[];var rows=data.split("\n");for(var i=0;i<rows.length;i++){var row=$.trim(rows[i]);if(row){row=row.split("|");parsed[parsed.length]={data:row,value:row[0],result:options.formatResult&&options.formatResult(row,row[0])||row[0]};}}
return parsed;};function stopLoading(){$input.removeClass(options.loadingClass);};};$.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(row){return row[0];},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(value,term){return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>");},scroll:true,scrollHeight:180};$.Autocompleter.Cache=function(options){var data={};var length=0;function matchSubset(s,sub){if(!options.matchCase)
s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};function add(q,value){if(length>options.cacheLength){flush();}
if(!data[q]){length++;}
data[q]=value;}
function populate(){if(!options.data)return false;var stMatchSets={},nullData=0;if(!options.url)options.cacheLength=1;stMatchSets[""]=[];for(var i=0,ol=options.data.length;i<ol;i++){var rawValue=options.data[i];rawValue=(typeof rawValue=="string")?[rawValue]:rawValue;var value=options.formatMatch(rawValue,i+1,options.data.length);if(value===false)
continue;var firstChar=value.charAt(0).toLowerCase();if(!stMatchSets[firstChar])
stMatchSets[firstChar]=[];var row={value:value,data:rawValue,result:options.formatResult&&options.formatResult(rawValue)||value};stMatchSets[firstChar].push(row);if(nullData++<options.max){stMatchSets[""].push(row);}};$.each(stMatchSets,function(i,value){options.cacheLength++;add(i,value);});}
setTimeout(populate,25);function flush(){data={};length=0;}
return{flush:flush,add:add,populate:populate,load:function(q){if(!options.cacheLength||!length)
return null;if(!options.url&&options.matchContains){var csub=[];for(var k in data){if(k.length>0){var c=data[k];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub.push(x);}});}}
return csub;}else
if(data[q]){return data[q];}else
if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var c=data[q.substr(0,i)];if(c){var csub=[];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub[csub.length]=x;}});return csub;}}}
return null;}};};$.Autocompleter.Select=function(options,input,select,config){var CLASSES={ACTIVE:"nvLiveSearchHighlight"};var listItems,active=-1,data,term="",needsInit=true,element,list;function init(){if(!needsInit)
return;if(typeof(options.popupId)=='string'){popupDiv=$('#'+options.popupId);}
else{popupDiv=options.popupId;}
element=$("<div/>").hide().addClass(options.resultsClass).appendTo(popupDiv);list=$("<ul/>").appendTo(element).mouseover(function(event){if(target(event).nodeName&&target(event).nodeName.toUpperCase()=='LI'){active=$("li",list).removeClass(CLASSES.ACTIVE).index(target(event));$(target(event)).addClass(CLASSES.ACTIVE);}}).click(function(event){$(target(event)).addClass(CLASSES.ACTIVE);select();input.focus();return false;}).mousedown(function(){config.mouseDownOnSelect=true;}).mouseup(function(){config.mouseDownOnSelect=false;});if(options.width>0)
element.css("width",options.width);needsInit=false;}
function target(event){var element=event.target;while(element&&element.tagName!="LI")
element=element.parentNode;if(!element)
return[];return element;}
function moveSelect(step){listItems.slice(active,active+1).removeClass(CLASSES.ACTIVE);movePosition(step);var activeItem=listItems.slice(active,active+1).addClass(CLASSES.ACTIVE);if(options.scroll){var offset=0;listItems.slice(0,active).each(function(){offset+=this.offsetHeight;});if((offset+activeItem[0].offsetHeight-list.scrollTop())>list[0].clientHeight){list.scrollTop(offset+activeItem[0].offsetHeight-list.innerHeight());}else if(offset<list.scrollTop()){list.scrollTop(offset);}}};function movePosition(step){active+=step;if(active<0){active=listItems.size()-1;}else if(active>=listItems.size()){active=0;}}
function limitNumberOfItems(available){return options.max&&options.max<available?options.max:available;}
function fillList(){list.empty();var max=limitNumberOfItems(data.length);for(var i=0;i<max;i++){if(!data[i])
continue;var formatted=options.formatItem(data[i].data,i+1,max,data[i].value,term);if(formatted===false)
continue;var li=$("<li/>").html(options.highlight(formatted,term)).addClass(i%2==0?"ac_even":"ac_odd").appendTo(list)[0];$.data(li,"ac_data",data[i]);}
listItems=list.find("li");if(options.selectFirst){listItems.slice(0,1).addClass(CLASSES.ACTIVE);active=0;}
if($.fn.bgiframe)
list.bgiframe();}
return{display:function(d,q){init();data=d;term=q;fillList();},next:function(){moveSelect(1);},prev:function(){moveSelect(-1);},pageUp:function(){if(active!=0&&active-8<0){moveSelect(-active);}else{moveSelect(-8);}},pageDown:function(){if(active!=listItems.size()-1&&active+8>listItems.size()){moveSelect(listItems.size()-1-active);}else{moveSelect(8);}},hide:function(){element&&element.hide();listItems&&listItems.removeClass(CLASSES.ACTIVE);active=-1;$(input).trigger("aftercontainercollapse");},visible:function(){return element&&element.is(":visible");},current:function(){return this.visible()&&(listItems.filter("."+CLASSES.ACTIVE)[0]||options.selectFirst&&listItems[0]);},show:function(){$(input).trigger("beforecontainerexpand");var offset=$(input).offset();element.css({width:typeof options.width=="string"||options.width>0?options.width:$(input).width(),top:offset.top+input.offsetHeight,left:offset.left}).show();if(options.scroll){list.scrollTop(0);list.css({maxHeight:options.scrollHeight,overflow:'auto'});if($.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var listHeight=0;listItems.each(function(){listHeight+=this.offsetHeight;});var scrollbarsVisible=listHeight>options.scrollHeight;list.css('height',scrollbarsVisible?options.scrollHeight:listHeight);if(!scrollbarsVisible){listItems.width(list.width()-parseInt(listItems.css("padding-left"))-parseInt(listItems.css("padding-right")));}}}
$(input).trigger("aftercontainerexpand");},selected:function(){var selected=listItems&&listItems.filter("."+CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);return selected&&selected.length&&$.data(selected[0],"ac_data");},emptyList:function(){list&&list.empty();},unbind:function(){element&&element.remove();}};};$.Autocompleter.Selection=function(field,start,end){if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}
field.focus();};})(nv.JQuery);
/* /mediawiki/wikinvest/lib/jquery/plugin/jquery.autocomplete.js*/

/*mediawiki/wikinvest/javascript/livesearch/livesearch.js*/

nv.CreateNamespace("nv.LiveSearch");nv.LiveSearch.Component=function(inputField,formId,popup,popupContainer,liveSearchType,maxItemsToShow,maxReferrers,linksTarget){var $this=this;var _jTextbox=null;var _popupContainer=null;var _popup=null;var _popupId=null;var __construct=function(){if(typeof(maxReferrers)=='undefined'){maxReferrers=5;}
$this._formId=formId;$this._liveSearchType=liveSearchType;if(typeof(popup)=='string'){_popup=nv.JQuery("#"+popup);_popupId=popup;}
else{_popup=popup;_popupId=popup.attr('id');}
if(typeof(inputField)=='string'){_jTextbox=nv.JQuery("#"+inputField);}
else{_jTextbox=inputField;}
if(typeof(popupContainer)=='string'){_popupContainer=nv.JQuery("#"+popupContainer);}
else{_popupContainer=popupContainer;}
$this._autoComp;};$this.initialize=function(){$this.initializeAutoComp();};$this.initializeAutoComp=function(){var options=$this.getOptions();$this._autoComp=_jTextbox.autocomplete('http://securitydata.sigfig.com/security/livesearch',options);$this.setAutoCompFunctions();$this.subscribeToAutoCompEvents();$this._autoComp.flushCache();};$this.getOptions=function(){var autoCompleteWidth=parseInt(_jTextbox.attr('autocompletewidth'));if(isNaN(autoCompleteWidth)){autoCompleteWidth=0;}
var options={max:maxItemsToShow,cacheLength:69,selectFirst:false,cacheTime:3600,minChars:1,delay:50,autoFill:false,scroll:false,matchSubset:false,inputClass:'',resultsClass:'nvLiveSearchResults',loadingClass:'',popupId:popup,width:autoCompleteWidth,formatItem:$this.formatItem,highlight:function(value,term){return value;},parse:$this.parse,extraParams:{format:'json',referrers:maxReferrers,type:$this._liveSearchType}};return options;};$this.setAutoCompFunctions=function(){};$this.subscribeToAutoCompEvents=function(){$this.subscribeToResult($this.itemSelectHandler);$this.subscribeToAfterContainerCollapse();$this.subscribeToBeforeContainerExpand();$this.subscribeToAfterContainerExpand();};$this.subscribeToResult=function(handler){$this._autoComp.unbind("result");if(typeof handler=="function"){$this._autoComp.result(handler);}};$this.subscribeToAfterContainerCollapse=function(){$this._autoComp.bind("aftercontainercollapse",$this.collapseHandler);};$this.subscribeToBeforeContainerExpand=function(){$this._autoComp.bind("beforecontainerexpand",$this.doBeforeExpandContainer);};$this.subscribeToAfterContainerExpand=function(){$this._autoComp.bind("aftercontainerexpand",$this.expandHandler);};$this.truncater=function(text,length){if(text.length>length){return text.substring(0,(length-3))+'...';}else{return text;}};$this.highlightQueryText=function(text,subtext){var specials=new RegExp("[.*+?|()\\[\\]{}\\\\]","g");subtext=subtext.replace(specials,"\\$&");return text.replace(new RegExp('\('+subtext+'\)','i'),'<span class="queryHighlight">$1</span>');};$this.parse=function(data){var json=data;var retVal=[];nv.JQuery.each(json,function(i,val){val.prefixedTicker=val.ticker;val.url="http://www.wikinvest.com/wiki/"+val.ticker;retVal[retVal.length]={data:val,value:val.name,result:val.name};});return retVal;};$this.formatItem=function(aResultItem,iPosition,iCount,sValue,sQuery){var out='';var targetAttr='';if(linksTarget){targetAttr=' target="'+linksTarget+'"';}
out+='<div class="nvLiveSearchResult">';out+='<a class="nvLiveSearchResultTitle" href="'+aResultItem.url+'" title="'+aResultItem.title+'"'+targetAttr+'>';out+=$this.highlightQueryText($this.truncater(aResultItem.name,30)+" ("+aResultItem.ticker+")",sQuery)+'</a>';if(aResultItem.referrers){out+='<br /> <div class="nvLiveSearchResultReferrers">';for(var i=0;i<aResultItem.referrers.length;i++){if(i>0){out+=", ";}
out+='<a href="'+aResultItem.referrers[i].url+'"'+targetAttr+'>';out+=$this.truncater(aResultItem.referrers[i].name,50)+'</a>';}
out+='</div>';}
out+='</div>';return out;};$this.doBeforeExpandContainer=function(){var input=_jTextbox;var container=_popupContainer;var relativeParent=$this.getRelativeAncestor(container);var inputPosition=null;if(relativeParent!==null){var parentOffset=relativeParent.offset();var parentTop=parentOffset.top;var parentLeft=parentOffset.left;var inputOffset=input.offset();inputPosition={top:inputOffset.top-parentOffset.top,left:inputOffset.left-parentOffset.left};}
else{inputPosition=input.position();}
container.css('left',inputPosition.left);container.css('top',inputPosition.top+input.height()+4);container.show();return true;};$this.getRelativeAncestor=function(container){var node=container;while(true){if(node.css("position")=="relative"){return node;}
if(node[0]&&node[0].tagName.toUpperCase()!="BODY"&&node[0].parentNode){node=nv.JQuery(node[0].parentNode);}
else{break;}}
return null;};$this.collapseHandler=function(){_popupContainer.hide();};$this.expandHandler=function(){nv.UI.scrollPageForElement(_popupId);};$this.itemSelectHandler=function(oEvent,aResultItem){window.location.href=aResultItem.url;};__construct();};
/* /mediawiki/wikinvest/javascript/livesearch/livesearch.js*/

/*mediawiki/wikinvest/javascript/UI.js*/

if(typeof(nv.UI)=='undefined'){nv.UI={};}
nv.UI.highlight=function(id){nv.JQuery("#"+id).addClass("nvHighlighted");};nv.UI.unhighlight=function(id){nv.JQuery("#"+id).removeClass("nvHighlighted");};nv.UI.highlightParentTd=function(childId){nv.JQuery("#"+childId).parent("td").addClass("nvHighlighted");};nv.UI.unhighlightParentTd=function(childId){nv.JQuery("#"+childId).parent("td").removeClass("nvHighlighted");};nv.UI.getWindowWidth=function(){var w=0;if(typeof(window.innerWidth)=='number'){w=window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){w=document.documentElement.clientWidth;}else if(document.body&&document.body.clientWidth){w=document.body.clientWidth;}
return w;};nv.UI.getWindowHeight=function(){var h=0;if(typeof(window.innerHeight)=='number'){h=window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){h=document.documentElement.clientHeight;}else if(document.body&&document.body.clientHeight){h=document.body.clientHeight;}
return h;};nv.UI.getWindowScrollX=function(){var x=0;if(typeof(window.pageXOffset)=='number'){x=window.pageXOffset;}else if(document.body&&document.body.scrollLeft){x=document.body.scrollLeft;}else if(document.documentElement&&document.documentElement.scrollLeft){x=document.documentElement.scrollLeft;}
return x;};nv.UI.getWindowScrollY=function(){var y=0;if(typeof(window.pageYOffset)=='number'){y=window.pageYOffset;}else if(document.body&&document.body.scrollTop){y=document.body.scrollTop;}else if(document.documentElement&&document.documentElement.scrollTop){y=document.documentElement.scrollTop;}
return y;};nv.UI.scrollPageForElement=function(element){var $element=nv.JQuery("#"+element);if($element.length==0)return;var elemDim={h:$element.height(),w:$element.width()};var offset=$element.offset();var elemPos={x:offset.left,y:offset.top};nv.UI.scrollPageForBox(elemPos,elemDim);};nv.UI.scrollPageForBox=function(elemPos,elemDim){var windowWidth=nv.UI.getWindowWidth();var windowHeight=nv.UI.getWindowHeight();var windowScrollX=nv.UI.getWindowScrollX();var windowScrollY=nv.UI.getWindowScrollY();var offscreenY=elemDim.h+elemPos.y-windowScrollY-windowHeight;var offscreenX=elemDim.w+elemPos.x-windowScrollX-windowWidth;if(offscreenY>0){window.scrollBy(0,offscreenY);}
if(offscreenX>0){window.scrollBy(offscreenX,0);}};
/* /mediawiki/wikinvest/javascript/UI.js*/

/*common/ui/element/livesearch/livesearch.js*/

nv.defineAwesomeClass("nv.UI.Element.LiveSearch",function($this,$protected){var $=nv.JQuery;var _liveSearch;var _id;var _inputComponent;var _popupContainer;var _popupTable;var _popupDiv;var _options;$this.__construct=function(id,options){_id=id||"livesearch-component-id"+(nv.UI.Element.LiveSearch.UNIQUE_ID++);_options=options;_buildComponents();_init();};$this.getInputComponent=function(){return _inputComponent;};$this.getPopupComponent=function(){return _popupContainer;};$this.registerForResult=function(handler){_liveSearch.subscribeToResult(handler);};var _init=function(){_liveSearch=new nv.LiveSearch.Component(_inputComponent,'',_popupDiv,_popupContainer,_options.type,_options.maxResults,_options.maxReferrers,_options.linksTarget);_liveSearch.initialize();};var _buildComponents=function(){var inputHTML='<input  type="text" name="search" class="nvLiveSearchInput" id="nvLiveSearchInput'+_id+'"/>';_inputComponent=$(inputHTML);var popupContainerHTML=[];popupContainerHTML.push("<div id='nvLiveSearchPopupContainer"+_id+"' class='nvLiveSearchPopupContainer'>");popupContainerHTML.push("</div>");_popupContainer=$(popupContainerHTML.join(''));var popupTableHTML=[];popupTableHTML.push("<div class='shadowPopupBox'><table id='nvLiveSearchPopupTable' cellspacing='0'>");popupTableHTML.push("<tr><td class='tl'></td><td class='t'><div class='arrow'>&nbsp;</div></td><td class='tr'></td></tr>");popupTableHTML.push("<tr><td class='ml'></td><td class='m popupCell'></td><td class='mr'></td></tr>");popupTableHTML.push("<tr><td class='bl'></td><td class='b'>&nbsp;</td><td class='br'></td></tr>");popupTableHTML.push("</table></div>");_popupTable=$(popupTableHTML.join(''));var popupDivHTML="<div id='nvLiveSearchPopup"+_id+"' class='nvLiveSearchPopup'></div>";_popupDiv=$(popupDivHTML);$(_popupTable.find('.popupCell')).append(_popupDiv);_popupContainer.append(_popupTable);};},function(){this.UNIQUE_ID=0;});
/* /common/ui/element/livesearch/livesearch.js*/

/*common/ui/element/overlay/overlay.js*/

nv.defineAwesomeClass("nv.UI.Element.Overlay",function($this,$protected){var $=nv.JQuery;var id;var appendToElement;var $overlayElement;var isFixed=false;var options=null;$this.__construct=function(parentElement,_options){options=_options||{};id='nvui-o-'+(new Date()).getTime();if(parentElement==window){appendToElement=document.body;isFixed=true;}
else{appendToElement=parentElement;}};$this.reposition=function(){var msgWidth=$('#'+id).find('.nvui-o-msg').outerWidth();var msgHeight=$('#'+id).find('.nvui-o-msg').outerHeight();var msgElementCSS={'margin-left':-msgWidth/2+'px','left':'50%'};if(!options.type||options.type==nv.UI.Element.Overlay.Type.LIGHTBOX){msgElementCSS['margin-top']=-msgHeight/2+'px';msgElementCSS['top']='50%';}
else if(options.type==nv.UI.Element.Overlay.Type.HANGING){msgElementCSS['top']='0px';}
$overlayElement.find('.nvui-o-msg').css(msgElementCSS);};var initCloseTriggers=function(){if(options.closeTriggers){for(var elementSelector in options.closeTriggers){if(!options.closeTriggers.hasOwnProperty(elementSelector))continue;$overlayElement.delegate(options.closeTriggers[elementSelector],'click',hideIfOnClosesPasses);}}
$.nvlive('body','keyup',hideIfEscapePressed);$overlayElement.find('.nvui-o-close').bind('click',hideIfOnClosesPasses);};var hideIfOnClosesPasses=function(){var allowDefault=options.onClose?options.onClose()!==false:true;if(allowDefault)$this.hide();};var cleanupCloseTriggers=function(){if(options.closeTriggers){for(var elementSelector in options.closeTriggers){if(!options.closeTriggers.hasOwnProperty(elementSelector))continue;$overlayElement.find(options.closeTriggers[elementSelector]).unbind('click',$this.hide);}}
$.nvdie('body','keyup',hideIfEscapePressed);};var hideIfEscapePressed=function(event){if(event.keyCode==27){hideIfOnClosesPasses();}};$this.incrementZIndex=function(){if($overlayElement){$overlayElement.css('z-index',$overlayElement.css('z-index')+1);}};$this.show=function(content){$this.hide();var width=$(appendToElement).outerWidth();var height=$(appendToElement).outerHeight();$overlayElement=$('<div id="'+id+'" class="nvui-o nvui-o-'+options.theme+'" style="width:100%;height:100%;"><div class="nvui-o-trans"></div><div class="nvui-o-msg"></div></div>').appendTo(appendToElement);if(options.closeButton==true){$overlayElement.find('.nvui-o-msg').append('<div class="nvui-o-close"/>');}
$(content).appendTo($overlayElement.find('.nvui-o-msg'));$overlayElement.show();$this.reposition();if(isFixed){$overlayElement.addClass('nvui-o-fixed');$overlayElement.find('.nvui-o-msg').addClass('nvui-o-msg-fixed');}
initCloseTriggers();if(options.showCallback){options.showCallback();}};$this.hide=function(moreContinuation){if(!$overlayElement)return;var continuation=function(){cleanupCloseTriggers();if(options.closeCallback){options.closeCallback();}
if(typeof moreContinuation=='function')moreContinuation();};if(options.type&&options.type==nv.UI.Element.Overlay.Type.HANGING){$overlayElement.slideUp('slow',function(){$overlayElement.remove();continuation();});}
else{var doHide=function(){$overlayElement.remove();continuation();};if(options.animateHide==true){$overlayElement.fadeOut('slow',function(){doHide();});}
else{doHide();}}};},function(){this.Type={HANGING:'hanging',LIGHTBOX:'lightbox'};this.Theme={LIGHT:'light',DARK:'dark'};});
/* /common/ui/element/overlay/overlay.js*/

/*wikinvest/javascript/livesearch/livesearch.js*/

nv.CreateNamespace("nv.LiveSearch");nv.LiveSearch.Component=function(inputField,formId,popup,popupContainer,liveSearchType,maxItemsToShow,maxReferrers,linksTarget){var $this=this;var _jTextbox=null;var _popupContainer=null;var _popup=null;var _popupId=null;var __construct=function(){if(typeof(maxReferrers)=='undefined'){maxReferrers=5;}
$this._formId=formId;$this._liveSearchType=liveSearchType;if(typeof(popup)=='string'){_popup=nv.JQuery("#"+popup);_popupId=popup;}
else{_popup=popup;_popupId=popup.attr('id');}
if(typeof(inputField)=='string'){_jTextbox=nv.JQuery("#"+inputField);}
else{_jTextbox=inputField;}
if(typeof(popupContainer)=='string'){_popupContainer=nv.JQuery("#"+popupContainer);}
else{_popupContainer=popupContainer;}
$this._autoComp;};$this.initialize=function(){$this.initializeAutoComp();};$this.initializeAutoComp=function(){var options=$this.getOptions();$this._autoComp=_jTextbox.autocomplete('http://securitydata.sigfig.com/security/livesearch',options);$this.setAutoCompFunctions();$this.subscribeToAutoCompEvents();$this._autoComp.flushCache();};$this.getOptions=function(){var autoCompleteWidth=parseInt(_jTextbox.attr('autocompletewidth'));if(isNaN(autoCompleteWidth)){autoCompleteWidth=0;}
var options={max:maxItemsToShow,cacheLength:69,selectFirst:false,cacheTime:3600,minChars:1,delay:50,autoFill:false,scroll:false,matchSubset:false,inputClass:'',resultsClass:'nvLiveSearchResults',loadingClass:'',popupId:popup,width:autoCompleteWidth,formatItem:$this.formatItem,highlight:function(value,term){return value;},parse:$this.parse,extraParams:{format:'json',referrers:maxReferrers,type:$this._liveSearchType}};return options;};$this.setAutoCompFunctions=function(){};$this.subscribeToAutoCompEvents=function(){$this.subscribeToResult($this.itemSelectHandler);$this.subscribeToAfterContainerCollapse();$this.subscribeToBeforeContainerExpand();$this.subscribeToAfterContainerExpand();};$this.subscribeToResult=function(handler){$this._autoComp.unbind("result");if(typeof handler=="function"){$this._autoComp.result(handler);}};$this.subscribeToAfterContainerCollapse=function(){$this._autoComp.bind("aftercontainercollapse",$this.collapseHandler);};$this.subscribeToBeforeContainerExpand=function(){$this._autoComp.bind("beforecontainerexpand",$this.doBeforeExpandContainer);};$this.subscribeToAfterContainerExpand=function(){$this._autoComp.bind("aftercontainerexpand",$this.expandHandler);};$this.truncater=function(text,length){if(text.length>length){return text.substring(0,(length-3))+'...';}else{return text;}};$this.highlightQueryText=function(text,subtext){var specials=new RegExp("[.*+?|()\\[\\]{}\\\\]","g");subtext=subtext.replace(specials,"\\$&");return text.replace(new RegExp('\('+subtext+'\)','i'),'<span class="queryHighlight">$1</span>');};$this.parse=function(data){var json=data;var retVal=[];nv.JQuery.each(json,function(i,val){val.prefixedTicker=val.ticker;val.url="http://www.wikinvest.com/wiki/"+val.ticker;retVal[retVal.length]={data:val,value:val.name,result:val.name};});return retVal;};$this.formatItem=function(aResultItem,iPosition,iCount,sValue,sQuery){var out='';var targetAttr='';if(linksTarget){targetAttr=' target="'+linksTarget+'"';}
out+='<div class="nvLiveSearchResult">';out+='<a class="nvLiveSearchResultTitle" href="'+aResultItem.url+'" title="'+aResultItem.title+'"'+targetAttr+'>';out+=$this.highlightQueryText($this.truncater(aResultItem.name,30)+" ("+aResultItem.ticker+")",sQuery)+'</a>';if(aResultItem.referrers){out+='<br /> <div class="nvLiveSearchResultReferrers">';for(var i=0;i<aResultItem.referrers.length;i++){if(i>0){out+=", ";}
out+='<a href="'+aResultItem.referrers[i].url+'"'+targetAttr+'>';out+=$this.truncater(aResultItem.referrers[i].name,50)+'</a>';}
out+='</div>';}
out+='</div>';return out;};$this.doBeforeExpandContainer=function(){var input=_jTextbox;var container=_popupContainer;var relativeParent=$this.getRelativeAncestor(container);var inputPosition=null;if(relativeParent!==null){var parentOffset=relativeParent.offset();var parentTop=parentOffset.top;var parentLeft=parentOffset.left;var inputOffset=input.offset();inputPosition={top:inputOffset.top-parentOffset.top,left:inputOffset.left-parentOffset.left};}
else{inputPosition=input.position();}
container.css('left',inputPosition.left);container.css('top',inputPosition.top+input.height()+4);container.show();return true;};$this.getRelativeAncestor=function(container){var node=container;while(true){if(node.css("position")=="relative"){return node;}
if(node[0]&&node[0].tagName.toUpperCase()!="BODY"&&node[0].parentNode){node=nv.JQuery(node[0].parentNode);}
else{break;}}
return null;};$this.collapseHandler=function(){_popupContainer.hide();};$this.expandHandler=function(){nv.UI.scrollPageForElement(_popupId);};$this.itemSelectHandler=function(oEvent,aResultItem){window.location.href=aResultItem.url;};__construct();};
/* /wikinvest/javascript/livesearch/livesearch.js*/

/*wikinvest/lib/jquery/plugin/jquery.autocomplete.js*/
;(function($){$.fn.extend({autocomplete:function(urlOrData,options){var isUrl=typeof urlOrData=="string";options=$.extend({},$.Autocompleter.defaults,{url:isUrl?urlOrData:null,data:isUrl?null:urlOrData,delay:isUrl?$.Autocompleter.defaults.delay:10,max:options&&!options.scroll?10:150},options);options.highlight=options.highlight||function(value){return value;};options.formatMatch=options.formatMatch||options.formatItem;return this.each(function(){new $.Autocompleter(this,options);});},result:function(handler){return this.bind("result",handler);},search:function(handler){return this.trigger("search",[handler]);},flushCache:function(){return this.trigger("flushCache");},setOptions:function(options){return this.trigger("setOptions",[options]);},unautocomplete:function(){return this.trigger("unautocomplete");}});$.Autocompleter=function(input,options){var KEY={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var $input=$(input).attr("autocomplete","off").addClass(options.inputClass);var timeout;var previousValue="";var cache=$.Autocompleter.Cache(options);var hasFocus=0;var lastKeyPressCode;var lastTerm='';var config={mouseDownOnSelect:false};var select=$.Autocompleter.Select(options,input,selectCurrent,config);var blockSubmit;$.browser.opera&&$(input.form).bind("submit.autocomplete",function(){if(blockSubmit){blockSubmit=false;return false;}});$input.bind(($.browser.opera?"keypress":"keydown")+".autocomplete",function(event){lastKeyPressCode=event.keyCode;switch(event.keyCode){case KEY.UP:event.preventDefault();if(select.visible()){select.prev();}else{onChange(0,true);}
break;case KEY.DOWN:event.preventDefault();if(select.visible()){select.next();}else{onChange(0,true);}
break;case KEY.PAGEUP:event.preventDefault();if(select.visible()){select.pageUp();}else{onChange(0,true);}
break;case KEY.PAGEDOWN:event.preventDefault();if(select.visible()){select.pageDown();}else{onChange(0,true);}
break;case options.multiple&&$.trim(options.multipleSeparator)==","&&KEY.COMMA:case KEY.TAB:case KEY.RETURN:if(selectCurrent()){event.preventDefault();blockSubmit=true;return false;}
break;case KEY.ESC:select.hide();break;default:clearTimeout(timeout);timeout=setTimeout(onChange,options.delay);break;}}).focus(function(){hasFocus++;}).blur(function(){hasFocus=0;if(!config.mouseDownOnSelect){hideResults();}}).click(function(){if(hasFocus++>1&&!select.visible()){onChange(0,true);}}).bind("search",function(){var fn=(arguments.length>1)?arguments[1]:null;function findValueCallback(q,data){var result;if(data&&data.length){for(var i=0;i<data.length;i++){if(data[i].result.toLowerCase()==q.toLowerCase()){result=data[i];break;}}}
if(typeof fn=="function")fn(result);else $input.trigger("result",result&&[result.data,result.value]);}
$.each(trimWords($input.val()),function(i,value){request(value,findValueCallback,findValueCallback);});}).bind("flushCache",function(){cache.flush();}).bind("setOptions",function(){$.extend(options,arguments[1]);if("data"in arguments[1])
cache.populate();}).bind("unautocomplete",function(){select.unbind();$input.unbind();$(input.form).unbind(".autocomplete");});function selectCurrent(){var selected=select.selected();if(!selected)
return false;var v=selected.result;previousValue=v;if(options.multiple){var words=trimWords($input.val());if(words.length>1){v=words.slice(0,words.length-1).join(options.multipleSeparator)+options.multipleSeparator+v;}
v+=options.multipleSeparator;}
$input.val(v);hideResultsNow();$input.trigger("result",[selected.data,selected.value]);return true;}
function onChange(crap,skipPrevCheck){if(lastKeyPressCode==KEY.DEL){select.hide();return;}
var currentValue=$input.val();if(!skipPrevCheck&&currentValue==previousValue)
return;previousValue=currentValue;currentValue=lastWord(currentValue);if(currentValue.length>=options.minChars){$input.addClass(options.loadingClass);if(!options.matchCase)
currentValue=currentValue.toLowerCase();request(currentValue,receiveData,hideResultsNow);}else{stopLoading();select.hide();}};function trimWords(value){if(!value){return[""];}
var words=value.split(options.multipleSeparator);var result=[];$.each(words,function(i,value){if($.trim(value))
result[i]=$.trim(value);});return result;}
function lastWord(value){if(!options.multiple)
return value;var words=trimWords(value);return words[words.length-1];}
function autoFill(q,sValue){if(sValue.toLowerCase().indexOf(q.toLowerCase())!==0){return false;}
if(options.autoFill&&(lastWord($input.val()).toLowerCase()==q.toLowerCase())&&lastKeyPressCode!=KEY.BACKSPACE){$input.val($input.val()+sValue.substring(lastWord(previousValue).length));$.Autocompleter.Selection(input,previousValue.length,previousValue.length+sValue.length);}};function hideResults(){clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){var wasVisible=select.visible();select.hide();clearTimeout(timeout);stopLoading();if(options.mustMatch){$input.search(function(result){if(!result){if(options.multiple){var words=trimWords($input.val()).slice(0,-1);$input.val(words.join(options.multipleSeparator)+(words.length?options.multipleSeparator:""));}
else
$input.val("");}});}
if(wasVisible)
$.Autocompleter.Selection(input,input.value.length,input.value.length);};function receiveData(q,data){if(lastTerm!=q){return;}
$input.trigger("queryresponse",[q,data]);if(data&&data.length&&hasFocus){stopLoading();select.display(data,q);autoFill(q,data[0].value);select.show();}else{hideResultsNow();}};function request(term,success,failure){if(!options.matchCase)
term=term.toLowerCase();lastTerm=term;var data=cache.load(term);if(data&&data.length){success(term,data);}else if((typeof options.url=="string")&&(options.url.length>0)){var extraParams={timestamp:nv.http.GetTimestampForCachedRequest(options.cacheTime)};$.each(options.extraParams,function(key,param){extraParams[key]=typeof param=="function"?param():param;});$input.trigger("datarequest");nv.http.request({url:options.url,data:$.extend({q:lastWord(term),limit:options.max,partner:nv.getCurrentPartnerToken()},extraParams),success:function(data){$input.trigger("datasuccess",[data]);var parsed=options.parse&&options.parse(data)||parse(data);cache.add(term,parsed);success(term,parsed);},error:function(data){$input.trigger("dataerror");}});}else{select.emptyList();failure(term);}};function parse(data){var parsed=[];var rows=data.split("\n");for(var i=0;i<rows.length;i++){var row=$.trim(rows[i]);if(row){row=row.split("|");parsed[parsed.length]={data:row,value:row[0],result:options.formatResult&&options.formatResult(row,row[0])||row[0]};}}
return parsed;};function stopLoading(){$input.removeClass(options.loadingClass);};};$.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(row){return row[0];},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(value,term){return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>");},scroll:true,scrollHeight:180};$.Autocompleter.Cache=function(options){var data={};var length=0;function matchSubset(s,sub){if(!options.matchCase)
s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};function add(q,value){if(length>options.cacheLength){flush();}
if(!data[q]){length++;}
data[q]=value;}
function populate(){if(!options.data)return false;var stMatchSets={},nullData=0;if(!options.url)options.cacheLength=1;stMatchSets[""]=[];for(var i=0,ol=options.data.length;i<ol;i++){var rawValue=options.data[i];rawValue=(typeof rawValue=="string")?[rawValue]:rawValue;var value=options.formatMatch(rawValue,i+1,options.data.length);if(value===false)
continue;var firstChar=value.charAt(0).toLowerCase();if(!stMatchSets[firstChar])
stMatchSets[firstChar]=[];var row={value:value,data:rawValue,result:options.formatResult&&options.formatResult(rawValue)||value};stMatchSets[firstChar].push(row);if(nullData++<options.max){stMatchSets[""].push(row);}};$.each(stMatchSets,function(i,value){options.cacheLength++;add(i,value);});}
setTimeout(populate,25);function flush(){data={};length=0;}
return{flush:flush,add:add,populate:populate,load:function(q){if(!options.cacheLength||!length)
return null;if(!options.url&&options.matchContains){var csub=[];for(var k in data){if(k.length>0){var c=data[k];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub.push(x);}});}}
return csub;}else
if(data[q]){return data[q];}else
if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var c=data[q.substr(0,i)];if(c){var csub=[];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub[csub.length]=x;}});return csub;}}}
return null;}};};$.Autocompleter.Select=function(options,input,select,config){var CLASSES={ACTIVE:"nvLiveSearchHighlight"};var listItems,active=-1,data,term="",needsInit=true,element,list;function init(){if(!needsInit)
return;if(typeof(options.popupId)=='string'){popupDiv=$('#'+options.popupId);}
else{popupDiv=options.popupId;}
element=$("<div/>").hide().addClass(options.resultsClass).appendTo(popupDiv);list=$("<ul/>").appendTo(element).mouseover(function(event){if(target(event).nodeName&&target(event).nodeName.toUpperCase()=='LI'){active=$("li",list).removeClass(CLASSES.ACTIVE).index(target(event));$(target(event)).addClass(CLASSES.ACTIVE);}}).click(function(event){$(target(event)).addClass(CLASSES.ACTIVE);select();input.focus();return false;}).mousedown(function(){config.mouseDownOnSelect=true;}).mouseup(function(){config.mouseDownOnSelect=false;});if(options.width>0)
element.css("width",options.width);needsInit=false;}
function target(event){var element=event.target;while(element&&element.tagName!="LI")
element=element.parentNode;if(!element)
return[];return element;}
function moveSelect(step){listItems.slice(active,active+1).removeClass(CLASSES.ACTIVE);movePosition(step);var activeItem=listItems.slice(active,active+1).addClass(CLASSES.ACTIVE);if(options.scroll){var offset=0;listItems.slice(0,active).each(function(){offset+=this.offsetHeight;});if((offset+activeItem[0].offsetHeight-list.scrollTop())>list[0].clientHeight){list.scrollTop(offset+activeItem[0].offsetHeight-list.innerHeight());}else if(offset<list.scrollTop()){list.scrollTop(offset);}}};function movePosition(step){active+=step;if(active<0){active=listItems.size()-1;}else if(active>=listItems.size()){active=0;}}
function limitNumberOfItems(available){return options.max&&options.max<available?options.max:available;}
function fillList(){list.empty();var max=limitNumberOfItems(data.length);for(var i=0;i<max;i++){if(!data[i])
continue;var formatted=options.formatItem(data[i].data,i+1,max,data[i].value,term);if(formatted===false)
continue;var li=$("<li/>").html(options.highlight(formatted,term)).addClass(i%2==0?"ac_even":"ac_odd").appendTo(list)[0];$.data(li,"ac_data",data[i]);}
listItems=list.find("li");if(options.selectFirst){listItems.slice(0,1).addClass(CLASSES.ACTIVE);active=0;}
if($.fn.bgiframe)
list.bgiframe();}
return{display:function(d,q){init();data=d;term=q;fillList();},next:function(){moveSelect(1);},prev:function(){moveSelect(-1);},pageUp:function(){if(active!=0&&active-8<0){moveSelect(-active);}else{moveSelect(-8);}},pageDown:function(){if(active!=listItems.size()-1&&active+8>listItems.size()){moveSelect(listItems.size()-1-active);}else{moveSelect(8);}},hide:function(){element&&element.hide();listItems&&listItems.removeClass(CLASSES.ACTIVE);active=-1;$(input).trigger("aftercontainercollapse");},visible:function(){return element&&element.is(":visible");},current:function(){return this.visible()&&(listItems.filter("."+CLASSES.ACTIVE)[0]||options.selectFirst&&listItems[0]);},show:function(){$(input).trigger("beforecontainerexpand");var offset=$(input).offset();element.css({width:typeof options.width=="string"||options.width>0?options.width:$(input).width(),top:offset.top+input.offsetHeight,left:offset.left}).show();if(options.scroll){list.scrollTop(0);list.css({maxHeight:options.scrollHeight,overflow:'auto'});if($.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var listHeight=0;listItems.each(function(){listHeight+=this.offsetHeight;});var scrollbarsVisible=listHeight>options.scrollHeight;list.css('height',scrollbarsVisible?options.scrollHeight:listHeight);if(!scrollbarsVisible){listItems.width(list.width()-parseInt(listItems.css("padding-left"))-parseInt(listItems.css("padding-right")));}}}
$(input).trigger("aftercontainerexpand");},selected:function(){var selected=listItems&&listItems.filter("."+CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);return selected&&selected.length&&$.data(selected[0],"ac_data");},emptyList:function(){list&&list.empty();},unbind:function(){element&&element.remove();}};};$.Autocompleter.Selection=function(field,start,end){if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}
field.focus();};})(nv.JQuery);
/* /wikinvest/lib/jquery/plugin/jquery.autocomplete.js*/

/*wikinvest/javascript/UI.js*/

if(typeof(nv.UI)=='undefined'){nv.UI={};}
nv.UI.highlight=function(id){nv.JQuery("#"+id).addClass("nvHighlighted");};nv.UI.unhighlight=function(id){nv.JQuery("#"+id).removeClass("nvHighlighted");};nv.UI.highlightParentTd=function(childId){nv.JQuery("#"+childId).parent("td").addClass("nvHighlighted");};nv.UI.unhighlightParentTd=function(childId){nv.JQuery("#"+childId).parent("td").removeClass("nvHighlighted");};nv.UI.getWindowWidth=function(){var w=0;if(typeof(window.innerWidth)=='number'){w=window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){w=document.documentElement.clientWidth;}else if(document.body&&document.body.clientWidth){w=document.body.clientWidth;}
return w;};nv.UI.getWindowHeight=function(){var h=0;if(typeof(window.innerHeight)=='number'){h=window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){h=document.documentElement.clientHeight;}else if(document.body&&document.body.clientHeight){h=document.body.clientHeight;}
return h;};nv.UI.getWindowScrollX=function(){var x=0;if(typeof(window.pageXOffset)=='number'){x=window.pageXOffset;}else if(document.body&&document.body.scrollLeft){x=document.body.scrollLeft;}else if(document.documentElement&&document.documentElement.scrollLeft){x=document.documentElement.scrollLeft;}
return x;};nv.UI.getWindowScrollY=function(){var y=0;if(typeof(window.pageYOffset)=='number'){y=window.pageYOffset;}else if(document.body&&document.body.scrollTop){y=document.body.scrollTop;}else if(document.documentElement&&document.documentElement.scrollTop){y=document.documentElement.scrollTop;}
return y;};nv.UI.scrollPageForElement=function(element){var $element=nv.JQuery("#"+element);if($element.length==0)return;var elemDim={h:$element.height(),w:$element.width()};var offset=$element.offset();var elemPos={x:offset.left,y:offset.top};nv.UI.scrollPageForBox(elemPos,elemDim);};nv.UI.scrollPageForBox=function(elemPos,elemDim){var windowWidth=nv.UI.getWindowWidth();var windowHeight=nv.UI.getWindowHeight();var windowScrollX=nv.UI.getWindowScrollX();var windowScrollY=nv.UI.getWindowScrollY();var offscreenY=elemDim.h+elemPos.y-windowScrollY-windowHeight;var offscreenX=elemDim.w+elemPos.x-windowScrollX-windowWidth;if(offscreenY>0){window.scrollBy(0,offscreenY);}
if(offscreenX>0){window.scrollBy(offscreenX,0);}};
/* /wikinvest/javascript/UI.js*/

/*frontend/mashup/ui/TickerBoardComponent/portfolio/livesearch.js*/

nv.defineSingleton("nv.widget.tickerboard.component.LiveSearch",function(){var $=nv.JQuery;$(function(){var form=$("div.nv-tickerboard-search form");if(form.length>0){var livesearchOptions={type:'partner',maxResults:10,linksTarget:form.attr("target")};if(form.attr('maxresults')){var maxResults=parseInt(form.attr('maxresults'));if(!isNaN(maxResults)){livesearchOptions.maxResults=maxResults;}}
var livesearchInput=new nv.UI.Element.LiveSearch('tickerBoard',livesearchOptions);var tickerTextBox=livesearchInput.getInputComponent();var popupBox=livesearchInput.getPopupComponent();livesearchInput.registerForResult(function(oEvent,aResultItem){aResultItem.url="https://www.wikinvest.com/partner/Forbes/frontend/mashup/?action=viewtearsheet"+"&ticker="+aResultItem.ticker;var target=form.attr('target');if(target!=='_blank'&&aResultItem.url){window.top.location=aResultItem.url;}
else if(aResultItem.url){form.attr('action',aResultItem.url);form[0].submit();}
else{form[0].submit();}});var oldTb=form.find("input[type=text]");var oldVal="";if(oldTb.length>0){oldVal=oldTb.val();}
oldTb.replaceWith(tickerTextBox);var tb=form.find("input[type=text]");if(oldVal!=""){tb.val(oldVal);}
form.append(popupBox);}});});
/* /frontend/mashup/ui/TickerBoardComponent/portfolio/livesearch.js*/

/*wikinvest/javascript/defaultValueTextbox.js*/

if(nv.CreateNamespace("nv.DefaultValueTextbox")){nv.DefaultValueTextbox=function(textbox,defaultText,defaultColor,submitButton){var $=nv.JQuery;var $textbox=$(textbox);var self=this;if(!defaultColor)
defaultColor='#999999';self.isDefault=false;self.originalColor=$textbox.css('color');self.setDefaultText=function()
{if(textbox.value==''||textbox.value==defaultText)
{self.isDefault=true;textbox.value=defaultText;$textbox.css('color',defaultColor);}}
self.clearDefaultText=function()
{if(self.isDefault)
{self.isDefault=false;textbox.value="";$textbox.css('color',self.originalColor);}}
$textbox.focus(function(){self.clearDefaultText();});$textbox.blur(function(){self.setDefaultText();});if(submitButton){$(submitButton).click(function(){self.clearDefaultText();});}
self.setDefaultText();};}
/* /wikinvest/javascript/defaultValueTextbox.js*/

/*frontend/mashup/ui/TickerBoardComponent/portfolio2col/portfolio2col.js*/

nv.extendClass("nv.widget.tickerboard.Portfolio2Col",nv.widget.tickerboard.Base,function($this,$protected,$parent){var $=nv.JQuery;var $component;var stream;var linksTarget;var updateTimestampBatchProcessor;var logoutUrl='https://www.wikinvest.com/partner/Forbes/frontend/mashup/?action=widgetlogout&rt=aHR0cHM6Ly93d3cud2lraW52ZXN0LmNvbS9wYXJ0bmVyL0ZvcmJlcy9mcm9udGVuZC9tYXNodXAvP2FjdGlvbj13aWRnZXQmbmFtZT1UaWNrZXJCb2FyZDo6UG9ydGZvbGlvMkNvbA,,';var portfolioUrl='https://www.wikinvest.com/partner/Forbes/portfolio';var stockDataProvider=null;var contentPluginName=null;var loadTime=nv.util.date.TimestampInSeconds();var startTab=null;var defaultTab='portfolio';$this.getLoadTime=function(){return loadTime;};$this.isStreamingEnabled=function(){return stream;};$this.getLinksTarget=function(){return linksTarget?linksTarget:'_top';};$this.getContentPluginName=function(){return contentPluginName;};$this.getEmbedLocation=function(){var match=window.location.search.match(/l=([a-zA-Z0-9_]+)/);if(match){return match[1];}
else{return null;}};var lastTimestamp=null;$this.updateTimestamp=function(timestampFormatted,timestamp){if((!timestamp||timestamp>lastTimestamp)&&timestampFormatted.indexOf("end of day")==-1){var formatted=timestampFormatted.replace(/^as of/,"");if(lastTimestamp===null){lastTimestamp=0;$component.find("div.nv-tickerboard-timestamp").html(formatted);}
else{updateTimestampBatchProcessor.AddJob(formatted);}
if(timestamp){lastTimestamp=timestamp;}}};$this.__construct=function(id,loggedIn,permissions){$component=$("#"+id);stream=($component.attr("stream")=="1");linksTarget=($component.data("linkstarget"));nv.StockQuotesManager.setPartnerName("wikinvest");$(function(){new nv.DefaultValueTextbox($component.find(".nv-tickerboard-search input[type=text]")[0],"Search Quotes (e.g. XOM, Citibank)","#999999",$component.find(".nv-tickerboard-search button")[0]);});updateTimestampBatchProcessor=new nv.TimedBatchProcessor(5000,5000);updateTimestampBatchProcessor.OnNewBatchCreated.Bind(function(args){$component.find("div.nv-tickerboard-timestamp").html(args.pop());});$.nvlive(".doPortfolioAuth",'click',function(){var action=$(this).attr('auth');var source=$(this).attr('source');$this.handleCtaClick(action,source);});$this.handleCtaClick=function(action,source){var url=$protected.getAuthUrl(action,permissions);if(source){var extra={content:source,startTab:startTab,widget:'portfolio2col'};var embedLocation=$this.getEmbedLocation();if(embedLocation){extra.location=embedLocation;}
extra=encodeURIComponent(nv.util.Url.getQueryString(extra));if(url.indexOf("?")!==-1){url+="&extra="+extra;}
else{url+="?extra="+extra;}}
window.open(url,"nvconnect","status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=0,scrollbars=1,height=450,width=650");return false;};var perfContents=[];var latestChangePercent=null;nv.UI.Tabs.OnTabChanged.Bind(function(e){if(e.control=="performance-tabs"){$component.find("div.nv-overview-tab-control div.nv-tab-content[rel="+e.newTab+"][data-tickers]").each(function(){var container=$(this);var pergContent='';if(container.attr('tabs-initted')){perfContent=container.data('perf-content');if(perfContent){perfContent.Activate(true);}
return;}
container.attr('tabs-initted',1);var tickerStr=container.attr('data-tickers');if(tickerStr){var tickers=nv.util.Url.parseQuery(tickerStr);perfContent=new nv.UI.TickerBoardComponent.PerformanceContent(tickers,loggedIn,$this,container);perfContents.push(perfContent);if(latestChangePercent!==null){perfContent.updateOneDayReturn(latestChangePercent);}
container.data('perf-content',perfContent);}});}
else{if(e.oldTab===null){startTab=e.newTab;}}
if(e.oldTab){var secsSinceLoad=nv.util.date.TimestampInSeconds()-$this.getLoadTime();nv.Analytics.trackAction('Widget-Portfolio2Col-'+nv.getCurrentPartnerToken()+'-'+defaultTab,'changed-'+e.control,e.newTab,secsSinceLoad);}});nv.UI.Tabs.Init();if(!loggedIn){var portfolioSigninContent=new nv.UI.TickerBoardComponent.PortfolioSignInContent($component.find("div.nv-tab-control[rel=portfolio-tabs] div.nv-tab-content[rel=portfolio]"),$this);defaultTab+=" - "+portfolioSigninContent.getCurrentGraphicName();new nv.UI.TickerBoardComponent.MoversContent($component.find("div.nv-tab-control[rel=portfolio-tabs] div.nv-tab-content[rel=movers]"),$this,9,9,0,false);$component.find("li.nv-intab-authlink").html('&nbsp;<br />Already registered?&nbsp;<a href="#" class="doPortfolioAuth" auth="login">Sign in</a>');}
else{var portfolioContent=new nv.widget.tickerboard.portfolio2col.PortfolioContent($component.find("div.nv-tab-control[rel=portfolio-tabs] div.nv-tab-content[rel=portfolio]"),$this);var moversContent=new nv.UI.TickerBoardComponent.MoversContent($component.find("div.nv-tab-control[rel=portfolio-tabs] div.nv-tab-content[rel=movers]"),$this,9,9,0,true);$component.find("li.nv-intab-authlink").html('<a href="'+logoutUrl+'">x Sign out</a>'
+'<br />&raquo; <a href="'+portfolioUrl+'" target="_blank">View positions &amp; analysis</a>');var firstEvent=true;portfolioContent.OnDataReceived.Bind(function(data){var moversData=nv.UI.TickerBoardComponent.Portfolio.MoversHelper.GetMoversDataFromPortfolioApi(data);moversContent.setData(moversData);nv.array.iterate(perfContents,function(c){if(firstEvent){firstEvent=false;}
else{c.updateCacheBuster();}});});portfolioContent.OnDataFailed.Bind(function(){moversContent.setDataFailed();});portfolioContent.OnReturnsDataUpdated.Bind(function(data){latestChangePercent=data.changePercent;nv.array.iterate(perfContents,function(c){c.updateOneDayReturn(data.changePercent);});});}
var env=(loggedIn?nv.Analytics.Env.PartnerAuthenticated:nv.Analytics.Env.PartnerAnonymous);var analyticsOptions={environment:env,services:[nv.Analytics.Engine.GoogleAnalytics]};nv.Analytics.init(analyticsOptions);var pageUrl='widget/portfolio2col/'+nv.getCurrentPartnerToken();nv.Analytics.trackPageView(pageUrl);nv.Analytics.startTimeTracking(pageUrl,20);nv.Analytics.trackEvent("Viewed Portfolio Widget"+' - '+nv.getCurrentPartnerToken());nv.Analytics.trackEvent("Viewed Partner Widget Tab: "+defaultTab);var startLocation=$this.getEmbedLocation();if(startLocation){nv.Analytics.trackEvent("Portfolio Widget Location"+' - '
+nv.getCurrentPartnerToken()+" - "+startLocation);}
if(loggedIn){var cookie=new nv.Cookie('nv_connect_rl');if(cookie.Get()=="r"){nv.Analytics.trackEvent('Viewed Partner Flow: Portfolio Conversion');cookie.Set("x",-1000,"/","."+document.location.host,false);}}
nv.Metrics.Quantcast.TrackPageView('Partners.'+nv.getCurrentPartnerToken()+'.Widget.Portfolio.2Column');};});
/* /frontend/mashup/ui/TickerBoardComponent/portfolio2col/portfolio2col.js*/

/*common/javascript/timedBatchProcessor.js*/

if(nv.CreateNamespace("nv.TimedBatchProcessor")){nv.TimedBatchProcessor=function(delay,maxDelay){var $this=this;if(typeof maxDelay=="undefined"){maxDelay=0;}
var delayTimer=null;var maxDelayTimer=null;var queuedJobs=[];$this.OnNewBatchCreated=new nv.Event();$this.AddJob=function(args){queuedJobs.push(args);if(delayTimer!==null){clearTimeout(delayTimer);}
delayTimer=setTimeout(delayTimerEvent,delay);if(maxDelay>0&&maxDelayTimer===null){maxDelayTimer=setTimeout(maxDelayTimerEvent,maxDelay);}};var delayTimerEvent=function(){delayTimer=null;if(maxDelayTimer!==null){clearTimeout(maxDelayTimer);maxDelayTimer=null;}
processJobs();};var maxDelayTimerEvent=function(){maxDelayTimer=null;if(delayTimer!==null){clearTimeout(delayTimer);delayTimer=null;}
processJobs();};var processJobs=function(){var jobs=queuedJobs;queuedJobs=[];$this.OnNewBatchCreated.Trigger(jobs);};};}
/* /common/javascript/timedBatchProcessor.js*/

/*common/javascript/test.js*/

nv.defineSingleton("nv.test",function(){"use strict";var $this=this;$this.isTesting=function(what){if(typeof what=='string'){if(typeof casesToHash[what]!=='string')return false;return isTestingStringHash(casesToHash[what]);}
var result=false;nv.array.iterate(what,function(key,value){if(isTestingStringHash(casesToHash[value])){result=true;return nv.array.BREAK;}});return result;};var getRegExpForHash=function(hash){return new RegExp("\\b"+hash.replace('-','\\-')+"\\b");};var isTestingStringHash=function(hash){return getRegExpForHash(hash).test(window.location.hash);};$this.cases={AGREE_TO_TOS:{_:'agreeToTos',WSOD:'agreeToTosWsod'},SHOW_TOUR:'showTour',FORCE_EMAIL_IS_CONFIRMED:'forceEmailIsConfirmed',DEPRECATED:'deprecated',KEEP_AFTER_COLUMN_DRAG:'keepAfterColumnDrag',FAKE_STREAMING_QUOTES:'fakeStreamingQuotes',EMAIL_CONFIRM_OVERLAY:'emailConfirmOverlay',EMAIL_CONFIRM_OVERLAY_ERROR:'emailConfirmOverlayError',LOADING_STAGE1:'loadingStage1',LOADING_STAGE2:'loadingStage2',SOURCE_SYNC:{FAIL:'sourceSyncFail',PENDING:'sourceSyncPending',SUCCESS:'sourceSyncSuccess'},REGFLOW_SYNC:{SUCCESS:'regflowSyncSuccess',FAIL:'regflowSyncFail'}};var casesToHash={};casesToHash[$this.cases.AGREE_TO_TOS._]='force-agree-to-tos-overlay';casesToHash[$this.cases.AGREE_TO_TOS.WSOD]='force-agree-to-tos-overlay-wsod';casesToHash[$this.cases.SHOW_TOUR]='showtour';casesToHash[$this.cases.DEPRECATED]='break-on-deprecated';casesToHash[$this.cases.KEEP_AFTER_COLUMN_DRAG]='keep-after-column-drag';casesToHash[$this.cases.FAKE_STREAMING_QUOTES]='fakequotes';casesToHash[$this.cases.EMAIL_CONFIRM_OVERLAY]='force-email-confirm-overlay';casesToHash[$this.cases.EMAIL_CONFIRM_OVERLAY_ERROR]='force-email-confirm-overlay-error';casesToHash[$this.cases.FORCE_EMAIL_IS_CONFIRMED]='force-email-is-confirmed';casesToHash[$this.cases.LOADING_STAGE1]='loading-stage1';casesToHash[$this.cases.LOADING_STAGE2]='loading-stage2';casesToHash[$this.cases.SOURCE_SYNC.FAIL]='source-sync-fail';casesToHash[$this.cases.SOURCE_SYNC.PENDING]='source-sync-pending';casesToHash[$this.cases.SOURCE_SYNC.SUCCESS]='source-sync-success';casesToHash[$this.cases.REGFLOW_SYNC.SUCCESS]='regflow-sync-success';casesToHash[$this.cases.REGFLOW_SYNC.FAIL]='regflow-sync-fail';});
/* /common/javascript/test.js*/

/*common/javascript/streaming/wildfire/transport.js*/

nv.defineEnum("nv.streaming.wildfire.transport.states",["UNINITIALIZED","LOADING","PARTIAL","COMPLETE"]);nv.defineAwesomeClass("nv.streaming.wildfire.Transport",function($this,$protected){var s_=nv.importNamespace("nv.streaming.wildfire.transport.states");var state;var baseUrl;var failTimer;var disableCallbacks;$protected.partialResponseText;$protected.status;var streamingResponseTextLastLength;var incompleteChunk="";var partialChunkObj=null;var aborted=false;var doesNetworkSupportStreaming=null;var lastReceivedPacketTime=null;var completedRequests=0;var hasStreamTestBeenRequested=false;$this.onMessageReceived=new nv.Event();$this.onRequestCompleted=new nv.Event();$this.__construct=function(_baseUrl){state=s_.UNINITIALIZED;baseUrl=_baseUrl;$protected.partialResponseText="";$protected.status=0;streamingResponseTextLastReadIndex=0;};$protected.supportsStreaming=function(){return false;};$protected.getStreamingPreludeSize=function(){return 0;};$this.getName=function(){throw"Not Implemented";};$this.start=function(params){if(state!=s_.UNINITIALIZED){$this.reset();}
state=s_.LOADING;resetFailTimeout();};$this.abort=function(){aborted=true;$protected.status=0;};$this.reset=function(){$protected.partialResponseText="";streamingResponseTextLastReadIndex=0;partialChunkObj=null;incompleteChunk="";$protected.status=0;state=s_.UNINITIALIZED;aborted=false;lastReceivedPacketTime=null;hasStreamTestBeenRequested=false;};$protected.completed=function(){completedRequests++;if(failTimer!=null){clearTimeout(failTimer);failTimer=null;updateState(s_.COMPLETE);}
else{nv.log("Transport timer was triggered before response could be processed","wildfire");}};$protected.progressed=function(){if(failTimer==null){nv.log("Transport timer was triggered before progress could be processed","wildfire");return;}
resetFailTimeout();if($protected.status!=200){$this.abort();return;}
if(typeof $protected.partialResponseText=='string'){var newResponse=$protected.partialResponseText.substring(streamingResponseTextLastReadIndex);streamingResponseTextLastReadIndex=$protected.partialResponseText.length;var delimIndex;while((delimIndex=newResponse.indexOf("\n"))>-1){var partialChunk=incompleteChunk+newResponse.substring(0,delimIndex);newResponse=newResponse.substring(delimIndex+1);incompleteChunk="";if(!nv.String.Trim(partialChunk)){break;}
try{partialChunkObj=eval("("+partialChunk+")");if(partialChunkObj.prelude){nv.log("Got prelude of size "+partialChunkObj.prelude.length,"wildfire");}
else{nv.log("Got chunk: "+partialChunk,"wildfire");}
if(hasStreamTestBeenRequested&&$protected.supportsStreaming()&&doesNetworkSupportStreaming===null&&lastReceivedPacketTime===null){lastReceivedPacketTime=new Date().getTime();nv.log("Waiting for test packet to check if the network can stream","wildfire");}
else if(partialChunkObj.streamtestpacket){if(new Date().getTime()-lastReceivedPacketTime>250){doesNetworkSupportStreaming=true;nv.log("Network is able to stream","wildfire");}
else{doesNetworkSupportStreaming=false;nv.log("Network unable to stream. Switching to long-polling","wildfire");}}}
catch(e){nv.error("Error "+e+" while processing chunk: "+partialChunk);partialChunkObj=null;}
if(partialChunkObj){updateState(s_.PARTIAL);if(aborted){return;}}}
incompleteChunk+=nv.String.Trim(newResponse);}
else if(typeof $protected.partialResponseText=='object'){partialChunkObj=$protected.partialResponseText;updateState(s_.PARTIAL);}
else{nv.error("Invalid type given for partialResponseText: "+typeof $protected.partialResponseText+". Expecting string or object");}};$protected.getRequestUrl=function(paramsToAppend){if(paramsToAppend){return nv.util.Url.addToQueryString(baseUrl,$protected.getRequestData(paramsToAppend));}
else{return baseUrl;}};$protected.getRequestData=function(params){if(completedRequests>=1&&$protected.supportsStreaming()){if(doesNetworkSupportStreaming===true){params.stream=1;}
else if(doesNetworkSupportStreaming===null){params.streamtest=1;hasStreamTestBeenRequested=true;}
if(doesNetworkSupportStreaming!==false){var preludeSize=$protected.getStreamingPreludeSize();if(preludeSize>0){params.prelude=$protected.getStreamingPreludeSize();}}}
params.cb=Math.floor(Math.random()*100000)+""+new Date().getTime();return nv.util.Url.getQueryString(params);};var updateState=function(newState){var oldState=state;state=newState;if(newState==s_.PARTIAL){$this.onMessageReceived.Trigger({message:partialChunkObj});}
else if(newState==s_.COMPLETE){$this.onRequestCompleted.Trigger({status:$protected.status});}};var timerErrorHandler=function(){nv.log("Transport timer was triggered","wildfire");failTimer=null;$this.abort();$protected.status=500;updateState(s_.COMPLETE);};var resetFailTimeout=function(){if(failTimer!=null){clearTimeout(failTimer);}
failTimer=setTimeout(timerErrorHandler,65000);};});
/* /common/javascript/streaming/wildfire/transport.js*/

/*common/javascript/streaming/wildfire/xhr.js*/

nv.extendClass("nv.streaming.wildfire.XHRTransport","nv.streaming.wildfire.Transport",function($this,$protected,$parent){var xhr;$this.__construct=function(baseUrl){$parent.__construct(baseUrl);xhr=new XMLHttpRequest();};$protected.supportsStreaming=function(){return true;};$protected.getStreamingPreludeSize=function(){if(window.controllers&&Object.prototype.toString.call(window.controllers)=="[object XULControllers]"){return 0;}
else{return 1024;}};$this.getName=function(){return"XHRTransport";};$this.start=function(params){$parent.start(params);xhr.open("POST",$protected.getRequestUrl(),true);xhr.onreadystatechange=onreadystatechange;xhr.setRequestHeader("Content-Type","text/plain");xhr.send($protected.getRequestData(params));};$this.abort=function(){$parent.abort();if(xhr.readyState!=4){xhr.abort();}};var onreadystatechange=function(){if(xhr.readyState>=3&&xhr.status==200){$protected.partialResponseText=xhr.responseText;$protected.status=xhr.status;$protected.progressed();}
if(xhr.readyState==4){$protected.status=xhr.status;$protected.completed();}};$protected.timeoutCleanup=function(){$parent.$protected.timeoutCleanup();if(xhr.readyState>=1){xhr.abort();}};},function($static){$static.isSupported=function(){return typeof XMLHttpRequest!="undefined"&&("withCredentials"in(new XMLHttpRequest()));};});
/* /common/javascript/streaming/wildfire/xhr.js*/
