window.changer=window.changer||{};
changer.portals=changer.portals||{portal:{handlers:{},init:function(a){var b=this;b.initialized=!1;this.hash=document.location.hash.replace(/^#/,"");$(".tab[slug!='"+this.hash+"']").attr("lazy","true");b.Tabs=$(".tab",b);$(".tab[lazy!='true']").length<=0&&$(b.Tabs[0]).attr("lazy","false");var c=function(){for(var c=!0,e=0;e<b.Tabs.length;e++)if(!b.Tabs[e].initialized){c=!1;break}if(c)b.initialized=!0,a&&a(),b.initHistory(),b.getActiveTab().select(!0)};b.Tabs.length<=0&&c();for(var f=0;f<b.Tabs.length;f++)b.Tabs[f]=
$(b.Tabs[f]),$.extend(b.Tabs[f],changer.portals.tab).init(b,c)},initHistory:function(){var a=this;a.historyEventRunning=!1;$(window).hashchange(function(){a.historyEventRunning=!0;var b=document.location.hash.replace(/^#/,"").replace(/^$/,"home");a.hash!=b&&a.navigateToSlug(b);a.historyEventRunning=!1});var b=this.hash;this.hash="home";document.location.hash="home";setTimeout(function(){document.location.hash=b;setTimeout(function(){a.setPath(b)},100)},100)},setPath:function(a){this.hash=a;if(!this.historyEventRunning&&
(document.location.hash=this.hash,this.handlers.onSetPath))this.handlers.onSetPath(this.hash)},navigateToSlug:function(a){if(/^\/?(.*?)(\/(.*?))?\/?$/.test(a)){var a=RegExp.$3,b=this.getTabBySlug(RegExp.$1);if(b)return b.select(),a!=""&&(a=b.getWidgetBySlug(a))&&a.select(),!0}return!1},getActiveTab:function(){for(var a=0;a<this.Tabs.length;a++)if(this.Tabs[a].hasClass("tab-active"))return this.Tabs[a];return null},getActiveWidget:function(){for(var a=0;a<this.Tabs.length;a++)if(this.Tabs[a].hasClass("tab-active"))for(var b=
0;b<this.Tabs[a].Widgets.length;b++)if(this.Tabs[a].Widgets[b].hasClass("widget-active"))return this.Tabs[a].Widgets[b];return null},linkHandler:function(a){a=$(a).attr("href").replace(/^http.*?\/\/.*?\//,"");if(!/^(javascript|http):/.test(a)&&this.navigateToSlug(a))return!1;return!0},getTabBySlug:function(a){for(var b=0;b<this.Tabs.length;b++)if(this.Tabs[b].attr("slug")==a)return this.Tabs[b];return null}},tab:{init:function(a,b){var c=this;c.initialized=!1;c.slug=c.attr("slug");c.Portal=a;c.Widgets=
$("a.widget[href!='javascript://']",c);var f=function(){for(var a=!0,e=0;e<c.Widgets.length;e++)if(!c.Widgets[e].initialized){a=!1;break}if(a){c.initialized=!0;if(c.Portal.handlers.onTabLoad)c.Portal.handlers.onTabLoad(c);b&&b()}};c.Widgets.length<=0&&f();for(var d=0;d<c.Widgets.length;d++){var e=$(c.Widgets[d]);c.Widgets[d]=$("<div />").insertBefore(e);c.Widgets[d].attr("href",e.attr("href"));c.Widgets[d].attr("paginate-by",e.attr("paginate-by"));c.Widgets[d].attr("max-pages",e.attr("max-pages"));
c.Widgets[d].attr("tabs",e.attr("tabs"));c.Widgets[d].attr("height",e.attr("height"));c.Widgets[d].attr("class",e.attr("class"));c.Widgets[d].addClass("loading");e.remove();$.extend(c.Widgets[d],changer.portals.widget).init(c,f)}},select:function(a){if(!this.hasClass("tab-active")){if(this.attr("lazy")=="true"){this.attr("lazy","false");for(var b=0;b<this.Widgets.length;b++)this.Widgets[b].loadUrl()}for(b=0;b<this.Portal.Tabs.length;b++)if(this.Portal.Tabs[b]==this)this.addClass("tab-active")[$.browser.msie?
"show":"slideDown"]();else this.Portal.Tabs[b][$.browser.msie?"hide":"slideUp"]().removeClass("tab-active");a||this.Portal.setPath(this.slug)}if(this.Portal.handlers.onSelectTab)this.Portal.handlers.onSelectTab(this.slug)},setPath:function(a){this.Portal.setPath(a)},getWidgetBySlug:function(a){for(var b=0;b<this.Widgets.length;b++)if(this.Widgets[b].slug==this.slug+"/"+a||this.Widgets[b].slug==this.slug)return this.Widgets[b];return null}},widget:{init:function(a,b){this.initialized=!1;this.Tab=a;
this.slug=this.Tab.slug+"/"+this.attr("href").replace(/http.*?\/\/.*?\/[1]/,"").replace(/^.*?\/(.*?)(\/[0-9]+)*$/,"$1");this.addClass("widget");this.loadUrl("",b)},loadUrl:function(a,b,c){if(this.Tab.attr("lazy")=="true")this.initialized=!0,this.setDimensions(),b();else{this.addClass("loading");if(!a||a==""){var a=this.attr("href"),f=this.attr("paginate-by"),f=f?parseInt(f):0;f>0&&(a+="/1/"+f)}var d=this;d.attr("class");c=c||{};c.url=a;c.complete=function(a){a=a.responseText;a=a.substring(a.indexOf("<div"),
a.indexOf("</body>"));d.html(a);a=$(".widget-poll",d);if((a=a.length&&a.attr("poll")&&a.attr("poll")!=""?a:null)&&!a.attr("results-href"))$.cookie(a.attr("poll"),"true");else if(a&&$.cookie(a.attr("poll"))=="true"){d.loadUrl(a.attr("results-href"),b);return}$(".widget",d).removeClass("widget").addClass(d.slug.replace(/\//g,"-"));d.initialized=!0;d.removeClass("loading");d.setDimensions();d.initContent();if(d.Tab.Portal.handlers.onWidgetLoad)d.Tab.Portal.handlers.onWidgetLoad(d);b&&b()};$.ajax(c)}},
setDimensions:function(){var a=this.attr("height");a&&$("ul.items",this).css("max-height",a+"px")},initContent:function(){var a=this,b=a.attr("tabs");if(b&&b!=""){$("h1",a).html("").addClass("with-tabs");for(var b=b.split(","),c=0;c<b.length;c++){var f=b[c],d=a.Tab.Portal.getTabBySlug(f).attr("title"),e="";f==a.Tab.slug&&(e=' class="on"',c==0&&$("h1",a).addClass("black"));$("h1",a).append('<a href="'+f+'"'+e+">"+d+"</a>")}}$("ul.items li div",a).attr("onmouseout","");a.attr("height")?($("ul.items li div div.short",
a).remove(),$("ul.items li div div",a).show()):a.mouseleave(function(){var a=$("ul.items li div.short",$(this));a.next().hide();a.show()});b=(b=a.attr("max-pages"))?parseInt(b):0;b==1&&$(".pages",a).remove();$(".pages a",a).click(function(){a.loadUrl($(this).attr("href"));return!1});$("a",a).click(function(){return a.Tab.Portal.linkHandler(this)});$("form",a).submit(function(){var b=$(this),c={type:"POST",data:b.serialize()};a.loadUrl(b.attr("action"),null,c);return!1})},select:function(a){for(var b=
0;b<this.Tab.Widgets.length;b++)this.Tab.Widgets[b].removeClass("widget-active");this.addClass("widget-active");a||(a=$("h1",this).get(0))&&a.scrollIntoView&&a.scrollIntoView();this.Tab.select(!0);this.Tab.setPath(this.slug)},disableScrolling:function(){$.jScrollPane&&this.find(".widget-content:first").jScrollPaneRemove()},enableScrolling:function(){if($.jScrollPane&&(this.disableScrolling(),this.find(".widget-content:first").jScrollPane({scrollbarWidth:12,showArrows:!0}),this.height()<30)){var a=
this;setTimeout(function(){a.enableScrolling()},500)}}}};

