function NewsList(i){var m=i.allTags;var l=i.news;var I="news_tags";var j=10;var P=0;var a=false;var Q;var H=false;var A=false;var n;var v;G();function G(){R();E();K()}function E(){var T={};ArrayUtils.forEach(m,function(U){if(U.visible){T[U.name]=true}});ArrayUtils.forEach(l,function(U){var V=ArrayUtils.count(U.news,function(W){return !W.tag||T[W.tag]});if(V==0){CssUtils.addRule("#"+U.htmlElementId,"display: none;")}else{ArrayUtils.forEach(U.news,function(W){if(W.tag&&!T[W.tag]){CssUtils.addRule("#"+W.htmlElementId,"display: none;")}})}})}function S(T){T.push('<table border="0" cellspacing="0" cellpadding="0" class="darkMenu dropdownMenu" id="newsPickerDropdown">');T.push("<tr>");T.push('<td class="shadow11"><div></div></td>');T.push('<td class="shadow12"><div></div></td>');T.push('<td class="shadow13"><div></div></td>');T.push("</tr>");T.push("<tr>");T.push('<td class="shadow21"><div></div></td>');T.push('<td class="shadow22">')}function t(T){T.push("</td>");T.push('<td class="shadow23"><div></div></td>');T.push("</tr>");T.push("<tr>");T.push('<td class="shadow31"><div></div></td>');T.push('<td class="shadow32"><div></div></td>');T.push('<td class="shadow33"><div></div></td>');T.push("</tr>");T.push("</table>")}function s(T){var U={name:"All"};var V=ArrayUtils.sum(l,function(W){return W.news.length});T.push('<div class="group first tags">');T.push('<div class="tag">');T.push('<span class="tag tag" id="'+D(U)+'">');T.push(StringUtils.htmlEncode("All"));T.push("</span>");T.push(" ");T.push('<span class="count">('+V+")</span>");T.push("</div>");ArrayUtils.forEach(m,function(W){var X=ArrayUtils.sum(l,function(Y){return ArrayUtils.count(Y.news,function(Z){return !Z.tag||Z.tag==W.name})});T.push('<div class="tag">');T.push('<span class="tag tag'+W.name+'" id="'+D(W)+'">');T.push(StringUtils.htmlEncode(W.label.toUpperCase()));T.push("</span>");T.push(" ");T.push('<span class="count">('+X+")</span>");T.push("</div>")});T.push("</div>");T.push('<div class="group last buttons" id="newsPickerAdvancedModeSwitch">');T.push('<span class="textButton">Goto advanced mode &raquo;</span>');T.push("</div>")}function f(T){T.push('<div class="group first tags">');T.push('<table boder="1" cellspacing="0" cellpadding="0">');T.push("<tr>");T.push('<td class="checkbox">');T.push('<input type="checkbox" '+(J()?'checked="checked"':"")+' id="'+M()+'">');T.push("</td>");T.push('<td class="tag">');T.push('<label for="'+M()+'" id="'+e()+'">');T.push('<span class="tag">All</span>');T.push("</label>");T.push(" ");T.push('<span class="count">('+y()+")</span>");T.push("</td>");T.push("</tr>");ArrayUtils.forEach(m,function(U){var V=ArrayUtils.sum(l,function(W){return ArrayUtils.count(W.news,function(X){return !X.tag||X.tag==U.name})});T.push("<tr>");T.push('<td class="checkbox">');T.push('<input type="checkbox" '+(U.visible?'checked="checked"':"")+'id="'+p(U)+'">');T.push("</td>");T.push('<td class="tag">');T.push('<label for="'+p(U)+'" id="'+g(U)+'">');T.push('<span class="tag tag'+U.name+'">'+StringUtils.htmlEncode(U.label.toUpperCase())+"</span>");T.push("</label>");T.push(" ");T.push('<span class="count">('+V+")</span>");T.push("</td>");T.push("</tr>")});T.push("</table>");T.push("</div>");T.push('<div class="group last buttons">');T.push('<div style="white-space: nowrap">');T.push('<input type="button" id="newsPickerDoneButton" value="Done">');T.push(" ");T.push('<input type="button" id="newsPickerSaveButton" value="Make default">');T.push("</div>");T.push('<div id="newsPickerBasicModeSwitch" style="padding-top: 5px; cursor: pointer">');T.push('<span class="textButton">');T.push("&laquo; Go back to basic mode");T.push("</span>");T.push("</div>");T.push("</div>")}function r(){var T=[];S(T);T.push('<div id="newsPickerBasicMode" class="basicMode">');s(T);T.push("</div>");T.push('<div id="newsPickerAdvancedMode" class="advancedMode" style="display: none;">');f(T);T.push("</div>");t(T);return T.join("")}function K(){var T=[];T.push('<div class="newsTagPicker">');T.push('<table boder="0" cellspacing="0" cellpadding="0">');T.push("<tr>");T.push('<td class="mainLabel">');T.push("Filter news:");T.push("</td>");T.push('<td class="pickerContainer">');T.push('<div class="picker">');T.push('<div id="newsPickerButton" class="button">');T.push(B());T.push("</div>");T.push(r());T.push("</div>");T.push("</td>");T.push("</tr>");T.push("</table>");T.push('<a href="/feeds" class="rss">');T.push('<img src="'+Utils.createAssetUrl("/resources/images/news-header-rss-icon.png",true)+'" border="0" alt="RSS Feeds" width="16" height="16">');T.push("</a>");T.push("</div>");document.write(T.join(""));var V=false;var X=$("#newsPickerDropdown");var U=function(Y){if(!$.contains(X.get(0),Y.target)){X.hide();$(document).unbind("click",U)}};$("#newsPickerButton").click(function(Y){var Z=$("#newsPickerDropdown");if(!V){Z.show();$(document).click(U);Y.stopPropagation();V=true}else{$(document).unbind("click",U);Z.hide();V=false}});$("#newsPickerDoneButton").click(function(){if(V){$(document).unbind("click",U);X.hide();V=false}});$("#newsPickerSaveButton").click(function(){x();w(true);var Z=$(this);var Y=$("<span/>").addClass("saving").text("Saving ...");Z.before(Y).hide();setTimeout(function(){Y.remove();Z.show()},500)});$("#"+M()).click(function(){var Y=$(this).is(":checked");L(Y)});ArrayUtils.forEach(m,function(Y){$("#"+p(Y)).click(function(){F();N();C();u(true);w(false)})});ArrayUtils.forEach(m,function(Y){var Z=$("#"+D(Y)).closest("div");Z.mouseover(function(){q(Y)});Z.mouseout(function(){h()});Z.click(function(){o(Y);F();N();C();u(false);$(document).unbind("click",U);X.hide();V=false})});var W=$("#"+D({name:"All"})).closest("div");W.click(function(){L(true);$(document).unbind("click",U);X.hide();V=false});$("#newsPickerAdvancedModeSwitch").click(function(){$("#newsPickerBasicMode").hide();$("#newsPickerAdvancedMode").fadeIn("fast")});$("#newsPickerBasicModeSwitch").click(function(){$("#newsPickerAdvancedMode").hide();$("#newsPickerBasicMode").fadeIn("fast")})}function M(){return"newsPickerTagCheckboxAll"}function e(){return"newsPickerTagLabelAll"}function D(T){return"newsPickerTag_"+T.name}function p(T){return"newsPickerTagCheckboxTag_"+T.name}function g(T){return"newsPickerTagLabelTag_"+T.name}function k(T){ArrayUtils.forEach(m,function(U){$("#"+g(U)).css("opacity",T.name==U.name?1:0.33)})}function O(){ArrayUtils.forEach(m,function(T){$("#"+g(T)).css("opacity",1)})}function q(T){ArrayUtils.forEach(m,function(U){$("#"+D(U)).css("opacity",T.name==U.name?1:0.33)})}function h(){ArrayUtils.forEach(m,function(T){$("#"+D(T)).css("opacity",1)})}function y(){if(!H){n=ArrayUtils.sum(l,function(T){return T.news.length});H=true}return n}function d(){if(!A){var T={};ArrayUtils.forEach(m,function(U){if(U.visible){T[U.name]=true}});v=ArrayUtils.sum(l,function(U){return ArrayUtils.count(U.news,function(V){return !V.tag||T[V.tag]})});A=true}return v}function z(){return y()==d()}function b(){return ArrayUtils.count(m,function(T){return T.visible})}function J(){return b()==m.length}function N(){var T=$("#"+M());if(J()){T.attr("checked","checked")}else{T.removeAttr("checked")}}function L(T){ArrayUtils.forEach(m,function(U){var V=$("#"+p(U));if(T){V.attr("checked","checked")}else{V.removeAttr("checked")}});C();F();u(false);w(false)}function o(T){ArrayUtils.forEach(m,function(U){if(T.name==U.name){$("#"+p(U)).attr("checked","checked")}else{$("#"+p(U)).removeAttr("checked")}})}function F(){ArrayUtils.forEach(m,function(T){var U=$("#"+p(T));T.visible=U.is(":checked")});A=false}function C(){$("#newsPickerButton").text(B())}function B(){var U=y();var T=d();if(T==U){return"All news stories shown ("+U+")"}else{if(T>0){return T+" out of "+U+" "+Utils.stringCount(T,"news story","news stories")+" shown"}else{return"All news stories hidden ("+U+")"}}}function u(U){var V={};ArrayUtils.forEach(m,function(W){if(W.visible){V[W.name]=true}});ArrayUtils.forEach(l,function(W){var X=$("#"+W.htmlElementId);var Y=ArrayUtils.count(W.news,function(Z){return !Z.tag||V[Z.tag]});if(Y==0){if(U){X.stop(true,false).fadeOut("fast")}else{X.hide()}ArrayUtils.forEach(W.news,function(aa){var Z=$("#"+aa.htmlElementId);Z.stop(true,false)})}else{if(Y==W.news.length){ArrayUtils.forEach(W.news,function(aa){var Z=$("#"+aa.htmlElementId);Z.stop(true,false).show()});if(U){X.stop(true,false).fadeIn("fast")}else{X.show()}}else{X.stop(true,false).show();ArrayUtils.forEach(W.news,function(aa){var Z=$("#"+aa.htmlElementId);if(!aa.tag||V[aa.tag]){if(U){Z.stop(true,false).fadeIn("fast")}else{Z.show()}}else{if(U){Z.stop(true,false).fadeOut("fast")}else{Z.hide()}}})}}});var T=ArrayUtils.count(m,function(W){return W.visible});if(T==0||d()==0){$("div.mainContent div.news").append($("<div/>").addClass("noNews").text(T==0?"You have removed all news tags. Please select at least one tag to see some news.":"There is no news corresponding to your selection of tags."))}else{$("div.mainContent div.news div.noNews").remove()}}function R(){var T=DprCookieUtils.getCookie(I);if(T){if(T=="[none]"){ArrayUtils.forEach(m,function(V){V.visible=false})}else{var U=T.split(/\s+/);ArrayUtils.forEach(m,function(V){V.visible=ArrayUtils.contains(U,V.name)})}}else{ArrayUtils.forEach(m,function(V){V.visible=true})}}function x(U){var V=ArrayUtils.filter(m,function(W){return W.visible});var T=ArrayUtils.isEmpty(V)?"[none]":V.map(function(W){return W.name}).join(" ");DprCookieUtils.setCookie(I,T,{path:"/",expires:60});clearTimeout(P);P=setTimeout(function(){logCookie(V)},j*1000)}function w(T){var U=ArrayUtils.filter(m,function(V){return V.visible});clearTimeout(P);if(T){c(U,true)}else{P=setTimeout(function(){var V=!a||!ArrayUtils.equal(U,Q,function(W){return W.name});if(V){c(U,false);a=true;Q=U}},j*1000)}}function c(U,T){var V=ArrayUtils.map(U,function(W){return W.name}).join(" ");$.get("/news/logtagschange.asp",{tags:V,persistent:T?"true":"false"})}}(function(){function a(w){var p=w.categories;var d="news_filter";var s="/";C();function C(){j()}function F(G){G.push('<table border="0" cellspacing="0" cellpadding="0" class="darkMenu dropdownMenu" id="newsFilterPickerDropdown">');G.push("<tr>");G.push('<td class="shadow11"><div></div></td>');G.push('<td class="shadow12"><div></div></td>');G.push('<td class="shadow13"><div></div></td>');G.push("</tr>");G.push("<tr>");G.push('<td class="shadow21"><div></div></td>');G.push('<td class="shadow22">')}function t(G){G.push("</td>");G.push('<td class="shadow23"><div></div></td>');G.push("</tr>");G.push("<tr>");G.push('<td class="shadow31"><div></div></td>');G.push('<td class="shadow32"><div></div></td>');G.push('<td class="shadow33"><div></div></td>');G.push("</tr>");G.push("</table>")}function x(G){G.push('<div class="group first categories">');G.push('<div class="category">');G.push('<span class="category categoryAll" id="'+e({id:"All"})+'">');G.push(StringUtils.htmlEncode("All"));G.push("</span>");G.push("</div>");ArrayUtils.forEach(p,function(H){G.push('<div class="category">');G.push('<span class="category category'+H.id+'" id="'+e(H)+'">');G.push(StringUtils.htmlEncode(H.label.toUpperCase()));G.push("</span>");G.push("</div>")});G.push("</div>");G.push('<div class="group last buttons" id="newsFilterPickerAdvancedModeSwitch">');G.push('<span class="textButton">Advanced mode &raquo;</span>');G.push("</div>")}function A(G){G.push('<div class="group first categories">');G.push('<table boder="1" cellspacing="0" cellpadding="0">');G.push("<tr>");G.push('<td class="checkbox">');G.push('<input type="checkbox" '+(q()?'checked="checked"':"")+' id="'+k()+'">');G.push("</td>");G.push('<td class="category">');G.push('<label for="'+k()+'" id="'+o()+'">');G.push('<span class="category">All</span>');G.push("</label>");G.push("</td>");G.push("</tr>");ArrayUtils.forEach(p,function(H){G.push("<tr>");G.push('<td class="checkbox">');G.push('<input type="checkbox" '+(H.selected?'checked="checked" ':"")+'id="'+c(H)+'">');G.push("</td>");G.push('<td class="category">');G.push('<label for="'+c(H)+'" id="'+l(H)+'">');G.push('<span class="category category'+H.id+'">'+StringUtils.htmlEncode(H.label.toUpperCase())+"</span>");G.push("</label>");G.push("</td>");G.push("</tr>")});G.push("</table>");G.push("</div>");G.push('<div class="group last buttons">');G.push('<div style="white-space: nowrap">');G.push('<input type="button" id="newsFilterPickerDoneButton" value="Done">');G.push(" ");G.push('<input type="button" id="newsFilterPickerSaveButton" value="Make default">');G.push("</div>");G.push('<div id="newsFilterPickerBasicModeSwitch" style="padding-top: 5px; cursor: pointer">');G.push('<span class="textButton">');G.push("&laquo; Go back to basic mode");G.push("</span>");G.push("</div>");G.push("</div>")}function B(){var G=[];F(G);G.push('<div id="newsFilterPickerBasicMode" class="basicMode"'+(z()?' style="display: none"':"")+">");x(G);G.push("</div>");G.push('<div id="newsFilterPickerAdvancedMode" class="advancedMode"'+(!z()?' style="display: none"':"")+">");A(G);G.push("</div>");t(G);return G.join("")}function j(){var G=[];G.push('<div class="newsHomepageCategoryPicker">');G.push('<table boder="0" cellspacing="0" cellpadding="0">');G.push("<tr>");G.push('<td class="mainLabel">');G.push("Filter news:");G.push("</td>");G.push('<td class="pickerContainer">');G.push('<div class="picker">');G.push('<div id="newsFilterPickerButton" class="button">');G.push(m());G.push("</div>");G.push(B());G.push("</div>");G.push("</td>");G.push("</tr>");G.push("</table>");G.push('<a href="/feeds" class="rss">');G.push('<img src="'+Utils.createAssetUrl("/resources/images/news-header-rss-icon.png",true)+'" border="0" alt="RSS Feeds" width="16" height="16">');G.push("</a>");G.push("</div>");document.write(G.join(""));var I=false;var J=$("#newsFilterPickerDropdown");var H=function(K){if(!$.contains(J.get(0),K.target)){J.hide();$(document).unbind("click",H);i();u();I=false}};$("#newsFilterPickerButton").click(function(K){var L=$("#newsFilterPickerDropdown");if(!I){L.show();$(document).click(H);K.stopPropagation();I=true}else{L.hide();$(document).unbind("click",H);i();u();I=false}});$("#"+e({id:"All"})).closest("div").click(function(){D(null,true)});ArrayUtils.forEach(p,function(K){$("#"+e(K)).closest("div").mouseover(function(){h(K)}).mouseout(function(){v()}).click(function(){D([K],true)})});$("#"+k()).click(function(){var K=$(this).prop("checked");y(K)});ArrayUtils.forEach(p,function(K){$("#"+c(K)).click(function(){u()})});$("#newsFilterPickerDoneButton").click(function(){var K=n();if(ArrayUtils.isEmpty(K)){alert("Please select at least one category.");return}D(K,true)});$("#newsFilterPickerSaveButton").click(function(){var K=n();if(ArrayUtils.isEmpty(K)){alert("Please select at least one category.");return}b(K);D(null,false)});$("#newsFilterPickerAdvancedModeSwitch").click(function(){$("#newsFilterPickerBasicMode").hide();$("#newsFilterPickerAdvancedMode").fadeIn("fast")});$("#newsFilterPickerBasicModeSwitch").click(function(){$("#newsFilterPickerAdvancedMode").hide();$("#newsFilterPickerBasicMode").fadeIn("fast")})}function k(){return"newsPickerTagCheckboxAll"}function o(){return"newsPickerTagLabelAll"}function e(G){return"newsFilterPickerBasic_"+G.id}function c(G){return"newsFilterPickerAdvancedCheckbox_"+G.id}function l(G){return"newsFilterPickerAdvancedLabel_"+G.id}function r(G){ArrayUtils.forEach(p,function(H){$("#"+l(H)).css("opacity",G.id==H.id?1:0.33)})}function E(){ArrayUtils.forEach(p,function(G){$("#"+l(G)).css("opacity",1)})}function h(G){ArrayUtils.forEach(p,function(H){$("#"+e(H)).css("opacity",G.id==H.id?1:0.33)})}function v(){ArrayUtils.forEach(p,function(G){$("#"+e(G)).css("opacity",1)})}function q(){return ArrayUtils.all(p,function(G){return G.selected})}function f(){return ArrayUtils.count(p,function(G){return G.selected})}function g(){$("#newsFilterPickerButton").text(m())}function m(){if(q()){return"All news stories shown"}else{return"Custom filter applied"}}function n(){return ArrayUtils.map(p,function(G){var H=$("#"+c(G));return H.prop("checked")?G:null})}function u(){var G=ArrayUtils.all(p,function(H){var I=$("#"+c(H));return I.prop("checked")});$("#"+k()).prop("checked",G)}function y(G){ArrayUtils.forEach(p,function(H){var I=$("#"+c(H));I.prop("checked",G)})}function i(){ArrayUtils.forEach(p,function(G){$("#"+c(G)).prop("checked",G.selected)})}function D(H,J){var I;if(!J){I=s}else{if(ArrayUtils.isEmpty(H)){if(z()){I=UrlUtils.buildUrl(s,{category:"all"})}else{I=UrlUtils.buildUrl(s)}}else{var G=ArrayUtils.map(H,function(K){return K.id});I=UrlUtils.buildUrl(s,{category:G})}}location.href=I}function z(){return !!DprCookieUtils.getCookie(d)}function b(H){var I=ArrayUtils.map(H,function(J){return J.id});if(ArrayUtils.isEmpty(I)||I.length==p.length){CookieUtils.setCookie(d,null)}else{var G=I.join(",");CookieUtils.setCookie(d,G,{path:"/",expires:60})}}}window.HomepageNews=a})();
