/*
  SMH Custom extension
      VERSION: 1.0
    CHANGELOG:
      20071207 - Updated to Mootools v1.2 syntax
               - Removed need for countless plugins by creating custom versions.
               - Compressed file
      20080111 - Updated Fader to use a display:none class on the li rather than scroll the whole ul left or right.
      20080310 - Added Advertisement Metadata
      20080507 - Removed Advertisement Metadata
	  20080722 - Added routines for comment form (validation, display toggle)
	  20080930 - Added functions for poll
	  20081112 - Added filter to not add hooks to static version of cN-groupNavigator
	  20081117 - Added toggler code for manually initiated horizontal toggle wofs (Europa skin)
	  20081217 - Added generic rotator code
	  20090123 - Added stylesheet switcher
	  20090206 - Added function 'resetToggler' as supplied by Behrang
	  20090309 - Added function '_initSearchBox' for masthead search box
	  20090312 - Fix rotateList function
	  20090319 - Added function '_initWofToggle'
	  20090330 - Updated 'Low vision' to 'High contrast'
	  20090501 - Added function '_initTagCloud'
	  20090514 - Added function '_initSocialCommenting'
	  20090528 - Updated 'initSearchBox' to attach to elements with classes instead of ids
	  20090602 - Removed function '_initShareLinks'
	  20090616 - Fixed bug in function '_swapTab'
	  20090714 - Removed '_initShowCommentForm'; added '_initComments'
	  20090728 - Re-inserted function '_initShareLinks' (required for video page)
	  20090828 - Updated _initSearchBox: test for class, not for display property
	  20090819 - Added tab changes to allow third party tracking calls
	  20090819 - Simplified and fixed search drop downs.
	  20090930 - Added '_initTabs2', successor of _initTabs; updated '_initQuotes'
	  20091019 - Added '_initDropdown' for accessible dropdown menues
      20091202 - Added '_toggleHidden' as more generic routine to '_toggleLI'
	  20100201 - Updated _initSocialCommenting function to work with 'scriptable'
	  20100209 - Added an expanding SEO box
	  20100217 - Added handling for default values in textboxes
	  20100301 - Changed  _initRotator/_rotateList to randomise first element
*/
var siteAdvertDesc={redir:"/adredirect.html?ad="};if(window.FD){if(window.Fx&&Fx.Styles){Fx.Morph=Fx.Styles}if(!window.Client&&window.Browser){Client=Browser}FD.smhage=new Class({options:{aSHeight:366,duration:250,classCurrent:"current"},initialize:function(){this._initDropdown();this._initSearchBox();this._initSocialCommenting();this._initShareLinks();this._initSlider();this._initQuotes();this._initAllSections();this._initTabs();this._initTabs2("div.cN-tabPages > ul.nav > li > a");this._initFormValidation();
this._initTextFieldDefaults();this._initComments();this._initNavigators();this._initMatchingSections();this._initToggler();this._toggleHidden(".cS-rateMetadata");this._initRotator(".rotator");this._initStylesheetSwitcher();this._initWofToggle();this._initTagCloud();this._initRater();this._initExternalParams();this._initITunes();this._initSeoExpand()},_initDropdown:function(){var A=$$(".hasDropdown");A.addEvents({mouseenter:function(B){this.getElement("ul").addClass("selected")},mouseleave:function(B){this.getElement("ul").removeClass("selected")
}});$$(".hasDropdown a").addEvent("focus",function(){this.getParent().getChildren("ul").addClass("selected")});$$(".hasDropdown .last a").addEvent("blur",function(){A.getElement("ul").removeClass("selected")})},_initSearchBox:function(){var A=$$("ul.ddown");if(A){A.addEvent("click",this.ddown.bindWithEvent(this));A.addEvent("mouseleave",this.closeDdown.bindWithEvent(this))}},ddown:function(F){if(F&&F.target){var A=$(F.target);F.stop();if(A.get("href")){A=A.getParent()}var E=A.getParents("ul"),E=E[E.length-1],B=A.getElement("ul");
if(B){E.toggleClass("open");return }var D=A.getChildren("a").get("text"),C=E.getElement("a.selected");if(C){C.set("text",D)}E.removeClass("open");E.getParent().getChildren("input[name='ss']").set("value",D)}},closeDdown:function(B){var A=$(B.target).getParent("ul");if(A){A.removeClass("open")}},_initQuotes:function(){var A=$("masthead");if(A){A=A.getElements("blockquote");var B=(A.length>1)?Math.floor(Math.random()*(A.length)+1)-1:0;if(A[B]){A[B].setStyles({display:"block",visibility:"visible"})}}},_initAllSections:function(){var A=$("allSections");
var C=$("allSectionsWrap");var B=$("allSectionsContent");if(A&&C&&B){this.options.aSOpenText=A.innerHTML;A.addEvent("click",this.toggleAllSections.bindWithEvent(this));C.empty().innerHTML=B.innerHTML}},getASW:function(){return $("allSectionsWrap")},toggleAllSections:function(B){new Event(B).stop();var A=this.getASW();if(A&&!this.asChanging){if(A.getStyle("height").toInt()==0){this.openAllSections(A)}else{this.closeAllSections(A)}}},openAllSections:function(B){this.asChanging=true;B.setStyle("border-width","1px 1px 1px 1px");
var A=new Fx.Morph(B,$extend(this.options,{onComplete:this.allSectionsComplete.bind(this)}));A.start({height:[0,this.options.aSHeight]})},closeAllSections:function(B){this.asChanging=true;var A=new Fx.Morph(B,$extend(this.options,{onComplete:this.allSectionsComplete.bind(this,B)}));A.start({height:[this.options.aSHeight,0]})},allSectionsComplete:function(A){if(A){this.asChanging=false;var B=A.innerHTML;if(A.getStyle("height").toInt()!=this.options.aSHeight){A.empty().innerHTML=B.replace(/Hide/ig,"Show");
A.setStyle("border-width","1px 0 0 0")}else{A.empty().innerHTML=B.replace(/Show/ig,"Hide")}}},_initSlider:function(){this.sliderPos=0;var A=$("woffRotator_parent");if(A){this.slCount=A.getElements("li").length;this.addSliderTimeout();A.addEvent("mouseover",function(){$clear(this.sliderTimeout)}.bind(this));A.addEvent("mouseleave",this.addSliderTimeout.bind(this));A.getElements("a.fdScrollPrevItem").addEvent("click",this._moveSlider.bind(this,-1));A.getElements("a.fdScrollNextItem").addEvent("click",this._moveSlider.bind(this,1))
}},_moveSlider:function(A){if(!this.sliding&A){this.sliding=true;var B=new Fx.Morph($("woffRotator_holder"),$merge(this.options,{duration:550,onComplete:this._moveSliderComplete.bind(this,A)})).start({opacity:0})}},_moveSliderComplete:function(B){var C=this.sliderPos+B;var F=0;var E=$("woffRotator");var A=E.getElements("li");A[this.sliderPos].removeClass(this.options.classCurrent);if(C==this.slCount){C=0}else{if(C<0){C=this.slCount-1}}this.sliderPos=C;A[this.sliderPos].addClass(this.options.classCurrent);
var D=new Fx.Morph($("woffRotator_holder"),$merge(this.options,{duration:450,onComplete:this._setFadeComplete.bind(this)})).start({opacity:1})},_setFadeComplete:function(){this.sliding=false},addSliderTimeout:function(){this.sliderTimeout=this._moveSlider.periodical(7000,this,1)},_initToggler:function(){var B=$$(".woffToggler");this.aTogglers=[];if(B){for(var A=0,C=B.length;A<C;A++){B[A].addEvent("click",this._toggleList.create({bind:this,event:true,arguments:B[A]}));this.aTogglers.push(B[A].id);
B[A].removeClass("accessibleToggler");B[A].left=0;B[A].elementsPerScreen=3;B[A].liCount=B[A].getElements("div ul").getElements("li")[0].length;B[A].width=291}}},_toggleList:function(C,B){if(C&&C.target&&$(B.id)){var A=$(C.target);if(A.href&&A.href.test("#$")){new Event(C).stop()}if(!A.href){A=A.getFirst()}if(!A){return }var E=A.getParent().className;var D=$(B.id).getElement("div ul");if(E.test("previous")){A.getParent().getParent().getElements("li.next").removeClass("hidden");B.left+=B.width;if(B.left>=0){A.getParent().addClass("hidden")
}else{A.getParent().removeClass("hidden")}}if(E.test("next")){A.getParent().getParent().getElements("li.previous").removeClass("hidden");B.left-=B.width;if(B.left<=-((Math.ceil(B.liCount/B.elementsPerScreen)-1)*B.width)){A.getParent().addClass("hidden")}else{A.getParent().removeClass("hidden")}}new Fx.Morph(D,{duration:550}).start({left:B.left})}},_initRotator:function(D){var E=$$(D);this.aTogglers=[];if(E){for(var C=0,F=E.length;C<F;C++){E[C].addEvent("click",this._rotateList.create({bind:this,event:true,arguments:E[C]}));
this.aTogglers.push(E[C].id);E[C].removeClass("accessibleRotator");var B=E[C].getElements("[class*='tab']");E[C].liCount=B.length;E[C].currentElement=Math.floor(Math.random()*(E[C].liCount)+1);for(var A=0;A<E[C].liCount;A++){B[A].removeClass("selected")}B[E[C].currentElement-1].addClass("selected")}}},_rotateList:function(D,C){if(D&&D.target){var A=$(D.target);if(A.href&&A.href.test("#$")){new Event(D).stop()}if(!A.getParent().className.test("previous")&&!A.getParent().className.test("next")){return
}var E=A.getParent().className;var B=C.currentElement;if(E.test("previous")){C.currentElement-=1;if(C.currentElement==0){C.currentElement=C.liCount}}if(E.test("next")){C.currentElement+=1;if(C.currentElement>C.liCount){C.currentElement=1}}C.getElement(".tab"+C.currentElement).addClass("selected");C.getElement(".tab"+B).removeClass("selected")}},_initTabs:function(){var C=$$("a.cN-externalTarget");for(var B=0;B<C.length;++B){C[B].addEvent("click",this._sendTracking.create({bind:this,event:true}))}var A=$$("ul.cN-tabBox");
this.tabIDs=[];if(A){for(var B=0,D=A.length;B<D;B++){A[B].addEvent("click",this._swapTab.create({bind:this,event:true,arguments:A[B].id}));this.tabIDs.push(A[B].id);A[B].removeClass("accessibleTab")}}},_swapTab:function(C,D){if(C&&C.target&&$(D)){var A=$(C.target);if(A.href&&A.href.test("#$")){new Event(C).stop()}if(!A.href){A=A.getFirst()}if(!A||A.getParent().tagName!="H4"){return }var B=$(D).getChildren().removeClass("selected");A.getParent().getParent().addClass("selected")}},_initTabs2:function(G){var F=$$(G);
if(F){for(var E=0,H=F.length;E<H;E++){F[E].addEvent("click",function(){if(this.getParent("li").hasClass("selected")){return false}var I=this.get("href");I=I.substr(I.indexOf("#")+1,I.length);this.getParent("ul").getChildren("li").removeClass("selected");this.getParent("li").addClass("selected");this.getParent("div").getChildren("div").removeClass("selected");$(I).addClass("selected");return false});var D=F[E].get("href");if(D.indexOf("#content")>-1){var C=D.substr(D.indexOf("#content-")+9,D.length);
var B=$("content-"+C);var A=$(C);if((A.innerHTML=="")&&B){A.set("html",B.get("html"));B.innerHTML=""}F[E].set("href","#"+C)}}}},_sendTracking:function(D){if(D&&D.target){var A=$(D.target);var C=new Element("img");var B=A.href;B=B.replace("#","");C.src=this._paramsForExterntracking(B)}},_paramsForExterntracking:function(C,E,D){var B=FD.baseAd.params;if(B){if(B.ctype){if(E&&E==true){C+="?pageType="+B.ctype}else{C+="&pageType="+B.ctype}}if(B.area){C+="&section="+B.area}}if(D&&D==true){}else{var A=Math.floor(Math.random()*10000);
C+="&rand="+A}return C},_initExternalParams:function(){var C=$$("a.applyParamsForExternal");if(C){for(var B=0;B<C.length;++B){if(C[B].href.contains("#")){var A=new Array();A=C[B].href.split("#");C[B].href=A[1]}C[B].href=this._paramsForExterntracking(C[B].href);C[B].href=C[B].href.clean()}}var C=$$("a.applyFirstParamsForExternalNoRand");if(C){for(var B=0;B<C.length;++B){C[B].href=this._paramsForExterntracking(C[B].href,true,true);C[B].href=C[B].href.clean()}}},_initShareLinks:function(){var C=$("shareLink");
if(C){var B=C.getElement("ul");var A=$("mobileLinks");C.addEvent("mouseenter",function(){B.setStyle("visibility","visible");A.setStyle("visibility","hidden")});C.addEvent("mouseleave",function(){B.setStyle("visibility","hidden");A.setStyle("visibility","visible")});C.getParent().removeClass("accessibleStoryTools")}},_initTextFieldDefaults:function(){var C=$$("form.usedefaults");if(C){for(var E=0,F=C.length;E<F;E++){var B=C[E].getElements("input[type=text]");if(B){C[E].addEvent("submit",this.cleanFormDefaults.bind(this,C[E]));
for(var D=0,A=B.length;D<A;D++){B[D].addEvent("focus",this.hideDefault.bind(this,B[D]));B[D].addEvent("blur",this.showDefault.bind(this,B[D]))}}}}},cleanFormDefaults:function(C){var A=C.getElements("input[type=text]");for(var B=0,D=A.length;B<D;B++){if(A[B].value==A[B].defaultValue){A[B].value=""}}},hideDefault:function(A){if(A.value==A.defaultValue){A.value=""}},showDefault:function(A){if(A.value==""){A.value=A.defaultValue}},_initFormValidation:function(){var C=$$("form.validate-form");if(C){for(var E=0,G=C.length;
E<G;E++){var B=C[E].getElements(".validate");for(var D=0,A=B.length;D<A;D++){this.assignEvent(B[D])}var F=C[E].getElement("li.submit").getElements(".valDisabled");for(var D=0,A=F.length;D<A;D++){F[D].disabled=true}C[E].removeClass("accessibleComment")}}},assignEvent:function(A){A.addEvent("blur",this.validate.bind(this,A));A.isValid=false},validate:function(H){var A=H.className.split(" ");myregexp=/^val\w+/;var B=new Array();for(var C=0,E=A.length;C<E;C++){if(A[C].test(myregexp)){B.push(A[C])}}var F=["valRequired","valAlpha","valNumber","valEmail"];
var I=true;var G=false;H.valRequired=(B.indexOf("valRequired")==-1)?false:true;for(var D=0,E=F.length;D<E;D++){if(B.indexOf(F[D])!=-1){G=this[F[D]](H);I=(I&&G)}}if((H.valRequired==false)&&(this.valRequired(H)==false)){I=true}H.isValid=I;this.toggleErrorMessage(H,I)},valRequired:function(A){if(A.value==""||A.value==null){A.isEmpty=true;return false}return true},valAlpha:function(A){var B=/^([\w\xc0-\xff](\s)?)+$/;if(!A.value.test(B)){return false}return true},valNumber:function(A){var C=A.value;if(isNaN(C)||C==""){return false
}var B=/^([0-9])+$/;if(!C.test(B)){return false}return true},valEmail:function(B){var D=B.value;if(D.length>0){var G=D.indexOf("@");if(G>0){var H=D.lastIndexOf("@");if(G==H){var C=D.substr(0,H+1);var F=/^([a-zA-Z0-9_\.\-\+])+\@/;if(!F.test(C)){return false}}else{return false}}else{return false}var E=D.substr(D.indexOf("@")+1,D.length);var A=/^(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;if(!A.test(E)){return false}return true}else{return false}},toggleErrorMessage:function(D,B){var F=D.getParent().getElement("span.error");
if(F){if(B==true){F.removeClass("errorSelected")}else{F.addClass("errorSelected")}}var G=D.getParent().getParent().getElement("li.submit").getElement(".valDisabled");var C=D.getParent("form").getElements("input.validate");var A=true;for(var E=0,H=C.length;E<H;E++){A=(A&&C[E].isValid)}G.disabled=(!A)},_initComments:function(){var A=$("comments");if(A){A.addEvent("click",this.toggleForm.bindWithEvent(this))}},toggleForm:function(D){var C=$(D.target);if(D&&C){if(C.hasClass("btnScreen")){var B=C.href;
B=B.substr(B.lastIndexOf("#")+1);var A=$(B);if(A){D.stop();A.toggleClass("show")}}}},_initNavigators:function(){var C=$$("div.cN-groupNavigator");if(C){for(var A=0,B=C.length;A<B;A++){if(C[A].className.indexOf("static")==-1){C[A].addEvent("click",this._toggleNavigator.create({bind:this,event:true,arguments:C[A]}));C[A].removeClass("accessible")}}}},_toggleNavigator:function(C,B){if(C&&C.target&&B){var A=$(C.target);if(A&&(((A.tagName=="A")&&(A.getParent().tagName=="H4"))||((A.tagName=="SPAN")&&(A.getParent().getParent().tagName=="H4")))){new Event(C).stop();
if(B.className.indexOf("open")==-1){B.addClass("open")}else{B.removeClass("open")}window.fireEvent("expandingNavigator");return }if(A&&(A.getParent().className.indexOf("more")!=-1)){new Event(C).stop();this.toggleLI(A)}if(A&&(A.getParent().getParent().tagName=="OL")){new Event(C).stop();A.getParent("ol.selected").addClass("hide");A.getParent("div").addClass("open")}window.fireEvent("expandingNavigator")}},toggleLI:function(A){var B=A.getParent("ul").getElements("li.hide");if(B.length>0){B.removeClass("hide");
B.addClass("show");this.toggleHTML(A);A.getParent().addClass("less");return }B=A.getParent("ul").getElements("li.show");if(B.length>0){B.removeClass("show");B.addClass("hide");this.toggleHTML(A);A.getParent().removeClass("less")}},_toggleHidden:function(B){var C=$$(B);if(C){for(var A=0,D=C.length;A<D;A++){C[A].addEvent("click",this._toggleElement.create({bind:this,event:true,arguments:C[A]}))}}},_toggleElement:function(B,A){hiddenEle=A.getElements(".hide");if(A.getElement(".more")){anchor=A.getElement(".more").getElement("a")
}else{anchor=false}if(hiddenEle.length>0){hiddenEle.removeClass("hide");hiddenEle.addClass("show");if(anchor){this.toggleHTML(anchor);A.getElement(".more").addClass("less")}return }hiddenEle=A.getElements(".show");if(hiddenEle.length>0){hiddenEle.removeClass("show");hiddenEle.addClass("hide");if(anchor){this.toggleHTML(anchor);A.getElement(".more").removeClass("less")}}},resetToggler:function(A){A.liCount=A.getElements("div ul").getElements("li")[0].length;var B=$(A.id).getElement("div ul");B.setStyle("left","0");
A.left=0;if(A.liCount<A.elementsPerScreen){A.getElement("ul.nav").addClass("hidden")}else{A.getElement("ul.nav").removeClass("hidden")}A.getElement("li.previous").addClass("hidden");A.getElement("li.next").removeClass("hidden")},toggleHTML:function(A){var B=A.innerHTML;if(B.indexOf("More")!=-1){A.innerHTML=B.replace("More","Less");return }if(B.indexOf("Less")!=-1){A.innerHTML=B.replace("Less","More");return }if(B.indexOf("more")!=-1){A.innerHTML=B.replace("more","less");return }if(B.indexOf("less")!=-1){A.innerHTML=B.replace("less","more");
return }if(B.indexOf("Set")!=-1){A.innerHTML=B.replace("Set","Close");return }if(B.indexOf("Close")!=-1){A.innerHTML=B.replace("Close","Set");return }if(B.indexOf("Show")!=-1){A.innerHTML=B.replace("Show","Hide");return }if(B.indexOf("Hide")!=-1){A.innerHTML=B.replace("Hide","Show");return }},_initMatchingSections:function(){var C=$$("div.cT-matchingSections");if(C){for(var A=0,B=C.length;A<B;A++){C[A].addEvent("click",this._toggleNavigator.create({bind:this,event:true,arguments:C[A]}));C[A].removeClass("accessible")
}}},_initStylesheetSwitcher:function(){var A=$$(".vision");if(A){A.addEvent("click",this._swapCSS.bind(this))}},_swapCSS:function(G){if(G&&G.target){var A=$(G.target);G.stop();if(A.get("href")){A=A.getParent()}var B=A.getFirst();var D="High Contrast";var C=$$("head link");var F=(B.get("text")==D)?false:true;var E;for(i=0;(o=C[i]);i++){if("alternate stylesheet"===o.getAttribute("rel")&&(E=o.getAttribute("title"))){o.disabled=true;if(F==false){o.disabled=(E==D);B.set("text","Normal Contrast")}else{o.disabled=(E!==D);
B.set("text","High Contrast")}}}}},_initWofToggle:function(){var A=$$("div.fdVideoWof");var B=A.length;if(B>0){for(var C=0;C<B;C++){var D=A[C].getElement("h4").getElement("span");if(D){D.innerHTML='<a href="#">'+D.innerHTML+"</a>";D.addEvent("click",this._showWoff.bindWithEvent(this,A[C]))}A[C].removeClass("accessibleWof")}}},_showWoff:function(C,B){if(C&&C.target){C.stop();var A=B.getElement("p").getStyle("position");if(A=="absolute"){B.getElement("p").setStyle("position","static")}else{B.getElement("p").setStyle("position","absolute")
}}},_initTagCloud:function(){var A=$$(".cS-tagCloud");if(A.length<1){return }A.each(function(F){var C=F.getElements(".cloud");if(C.length<1){var H=new Array();F.getElements("ol li").each(function(J,I){H.push(J.clone().addClass("weight-"+(I+1)))});H.sort(function(J,I){aa=String(J.get("text")).toLowerCase();bb=String(I.get("text")).toLowerCase();if(aa>bb){return 1}else{if(aa<bb){return -1}else{return 0}}});var D=new Element("ul",{"class":"cloud"});H.each(function(I){D.appendChild(I)});F.appendChild(D)
}var E=new Element("a",{href:"javascript:void(0);",text:"Tag cloud",events:{click:function(){this.getParent(".cS-tagCloud").removeClass("display-list").addClass("display-cloud")}}});var G=E.clone().set("text","List").addEvent("click",function(){this.getParent(".cS-tagCloud").removeClass("display-cloud").addClass("display-list")});var B=new Element("ul",{"class":"controller"});B.appendChild(new Element("li",{"class":"cCloud"})).appendChild(E);B.appendChild(new Element("li",{"class":"cList"})).appendChild(G);
B.inject(F.getElements("h3")[0],"after")})},_initSocialCommenting:function(){var F=$$("div.cT-socialCommenting");if(F.length==0){return }for(var C=0,B=F.length;C<B;C++){var A=F[C].getElement("h4");if(A){var E=new Element("a",{href:"javascript:void(0);",text:A.textContent});A.textContent="";E.inject(A,"bottom");A.addEvent("click",this._toggleElem.create({bind:this,event:true,arguments:[F[C],"ol"]}));this._addCloseButton(F[C],"ol")}var D=F[C].getElement("p.tellFriends");if(D){D.addEvent("click",this._toggleElem.create({bind:this,event:true,arguments:[F[C],"ul"]}));
this._addCloseButton(F[C],"ul")}}},_toggleElem:function(D,C,B){var A=C.getElement(B);if(A.getStyle("left")=="0px"){A.removeClass("show")}else{A.addClass("show");var E=A.getElement(".close");E.addEvent("click",function(F){F.stop();A.removeClass("show")})}},_addCloseButton:function(C,B){var D=new Element("a",{href:"javascript:void(0);",text:"Close"});var A=C.getElement(B);A.appendChild(new Element("li",{"class":"close"})).appendChild(D)},encryptPass:function(A){var B=new RSAKey();B.setPublic("502c079c5026048c01f69c57d5dff655c482d05d96203641356e598161bf0e5b3a57f74636adcd5a4d1d4f12d4637cc5620dad4835f424aa904dacbdd5e98a3b","10001");
return B.encrypt(A)},_initITunes:function(){var A=$("itunesCampaignName");if(A){if(Cookie.read(A.value)){this.hideComponent("ipodForm");this.showComponent("doneITunes")}var B=$("ipodForm");if(B){B.addEvent("submit",this.itunesSubmit.bindWithEvent(this))}}},itunesSubmit:function(B){this.hideComponent("ipodButton");var A=$("itunesCampaignName");if(A){Cookie.write(A.value,"dl",{path:"/",domain:document.domain,duration:365})}else{B.stop()}},itunesSubmit:function(B){this.hideComponent("ipodButton");var A=$("itunesCampaignName");
if(A){Cookie.write(A.value,"dl",{path:"/",domain:document.domain,duration:365})}else{B.stop()}},_initSeoExpand:function(){var B=$("fullSEO");if(B){B.getElements("a.swapPanel").addEvent("click",this.swapPanel.bindWithEvent(this));var A=$("briefSEO");if(A){A.getElements("a.swapPanel").addEvent("click",this.swapPanel.bindWithEvent(this))}}},swapPanel:function(E){var D=$(E.target);if(D){E.stop();var B=D.href;var A=B.substr(B.lastIndexOf("#")+1);this.showComponent(A);var C=D.getParent();this.hideComponent(C.id)
}},hideComponent:function(B){var A=$(B);if(A){A.addClass("hidden")}},showComponent:function(B){var A=$(B);if(A){A.removeClass("hidden")}},_initRater:function(){var B=function(F){F.addEvent("mouseover",I);F.addEvent("click",E);F.addEvent("mouseout",J);function E(R){var Q=R.target,O=Q.getAllPrevious().length+1;F.getChildren().removeClass("rSelected");Q.addClass("rSelected");Q.getAllPrevious().addClass("rSelected");H(O);var N=this.getParent("form");F.getParent().getElement("select").selectedIndex=O;
var P=N.getElement("input#isReview");if(P&&P.value=="true"){}else{N.submit()}}function I(P){var O=P.target,N=O.getAllPrevious().length+1;J();K(O);H(N)}function K(N){N.addClass("rFilled");N.getAllPrevious().addClass("rFilled")}function J(){var N=F.getChildren(".rSelected").length;F.getChildren().removeClass("rFilled");if(N==0){H(0)}else{H(N)}}function H(O){var N=F.getParent().getChildren(".rating"),P="";if(!N){return }switch(O){case 0:P="";break;case 1:P="Poor";break;case 2:P="Below average";break;
case 3:P="Fair";break;case 4:P="Good";break;case 5:P="Excellent";break}N.set("html",P)}F.addEvent("keydown",G);F.addEvent("keyup",M);function G(R){var Q=R.target,N=F.getChildren();switch(R.key){case"right":if(D<A){D++}for(var O=0;O<D;O++){N[O].addClass("rFilled")}H(D);R.preventDefault();break;case"left":if(D>0){D--}N[D].removeClass("rFilled");H(D);R.preventDefault();break;case"enter":var P=F.getParent("form");F.getParent().getElement("select").selectedIndex=D;R.preventDefault();L();D=0;break;case"esc":D=0;
J();L()}}function M(N){if((N.key!="esc")&&(N.target!=F.getLast())){F.getPrevious("p.raterLegend").addClass("show")}else{L()}}function L(N){F.getPrevious("p.raterLegend").removeClass("show")}};var C=$$("p.rater");C.each(B);var D=0;var A=5}});var smhage;function initSMHAGE(){smhage=new FD.smhage()}FD.register("SMHAGE")}var ErrorClass=new Class({errorType:"",errorMessage:"",initialize:function(B,A){this.errorType=B;this.errorMessage=A}});var LoginLogoutPanel=new Class({fieldErrors:[],hasErrors:false,initialize:function(A,B){this.panel=A;
this.prefix=B;this.init()},init:function(){var A=this.panel.getElement("form");if(A){A.addEvent("submit",this.validateForm.bindWithEvent(this))}if(this.panel.getElements("a.logoutLink")){this.panel.getElements("a.logoutLink").addEvent("click",this.logout.bindWithEvent(this))}if(this.panel.getElements("a.newChallengeLink")){this.panel.getElements("a.newChallengeLink").addEvent("click",this.newChallenge.bindWithEvent(this))}},validateForm:function(A){A.stop();this.cleanForm();if(this.isBlank(this.prefix+"FrmLogin")){this.addError(this.prefix+"NoteLogin","An Account Name is required")
}else{if(this.tooLong(this.prefix+"FrmLogin",255)){this.addError(this.prefix+"NoteLogin","Your Account Name must be less than "+255+" characters.")}}if(this.isBlank(this.prefix+"FrmPasswordLogin")){this.addError(this.prefix+"NotePasswordLogin","A Password is required")}else{if(this.tooLong(this.prefix+"FrmPasswordLogin",20)){this.addError(this.prefix+"NotePasswordLogin","Your Password must be less than "+20+" characters.")}else{if(this.tooShort(this.prefix+"FrmPasswordLogin",4)){this.addError(this.prefix+"NotePasswordLogin","Your Password must be more than "+4+" characters.")
}}}this.errorCheck(A)},cleanForm:function(){this.removeErrors();this.hasErrors=false;this.fieldErrors.empty()},errorCheck:function(A){if(this.hasErrors){A.stop();this.addErrors(this.fieldErrors)}else{this.submitForm(A)}},addError:function(B,A){this.fieldErrors.push(new ErrorClass(B,A));this.hasErrors=true},logout:function(B){B.stop();document.cookie="membership-login=;path=/;domain="+document.domain;document.cookie="membership-username=;path=/;domain="+document.domain;document.cookie="frmScreenName=;path=/;domain="+document.domain;
document.cookie="frmLocation=;path=/;domain="+document.domain;document.cookie="starCount=;path=/;domain="+document.domain;document.cookie="frmComment=;path=/;domain="+document.domain;var A=B.target;A.set("send",{url:"/action/membershipLogoutAction",onSuccess:this.handleResp.bind(this)});this.removeErrors();A.send()},submitForm:function(E){var F=this.panel.getElement("li.submit");if(F.getElement("input.button")){F.getElement("input.button").addClass("hidden")}if(F.getElement("img#loader")){F.getElement("img#loader").removeClass("hidden")
}var D=this.panel.getElements("input.js_encryptable");var B;for(B=0;B<D.length;B++){if(D[B].value!=""){var G=$(D[B].id+"Encrypted");G.value=smhage.encryptPass(D[B].value)}}var C=E.target;var A=this.panel.getElement("input#isJSON");if(A&&A.value=="false"){}else{E.stop();C.set("send",{onSuccess:this.handleResp.bind(this)});C.send()}},handleResp:function(C){if(C){try{C=JSON.decode(C);if(C.errorFound){this.addErrors(C.errorList)}else{if(C.showNext.indexOf("comment")>-1){commentsreviews.showPanel(C.showNext)
}else{if(C.showNext.indexOf("readerRating")>-1){readerratings.showPanel(C.showNext)}}}var B=this.panel.getElement("li.submit");if(B.getElement("input.button")){B.getElement("input.button").removeClass("hidden")}if(B.getElement("img#loader")){B.getElement("img#loader").addClass("hidden")}}catch(A){}}},addErrors:function(E){var B=this.panel.getElement("div.error");B.addClass("errorSelected");var C=B.getElement("ul");C.empty();for(var A=0;A<E.length;++A){C.adopt(new Element("li",{text:E[A].errorMessage}));
var D=this.panel.getElement("#"+E[A].errorType);if(D){D.addClass("errorSelected")}}},removeErrors:function(){var B=this.panel.getElement("div.error");B.removeClass("errorSelected");var C=this.panel.getElements("span.errorSelected");if(C){for(var A=0;A<C.length;++A){C[A].removeClass("errorSelected")}}},hidePanel:function(){this.panel.addClass("hidden")},newChallenge:function(B){B.stop();var A=B.target;A.set("send",{url:"/action/createNewCaptchaWordAction",onSuccess:this.handleChallenge.bind(this)});
A.send()},handleChallenge:function(D){if(D){try{D=JSON.decode(D);var B=this.panel.getElement("input.challenge");var A=this.panel.getElement("img.challenge");if(B&&A){B.value=D.challenge;A.src="/action/displayTextAsDeformedImage?encryptedText="+D.challenge}}catch(C){}}},isType:function(A){return this.panel.hasClass(A)},tandc:function(B){var A=$(B);if(A){if(A.checked){return true}else{return false}}},isBlank:function(A){var B=$(A);if(B){if(B.value&&B.value.clean().length>0){return false}else{return true
}}},tooLong:function(A,B){var C=$(A);if(C){if(C.value&&C.value.length<=B){return false}else{return true}}},tooShort:function(A,B){var C=$(A);if(C){if(C.value&&C.value.length>=B){return false}else{return true}}}});var ShowHidePanel=new Class({hasRegisterForm:false,panels:[],getRegisterForm:function(C,A){if(!this.hasRegisterForm){var D="/action/membershipRegistrationFormAction?idPrefix="+C+"&signupMessage="+A;var B=new Request({url:D,onSuccess:this.setRegisterForm.bind(this),method:"GET"});B.send()
}else{this.showRegisterForm()}},addRegisterEvents:function(A){A.getElements("a.panelLink").addEvent("click",this.swapToPanel.bindWithEvent(this));this.getPanel("register").init()},updateLogin:function(){var A=$("commentloggedInAs");if(A&&Cookie.read("membership-username")){A.set("text",Cookie.read("membership-username"))}var C=$("emailSubmitComments");if(C&&Cookie.read("membership-username")){C.value=Cookie.read("membership-username")}var B=$("memberIDSubmitComments");if(B&&Cookie.read("membership-login")){B.value=Cookie.read("membership-login")
}},getPanel:function(B){var C=0,A=this.panels;while(C<A.length){if(A[C].isType(B)){return A[C]}C++}},swapToPanel:function(D){var C=$(D.target);if(C){D.stop();var B=C.href;var A=B.substr(B.lastIndexOf("#")+1);this.showPanel(A)}}});var RegisterPanel=new Class({Extends:LoginLogoutPanel,initialize:function(A,B){this.panel=A;this.prefix=B;this.init()},validateForm:function(A){this.cleanForm();if(this.isBlank(this.prefix+"FrmLoginName")){this.addError(this.prefix+"NoteLoginName","An Account Login is required")
}else{if(this.tooLong(this.prefix+"FrmLoginName",255)){this.addError(this.prefix+"NoteLoginName","Your Account Login must be less than "+255+" characters.")}}if(this.isBlank(this.prefix+"FrmPassword")){this.addError(this.prefix+"NotePassword","A Password is required")}else{if(this.tooLong(this.prefix+"FrmPassword",20)){this.addError(this.prefix+"NotePassword","Your Password must be less than "+20+" characters.")}else{if(this.tooShort(this.prefix+"FrmPassword",4)){this.addError(this.prefix+"NotePassword","Your Password must be less than "+20+" characters.")
}}}if(this.isBlank(this.prefix+"FrmPassword2")){this.addError(this.prefix+"NotePassword2","A Password is required")}else{if(this.tooLong(this.prefix+"FrmPassword2",20)){this.addError(this.prefix+"NotePassword2","Your Confirming Password must be less than "+20+" characters.")}else{if(this.tooShort(this.prefix+"FrmPassword2",4)){this.addError(this.prefix+"NotePassword2","Your Confirming Password must be more than "+4+" characters.")}else{if(!this.comparePass()){this.addError(this.prefix+"NotePassword2","Your Confirming Password must the same as your Password.")
}}}}if(this.isBlank(this.prefix+"FrmYearOfBirth")){this.addError(this.prefix+"NoteYearOfBirth","A year of birth is required")}if(this.isBlank(this.prefix+"FrmCountry")){this.addError(this.prefix+"NoteCountry","A Country is required")}if(!this.validaPostCode()){this.addError(this.prefix+"NotePostcode","A postcode is required in Australia")}if(this.isBlank(this.prefix+"FrmCode")){this.addError(this.prefix+"NoteCode","Please enter the Security code.")}if(!this.tandc(this.prefix+"FrmTOC")){this.addError(this.prefix+"NoteTOC","Terms and conditions need to be agreed to.")
}this.errorCheck(A)},validaPostCode:function(){var B=$(this.prefix+"FrmCountry");var A=$(this.prefix+"FrmPostcode");if(B){if(B.value=="au"){if(A){return true}else{return false}}else{return true}}},comparePass:function(){var B=$(this.prefix+"FrmPassword");var A=$(this.prefix+"FrmPassword2");if(B&&A){if(B.value==A.value){return true}else{return false}}}});var CommentReviewPanel=new Class({Extends:LoginLogoutPanel,wordCount:0,initialize:function(A){this.panel=A;this.populateField("frmScreenName");this.populateField("frmLocation");
var B=window.location.toString();var I=new RegExp("postContent");var F=I.exec(B);if(F){this.populateField("frmComment")}var G=this.panel.getElement("input#isReview");if(G&&G.value=="true"){if(Cookie.read("starCount")){var H=Cookie.read("starCount").trim();var K=this.panel.getElement("p.rater");if(K){var C=K.getChildren();for(var E=0;E<H;E++){C[E].addClass("rFilled")}var D=K.getParent().getChildren(".rating"),J="";if(!D){return }switch(E){case 0:J="";break;case 1:J="Poor";break;case 2:J="Below average";
break;case 3:J="Fair";break;case 4:J="Good";break;case 5:J="Excellent";break}D.set("html",J);K.getParent().getElement("select").selectedIndex=H}}}$("frmComment").addEvent("keydown",this.wordCounter.bindWithEvent(this));this.init()},wordCounter:function(E){area=E.target;var C=300;if(this.wordCount>=C&&(E.code!=8&&E.code!=37&&E.code!=38&&E.code!=39&&E.code!=40&&E.code!=46)){var D=area.value.clean();var A=D.split(" ").clean();var B=A.length;if(B>C){E.stop();area.value=D}}else{if(area){var F=area.value.clean();
var A=F.split(" ");var B=A.length;if(B!=this.wordCount){this.wordCount=B;var F=$("wordCountRemaining");if(F){F.empty();F.set("text",C-B)}}}}},populateField:function(B){if(Cookie.read(B)){var A=$(B);A.value=Cookie.read(B).trim()}},populateCookie:function(B){var A=$(B);if(A){Cookie.write(B,A.value,{path:"/",domain:document.domain})}},validateForm:function(D){this.cleanForm();this.populateCookie("frmScreenName");this.populateCookie("frmLocation");this.populateCookie("frmComment");var C=this.panel.getElement("input#isReview");
if(C&&C.value=="true"){var A=this.panel.getElementById("readerReviewStarCount").selectedIndex;if(this.panel.getElementById("readerReviewStarCount")[A].value==0){this.addError("noteStarCount","A Rating is required.")}Cookie.write("starCount",this.panel.getElementById("readerReviewStarCount")[A].value,{path:"/",domain:document.domain})}if(this.isBlank("frmScreenName")){this.addError("noteScreenName","A Screen Name is required.")}else{if(this.tooLong("frmScreenName",255)){this.addError("noteScreenName","Your Screen Name must be less than "+255+" characters.")
}}var B=$("frmLocation");if(B){if(B.value&&B.value.length>0){if(this.tooLong("frmLocation",255)){this.addError("noteLocation","Your Location must be less than "+255+" characters.")}}}if(C&&C.value=="false"){if(this.isBlank("frmComment")){this.addError("noteComment","A Comment is required.")}else{if(this.tooManyWords(300)){this.addError("noteComment","Only "+300+" words are allowed.")}}}else{if(this.isBlank("frmComment")){this.addError("noteComment","A Review is required.")}else{if(this.tooManyWords(300)){this.addError("noteComment","Only "+300+"words are allowed.")
}}}if(this.isBlank("frmCodeComment")){this.addError("noteCodeComment","Please enter the Security code.")}if(!this.tandc("frmCond")){this.addError("noteCond","Terms and conditions need to be agreed to.")}this.errorCheck(D)},tooManyWords:function(B){var C=$("frmComment");if(C){var D=C.value.clean();var A=D.split("\b");if(A.length>B){return true}else{return false}}}});FD.register("CommentsReviews");var CommentsReviews=new Class({Extends:ShowHidePanel,isReview:false,initialize:function(){var E=$$("div.commentingPanels");
for(var D=0;D<E.length;++D){if(E[D].hasClass("register")){this.panels.push(new RegisterPanel(E[D],"comment"))}else{if(E[D].hasClass("commentForm")){if(E[D].getElement("input#isReview")){this.isReview=true}this.panels.push(new CommentReviewPanel(E[D]))}else{this.panels.push(new LoginLogoutPanel(E[D],"comment"))}}E[D].getElements("a.panelLink").addEvent("click",this.swapToPanel.bindWithEvent(this))}if(E.length>0){this.showPanel("commentStart");if(Cookie.read("membership-login")){this.showPanel("commentForm")
}var C=window.location.toString();var G=new RegExp("posted=sucessful");var F=G.exec(C);if(F){this.showPanel("commentThanks");document.cookie="starCount=;path=/;domain="+document.domain;document.cookie="frmComment=;path=/;domain="+document.domain}var B=new RegExp("posted=error");var A=B.exec(C);if(A){var H=this.getPanel("commentForm");H.cleanForm();H.addError("noteCodeComment","Your Security Code doesn't match");H.addErrors(H.fieldErrors);H.populateField("frmComment")}}},showPanel:function(A){var C=$(A);
if(C){for(var B=0;B<this.panels.length;++B){this.panels[B].hidePanel()}this.updateLogin();C.removeClass("hidden");if(A=="commentRegister"){if(this.isReview){this.getRegisterForm("comment","Simply sign up below to write a review.")}else{this.getRegisterForm("comment","Simply sign up below to start commenting on articles.")}}}},setRegisterForm:function(B){var A=$("commentRegister");A.set("html",B);this.hasRegisterForm=true;this.addRegisterEvents(A);this.showRegisterForm()},showRegisterForm:function(){var A=$("commentRegister");
A.addClass("complete")}});var commentsreviews;function initCommentsReviews(){commentsreviews=new CommentsReviews()}FD.register("ReaderRatings");var ReaderRating=new Class({Extends:ShowHidePanel,initialize:function(){var C=$$("div.readerRatingPanels");for(var B=0;B<C.length;++B){this.panels.push(new LoginLogoutPanel(C[B],"readerRating"));C[B].getElements("a.panelLink").addEvent("click",this.swapToPanel.bindWithEvent(this))}if(C.length>0){this.showPanel("readerRatingForm");var A=window.location.toString();
var E=new RegExp("postedRating=successful");var D=E.exec(A);var G=Cookie.read("rate");var F=FD.assetId.toString(36);if((D)||((G)&&(F)&&(G.indexOf(F)>=0))){this.showPanel("readerRatingThanks")}}},showPanel:function(A){var C=$(A);if(C){for(var B=0;B<this.panels.length;++B){this.panels[B].hidePanel()}this.updateLogin();C.removeClass("hidden")}},rated:function(F){var B=F.getElementById("rated");var E=Cookie.read("rate").split("#");var G=FD.assetId;for(var C=0;C<E.length;C++){if((E[C].indexOf(">")>=0)&&((E[C].indexOf(">")+1)<E[C].length)){var A=parseInt(E[C].replace('"',""),36).toString();
var D=parseInt(E[C].substring(E[C].indexOf(">")+1),36);if(A.indexOf(G)>=0){D=D/200;B.innerHTML="<em><span>Rating: "+D+" out of 5 stars</span></em>";B.addClass("cN-rating rValue-"+D)}}}this.showPanel("readerRatingThanks")}});var readerratings;function initReaderRatings(){readerratings=new ReaderRating()}function initPollContainer(A){var K=A.getElements("div.panels");var H=A.get("expiryDate");var G=A.get("pollId");var E=Cookie.read("checkIfCookiesEnabled");var B=A.get("isPollInsideArticle");var N=A.get("numComments");
var D;if(E){I();C();if(H&&H<new Date()){O();return }var F=Cookie.read("poll");if(G&&F&&F.indexOf("-"+G)>0){P();return }L("notVoted")}else{L("noCookie")}function I(){var Q=A.getElements("a.viewResult");Q.addEvent("click",J)}function J(Q){Q.stop();P()}function C(){var Q=A.getElement("form");if(Q){Q.addEvent("submit",M)}}function M(S){S.stop();var Q=A.getElements("input[name^='id']");for(var R=0;R<Q.length;R++){if(Q[R].checked){A.getElement("form").submit();return }}A.getElements(".error").addClass("errorSelected")
}function L(Q){if(D){A.removeClass(D)}A.addClass(Q);D=Q}function O(){if(B){var S=A.getElements(".close");S.addClass("closeVoted");var R=A.getElements(".comments");R.addClass("pollCommentsVoted");if(N==0){R.addClass("pollNoComments")}var Q=A.getElements(".related");Q.removeClass("hidden")}L("voted")}function P(){O();if(B){var Q=A.getElements(".add");Q.removeClass(" hidden")}}}function initPollContainers(){$$(".pollContainer").each(initPollContainer)}window.addEvent("domready",initPollContainers);