(function(a){a.fn.placeholder=function(){return this.each(function(){var c=a(this);c.attr("autocomplete","off");var e=c.attr("title");function b(){if(c.hasClass("placeholder")){c.val("")}c.removeClass("placeholder")}function d(){if(c.val()==""){c.val(e);c.addClass("placeholder")}}d();c.focus(b);c.blur(d);c.parents("form").submit(b)})};a.fn.randomBackground=function(b){return this.each(function(){var c=a(this);var d=b[Math.floor(Math.random()*b.length)];c.css({backgroundImage:"url("+d.url+")"});var e=a("<div/>",{text:d.title,id:"header-image-title"}).hide();c.append(e);c.hover(function(){e.fadeIn()},function(){e.fadeOut()})})};a.fn.disciplineFilter=function(){return this.each(function(){var e=a(this);var b=e.find("li");var d={};var c=a("<select/>",{change:function(){var g=c.val();if(g in d){b.hide();a.each(d[g],function(h,i){i.show()})}else{b.show()}}}).append(a("<option/>",{value:"",html:"All champions"}));b.each(function(){var h=a(this);var g=h.find("article").attr("data-discipline");if(g in d){d[g].push(h)}else{d[g]=[h];c.append(a("<option/>",{value:g,html:g}))}});var f=a("<p/>",{html:"Find a champion: "}).append(c);e.before(f)})};a.fn.entityFilter=function(b){var c={categoryAttr:"data-category",message:""};if(b){a.extend(c,b)}return this.each(function(){var j=a(this);var m=j.find("li");var g=[];m.each(function(){var p=a(this);var q=p.find("h1").html();p.find(".meta").each(function(){var r=a(this);q+=" "+r.text()});p.find(".read-more").each(function(){q+=" "+a(this).text()});g.push({title:q.toLowerCase(),category:p.find("article").attr(c.categoryAttr),item:p})});var f=null;function l(){clearTimeout(f);f=setTimeout(function(){e.hide();var q=n.val().toLowerCase();var p=o.val();var r=0;a.each(g,function(s,t){if((q.length>0&&t.title.search(q)==-1)||(p.length>0&&t.category!=p)){t.item.hide()}else{t.item.show();r+=1}});if(r==0){k.show()}else{k.hide()}j.trigger("refresh.crfs")},1000);m.hide();k.hide();e.show();j.trigger("refresh.crfs")}var n=a("<input>");n.keyup(l);var o=a("<select/>");var i=a("<option>",{value:"",html:"--------"});o.append(i);if(c.categoryAttr){var h={};a.each(g,function(p,q){if(q.category&&!(q.category in h)){h[q.category]=true;var r=a("<option>",{value:q.category,html:q.category});o.append(r)}})}o.change(l);var d=a("<p/>",{html:"Search for "});d.append(n);if(c.categoryAttr){d.append(" in ");d.append(o)}if(c.message){d.append(" "+c.message)}j.before(d);var k=a("<p/>",{html:"<em>There are no results to display.</em>","class":"entity-filter-message"}).hide();j.before(k);var e=a("<p/>",{html:"Loading…","class":"loading entity-filter-message"}).hide();j.before(e)})};a.fn.entityPagination=function(b){var c={pageSize:10};if(b){a.extend(c,b)}return this.each(function(){var g=a(this);var e=g.find("li");var d=a("<nav/>",{"class":"pagination"}).hide();g.after(d);function f(){var h=[[]];var i=0;e.each(function(){var k=a(this);if(k.is(":visible")){var l=h[h.length-1];if(l.length==c.pageSize){l=[];h.push(l)}l.push(k)}});if(h.length==1||h[0].length==0){d.hide()}else{function j(){var m=a(window).scrollTop();var n=h.slice();n.splice(i,1);a.each(n,function(p,o){a.each(o,function(q,r){r.hide()})});a.each(h[i],function(o,p){p.show()});d.html("").show();var l=a("<span/>",{"class":"current",html:"Page: &nbsp;"});d.append(l);a.each(h,function(q,p){if(q==i){l.append(a("<strong/>",{html:q+1}))}else{var o=a("<a/>",{html:q+1,href:"#"});o.click(function(){i=q;j();return false});l.append(o)}l.append(" ")});l.append("&nbsp;&nbsp;");var k=a("<a/>",{html:"View all",href:"#"}).appendTo(l).click(function(){a.each(h,function(o,p){a.each(p,function(q,r){r.show()})});d.hide();g.unbind("refresh.crfs",f);return false});a(window).scrollTop(m)}j()}}f();g.bind("refresh.crfs",f)})};a.fn.liveSearch=function(b){if(a.browser.msie&&a.browser.version<8){return this}return this.each(function(){var d=a(this);var e=a("<div/>",{id:"search-live-results"});e.hide();d.parents("form").append(e);d.attr("autocomplete","off");var c=false;var g=null;var f="";d.keyup(function(){var h=a.trim(d.val());if(h!=f){f=h;clearTimeout(g);if(h.length>0){if(!c){e.fadeIn("fast");e.html("");e.append(a("<div/>",{"class":"loading",html:"Searching..."}))}g=setTimeout(function(){a.ajax({url:b,data:{q:h},success:function(i){e.html("");if(i.results.length>0){a.each(i.results,function(j,k){var l=a("<a/>",{"class":"search-live-row",href:k.url,title:k.title});e.append(l);l.append(a("<img>",{src:k.meta.thumbnail_micro_url,width:k.meta.thumbnail_micro_width,height:k.meta.thumbnail_micro_height,alt:k.title,css:{marginTop:(30-k.meta.thumbnail_micro_height)/2}}));l.append(a("<span/>",{html:k.title}))})}else{e.append(a("<div/>",{"class":"search-live-count",html:"No results found."}))}}})},1000)}else{e.fadeOut("fast")}}}).blur(function(){e.fadeOut();clearTimeout(g)})})};a.fn.readMore=function(){return this.each(function(){var d=a(this);d.hide();var c=a("<a/>",{html:"Read more",href:"#","class":"read-more-link",click:function(){c.fadeOut(function(){d.slideDown()});return false}});d.before(c);var b=a("<a/>",{html:"Close",href:"#","class":"read-more-link",click:function(){d.slideUp(function(){c.fadeIn()});return false}});d.append(b)})};a.fn.carousel=function(b){var c={};if(b){a.extend(c,b)}return this.each(function(){var d=a(this);var f=a("<div/>",{id:"carousel-nav"});d.append(f);a.each(c.slides,function(i,h){var g=a("<div/>",{"class":"slide"}).hide();d.append(g);loaded=false;var m=a("<img>",{width:940,height:306}).load(function(){loaded=true;g.trigger("loaded.enterprise")}).attr("src",h.image_url);if(h.action_url){var k=a("<a>",{href:h.action_url});k.append(m);g.append(k)}else{g.append(m)}var l=null;var n=true;g.bind("show.enterprise",function(){clearTimeout(l);j.addClass("here");function o(){g.css("z-index",100);g.fadeIn("slow",function(){if(n){l=setTimeout(function(){var p=g.next();if(p.length==0){var p=e.eq(0)}if(p!=g){p.trigger("show.enterprise")}},6400)}})}if(loaded){o()}else{g.bind("loaded.enterprise",o)}e.not(g).trigger("hide.enterprise")});g.bind("hide.enterprise",function(){clearTimeout(l);g.css("z-index",50);g.fadeOut("slow");g.unbind("loaded.enterprise");j.removeClass("here")});var j=a("<span/>");f.append(j);j.click(function(){g.trigger("show.enterprise");n=false})});var e=d.find(".slide");e.eq(0).trigger("show.enterprise")})};a.fn.tabNavigation=function(){return this.each(function(){var c=a(this);var b=c.find("a");b.each(function(){var e=a(this);var d=a(e.attr("href"));e.bind("show.enterprise",function(){d.show();b.not(e).trigger("hide.enterprise");e.addClass("here")});e.bind("hide.enterprise",function(){d.hide();e.removeClass("here")});e.click(function(){e.trigger("show.enterprise");return false})});b.eq(0).trigger("show.enterprise")})};a.fn.equalizeHeights=function(){var b=0;this.each(function(){var c=a(this);b=Math.max(c.height(),b)});this.height(b)};a.fn.notifications=function(b){return this.each(function(){var c=a(this);var e=[];a.each(b,function(h,i){a(i.selector+" article h1").each(function(){var j=a(this);e.push({html:"<span>"+i.title+":</span> "+j.html(),icon:i.icon})})});e.sort(function(){return 0.5-Math.random()});var f=a("<div/>",{css:{paddingLeft:24,backgroundRepeat:"no-repeat",backgroundPosition:"0 1px"}}).hide();c.append(f);var g=0;function d(){var h=e[g];g+=1;if(g>=e.length){g=0}f.fadeOut(function(){f.html(h.html);f.fadeIn(function(){setTimeout(d,6000)}).css({backgroundImage:"url("+h.icon+")"})})}d()})};a.fn.personGroup=function(){return this.each(function(){var c=a(this);var d=c.find(".person-group-contents").hide();var e=true;var b=a("<a/>",{"class":"person-group-toggle",href:"#",text:"Show",click:function(){if(e){d.show();b.text("Hide")}else{d.hide();b.text("Show")}e=!e;return false}}).appendTo(c)})};a.fn.scrolling=function(){return this.each(function(){var b=a(this);b.width(b.width());var d=b.offset();a(window).scroll(function(){var f=a(window).scrollTop();if(f>d.top){b.css({position:"fixed",top:0})}else{b.css({position:"relative"})}var e;c.each(function(){var g=a(this);var h=a(g.attr("href"));if(h.offset().top<=f+48){e=g}});if(e){c.not(e).removeClass("here");e.addClass("here")}else{c.removeClass("here")}});var c=b.find("a");c.each(function(){var e=a(this);var f=a(e.attr("href"));e.click(function(){a("body, html").animate({scrollTop:f.offset().top});return false})})})};a.fn.iconGrid=function(){return this.each(function(){a(this).find("a").each(function(){var c=a(this);var b=c.find(".overlay").css({opacity:0,display:"block"});c.hover(function(){b.stop().animate({opacity:0.07},200)},function(){b.stop().animate({opacity:0},200)})})})};a(function(){a(".read-more").readMore();a(".scrolling").scrolling();a(".icon-grid").iconGrid()})}(jQuery));
