var Usmf={};Usmf.Tabs=Class.create({hoverOffTimeout:0.75,hoverOnTimeout:0.2,initialize:function(a){this.container=$(a);this.container.observe("mouseout",this.unHover.bindAsEventListener(this));this.container.observe("mouseover",this.hover.bindAsEventListener(this));this.defaultTab=this.container.down("li.on");this.defaultTab.removeClassName("on").addClassName("hover");this.hoveredTab=null},unHover:function(a){this.clearTimeouts();if(this.hoveredTab){var b=a.relatedTarget||a.toElement;if(!b||b.descendantOf(this.container)||b==this.container){return a.stop()}this.hoverOutTimeoutId=this.activateTab.bind(this).delay(this.hoverOffTimeout,this.defaultTab)}else{return a.stop()}},hover:function(b){this.clearTimeouts();if(b.target.nodeName!="SPAN"){return b.stop}var a=$(b.target).up("li");if(this.hoveredTab!=null&&a!=null&&this.hoveredTab==a){return b.stop}if(a){hoverOnTimeout=this.hoveredTab?this.hoverOnTimeout:0;this.hoverOnTimeoutId=this.activateTab.bind(this).delay(hoverOnTimeout,a)}},activateTab:function(a){this.deActivateTab();a.addClassName("hover");this.hoveredTab=a},deActivateTab:function(){this.container.select(".hover").each(function(a){a.removeClassName("hover")});this.hoveredTab=null},clearTimeouts:function(){window.clearTimeout(this.hoverOnTimeoutId);window.clearTimeout(this.hoverOutTimeoutId)},insertSubnavElement:function(h,e,g,f){var d=$$("li."+h)[0];var b=$(document.createElement("LI"));var c=$(document.createElement("A"));c.href="http://www.fool.com/adtr.ashx?to="+escape(f);c.className=b.className=d.className;c.removeClassName(h);b.removeClassName(h);c.innerHTML=e;if(g){c.onclick=function(){var a=confirm(g);if(!a){return false}}}b.appendChild(c);d.insert({after:b})}});Usmf.Search=(function(){var a,b;return{controller:function(c){switch(c.type){case"focus":this.clear();break;case"blur":this.restore();break}},isEmpty:function(){return !!(a.value.trim()=="")},isDefault:function(){return !!(a.value.trim()==a.defaultValue)},clear:function(){a.addClassName("active");if(this.isDefault()){a.value=""}},restore:function(){a.removeClassName("active");if(this.isEmpty()){a.value=a.defaultValue}},prepare:function(c){b=c||"searchForm";b=$(b);if(b){a=$(b.elements.q);if(Usmf.Search.isEmpty()){a.value=a.defaultValue}var d=Usmf.Search.controller.bindAsEventListener(Usmf.Search);a.observe("focus",d);a.observe("blur",d);b.onsubmit=function(){return !(Usmf.Search.isDefault()||Usmf.Search.isEmpty())}}}}})();Usmf.Indices=Class.create({container:null,rows:null,urlBase:null,updatedField:null,transitionUp:"transitionUp",transitionDown:"transitionDown",useTransition:false,data:{indexes:{"^DJI":{displayName:"DOW",ticker:"^DJI",price:"0.00",priceChange:"0.00",percentChange:"0.00",lastTrade:new Date},"^GSPC":{displayName:"S&amp;P 500",ticker:"^GSPC",price:"0.00",priceChange:"0.00",percentChange:"0.00",lastTrade:new Date},"^IXIC":{displayName:"NASD",ticker:"^IXIC",price:"0.00",priceChange:"0.00",percentChange:"0.00",lastTrade:new Date}}},elements:{},initialize:function(a){this.container=$("indices");this.setupCorners();this.rows=this.container.select("tr");this.getTableData();this.container.setStyle({visibility:"visible"});setTimeout(function(){this.startPE()}.bind(this),a*1000||0)},startPE:function(){var a=this;this.useTransition=true;this.PDR=new Fool.Ajax.PeriodicalDecayingRequest("/common/ajax/quote.ashx",{method:"get",parameters:{q:"^DJI,^GSPC,^IXIC"},frequency:1000,decay:2,onSuccess:function(b){a.updateData(b.responseJSON)},onFailure:function(b){a.PDR.stop()}})},updateData:function(b){var a=this;b.each(function(f){var c=new Date(Date.parse(f.LastTrade));var e=c.format("yyyymmddhhnn");var g=this.data.indexes[f.Symbol.toUpperCase()];var d=null;if(parseFloat(f.CurrentPrice)>parseFloat(g.price)){d=a.transitionUp}else{if(parseFloat(f.CurrentPrice)<parseFloat(g.price)){d=a.transitionDown}}g.percentChange=f.PercentChange.toString();g.priceChange=f.PriceChange.toString();g.price=f.CurrentPrice.toString();g.lastTrade=new Date(Date.parse(f.LastTrade));if(f.Symbol=="^DJI"){this.updatedField.update("Updated: "+c.format("mm/dd/yyyy hh:nn a/p"))}this.updateRow(f.Symbol,d)}.bind(this))},rowTemplate:new Template('<tr class="#{cleanTickerClass}"><td class="image #{dailyDirection}">	<img src="//www.fool.com/img/topNav/#{dailyDirectionImage}.gif" width="9" height="6" /></td><td class="index"><a href="	http://#{urlBase}/ticker/#{escapedTicker}.aspx?source=ihpdspmki0000001" class="unvisit qsAdd qs-source-ihpdspmki0000001">#{displayName}</a></td><td class="value">	<div class="shieldContainer">#{price}</div></td><td class="change #{dailyDirection}"><div class="shieldContainer">#{priceChange}</div></td>	<td class="percentChange #{dailyDirection}"><div class="shieldContainer">#{percentChange}%</div></td></tr>'),updateRow:function(d,a){var c="tr."+d.toLowerCase().substr(1);var b=this.container.down(c);templateTickerClass=d=="^IXIC"?c.substr(3)+" last":c.substr(3);dailyDirection=parseFloat(this.data.indexes[d].priceChange)>0?" pos ":" neg ";dailyDirectionImage=parseFloat(this.data.indexes[d].priceChange)>0?"up":"down";escapedTicker=encodeURIComponent(d);tempRowObject={urlBase:this.urlBase,cleanTickerClass:templateTickerClass,dailyDirection:dailyDirection,dailyDirectionImage:dailyDirectionImage,escapedTicker:escapedTicker,displayName:this.data.indexes[d].displayName,price:this.data.indexes[d].price,priceChange:this.data.indexes[d].priceChange,percentChange:this.data.indexes[d].percentChange};string=this.rowTemplate.evaluate(tempRowObject);if(this.useTransition){this.transitionRow(b,a,string)}else{b.replace(string)}},transitionRow:function(c,b,a){c=$(c);c.addClassName(b);c.select("div.shieldContainer").each(function(d){shield=new Fx.Shield(d,{wait:false,duration:250,onComplete:function(){if(d.up("td")!=undefined&&d.up("td").hasClassName("percentChange")){c.replace(a)}}});shield.start(0,1)})},getTableData:function(){var a=new Array;this.rows.each(function(c){if(c.hasClassName("updated")){this.updatedField=$(c.cells[0]);dateText=this.updatedField.getText();lastUpdated=new Date(Date.parse(dateText.substr(8)))}else{var b={};b.Symbol=decodeURIComponent(c.down("td.index a").href.match("ticker/(.*).aspx")[1]).toUpperCase();this.urlBase=c.down("td.index a").href.match("http://(.*?)/ticker")[1];b.CurrentPrice=c.down("td.value").getText();b.PriceChange=c.down("td.change").getText();b.PercentChange=c.down("td.percentChange").getText().replace("%","");b.LastTrade=lastUpdated.format("mm/dd/yyyy hh:nn a/p");a[a.length]=b}}.bind(this));this.updateData(a,false)},setupCorners:function(){Fool.onLoad(function(){if(Prototype.Browser.IE6){return false}var a=[{selector:"#indices .round",cornerType:"all"}];Fool.Util.Corners.prepare(a)})}});Usmf.Authentication=Class.create({initialize:function(b){this.callback=b;if(!Fx){var a=document.createElement("SCRIPT");a.src="/common/js/Fx.min.js";a.type="text/javascript";document.body.appendChild(script)}},show:function(a){var b={url:a||"/common/ajax/loginshell.aspx",id:"loginOverlay",onSuccess:function(){Fx.Overlay.BindOverlayAction.call(this,this.currentOverlay)}};this.currentOverlay=new Fx.AjaxOverlay(b);this.currentOverlay.show()},hide:function(a,b){(function(){this.currentOverlay.destroy();if(this.callback){this.callback()}if(b!=undefined&&b!=null&&b!=false){window.location.reload()}}).bind(this).delay(a||0)},validateUsername:function(b,a){var c="/Ajax/ValidateNewUserName.aspx";var d=$(b);var f=$(a);var e=$F(d);if(e==null||f==null){return}new Ajax.Updater(f,c,{method:"get",parameters:params})}});Usmf.Png=(function(){if(Prototype.Browser.IE6){Fool.onContent(function(){if(typeof(DD_belatedPNG)!="undefined"){DD_belatedPNG.fix(".transPNG")}})}})();Usmf.Catfish=Class.create({catfishContainer:null,body:null,bodyContainer:null,viewId:null,classname:null,bodyHeight:null,newContainer:null,closeButton:null,isIE6:Prototype.Browser.IE6,initialize:function(a,b){this.viewId=a;this.classname=b;this.createCatfish()},verifyConditions:function(){if((Fool.Util.Cookies.get("Rookie")!=undefined)&&(Fool.Util.Cookies.get("Rookie").toQueryParams()[this.viewId]=="1")){return false}return true},createCatfish:function(){this.catfishContainer=$(document.createElement("DIV"));this.catfishContainer.id="catfish";if(this.isIE6){this.catfishContainer.addClassName(this.classname+" clearfix")}else{this.catfishContainer.addClassName(this.classname+" clearfix transPNG")}this.body=$(document.body);new Ajax.Updater(this.catfishContainer,"/Ads/BottomFeeder.aspx",{parameters:{viewId:this.viewId},method:"get",onComplete:this.setupCatfish.bind(this),onFailure:this.removeCatfish});if(this.isIE6){this.fillContainer()}this.body.insert({bottom:this.catfishContainer});this.body.addClassName("showingCatfish");if(this.isIE6){this.body.appendChild(this.newContainer);$$("html")[0].setStyle({height:"100%",width:"100%",overflow:"hidden"})}},fillContainer:function(){var b=this.body.childElements();var a=document.createElement("DIV");a.id="container";b.each(function(c){a.appendChild(c)});this.newContainer=a},emptyContainer:function(){var a=this.newContainer.childElements();a.each(function(b){this.body.appendChild(b)});this.newContainer.remove()},setupCatfish:function(){this.closeButton=$("catfishClose");this.closeButton.observe("click",this.close.bind(this,"cls"))},removeCatfish:function(){this.catfishContainer.remove();if(this.isIE6){this.emptyContainer()}this.body.removeClassName("showingCatfish")},close:function(e){var d="iedsitcf0000002";var c="iedsitcf0000001";var a=this;var b="/ads/bottomfeeder.aspx?source=";if(e=="cls"){b+=d}else{if(e=="sbt"){b+=c}else{this.body.removeClassName("showingCatfish");this.catfishContainer.remove()}}b+="&action="+e+"&viewId="+this.viewId;new Ajax.Request(b,{method:"get",onLoaded:function(f){a.removeCatfish.call(a)}})}});Usmf.Interstitial=Class.create({overlay:null,overlayContainer:null,timeout:null,initialized:false,initialize:function(a,c){if($(a)==null){return false}else{this.initialized=true}if(!Fx){var b=document.createElement("SCRIPT");b.src="/common/js/Fx.js";b.type="text/javascript";document.body.appendChild(script)}if(Fx.Overlay.visible!=null){return false}this.overlayContainer=$(a);this.createCloseLink();this.timeout=c;this.overlay=new Fx.Overlay(a,{opacity:0.8,dismiss:true})},createCloseLink:function(){var a=$(document.createElement("A"));a.innerHTML="CLOSE <span>X</span>";a.addClassName("dismiss");a.observe("click",this.hide);this.overlayContainer.appendChild(a)},show:function(){this.overlay.show()},showAndHide:function(){this.show();this.hide(this.timeout)},hide:function(a){if(a!=null){setTimeout(function(){Fx.Overlay.hide()}.bind(this),this.timeout*1000)}else{Fx.Overlay.hide()}}});