var hexcase=0;function hex_md5(b){return rstr2hex(rstr_md5(str2rstr_utf8(b)));}function hex_hmac_md5(c,d){return rstr2hex(rstr_hmac_md5(str2rstr_utf8(c),str2rstr_utf8(d)));}function md5_vm_test(){return hex_md5("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72";}function rstr_md5(b){return binl2rstr(binl_md5(rstr2binl(b),b.length*8));}function rstr_hmac_md5(j,m){var l=rstr2binl(j);if(l.length>16){l=binl_md5(l,j.length*8);}var h=Array(16),k=Array(16);for(var i=0;i<16;i++){h[i]=l[i]^909522486;k[i]=l[i]^1549556828;}var n=binl_md5(h.concat(rstr2binl(m)),512+m.length*8);return binl2rstr(binl_md5(k.concat(n),512+128));}function rstr2hex(i){try{hexcase;}catch(l){hexcase=0;}var k=hexcase?"0123456789ABCDEF":"0123456789abcdef";var h="";var e;for(var j=0;j<i.length;j++){e=i.charCodeAt(j);h+=k.charAt((e>>>4)&15)+k.charAt(e&15);}return h;}function str2rstr_utf8(h){var g="";var i=-1;var f,j;while(++i<h.length){f=h.charCodeAt(i);j=i+1<h.length?h.charCodeAt(i+1):0;if(55296<=f&&f<=56319&&56320<=j&&j<=57343){f=65536+((f&1023)<<10)+(j&1023);i++;}if(f<=127){g+=String.fromCharCode(f);}else{if(f<=2047){g+=String.fromCharCode(192|((f>>>6)&31),128|(f&63));}else{if(f<=65535){g+=String.fromCharCode(224|((f>>>12)&15),128|((f>>>6)&63),128|(f&63));}else{if(f<=2097151){g+=String.fromCharCode(240|((f>>>18)&7),128|((f>>>12)&63),128|((f>>>6)&63),128|(f&63));}}}}}return g;}function rstr2binl(e){var d=Array(e.length>>2);for(var f=0;f<d.length;f++){d[f]=0;}for(var f=0;f<e.length*8;f+=8){d[f>>5]|=(e.charCodeAt(f/8)&255)<<(f%32);}return d;}function binl2rstr(e){var d="";for(var f=0;f<e.length*32;f+=8){d+=String.fromCharCode((e[f>>5]>>>(f%32))&255);}return d;}function binl_md5(u,b){u[b>>5]|=128<<((b)%32);u[(((b+64)>>>9)<<4)+14]=b;var q=1732584193;var i=-271733879;var d=-1732584194;var c=271733878;for(var r=0;r<u.length;r+=16){var a=q;var v=i;var t=d;var s=c;q=md5_ff(q,i,d,c,u[r+0],7,-680876936);c=md5_ff(c,q,i,d,u[r+1],12,-389564586);d=md5_ff(d,c,q,i,u[r+2],17,606105819);i=md5_ff(i,d,c,q,u[r+3],22,-1044525330);q=md5_ff(q,i,d,c,u[r+4],7,-176418897);c=md5_ff(c,q,i,d,u[r+5],12,1200080426);d=md5_ff(d,c,q,i,u[r+6],17,-1473231341);i=md5_ff(i,d,c,q,u[r+7],22,-45705983);q=md5_ff(q,i,d,c,u[r+8],7,1770035416);c=md5_ff(c,q,i,d,u[r+9],12,-1958414417);d=md5_ff(d,c,q,i,u[r+10],17,-42063);i=md5_ff(i,d,c,q,u[r+11],22,-1990404162);q=md5_ff(q,i,d,c,u[r+12],7,1804603682);c=md5_ff(c,q,i,d,u[r+13],12,-40341101);d=md5_ff(d,c,q,i,u[r+14],17,-1502002290);i=md5_ff(i,d,c,q,u[r+15],22,1236535329);q=md5_gg(q,i,d,c,u[r+1],5,-165796510);c=md5_gg(c,q,i,d,u[r+6],9,-1069501632);d=md5_gg(d,c,q,i,u[r+11],14,643717713);i=md5_gg(i,d,c,q,u[r+0],20,-373897302);q=md5_gg(q,i,d,c,u[r+5],5,-701558691);c=md5_gg(c,q,i,d,u[r+10],9,38016083);d=md5_gg(d,c,q,i,u[r+15],14,-660478335);i=md5_gg(i,d,c,q,u[r+4],20,-405537848);q=md5_gg(q,i,d,c,u[r+9],5,568446438);c=md5_gg(c,q,i,d,u[r+14],9,-1019803690);d=md5_gg(d,c,q,i,u[r+3],14,-187363961);i=md5_gg(i,d,c,q,u[r+8],20,1163531501);q=md5_gg(q,i,d,c,u[r+13],5,-1444681467);c=md5_gg(c,q,i,d,u[r+2],9,-51403784);d=md5_gg(d,c,q,i,u[r+7],14,1735328473);i=md5_gg(i,d,c,q,u[r+12],20,-1926607734);q=md5_hh(q,i,d,c,u[r+5],4,-378558);c=md5_hh(c,q,i,d,u[r+8],11,-2022574463);d=md5_hh(d,c,q,i,u[r+11],16,1839030562);i=md5_hh(i,d,c,q,u[r+14],23,-35309556);q=md5_hh(q,i,d,c,u[r+1],4,-1530992060);c=md5_hh(c,q,i,d,u[r+4],11,1272893353);d=md5_hh(d,c,q,i,u[r+7],16,-155497632);i=md5_hh(i,d,c,q,u[r+10],23,-1094730640);q=md5_hh(q,i,d,c,u[r+13],4,681279174);c=md5_hh(c,q,i,d,u[r+0],11,-358537222);d=md5_hh(d,c,q,i,u[r+3],16,-722521979);i=md5_hh(i,d,c,q,u[r+6],23,76029189);q=md5_hh(q,i,d,c,u[r+9],4,-640364487);c=md5_hh(c,q,i,d,u[r+12],11,-421815835);d=md5_hh(d,c,q,i,u[r+15],16,530742520);i=md5_hh(i,d,c,q,u[r+2],23,-995338651);q=md5_ii(q,i,d,c,u[r+0],6,-198630844);c=md5_ii(c,q,i,d,u[r+7],10,1126891415);d=md5_ii(d,c,q,i,u[r+14],15,-1416354905);i=md5_ii(i,d,c,q,u[r+5],21,-57434055);q=md5_ii(q,i,d,c,u[r+12],6,1700485571);c=md5_ii(c,q,i,d,u[r+3],10,-1894986606);d=md5_ii(d,c,q,i,u[r+10],15,-1051523);i=md5_ii(i,d,c,q,u[r+1],21,-2054922799);q=md5_ii(q,i,d,c,u[r+8],6,1873313359);c=md5_ii(c,q,i,d,u[r+15],10,-30611744);d=md5_ii(d,c,q,i,u[r+6],15,-1560198380);i=md5_ii(i,d,c,q,u[r+13],21,1309151649);q=md5_ii(q,i,d,c,u[r+4],6,-145523070);c=md5_ii(c,q,i,d,u[r+11],10,-1120210379);d=md5_ii(d,c,q,i,u[r+2],15,718787259);i=md5_ii(i,d,c,q,u[r+9],21,-343485551);q=safe_add(q,a);i=safe_add(i,v);d=safe_add(d,t);c=safe_add(c,s);}return Array(q,i,d,c);}function md5_cmn(b,j,i,a,l,k){return safe_add(bit_rol(safe_add(safe_add(j,b),safe_add(a,k)),l),i);}function md5_ff(n,m,b,l,a,d,c){return md5_cmn((m&b)|((~m)&l),n,m,a,d,c);}function md5_gg(n,m,b,l,a,d,c){return md5_cmn((m&l)|(b&(~l)),n,m,a,d,c);}function md5_hh(n,m,b,l,a,d,c){return md5_cmn(m^b^l,n,m,a,d,c);}function md5_ii(n,m,b,l,a,d,c){return md5_cmn(b^(m|(~l)),n,m,a,d,c);}function safe_add(e,h){var g=(e&65535)+(h&65535);var f=(e>>16)+(h>>16)+(g>>16);return(f<<16)|(g&65535);}function bit_rol(c,d){return(c<<d)|(c>>>(32-d));}if(typeof Object.create!=="function"){Object.create=function(a){function b(){}b.prototype=a;return new b();};}String.format=function(c){if(arguments.length<=1){return c;}var a=arguments.length-2;for(var b=0;b<=a;b++){c=c.replace(new RegExp("\\{"+b+"\\}","gi"),arguments[b+1]);}return c;};swell.common={};swell.common.responseStatus={"newResponse":"new","working":"working","fail":"fail","error":"error","success":"success"};var logger={log:function(a){if(typeof(console)!="undefined"){if(console.log&&typeof(console.log)!="object"){console.log.apply(console,arguments);}}},clear:function(){if(typeof(console)!="undefined"){if(console.clear&&typeof(console.clear)!="object"){console.clear();}}}};swell.common.cacheMgr=function(){var a={};return{createCacheKey:function(e){if(e==null){throw"object passed in to create cache key is null";}var c="";var d=0;for(var b in e){c+=b+"="+e[b]+",";}return hex_md5(c);},put:function(c,b){a[c]=b;},get:function(b){var c=a[b];if(!c){return null;}return c;}};};swell.metrics={_s:null,_msAnalytics:null,_GApageTracker:null,config:{pageName:"bundle: "+document.title.toLowerCase(),server:"",channel:"",pageType:"",prop1:"",prop2:"",prop3:"",prop4:"",prop5:"",campaign:"",state:"",zip:"",events:"",products:"",purchaseID:"",eVar1:"",eVar2:"",eVar3:"bundle: "+document.title.toLowerCase(),eVar4:"",eVar5:""},init:function(){swell.events.registerListener("metricsPageView",this.onMetricsPageView,this);swell.events.registerListener("metricsLinkClick",this.onMetricsLinkClick,this);swell.events.registerListener("metricsDownload",this.onMetricsDownload,this);swell.events.registerListener("metricsExitLink",this.onMetricsExitLink,this);this._msAnalytics=msAnalytics;this._msAnalytics.ServerId="ms";this._msAnalytics.ProfileId="15438";this._GApageTracker=_gat._getTracker("UA-15170101-1");this._GApageTracker._initData();},pageLoadInit:function(a){this._s=s_gi(s_account);this._s.pageName=this.config.pageName;this._s.eVar3=this.config.eVar3;this._msAnalytics.TrackPage(this.config.pageName);},pageLoadData:function(a){this.translate(a,this._s);},pageLoadExec:function(a){logger.log("Page Name:",this.config.pageName);this._msAnalytics.TrackPage(this.config.pageName);var b=this._s.t();if(b){document.write(b);}if(navigator.appVersion.indexOf("MSIE")>=0){document.write(unescape("%3C")+"!-"+"-");}logger.log("onMetricsPageLoad call dispatched:",this._s);logger.log("Calling Google Analytics");logger.log("pageTracker",this._GApageTracker);this._GApageTracker._trackPageview(this.config.pageName);},onMetricsPageView:function(a){this._s=$.extend({},s_gi(s_account),this.config);this.translate(a,this._s);this._s.t();this._msAnalytics.TrackPage(this.config.pageName);logger.log("onMetricsPageView (ajax) call dispatched:",a.key,this._s);},onMetricsLinkClick:function(f){var a=$.extend({},s_gi(s_account),this.config);var b="";for(var c in f.props){b+=c+",";}a.linkTrackVars=b;a.linkTrackEvents=f.props.events;var d=this.translate(f,a);var g=(f.domEl||{});a.tl(g,"o",d.eventLabel);logger.log("onMetricsLinkClick call dispatched:",a);},onMetricsDownload:function(a){},onMetricsExitLink:function(a){},translate:function(f,e){var a=f.key;var b=this.dictionary;for(var c in f.props){if(b[a][c]){e[b[a][c]]=f.props[c];}else{e[c]=f.props[c];}}if(b[a].defaults){for(var d in b[a].defaults){if(!f.props[d]){e[d]=b[a].defaults[d];}else{e[d]=f.defaults[d];}}}if(b[a].meta){if(f.meta){for(c in b[a].meta){if(!f.meta[c]){f.meta[c]=b[a].meta[c];}}}else{f.meta=b[a].meta;}}if(f.meta){return f.meta;}else{return null;}},dictionary:{InsightPageView:{pathInfo:"prop1",defaults:{pageName:"Bundle: Insight View",eVar3:"Bundle: Insight View"}},CategoryDetailPageView:{defaults:{pageName:"Bundle: Category Detail View",eVar3:"Bundle: Category Detail View"}},InsightShare:{meta:{eventLabel:"Share Insight"}},ArticlePageLoad:{articleSource:"prop2"},QuizResultsPageLoad:{},EmailRegistration:{meta:{eventLabel:"Email Registration"}},SubmitInsight:{meta:{eventLabel:"Submit Insight"}},SearchDiscoveries:{meta:{eventLabel:"Search Discoveries"}},AdView:{meta:{eventLabel:"Ad View"}},EveryonesMoneyFilter:{meta:{eventLabel:"Filter Selected"}},EveryonesMoneyMap:{meta:{eventLabel:"Category Mapped"}},QuizQuestionView:{meta:{eventLabel:"Quiz Question View"}},FacebookLogin:{meta:{eventLabel:"Facebook Login"}},SubmitComment:{meta:{eventLabel:"Submit Comment"}}}};swell.common.adManager=function(){this.ads={};};swell.common.adManager.prototype={registerAd:function(a){this.ads[a.target]=this.ads[a.target]||[];this.ads[a.target].push(a);},loadAd:function(c,e){var b=this.ads[c].length;var a=Math.floor(Math.random()*b);var d=$("#"+c);swell.metrics.pageLoadData({key:"AdView",props:{eVar5:this.ads[c][a].name},domEl:this});d.find("a").attr("href",this.ads[c][a].locUrl).find("img").attr("src",this.ads[c][a].assetUrl);}};swell.util={removeFromArray:function(b,a,d){var c=b.slice((d||a)+1||b.length);b.length=a<0?b.length+a:a;return b.push.apply(this,c);},queryStringFrom:function(d){var a=false;var b="";for(var c in d){if(a){b+="&";}if($.isArray(d[c])){$.each(d[c],function(f,e){b+=String.format("{0}={1}",c,e);if(f<d[c].length-1){b+="&";}});}else{b+=String.format("{0}={1}",c,d[c]);}a=true;}return b;},getQryStrParamFromUrl:function(d,c){var b=d.substring(d.indexOf("?")+1,d.length);var e=b.split("&");var a=null;logger.log("qs"+b);$.each(e,function(g,h){logger.log(h);var f=h.split("=");if(f[0]===c){a=f[1];}});return a;},shortenUrl:function(a,b){BitlyCB.shortenResponse=function(c){b(c.results[a].shortUrl);};BitlyClient.shorten(a,"BitlyCB.shortenResponse");},extractId:function(c){var a=/([a-zA-Z0-9\'%-]+)[-](\d+)/;var b=c.match(a);if(b.length!=3){return null;}return b[2];},buildArgStatePath:function(b,a){var c="";if($.isArray(b)){$.each(a.args,function(h,e){for(var f=0;f<b.length;f++){var d=b[f][e];if(d!==undefined){var g=(f<b.length-1)?"_":"/";c+=b[f][e]+g;}}});}else{$.each(a.args,function(e,d){c+=b[d]+"/";});}return c;},buildDecoratorStatePath:function(b,a){var c="";$.each(a.decorators,function(f,d){var e=b[d];if($.isArray(e)){$.each(e,function(h,g){if($.isArray(g)){if(h>0){c+="_";}$.each(g,function(k,j){var i=(k<g.length-1)?"-":"";c+=j+i;});}else{c+=g;}});c+="/";}});return c;},buildCategoriesStatePath:function(b){var a="";var c=false;for(var d=0;d<b.length;d++){if(c){a+="_";}a+=b[d];c=true;}return a;},hasFlashPlayerVersion:function(b){var a=swfobject.getFlashPlayerVersion();return a.major>=b;},getDocumentLocationHash:function(){return document.location.hash;}};validator=function(b){var a={defaultFailAction:true};this.validationItems=[];this.options=$.extend({},a,b);};validator.prototype={registerItem:function(a){this.validationItems.push(a);},validate:function(){var a=true;if(this.options.cleanUp){this.options.cleanUp();}$.each(this.validationItems,function(c,d){var b=d.validate();if(!b){a=false;d.fail();}else{d.pass();}});if(this.options.defaultFailAction){if(!a){$("#modalErrs").html("You need to fix a thing or two before we do this. See below.");}else{$("#modalErrs").html("&nbsp;");}}return a;}};validation=function(a){a=a||{};this.instance=a.instance;this.errorTarget=a.errorTarget||this.instance;this.onPass=a.onPass||function(){};this.violatedConstraint=null;};validation.prototype={validate:function(){},fail:function(){$(this.errorTarget).addClass("err");this.violatedConstraint.onFail();},pass:function(){$(this.errorTarget).removeClass("err");this.onPass();}};txtConstraint=function(a){this.expression=a.expression;this.onFail=(a.onFail)?a.onFail:(function(){});};txtConstraint.availConstraints={NotBlank:"[a-z|A-Z|0-9]+",ValidEmail:"^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$"};txtValidation=function(a){validation.apply(this,[a]);this.constraints=a.constraints;};txtValidation.prototype=new validation();txtValidation.constructor=txtValidation;txtValidation.prototype.getValue=function(){return $(this.instance).val();};txtValidation.prototype.validate=function(){this.violatedConstraint=null;for(var c=0,d=this.constraints.length;c<d;c++){var b=new RegExp(this.constraints[c].expression);var a=b.exec(this.getValue());if(a==null){this.violatedConstraint=this.constraints[c];return false;}}return true;};swell.uihelpers={initShare:function(){var b=$("#detailMetadata .share-dd"),d=b.prev(),a=$("#detailMetadata .twitter a"),c=a.attr("href").replace("&","%26");urlToShorten=swell.util.getQryStrParamFromUrl(c,"status");urlToShorten=new RegExp("http://.+").exec(urlToShorten);swell.behaviors.contextPopUp(d,b);swell.behaviors.opensNewWindow($("#detailMetadata .facebook a"));swell.behaviors.opensNewWindow($("#detailMetadata .email a"),{width:480,height:400});swell.util.shortenUrl(urlToShorten,function(h){logger.log("Shorten Success: "+h);var g=$("#detailMetadata .twitter a");var i=g.attr("href");var f=swell.util.getQryStrParamFromUrl(i,"status");var e=encodeURI(i.replace(urlToShorten,h)).replace(/%20/g,"+").replace("&","%26");g.attr("href",e);swell.behaviors.opensNewWindow(g,{width:850,height:400});});},initPagination:function(){var a=new swell.behaviors.pagination();$(".page").each(function(c,d){var b=$(d);if(!b.hasClass("first")){b.addClass("hide");}});}};swell.support=swell.support||{};swell.support.updatesConfigurator={visit:function(a){a.emailController=new swell.controllers.emailController();a.emailController.registerView("regForUpdates",new swell.views.emailModView("#regForUpdates",{targetId:"regForUpdates"}));a.emailController.init();}};swell.support.discoveriesListConfigurator={visit:function(c,b){var b=b||{};c.discoveryListController=new swell.controllers.discoveryListController();c.discoveryListController.init();c.discoveryListController.registerView("discoveries",new swell.views.discoveryListView("#articlesCont",{hideOnStartup:b.hideOnStartUp}));var a=new swell.views.articleSearchView();a.init();if(b.selectAll){a.selectAll();}c.discoveryListController.registerView("searchBar",a);}};swell.support.discoveryDetailConfigurator={visit:function(b,a){$(document).ready(function(){$("#detailMetadata .vote-up").click(function(d){d.preventDefault();var c=swell.util.extractId(window.location.pathname);swell.events.raiseEvent("voteUp",{id:c,type:a.type});});});}};swell.support.adConfigurator={visit:function(b,a){b.adMgr=new swell.common.adManager(),logger.log("Visitor",b);logger.log("Options",a);b.adMgr.registerAd({target:"adCont",name:"ad3",assetUrl:"/assets/img/ads/image001.jpg",locUrl:"/everybodysmoney/Data-locals-eat-spend-San-Francisco-Marina-Spruce-Palo-Alto-York-city-zip-give-thoughts-9921#/agdata_spendingStats_getCatSpendData/94123/0/0/0/0/200912/2"});b.adMgr.loadAd("adCont",1);}};swell.data={};swell.data.reqPipeLine={_execRequests:{},_completedRequests:{},addExecReq:function(a){logger.log("adding event: "+a.event+" to executing requests");this._execRequests[a.event]=a;},flagAsComplete:function(a){if(a==null){logger.log("reqPipeLine:flagAsComplete(): event is null");return;}logger.log("marking event: "+a+" as a completed but pending request");this._completedRequests[a]=this._execRequests[a];delete this._execRequests[a];},removeExecReq:function(a){logger.log("removing event: "+a+" from executing requests");this._execRequests[a].cleanUp();delete this._execRequests[a];},flushCompleteReq:function(b){var a=this._completedRequests[b.event];if(a==null){return;}var c=a.getResponseContext();c=$.extend({},c,{targetId:b.targetId});b.onSuccess(c);delete this._completedRequests[b.event];},updateAllComplete:function(b){logger.log("reqPipeLine():updateAllComplete:updating all complete:",this._completedRequests);$.each(this._completedRequests,function(g,h){logger.log("event:"+h.event);});var a=[];for(var c in this._completedRequests){logger.log("iterating completed requests");var d=this._completedRequests[c].getResponseContext();logger.log(d);logger.log(b);var e=$.extend(d,{targetId:b.targetId});logger.log("extended context:",e);b.callback($.extend(d,{targetId:b.targetId}));a.push(c);}for(var f=0;f<a.length;f++){delete this._completedRequests[a[f]];}}};swell.data.ajaxDao=function(a){$.ajaxSetup({});this.data=null;this.xhr=null;this.options=a||{};this.targetId="";this.event="";this.completed=false;this.state={};var b=this;this.ajaxDefaults={beforeSend:function(){b.completed=false;},cache:true,dataType:this.options.dataType};this.success=function(c){c(this);};};swell.data.ajaxDao.prototype={cleanUp:function(){logger.log("cleaning up dao");this.event=null;this.id=null;this.data=null;this.state=null;this.targetId=null;},buildAjaxOps:function(c,g,a,e,b){var f=this;var d={success:function(i,h){f.completed=true;if(h==="success"){f.data=i;f.success(e);}},type:c,url:a,data:g,error:function(j,h,i){if(b){b(i);}}};return d;},get:function(b,d,c,a){this.xhr=$.ajax($.extend({},this.ajaxDefaults,this.buildAjaxOps("get",d,b,c,a)));},post:function(b,d,c,a){this.xhr=$.ajax($.extend({},this.ajaxDefaults,this.buildAjaxOps("post",d,b,c)));},getRequestState:function(){if((this.xhr.readyState===0)&&(this.completed)){return 4;}return this.xhr.readyState;},getTransportStatus:function(){var a=null;if(this.xhr!==null){a=this.xhr.status;}return a;},getResponseContext:function(){var b=this.getRequestState(),d=swell.common.responseStatus,e={event:this.event,status:d.newResponse,details:[],data:null,targetId:this.targetId};if(b==-1){return e;}if(b==2||b==3){e.status=d.working;}else{if(b==4){var c=this.data;var a=this.getTransportStatus();e.status=((a===404)||(a===500))?d.error:d.success;e.details[0]={"httpStatus":a};e.data=c;e.state=this.state;}}return e;}};swell.data.jsonDao=function(){swell.data.ajaxDao.apply(this,[{dataType:"json"}]);};swell.data.jsonDao.prototype=Object.create(swell.data.ajaxDao.prototype);swell.data.htmlDao=function(){swell.data.ajaxDao.apply(this,[{dataType:"html"}]);};swell.data.htmlDao.prototype=Object.create(swell.data.ajaxDao.prototype);swell.data.pluckDao=function(){this.pluckAvailable=false;try{var a=new RequestBatch();this.pluckAvailable=true;}catch(b){this.pluckAvailable=false;}};swell.data.pluckDao.prototype={loadComments:function(c,b){if(!this.pluckAvailable){b.onError({Message:"Pluck is not available"});return;}var a=new RequestBatch(),d=this;logger.log("batch size:"+b.batchSize+" page: "+b.page);a.AddToRequest(new CommentPage(new ArticleKey(b.id),b.batchSize,b.page,b.sortOrder));a.BeginRequest(c,function(e){logger.log("comments fetched from pluck data provider:");logger.log(e);b.onSuccess(e.Responses[0].CommentPage);});},loadContent:function(c,b){logger.log("puckDao:loadContent()");if(!this.pluckAvailable){b.onError({Message:"Pluck is not available"});return;}var a=new RequestBatch();$.each(b.contentIds,function(d,e){a.AddToRequest(new ArticleKey(e));});a.BeginRequest(c,function(d){b.onSuccess(d);});},addItem:function(c,d,e){if(!this.pluckAvailable){d.onError({Message:"Pluck is not available"});return;}var a=new RequestBatch(),b=this;a.AddToRequest(new CommentAction(new ArticleKey(d.id),d.url,d.title,d.body));a.AddToRequest(new ArticleKey(d.id));a.BeginRequest(c,function(f){e(f);});},addAnonItem:function(c,d,e){if(!this.pluckAvailable){d.onError({Message:"Pluck is not available"});return;}var a=new RequestBatch(),b=this;logger.log("**** ",d);a.AddToRequest(new CommentAction(new ArticleKey(d.id),d.url,d.title,d.body));a.AddToRequest(new ArticleKey(d.id));a.BeginRequest(c,function(f){e(f);});}};swell.data.ajaxDaoFactory={getJSONDao:function(){return new swell.data.jsonDao();},getHTMLDao:function(){return new swell.data.htmlDao();},getCommentsDao:function(){return new swell.data.pluckDao();},getCachedDao:function(c){logger.log("daoFactory:get caached dao ",c);var a=new swell.data.ajaxDao();var b=$.extend(a,{getRequestState:function(){return 4;},getData:function(){return c;},getTransportStatus:function(){return"cached";}});logger.log("daoFactory:get caached dao:extended dao ",b);logger.log(b.getData());return b;}};swell.svc={};swell.svc.baseSvc=function(a){if(a){this.daoFactory=a;}else{this.daoFactory=swell.data.ajaxDaoFactory;}this.reqPipeLine=swell.data.reqPipeLine;};swell.svc.baseSvc.prototype={cachedResultFrom:function(b){var c=this.daoFactory.getCachedDao(b.data);c.data=b.data;var a=c.getResponseContext();return $.extend(c.getResponseContext(),{targetId:b.targetId,event:b.event,state:b.state});}};swell.models={};swell.models.baseDataModel=function(c){var a=new swell.common.cacheMgr();var b=c;return{getID:function(){return b;},validate:function(d){return d.Status;},setData:function(e,f){if(this.validate(f)){var d=a.createCacheKey(e);if(a.get(d)===null){a.put(d,f);}return true;}else{logger.log("not setting data model in cache because the result was an error");return false;}},getData:function(e){var d=a.createCacheKey(e);return a.get(d);},hasDataFor:function(e){var d=a.createCacheKey(e);return(a.get(d)!=null);}};};swell.models.htmlDataModel=function(b){var a=new swell.models.baseDataModel();return $.extend(a,{validate:function(c){return true;}});};swell.views={};swell.views.baseView=function(a,b){this.view=a;this.id;this.options=b||{};};swell.views.baseView.prototype={view:null,getID:function(){return this.id;},setID:function(a){this.id=a;},getView:function(){return this.view;},setView:function(a){this.view=a;}};swell.controllers={};swell.controllers.baseController=function(a){a=(a||{});this.views={state:{},instance:{}};this.eventMap={};this.daoFactory=a.daoFactory;};swell.controllers.baseController.prototype={getView:function(a){return this.views[a];},registerView:function(b,c,a){if(this.views[b]==null){this.views[b]={instance:c,stateStencil:a};}},sendRespToView:function(a){var b=this.views[a.targetId];if(b==null){logger.log("ERROR: the view for response was null",a);return;}return b.instance.setViewData(a);}};swell.controllers.loginController={loginInProcess:false,onRequestLogin:function(a){logger.log("login requested");if(this.loginInProcess){return;}this.loginInProcess=true;var b=this;logger.log("calling login service");swell.svc.loginSvc.login($.extend(a,{onSuccess:function(c){swell.events.raiseEvent("metricsLinkClick",{key:"FacebookLogin",props:{eVar2:"Facebook"}});logger.log("login complete. raising translated login event");swell.events.raiseEvent("loggedIn",c);b.loginInProcess=false;}}));},onRequestLogout:function(){swell.svc.loginSvc.logOut({callback:function(){swell.events.raiseEvent("loggedOut");}});},onCheckAuthentication:function(){var a=swell.svc.loginSvc.userProfile;var b=this;if(a!=null){swell.events.raiseEvent("loggedIn",a);return;}if(this.loginInProcess){return;}logger.log("checking user authentication");swell.svc.loginSvc.checkUserAuthentication({onSuccess:function(c){swell.events.raiseEvent("loggedIn",c);b.loginInProcess=false;}});},init:function(){logger.log("login controller: registering events");swell.events.registerListener("requestLogin",swell.controllers.loginController.onRequestLogin,this);swell.events.registerListener("requestLogout",swell.controllers.loginController.onRequestLogout,this);swell.events.registerListener("checkAuthentication",swell.controllers.loginController.onCheckAuthentication,this);}};if(!swell.behaviors){swell.behaviors={};}swell.behaviors.contextPopUp=function(b,c,e){this.options=$.extend({},{effect:"fade",timeout:500},e);this.interval=null;if(c.attr("id").length==0){c.attr("id","s-"+new Date().getTime());}b.data("content-id",c.attr("id"));var f=b.position();c.css({top:f.top+14,left:f.left});var g=this,d=c.attr("id"),a=function(){var h=$("#"+d);h.css("display","none");};b.hover(function(){window.clearTimeout(g.interval);var i=$(this).data("content-id");var h=$("#"+i);h.css("display","block");},function(){g.interval=window.setTimeout(a,g.options.timeout);});c.hover(function(){window.clearInterval(g.interval);},function(){g.interval=window.setTimeout(a,g.options.timeout);});};if(!swell.behaviors){swell.behaviors={};}swell.behaviors.opensNewWindow=function(b,c){var a={width:626,height:436,name:"sharer",preProcess:function(){}};var c=$.extend({},a,c);$(b).click(function(f){f.preventDefault();c.preProcess(b);var d=$(this).attr("href");var g=window.open(d,c.name,String.format("toolbar=0,location=1,status=0,scrollbars=1,width={0},height={1}",c.width,c.height));g.focus();});return c.name;};swell.svc.socNetSvc=function(b){var a=(b!==undefined)?b:swell.data.ajaxDaoFactory;this.commentSvcEndpoint=String.format("{0}/ver1.0/Direct/Process",swell.config.PluckConfig.SiteLifeBaseUrl);this.reportAbuseEndpoint="/services/nocache/Insights/ReportAbuse";swell.svc.baseSvc.apply(this,[a]);};swell.svc.socNetSvc.prototype=Object.create(swell.svc.baseSvc.prototype);swell.svc.socNetSvc.prototype.getPluckRequestBatch=function(){var a=null;try{a=new RequestBatch();}catch(b){}return a;};swell.svc.socNetSvc.prototype.reportInsightAbuse=function(b){var c=this.daoFactory.getJSONDao();var a=this;FB.Connect.requireSession(function(){c.get(a.reportAbuseEndpoint,{userInsightId:b.userInsightId},function(d){if(d.data.Status){b.onSuccess();}else{b.onError();}});});};swell.svc.socNetSvc.prototype.reportCommentAbuse=function(c){var b=this.commentSvcEndpoint;var a=this.getPluckRequestBatch();if(!a){return c.onError({msg:"Pluck is not available"});}FB.Connect.requireSession(function(){a.AddToRequest(new ReportAbuseAction(new CommentKey(c.commentKey),"User reported abuse","User reported abuse"));a.AddToRequest(new RateAction(new CommentKey(c.commentKey),1));a.BeginRequest(b,function(d){logger.log("user insight abuse reported:",d);c.onSuccess($.extend({},{commentKey:c.commentKey},d));});});};swell.svc.socNetSvc.prototype.voteUpContent=function(c){var b=this.commentSvcEndpoint;var d=this.daoFactory;var a=this.getPluckRequestBatch();if(!a){return c.onError({msg:"Pluck is not available"});}FB.Connect.requireSession(function(){a.AddToRequest(new RecommendAction(new ArticleKey(c.id)));a.AddToRequest(new ArticleKey(c.id));var e=(c.type=="insight")?"/services/nocache/discoveryservice/UpdateInsightPopularity":"/services/nocache/discoveryservice/UpdateArticlePopularity";a.BeginRequest(b,function(f){logger.log("content voted up, now notifying our server.",f);var g=d.getJSONDao();g.get(e,{contentId:c.id,facebookUserId:c.facebookUserId},function(h){if(h.data.Status){c.onSuccess(f);}else{c.onError(h);}});});});};swell.svc.socNetSvc.prototype.loadComments=function(a){var b=this.daoFactory.getCommentsDao();if(!a.args.batchSize){a.args.batchSize=10;}if(!a.args.page){a.args.page=1;}if(!a.args.sortOrder){a.args.sortOrder="TimeStampDescending";}b.loadComments(this.commentSvcEndpoint,$.extend(a.args,{onSuccess:function(d){var c={event:a.event,comments:[]};c.numberOfComments=d.NumberOfComments;$.each(d.Comments,function(e,g){var f=g.CommentKey.Key;f=f.substring(f.indexOf(":")+1,f.length);c.comments.push({CommentBody:g.CommentBody,Author:g.Author.UserKey.Key,DatePosted:g.PostedAtTime,UserKey:g.Author.UserKey.Key,CommentKey:f,HasReportedAbuse:(g.CurrentUserHasReportedAbuse=="True")});});a.onSuccess(c);},onError:function(c){logger.log("loadComments():on error fired for callback response");a.onError(c);}}));};swell.svc.socNetSvc.prototype.postToFacebook=function(a){logger.log("reqeust: ",a);FB.Connect.streamPublish("",{name:a.title,caption:"{*actor*} commented on an article",description:a.commentBody});};swell.svc.socNetSvc.prototype.submitComment=function(a){var b=this.daoFactory.getCommentsDao();logger.log(">>>> fb submitComment request >>>",a);b.addItem(this.commentSvcEndpoint,a,function(c){logger.log("data response from added comment:");logger.log(c);if(c.Messages[0].Message.toLowerCase()=="ok"){a.onSuccess(c);}else{a.onError(c);}});};swell.svc.socNetSvc.prototype.submitAnonComment=function(a){var b=this.daoFactory.getCommentsDao();logger.log(">>>> anon submitComment request >>>",a);b.addAnonItem(this.commentSvcEndpoint,a,function(c){logger.log("data response from added comment:");logger.log(c);if(c.Messages[0].Message.toLowerCase()=="ok"){a.onSuccess(c);}else{a.onError(c);}});};swell.svc.socNetSvc.prototype.loadContentMetadata=function(a){var b=this.daoFactory.getCommentsDao();logger.log("commentSvc: loadContentMetadata()",a);b.loadContent(this.commentSvcEndpoint,{contentIds:a.args.contentIds,onSuccess:function(d){logger.log("commentSvc: data from pluck:",d);var c=[];$.each(d.Responses,function(h,e){var g=e.Article.Ratings.CurrentUserRating==1;var f=e.Article.Recommendations.CurrentUserHasRecommended=="True";c.push({contentId:e.Article.ArticleKey.Key,comments:e.Article.Comments.NumberOfComments,hasReported:g,hasVotedUp:f});});logger.log("commentSvc: loadContentMetadata() calling method callback data:",c);a.onSuccess(c);},onError:function(c){a.onError(c);}});};swell.svc.socNetSvc.prototype.getAnonUserNames=function(a){logger.log("getAnonUserNames request",a);var b=swell.data.ajaxDaoFactory.getJSONDao();var c="/services/nocache/discoveryservice/getarticlecommentdisplaynames?articleid="+a.id;if(a.discoveryType=="EditorialInsight"||a.discoveryType=="UserInsight"){c="/services/nocache/discoveryservice/getinsightcommentdisplaynames?insightid="+a.id;}b.get(c,null,function(d){logger.log("getAnonUserNames returned data = ",d.data);if(d.data.Status){a.onSuccess(d.data);}else{a.onError(d);}});};swell.svc.loginSvc={userProfile:null,getFBUserId:function(a){FB.Facebook.get_sessionState().waitUntilReady(function(){var b=FB.Facebook.apiClient.get_session().uid;logger.log("FB User Id obtained:"+b);a({isLoggedIn:true,uid:b});});},getLoggedInUserInfo:function(a){FB.Facebook.apiClient.users_getInfo([a.uid],["last_name","first_name","pic_square"],function(c){var b=(c[0].pic_square.length=="")?swell.config.FBConfig.GenericProfileImage:c[0].pic_square;var d={firstName:c[0].first_name,lastName:c[0].last_name,pic:b,loggedIn:true,uid:a.uid};logger.log("Logged in user info obtained.");logger.log(d);a.onSuccess(d);});},hasSession:function(a){var b=this.getUserId();return((b!==null)&&(b!=a));},createUserCookie:function(a){var b=swell.data.ajaxDaoFactory.getJSONDao();b.get("/services/nocache/socialnetworkingservice/addusercookie?userId="+a.uid,null,function(c){logger.log("created user cookie!");logger.log(c.data);if(c.data.Status===true){a.onSuccess();}});},createSession:function(b){if(b.createCookie===undefined){b.createCookie=true;}logger.log("login: create cookie var is:",b.createCookie);var a=this;this.getLoggedInUserInfo({uid:b.uid,onSuccess:function(c){swell.svc.loginSvc.userProfile=c;if(b.createCookie){a.createUserCookie({uid:b.uid,onSuccess:function(){b.onSuccess(swell.svc.loginSvc.userProfile);}});}else{b.onSuccess(c);}}});},login:function(b){var a=this;this.getFBUserId(function(c){a.createSession({uid:c.uid,onSuccess:function(){b.onSuccess(a.userProfile);}});});},logOut:function(a){FB.Connect.logout(function(){swell.cookies.login.del();a.callback();swell.svc.loginSvc.userProfile=null;});},getUserId:function(){var b=swell.cookies.login.get();if(b==null){return null;}if(swell.config.PluckCookieName=="hd"){return b.substring(0,b.indexOf("|"));}else{var a=b.split("&");var c=a[1].split("=");if(c[0]=="u"){return c[1];}return null;}},requireLogin:function(a){},checkUserAuthentication:function(b){var a=this.getUserId();if(a==null){logger.log("login: no user cookie");this.login({onSuccess:function(c){b.onSuccess(c);}});return;}else{this.createSession({uid:a,createCookie:false,onSuccess:function(c){b.onSuccess(c);}});}},getUserInfo:function(a){var b=swell.data.ajaxDaoFactory.getJSONDao(),c="";if(!a.userIds){throw"The userIds parameter of the userInfoReq object was not present.";}$.each(a.userIds,function(d,e){if(d>0){c+="&";}if(!isNaN(e)){c+=String.format("ids={0}",e);}});logger.log("querystring:",c);b.get("/facebook/data?"+c,null,function(d){logger.log("obtained data for facebook users!");logger.log(d.data);if(d.data.Status===true){a.onSuccess(d.data);}else{if(d.data.ErrorCode=="-1"){a.onSuccess($.extend({Users:{}},d.data));}else{a.onError();}}});},getAnonId:function(c,a,b){logger.log("getAnonId got anonInfo = ",c);var d=swell.data.ajaxDaoFactory.getJSONDao();var e="/services/nocache/discoveryservice/savearticlecomment?articleid="+c.contentId;if(c.discoveryType=="EditorialInsight"||c.discoveryType=="UserInsight"){e="/services/nocache/discoveryservice/saveinsightcomment?insightid="+c.contentId;}e+="&displayname="+c.displayName+"&email="+c.email+"&optin="+c.optIn;d.get(e,null,function(g){logger.log("getAnonId returned data (dao) = ",g);var f="anon_"+g.data.AnonymousPoster.PosterId;logger.log("clearing & setting cookie");swell.cookies.login.set(f+"|"+f+"|12838473|test@test.com");if(g.data.Status){a(g.data);}else{b(g);}});}};swell.svc.articleSvc=function(b){var b=(b!=null)?b:swell.data.ajaxDaoFactory,a="/searcharticles?";swell.svc.baseSvc.call(this,b);this.loadArticles=function(g){logger.log("articel svc request:");logger.log(g);var i=this.daoFactory.getHTMLDao(),d=g.targetId,h=g.args,f=g.event,e=a,c=this;i.event=f;i.targetId=d;i.get(e,g.args,function(j){ctx=j.getResponseContext();if(g.onSuccess(ctx)){c.reqPipeLine.removeExecReq(j.event);}else{c.reqPipeLine.flagAsComplete(j.event);}},function(j){g.onError();});this.reqPipeLine.addExecReq(i);};};swell.svc.articleSvc.prototype=Object.create(swell.svc.baseSvc.prototype);swell.views.emailModView=function(d,a){swell.views.baseView.apply(this,[d,a]);this.emailValidator=new validator({defaultFailAction:false});var g=this;var f=function(i){$(d).append('<p class="err">'+i+"</p>");};var b=$(d).find("form");b.submit(function(k){k.preventDefault();$(d+" p").remove();var j=$(this).find(":input").val();var i=g.emailValidator.validate();if(i){swell.events.raiseEvent("regForUpdates",{email:j,targetId:g.options.targetId});}});var e=b.find(":input").focus(function(j){var i=$(this).val();if(i!=""){$(this).val("");}});var h=$(this.view).find(".custom-textfield");var c=new txtValidation({instance:e,errorTarget:h,constraints:[new txtConstraint({expression:txtConstraint.availConstraints.NotBlank,onFail:function(){f("Let's try this again.");}}),new txtConstraint({expression:txtConstraint.availConstraints.ValidEmail,onFail:function(){f('Please use that classic "name@site.com" format and try again.');}})]});this.emailValidator.registerItem(c);};swell.views.emailModView.prototype=new swell.views.baseView();swell.views.emailModView.constructor=swell.views.emailModView;swell.views.emailModView.prototype.loading=function(){var b=$(this.view);b.find(":image").attr("disabled","disabled");b.fadeTo("fast",0.33);var a=$("<img />").attr("src","/assets/css/i/loading.gif").attr("id","loadRegForUpdates");b.prepend(a);};swell.views.emailModView.prototype.finished=function(){$("#loadRegForUpdates").remove();var a=$(this.view);a.find(":image").attr("disabled","");a.fadeTo("fast",1);};swell.views.emailModView.prototype.success=function(a){};swell.views.emailModView.prototype.error=function(a){$(this.view).append("<p>"+a+"</p>");};swell.views.emailModView.prototype.thankYou=function(a){var b=$(this.view);b.empty();b.append($('<p class="ty-hdr">THANKS FOR SIGNING UP!</p>'));b.append($('<p class="ty-body">We\'ll keep you updated with the latest updates</p>'));};swell.views.discoveryListView=function(b,c){var a={defaultSearchText:"Search"};c=(c||{});this.properties=$.extend({},a,c);swell.views.baseView.apply(this,[b,this.properties]);if(this.properties.hideOnStartup){$(b).hide();}var d=$(this.view);d.find(".report-this").live("click",function(g){g.preventDefault();var f=swell.util.extractId($(this).parents(".row").attr("id"));logger.log("insight id:"+f);swell.events.raiseEvent("reportInsightAbuse",{userInsightId:f});});d.find(".vote-up").live("click",function(i){i.preventDefault();var h=$(this).parents(".row"),f=swell.util.extractId(h.attr("id")),g=h.hasClass("insight")?"insight":"article";swell.events.raiseEvent("voteUp",{id:f,type:g});});d.find("#prevPage").live("click",function(f){f.preventDefault();swell.events.raiseEvent("prevDiscoveryPage");$("html, body").animate({scrollTop:0},"slow");});d.find("#nextPage").live("click",function(f){logger.log("next page click");f.preventDefault();swell.events.raiseEvent("nextDiscoveryPage");$("html, body").animate({scrollTop:0},"slow");});};swell.views.discoveryListView.prototype=new swell.views.baseView();swell.views.discoveryListView.prototype.setViewData=function(a){$(this.view).html(a.data).show();return true;};swell.views.discoveryListView.prototype.updateNumberOfComments=function(a){var b=$(this.view);$.each(a,function(e,f){var c=$(b).find("#d-"+f.contentId);c.find(".comments").html(f.comments);if(f.hasReported){var d=c.find(".report-this").replaceWith('<span class="reported" >Reported</span>');}if(f.hasVotedUp){var d=c.find(".vote-up").replaceWith('<span class="voted-up" > Voted Up</span>');}});};swell.views.discoveryListView.prototype.loading=function(a){var b=$("#navbarSearch").offset();$("#articlesCont").css("opacity",".5");$('<img id="discoveriesLoader" src="/assets/img/loading_static.png" />').css("position","absolute").css("top",b.top+100).css("left",b.left+240).appendTo($("body"));};swell.views.discoveryListView.prototype.finished=function(){$("#articlesCont").css("opacity","1");$("#discoveriesLoader").remove();};swell.views.discoveryListView.prototype.displayError=function(){var b=$(this.view);var a='<div class="emptySearchMessage">'+'<p class="title">Powerful insights here</p>'+"<p>Unfortunately, our server is trying to hoard them. We�re sorry. Try refreshing the page.</p>";"</div>";b.html(a).fadeIn("fast");};swell.views.articleSearchView=function(k,a){var c=new swell.views.baseView(k,a);var f="sel";var b="scAll";var g="nbsRecent";var i="nbsPopular";var d="nbsPicks";var j="btn-sel";var l=[];var h=[];var e="nbsSearch";return $.extend(c,{categories:null,all:null,sortType:1,postType:"",selectedSuperCategories:function(){var m=[];var n=swell.util.extractId(this.selectedCategoryId);if(n!=0){m.push(n);}return m;},init:function(){var m=this;this.state="Spend";this.categories=$(".navbar-scat a");this.isSearchDirty=$("#nbsSearch").val()!="Search";this.selectedCategoryId="scAllSpend-0";this.ourPicks=false;var n=function(){swell.events.raiseEvent("getDiscoveries",{targetId:"discoveries",args:{query:this.prepareQuery(),superCategoryIds:this.selectedSuperCategories(),sortType:this.sortType,postType:this.postType,ourPicks:this.ourPicks}});swell.events.raiseEvent("metricsPageView",{key:"SearchDiscoveries",props:{eVar10:this.prepareQuery()},domEl:this});};this.categories.click(function(o){o.preventDefault();$("#"+m.selectedCategoryId).removeClass(f);m.selectedCategoryId=$(this).attr("id");$(this).addClass(f);n.apply(m,[]);});$("#"+g).click(function(o){o.preventDefault();m.sortType=1;m.ourPicks=false;$("#"+g).addClass(j);$("#"+i).removeClass(j);$("#"+d).removeClass(j);n.apply(m,[]);});$("#"+i).click(function(o){o.preventDefault();m.sortType=2;m.ourPicks=false;$("#"+g).removeClass(j);$("#"+d).removeClass(j);$("#"+i).addClass(j);n.apply(m,[]);});$("#"+d).click(function(o){o.preventDefault();m.sortType=3;m.ourPicks=true;$("#"+g).removeClass(j);$("#"+i).removeClass(j);$("#"+d).addClass(j);n.apply(m,[]);});$("#nbsSearch").change(function(o){m.isSearchDirty=true;});$("#nbsSearch").focus(function(){if($(this).val()=="Search"){$(this).val("");}});$("#nbsSearch").blur(function(){if($(this).val()==""){$(this).val("Search");}});$("#navbarSearch").submit(function(o){o.preventDefault();if($("#nbsSearch").val()==""||$("#nbsSearch").val()=="Search"){return false;}m.sortType=0;$("#"+g).removeClass(j);$("#"+i).removeClass(j);$("#navbarSearch .search-wrap").addClass("search-active");n.apply(m,[]);});$("#nbsArticleType").change(function(o){m.postType=$(this).val();n.apply(m,[]);});$("#clearSearch").click(function(o){$("#nbsSearch").val("");$("#"+g).trigger("click");$("#navbarSearch .search-wrap").removeClass("search-active");});},getActiveCategories:function(){return $("#sc"+this.state+" a");},getAllSelector:function(){var m=$("#"+b+this.state+"-0");return m;},selectAll:function(){this.getAllSelector().addClass(f);},unselectAll:function(){var n=this;var m=this.getActiveCategories();m.each(function(){n.unselectCategory($(this));});},selectCategory:function(n){var m=$("#sc-"+n);$("#"+this.selectedCategoryId).removeClass(f);this.selectedCategoryId="sc-"+n;m.addClass(f);},unselectCategory:function(m){m.removeClass(f);},prepareQuery:function(){if(this.isSearchDirty){return $("#nbsSearch").val();}else{return"";}},loadSavingsCats:function(m){this.state="Worth";this.selectedCategoryId=this.getAllSelector().attr("id");var n=$("#sCatSelector");n.find("#scWorth").removeClass("hide");n.find("#scSpend").addClass("hide");},loadSpendCats:function(m){this.state="Spend";this.selectedCategoryId=this.getAllSelector().attr("id");var n=$("#sCatSelector");n.find("#scWorth").addClass("hide");n.find("#scSpend").removeClass("hide");}});};swell.views.riaView=function(a,b){swell.views.baseView.apply(this,[a,b]);this.isInitialized=false;};swell.views.riaView.prototype=new swell.views.baseView();swell.views.riaView.constructor=swell.views.riaView;swell.views.riaView.prototype.setViewData=function(a){if(this.isInitialized){logger.log("setting view data on ria View: "+$(this.view).attr("id"),a);this.view.setAsyncResponse(a);return true;}logger.log("was not able to set data on ria view: the view was not initialized ");return false;};swell.views.riaView.prototype.setSegmentId=function(a){this.view.setSegmentId(a);};swell.controllers.discoveryListController=function(b){var c=swell.svc.commentSvc,a=this,b=(b!==undefined)?b:swell.data.ajaxDaoFactory;swell.controllers.baseController.apply(this,[{daoFactory:b}]);this.activeQuery=null;this.socNetSvc=new swell.svc.socNetSvc();this.articleSvc=new swell.svc.articleSvc();};swell.controllers.discoveryListController.prototype=new swell.controllers.baseController();swell.controllers.discoveryListController.constructor=swell.controllers.discoveryListController;swell.controllers.discoveryListController.prototype.onSearchDiscoveries=function(b){var d=this.getView("searchBar").instance;var a=b.args.superCategoryIds;var c=function(){var e=a.length>1;if(e){d.unselectAll();d.selectAll();b.args.superCategoryIds=[];}else{if(a.length!=0){d.unselectAll();d.selectCategory(a[0]);}}return e;};if((b.state.viewState=="savings")||(b.state.viewState=="savingMap")||(b.state.viewState=="savingComingSoon")){d.loadSavingsCats(a);}else{d.loadSpendCats(a);}c();b.args.sortType=d.sortType;swell.events.raiseEvent("getDiscoveries",b);};swell.controllers.discoveryListController.prototype.onGetDiscoveries=function(b){this.activeQuery=$.extend({},b.args);var a=this,c=this.getView(b.targetId).instance;if(b.args.superCategoryIds.length==0){delete b.args.superCategoryIds;}c.loading();this.articleSvc.loadArticles($.extend(b,{event:"getArticles",onSuccess:function(e){var d=a.sendRespToView(e);c.finished();if(d){swell.events.raiseEvent("getSocialMetaData",{targetId:"discoveries"});return true;}},onError:function(d){c.finished();c.displayError();}}));};swell.controllers.discoveryListController.prototype.onTextSearch=function(a){var b=this.getView("searchBar").instance;b.isSearchDirty=true;a.query=a.query.replace("&amp;","&");$("#nbsSearch").val(a.query);$("#navbarSearch").submit();};swell.controllers.discoveryListController.prototype.onGetSocialMetaData=function(b){b=(b||{});var c=[],a=this;$("#articlesCont .content-list .row").each(function(g,d){var f=$(d).attr("id");var e=swell.util.extractId(f);c.push(swell.util.extractId(f,true));});this.socNetSvc.loadContentMetadata($.extend(b,{args:{contentIds:c},onSuccess:function(d){logger.log("get number of comments()",d);var e=a.getView(b.targetId);e.instance.updateNumberOfComments(d);},onError:function(d){logger.log("get number of comments() ERROR:"+d.Message);}}));};swell.controllers.discoveryListController.prototype.onReportInsightAbuse=function(a){this.socNetSvc.reportInsightAbuse($.extend({},a,{onError:function(b){},onSuccess:function(b){$("#d-"+a.userInsightId+" .report-this").replaceWith('<span class="reported" >Reported</span>');}}));};swell.controllers.discoveryListController.prototype.onVoteUp=function(a){var b=swell.svc.loginSvc.userProfile;a.facebookUserId=(b==null)?"":b.uid;this.socNetSvc.voteUpContent($.extend({},a,{onError:function(c){logger.log(c);},onSuccess:function(c){$("#d-"+a.id+" .vote-up").replaceWith('<span class="voted-up" > Voted Up</span>');}}));};swell.controllers.discoveryListController.prototype.onNextDiscoveryPage=function(){if(this.activeQuery===null){var a=this.getView("searchBar").instance,b={targetId:"discoveries",args:{query:a.prepareQuery(),superCategoryIds:a.selectedSuperCategories(),sortType:a.sortType,postType:a.postType,pageNumber:2}};swell.events.raiseEvent("getDiscoveries",b);}else{var b={targetId:"discoveries",args:this.activeQuery};b.args.pageNumber=(!this.activeQuery.pageNumber)?2:this.activeQuery.pageNumber+1;swell.events.raiseEvent("getDiscoveries",b);}};swell.controllers.discoveryListController.prototype.onPrevDiscoveryPage=function(){var a={targetId:"discoveries",args:this.activeQuery};a.args.pageNumber=this.activeQuery.pageNumber-1;swell.events.raiseEvent("getDiscoveries",a);};swell.controllers.discoveryListController.prototype.init=function(){swell.events.registerListener("searchDiscoveries",this.onSearchDiscoveries,this);swell.events.registerListener("getDiscoveries",this.onGetDiscoveries,this);swell.events.registerListener("getSocialMetaData",this.onGetSocialMetaData,this);swell.events.registerListener("reportInsightAbuse",this.onReportInsightAbuse,this);swell.events.registerListener("voteUp",this.onVoteUp,this);swell.events.registerListener("textSearch",this.onTextSearch,this);swell.events.registerListener("nextDiscoveryPage",this.onNextDiscoveryPage,this);swell.events.registerListener("prevDiscoveryPage",this.onPrevDiscoveryPage,this);};swell.controllers.emailController=function(){var a=(a!==undefined)?a:swell.data.ajaxDaoFactory;swell.controllers.baseController.apply(this,[{daoFactory:a}]);};swell.controllers.emailController.prototype=new swell.controllers.baseController();swell.controllers.emailController.constructor=swell.controllers.emailController;swell.controllers.emailController.prototype.onRegForUpdates=function(a){var g=this.getView(a.targetId).instance;var e=this.daoFactory.getJSONDao();g.loading();var b=swell.svc.loginSvc.getUserId();var f=$.cookies.get("rfr");var c=null,d=null;if(f!=null){c=f.substring(0,f.indexOf("|"));d=f.substring(f.indexOf("|")+1,f.length);}e.post("/spendSubscription",$.extend(a,swell.svc.loginSvc.userProfile,{referrer:c,firstPageVisited:d}),function(h){g.finished();if(!h.data.Status){g.error("This is a little embarrassing. Our server's acting up, so we didn't catch your email. Please try again later. It's worth it.");return;}g.thankYou();swell.events.raiseEvent("metricsLinkClick",{key:"EmailRegistration",props:{events:"event2"},domEl:this});},function(){logger.log("failed with error submitting email.");g.finished();});};swell.controllers.emailController.prototype.init=function(){swell.events.registerListener("regForUpdates",this.onRegForUpdates,this);};swell.views.commentsView=function(d,e){var c=false;var b=new swell.views.baseView(d,e);var f=this;var a=function(h){h.preventDefault();var i=($(this).find("#comEntryBox")).val();i=i.replace(/(\r\n|\r|\n)+?/g,"<br />");if(f.isAnon){logger.log("starting anon post process");var g={displayName:$('input[name="anon_name"]').val(),email:$('input[name="anon_email"]').val(),optIn:false,contentId:swell.util.extractId(window.location.pathname),discoveryType:$("#discoveryType").val(),body:i};logger.log("anonInfo = ",g);swell.events.raiseEvent("anonCommentSubmit",g);}else{logger.log("starting fb user post process");swell.events.raiseEvent("commentSubmit",{body:i});}};$("#comEntry form").unbind("submit").submit(a);$(".report-comment").live("click",function(h){h.preventDefault();var g=$(this).parents(".row").attr("id");swell.events.raiseEvent("reportCommentAbuse",{commentKey:g});});$("#prevPage").live("click",function(g){g.preventDefault();logger.log("prev page click");swell.events.raiseEvent("prevCommentsPage");});$("#nextPage").live("click",function(g){g.preventDefault();logger.log("next page click");swell.events.raiseEvent("nextCommentsPage");});this.isLoggedInState=false;this.isInvalidState=false;};swell.views.commentsView.prototype=new swell.views.baseView();swell.views.commentsView.constructor=swell.views.commentsView;swell.views.commentsView.prototype.setViewData=function(c){var d=this.view;logger.log("view:");logger.log(d);var b=$("#comList");b.empty();var a="";$.each(c.comments,function(h,f){var g='<a href="#" class="report-this report-comment">Report this</a>';if(f.HasReportedAbuse==true){g='<span class="reported">Reported</span>';}var e="";if(f.Photo){e='<img src="'+f.Photo+'" alt="" />';}a='<li id="'+f.CommentKey+'" class="row">'+'<div class="colR">'+e+'<img class="fb-frame" src="/assets/img/fb_frame.png" alt="" /></div>'+'<div class="col">'+"<p>"+f.CommentBody.replace(/(\r\n|\r|\n)+?/g,"<br />")+"</p>"+'<span class="item-meta">'+f.Author+" / "+"Posted: "+f.DatePosted+" / "+'<span class="actions">'+g+"</span>"+"</span>"+"</div>"+"</li>";$(b).html($(b).html()+a);});};swell.views.commentsView.prototype.loggedInState=function(c){if(this.isLoggedInState){return;}this.isAnon=false;var b=$("#comEntry");$(b).removeClass("disabled").addClass("enabled").find("#fbLogIn").addClass("hide").end().find("form").removeClass("hide").end().find("textarea").removeAttr("disabled");var a=$(b).find("form");$('<img id="fbPic" class="fb-pic" />').attr("src",c.pic).insertBefore(a);$('<img class="fb-frame" src="/assets/img/fb_frame.png" alt="" />').insertBefore(a);$('<span id="fbName" class="fb-name"></span>').html(String.format("{0} {1} / ",c.firstName,c.lastName)).insertBefore(a);$('<a id="fbLogout" class="fb-logout" href="javascript:void(0);">Log Out</a>').click(function(){swell.events.raiseEvent("requestLogout");}).insertBefore(a);this.isLoggedInState=true;};swell.views.commentsView.prototype.clearCommentEntry=function(){$("#comEntryBox").val("");};swell.views.commentsView.prototype.loggedOutState=function(){this.isLoggedInState=false;$("#fbPic").remove();$("#fbName").remove();$("#fbLogout").remove();$("#comEntry").removeClass("enabled").addClass("disabled");$("#comEntry form").addClass("hide");$("#fbLogIn").removeClass("hide");$("#comEntryBox").attr("disabled","disabled");};swell.views.commentsView.prototype.failedFormValidation=function(){if(!this.isInvalidState){$("#comEntryBox").addClass("err");$("#comEntry form").before('<p class="err">Just one thing missing here... the comment itself. Go ahead and write something, then we\'ll post it.</p>');}this.isInvalidState=true;};swell.views.commentsView.prototype.failedFormValidationByType=function(a){this.clearErrors();if(!this.isInvalidState){switch(a){case"name":$("input[name='anon_name']").addClass("err");$("#comEntry form").before('<p class="err">You must enter a display name.</p>');break;case"email":$("input[name='anon_email']").addClass("err");$("#comEntry form").before('<p class="err">A valid e-mail is required.</p>');break;case"comment":$("#comEntryBox").addClass("err");$("#comEntry form").before('<p class="err">Just one thing missing here... the comment itself. Go ahead and write something, then we\'ll post it.</p>');break;case"name-toolong":$("input[name='anon_name']").addClass("err");$("#comEntry form").before('<p class="err">Name is too long.</p>');break;case"email-toolong":$("input[name='anon_email']").addClass("err");$("#comEntry form").before('<p class="err">Email is too long.</p>');break;}}this.isInvalidState=true;};swell.views.commentsView.prototype.clearErrors=function(){$("p.err").remove();$("#comEntry *").removeClass("err");};swell.views.commentsView.prototype.passValidation=function(){this.clearErrors();this.isInvalidState=false;};swell.views.commentsView.prototype.postToFacebook=function(){return $("#comPostToFB:checked").length>0;};swell.views.commentsView.prototype.loading=function(){$("#comList").html("<div id='comLoader'>Loading Comments!</div>");};swell.views.commentsView.prototype.finished=function(){$("#comLoader").remove();};swell.views.commentsView.prototype.error=function(a){$("#comLoader").html(a);};swell.views.commentsView.prototype.togglePagerPrevious=function(a){if($("#prevPage").hasClass("hide")){$("#prevPage").removeClass("hide");}else{$("#prevPage").addClass("hide");}};swell.views.commentsView.prototype.togglePagerNext=function(a){if($("#nextPage").hasClass("hide")){$("#nextPage").removeClass("hide");}else{$("#nextPage").addClass("hide");}};swell.views.commentsView.prototype.displayAnonCommentForm=function(a){if(this.isLoggedInState){return;}this.isAnon=true;var b=$("#comEntry");$(b).removeClass("disabled").addClass("enabled").find("#fbLogIn").addClass("hide").end().find("form").removeClass("hide").end().find("textarea").removeAttr("disabled").end().find(".fb-only").hide().end().find("#anonFormElements").show();};swell.controllers.discoveryDetailController=function(a){var a=(a!==undefined)?a:swell.data.ajaxDaoFactory;swell.controllers.baseController.apply(this,[{daoFactory:a}]);this.currentPage=1;this.contentId=null;this.pagerInitialized=false;this.carousel=null;this.socNetSvc=new swell.svc.socNetSvc(this.daoFactory);this.emailValidator=new validator({defaultFailAction:false});};swell.controllers.discoveryDetailController.prototype=new swell.controllers.baseController();swell.controllers.discoveryDetailController.constructor=swell.controllers.discoveryDetailController;swell.controllers.discoveryDetailController.prototype.onLoggedIn=function(b){var a=this.getView("comments");logger.log("data from login callback");logger.log(b);a.instance.loggedInState(b);};swell.controllers.discoveryDetailController.prototype.onLoggedOut=function(){var a=this.getView("comments");a.instance.loggedOutState();};swell.controllers.discoveryDetailController.prototype.getAnonNames=function(){};swell.controllers.discoveryDetailController.prototype.onGetComments=function(a){var c=this.getView("comments").instance;c.loading();this.contentId=a.args.id;var b=this;this.socNetSvc.loadComments($.extend({},a,{onSuccess:function(d){var e=10;$("#numberOfComments").html(d.numberOfComments);b.totalComments=d.numberOfComments;if(b.totalComments>e&!b.pagerInitialized){c.togglePagerNext();b.pagerInitialized=true;}logger.log("getting comments:",d);var f=[];$.each(d.comments,function(g,h){f.push(h.UserKey);});logger.log("getting user info");swell.svc.loginSvc.getUserInfo({userIds:f,onSuccess:function(g){c.finished();logger.log("succesfully got user info");$.each(g.Users,function(h,l){for(var k=0;k<d.comments.length;k++){if(d.comments[k].UserKey==l.Id){d.comments[k].Author=l.FullName;d.comments[k].Photo=l.Photo;}}});logger.log("processing anon user keys");b.socNetSvc.getAnonUserNames({discoveryType:$("#discoveryType").val(),id:b.contentId,onSuccess:function(h){logger.log("got AnonUserNames, data = ",h);$.each(h.AnonymousPosters,function(k,m){for(var l=0;l<d.comments.length;l++){logger.log("comparing: ",d.comments[l].UserKey," to anon_"+m.PosterId);if(d.comments[l].UserKey=="anon_"+m.PosterId){logger.log("found an anon match: ",d.comments[l],m);d.comments[l].Author=m.DisplayName;}}});logger.log("setting view data",c);c.setViewData(d);c.clearCommentEntry();if(a.onSuccess){a.onSuccess();}},onError:function(h){logger.log("error in getAnonUserNames");logger.log("setting view data",c);c.setViewData(d);c.clearCommentEntry();if(a.onSuccess){a.onSuccess();}}});},onError:function(){logger.log("there was an error in the facebook data returned");c.finished();c.setViewData(d);c.clearCommentEntry();if(a.onSuccess){a.onSuccess();}}});logger.log(f);},onError:function(d){logger.log("get comm controller on error fired");c.finished();c.error(d.Message);}}));};swell.controllers.discoveryDetailController.prototype.onCommentSubmit=function(a){var c=this.getView("comments").instance;var b=$.extend(a,{title:$.trim(this.pageTitle),url:window.location.href});if(a.body.length==0){c.failedFormValidation();}else{if(c.postToFacebook()){c.passValidation();swell.events.raiseEventSequence([{eventName:"postComment",eventArgs:b},{eventName:"postToFacebook",eventArgs:b}]);}else{c.passValidation();swell.events.raiseEvent("postComment",b);}}};swell.controllers.discoveryDetailController.prototype.onAnonCommentSubmit=function(a){var c=this.getView("comments").instance;var b=$.extend(a,{title:$.trim(this.pageTitle),url:window.location.href});c.isInvalidState=false;if(a.displayName.length==0){c.failedFormValidationByType("name");}else{if(a.displayName.length>255){c.failedFormValidationByType("name-toolong");}else{if(a.email.length==0||a.email.search(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)==-1){c.failedFormValidationByType("email");}else{if(a.email.length>255){c.failedFormValidationByType("email-toolong");}else{if(a.body.length==0){c.failedFormValidationByType("comment");}else{c.passValidation();swell.events.raiseEvent("postAnonComment",b);}}}}}};swell.controllers.discoveryDetailController.prototype.onPostToFacebook=function(a){logger.log("onPostToFacebook req = ",a);FB.Connect.streamPublish("",{name:a.title,caption:"{*actor*} commented on an article.",description:a.body,href:a.url});};swell.controllers.discoveryDetailController.prototype.onPostComment=function(a){var b=this;logger.log("posting comment with req:",a,this.contentId);this.socNetSvc.submitComment($.extend({},a,{id:this.contentId,onSuccess:function(){swell.events.raiseEvent("metricsLinkClick",{key:"SubmitComment",props:{events:"event5"}});swell.events.raiseEvent("getComments",{id:"comments",args:{id:b.contentId,title:b.pageTitle},onSuccess:function(){swell.events.raiseEvent("eventCompleted",a);}});},onError:function(c){if(c.Messages[0].Message.match("words not permitted by our language filter")){$("#comEntryBox").addClass("err");$("#comEntry form").before('<p class="err">Your message contains words not permitted by our language filter.  Please correct this error and try again.</p>');}logger.log("error posting comment");}}));};swell.controllers.discoveryDetailController.prototype.onReportInsightAbuse=function(a){this.socNetSvc.reportInsightAbuse($.extend({},a,{onError:function(b){logger.log(b.msg);},onSuccess:function(b){logger.log("succes result",b);$(".actions .report-this").replaceWith('<span class="reported" >Reported</span>');}}));};swell.controllers.discoveryDetailController.prototype.onReportCommentAbuse=function(a){this.socNetSvc.reportCommentAbuse($.extend({},a,{onError:function(b){logger.log(b.msg);},onSuccess:function(b){$("#"+b.commentKey+" .actions .report-this").replaceWith('<span class="reported" >Reported</span>');}}));};swell.controllers.discoveryDetailController.prototype.onVoteUp=function(a){var b=swell.svc.loginSvc.userProfile;a.facebookUserId=(b==null)?"":b.uid;this.socNetSvc.voteUpContent($.extend({},a,{onError:function(c){logger.log(c);},onSuccess:function(c){logger.log("succes vote up result",c);$("#detailMetadata .vote-up").replaceWith('<span class="voted-up" > Voted Up</span>');}}));};swell.controllers.discoveryDetailController.prototype.onNextCommentsPage=function(){this.currentPage++;var b=this.getView("comments").instance;var a=Math.ceil(this.totalComments/10);if(this.currentPage==2){b.togglePagerPrevious();}if(this.currentPage==a){b.togglePagerNext();}swell.events.raiseEvent("getComments",{id:"comments",args:{id:this.contentId,page:this.currentPage}});};swell.controllers.discoveryDetailController.prototype.onPrevCommentsPage=function(){this.currentPage--;var b=this.getView("comments").instance;var a=Math.ceil(this.totalComments/10);if(this.currentPage==1){b.togglePagerPrevious();}if(this.currentPage==a-1){b.togglePagerNext();}swell.events.raiseEvent("getComments",{id:"comments",args:{id:this.contentId,page:this.currentPage}});};swell.controllers.discoveryDetailController.prototype.onDisplayAnonCommentForm=function(a){var b=this.getView("comments").instance;b.displayAnonCommentForm();};swell.controllers.discoveryDetailController.prototype.onPostAnonComment=function(a){var b=this;logger.log("posting anon comment with req:",a,this.contentId);logger.log("clearing cookie");swell.cookies.login.del();swell.svc.loginSvc.getAnonId(a,function(c){b.socNetSvc.submitAnonComment($.extend({},a,{id:b.contentId,onSuccess:function(){swell.events.raiseEvent("metricsLinkClick",{key:"SubmitComment",props:{events:"event5"}});swell.events.raiseEvent("getComments",{id:"comments",args:{id:b.contentId,title:b.pageTitle},onSuccess:function(){swell.events.raiseEvent("eventCompleted",a);}});swell.events.raiseEvent("clearCookie",{});},onError:function(d){if(d.Messages[0].Message.match("words not permitted by our language filter")){$("#comEntryBox").addClass("err");$("#comEntry form").before('<p class="err">Your message contains words not permitted by our language filter.  Please correct this error and try again.</p>');}logger.log("error posting comment");}}));},function(c){logger.log("error getting unique id from backend, bailing");});};swell.controllers.discoveryDetailController.prototype.onClearCookie=function(){logger.log("clearing cookie");swell.cookies.login.del();};swell.controllers.discoveryDetailController.prototype.init=function(b){swell.events.registerListener("loggedIn",this.onLoggedIn,this);swell.events.registerListener("loggedOut",this.onLoggedOut,this);swell.events.registerListener("commentSubmit",this.onCommentSubmit,this);swell.events.registerListener("postToFacebook",this.onPostToFacebook,this);swell.events.registerListener("postComment",this.onPostComment,this);swell.events.registerListener("getComments",this.onGetComments,this);swell.events.registerListener("reportInsightAbuse",this.onReportInsightAbuse,this);swell.events.registerListener("reportCommentAbuse",this.onReportCommentAbuse,this);swell.events.registerListener("voteUp",this.onVoteUp,this);swell.events.registerListener("nextCommentsPage",this.onNextCommentsPage,this);swell.events.registerListener("prevCommentsPage",this.onPrevCommentsPage,this);swell.events.registerListener("displayAnonCommentForm",this.onDisplayAnonCommentForm,this);swell.events.registerListener("anonCommentSubmit",this.onAnonCommentSubmit,this);swell.events.registerListener("postAnonComment",this.onPostAnonComment,this);swell.events.registerListener("clearCookie",this.onClearCookie,this);this.pageTitle=b.title;this.contentId=b.contentId;this.currentPage=1;this.pagerInitialized=false;var a=new swell.views.carouselView($("#article-carousel"));a.init();this.carousel=a;};if(!swell.behaviors){swell.behaviors={};}swell.behaviors.pagination=function(a,d){this.pages=[];var c=$(d);this.currentIndex=1;this.buildPager=function(g,e){if(e.length==1){return;}var f=this;var h=$('<div id="pagerCont" class="pager"><h3 class="hdr">Pages</h3></div>');$('<a href="#">Previous</a>').attr("id","prev").appendTo(h);$('<span class="sep"> / </span>').attr("id","prevSpacer").appendTo(h);for(var j=0,k=e.length;j<k;j++){var l=j+1;$(String.format('<a href="#">{0}</a>',l)).attr("id","ps-"+l).addClass("ps").appendTo(h);$('<span class="sep"> / </span>').appendTo(h);}$('<a href="#">Next</a>').attr("id","next").addClass("next").appendTo(h);h.appendTo(g);$(".ps").live("click",function(m){m.preventDefault();var i=swell.util.extractId($(this).attr("id"));f.changePage(parseInt(i));});$(".prev").live("click",function(i){i.preventDefault();f.changePage(f.currentIndex-1);});$(".next").live("click",function(i){i.preventDefault();f.changePage(f.currentIndex+1);});$("#prev").replaceWith('<span id="prev">Previous</span>');$("#ps-1").replaceWith('<span id="ps-1">1</span>');};var b=this;c.find(".page").each(function(f,g){b.pages.push(++f);var e=$(g);if(!e.hasClass("first")){e.addClass("hide");}});this.buildPager(c,this.pages);};swell.behaviors.pagination.prototype={disableSelector:function(b){var d=b.attr("id");var a=b.html();var c=b.attr("class");b.replaceWith(String.format('<span id="{0}">{1}</span>',d,a));},enableSelector:function(b,a){var c=b.attr("id");var d=b.html();b.replaceWith(String.format('<a href="#" id="{0}" class="{1}">{2}</a>',c,a,d));},validate:function(a){if(a>1){this.enableSelector($("#prev"),"prev");}else{if(a==1){this.disableSelector($("#prev"));}}if(a==this.pages.length){this.disableSelector($("#next"));}else{if(a<this.pages.length){this.enableSelector($("#next"),"next");}}},changePage:function(b){logger.log("entering change page. current index is:",this.currentIndex);logger.log("page selected is:",b);var a=this.currentIndex;this.disableSelector($("#ps-"+b));this.enableSelector($("#ps-"+a),"ps");$("#pg-"+a).addClass("hide");$("#pg-"+b).removeClass("hide");this.currentIndex=b;logger.log("manager current index:",this.currentIndex);logger.log("setting selected page:",b);this.validate(b);}};swell.carousel={init:function(){swell.controllers.loginController.init();this.artListCtrl=new swell.controllers.discoveryListController(),swell.support.updatesConfigurator.visit(this);swell.support.discoveriesListConfigurator.visit(this,{selectAll:true});swell.events.raiseEvent("getSocialMetaData",{targetId:"discoveries"});this.artListCtrl.registerView("openXAds",new swell.views.openXAds());var a=this.artListCtrl;$(document).ready(function(){a.getView("openXAds").instance.init();$("#scSpend a").click(function(b){a.getView("openXAds").instance.reload();});});}};swell.faq={init:function(){$("#faqAccordion").accordion({collapsible:true,autoHeight:false});$("#faqAccordion h3:first").addClass("ui-accordion-header-top");}};swell.articleDetail={detailController:null,init:function(){this.detailController=new swell.controllers.discoveryDetailController();var b=this;var e="";b.detailController.registerView("comments",new swell.views.commentsView($("#comWrap")));var c=swell.util.extractId(window.location.pathname);var d=swell.locals.discoveryTitle;b.detailController.init({contentId:c,title:d});swell.controllers.loginController.init();swell.uihelpers.initShare();b.paginationMgr=new swell.behaviors.pagination("","#discContent");swell.support.updatesConfigurator.visit(b);swell.support.discoveryDetailConfigurator.visit(b,{type:"article"});swell.events.raiseEvent("getComments",{id:"comments",args:{id:c}});this.detailController.registerView("openXAds",new swell.views.openXAds());var a=this.detailController;$(document).ready(function(){a.getView("openXAds").instance.init();});}};swell.views.openXAds=function(b,c){swell.views.baseView.apply(this,[b,c]);var a={target:"adZone"};c=c||{};this.properties=$.extend({},a,c);};swell.views.openXAds.prototype=new swell.views.baseView();swell.views.openXAds.constructor=swell.views.openXAds;swell.views.openXAds.prototype.init=function(){this.scanPage();};swell.views.openXAds.prototype.reload=function(){logger.log("Reloading Ads");this.scanPage();};swell.views.openXAds.prototype.scanPage=function(){var b=$("div[id*='adZone-']");var a=new Array();if(b.length>0){b.each(function(d){a.push($(b[d]).attr("id").substring(7));});}if(a.length>0){var c="{0}//d1.openx.org/spc.php?zones={1}&source=&r={2}&charset=ISO-8859-1";$.getScript(String.format(c,location.protocol,a.join("|"),Math.floor(Math.random()*99999999999)),function(){logger.log("Openx Script Loaded");$(a).each(function(g){logger.log("Attempting to load Zone Id",a[g]);var d=$("#adZone-"+a[g]);var f=OA_output[a[g]];if(f!=""){d.empty();d.prepend(f);}});});}};swell.views.carouselView=function(b,c){swell.views.baseView.apply(this,[b,c]);var a={simpleMode:false};this.carouselList=null;this.carouselPage=null;this.properties=$.extend({},a,c);};swell.views.carouselView.prototype=new swell.views.baseView();swell.views.carouselView.constructor=swell.views.carouselView;swell.views.carouselView.prototype.init=function(){var b=$(this.view);var a=b.find(".article-carousel-list");if(a.length>0){this.carouselPage=0;this.carouselList=a;this.loadCarousel();}if($.browser.msie===true){if(Math.floor($.browser.version)<8){this.properties.simpleMode=true;}}};swell.views.carouselView.prototype.loadCarousel=function(){var b=this;var c=$(b.view);function a(k,o,g){if(o=="success"){var h=b.carouselList;h.empty();var p=0;var n=$(k).find("Item");var e=new Array();n.each(function(){var u=$(this);var w=u.find("SuperCategoryColor");var q=(w.length>0)?' style="background-color: '+w.text()+';" ':"";var v=(u.find("PhotoCarouselUrl").length>0)?u.find("PhotoCarouselUrl").text():u.find("PhotoUrl").text();v=v.replace("_hl_sm.","_hl_thmb.");var x=(v!="")?'<img src="'+v+'" />':"";var i=u.find("Title").text();var t=u.find("Subtitle").text();var r=(t.length<45)?t:i;var y=t.replace('"',"&quot;");var s=$('<div class="article-carousel-item"><a href="'+u.find("DiscoveryUrl").text()+'" '+q+' title="'+y+'">'+x+'<span class="article-carousel-caption">'+r+"</span></a></div>");e.push(s);delete y;delete x;delete r;delete t;delete i;delete w;delete q;delete v;p++;});var p=e.length;for(var d=0;d<p;d+=3){var m=$('<div class="article-carousel-container"></div>');m.append(e[d]);m.append(e[d+1]);m.append(e[d+2]);b.carouselList.append(m);}var f=c.find(".article-carousel-container:first").width();if(p>3){c.addClass("article-carousel-active");var j=b.carouselList.find(".article-carousel-container");if(b.properties.simpleMode===true){j.not(":first").hide();}function l(i){if(b.properties.simpleMode===true){var q=$(j[i]);j.not(q).hide();q.show();}else{var r=i*f;b.carouselList.animate({scrollLeft:r},800);}b.carouselPage=i;}c.find(".article-carousel-btnprev").bind("click",function(){if(b.carouselPage-1>=0){l(b.carouselPage-1);}});c.find(".article-carousel-btnnext").bind("click",function(){if(b.carouselPage<Math.ceil(p/3)-1){l(b.carouselPage+1);}});}}}$.ajax({url:"/XmlContent/Carouselpage.xml",dataType:"xml",success:a});};