/**  
  2DayFM Custom Functionality 
    CHANGELOG: 
      20080118 - Born 
      20080121 - Fixed Nav functionality so all dropdowns are independant 
               - Added onload functionality to ammend the background gradient 
                 depending on which (primary or secondary) is taller. 
      20080122 - Updated background gradient resize to use scroll event on FF and IE7 (only once) 
                 load was not firing reliably in IE7 
      20080204 - Removed onmouseout behaviour to restart feature loop to improve readability. 
      20080205 - Updated _initPrimaryHeight to use scroll event for ie6 and remove scroll events once fired. 
	  20080222 - Fixed _initAutoInputs not to let event bubble into submit button. 
      20080222 - Updated _initAutoInputs to add class userInput when there is a value 
	  20080318 - Updated _initControlTabs to accept multiple classes rather than single id element. (Jens) 
	  20080411 - Added _initValidateForm and _initRegistrationForm (show/hide form elements) (Jens) 
	  20080502 - Added a maxlength3 form validation rule (nick) 
  	  20080502 - Added a function to enable/disable buttons in profile form (Bhabani) 
  	  20080811 - Updated _initControlList function to set the height of each control panel show, for the case when the "On Air Today" tab is not selected on page load (Claire) 
  	  20100118 - Updated function for generating SiteAdvertDesc for ads. (Whe) 
 **/ 
var adSizes={acquisitionpromo:"1x1",acquisitionad:"1x1",domainresizable:"1x1",enttop:"60x18",lastop:"60x18",weatherad:"65x55",emailfriendsponsor:"100x29",toolbox:"115x28",whatsonad:"140x25",mmmpodcast:"145x30",mmmfooty:"145x30",mmmonair:"145x30",mmmpoll:"145x30",homeweatherad:"180x30",bizquotebox:"192x16",travelfeature:"192x51",techfeature:"192x51",sportfeature:"192x51",sectiontool:"282x60",scoreboard:"290x60",dlbox1:"292x65",dlbox2:"292x65",multilink:"295x60",multilink:"300x105",featad:"300x36",textad:"300x28",traveltextad:"300x28",networkad:"300x250",multilink:"300x55",minibar:"300x40",promobox:"300x125",bizlink:"300x20",promobox:"300x145",mmmpollresults:"330x40",mmmshowsponsor:"330x40",mmmpodcastlisten:"400x100",acquisitionminilink:"638x20",resizable:"638x68",wideresizable:"645x40",domaintext:"0x1",iwos:"3x1"};
if(window.FD){FD.getSiteAdvertDesc=function(A){var C,B;var D=A.params;if(D&&D.site){C=[siteAdvertDesc.group,D.network,D.site,siteAdvertDesc.section].join(".");B=[siteAdvertDesc.section,D.network,D.site].join(".");if(D.cat){B+="."+D.cat;if(D.cat1){B+="."+D.cat1}}}return{redir:"/adredirect.html?ad=",area:B.toUpperCase(),site:C.toUpperCase()}}}if(window.FD){FD.toDayFM=new Class({backgroundResize:false,Implements:Options,options:{featureLoopDelay:7000,showControlPanelHeight:71},initialize:function(){this.setOptions();
window.addEvent("scroll",this._initPrimaryHeight.bind(this));this._initFeatureLoop();this._initNav();this._initControlList();this._initControlTabs();this._initAutoInputs();this._initValidateForm();this._initRegistrationForm()},_initPrimaryHeight:function(){window.removeEvents("scroll");var D=$("primary"),A=$("secondary");if(D&&A){pHeight=D.offsetHeight;sHeight=A.offsetHeight;var C=(Browser.Engine.trident4)?"height":"min-height";var B=(pHeight<sHeight)?[D,A,0]:[A,D,5];B[0].setStyle(C,(B[1].offsetHeight-B[2])+"px")
}},_initFeatureLoop:function(){var B=$("featurehighlights"),A=$("sub_highlights");if(B&&A){this._featureLoopPos=0;B.addEvents({mouseenter:this._stopFeatureLoop.bind(this)});B.getElements("div.heading").inject(A).addEvent("mouseenter",this._jumpLoopPos.bindWithEvent(this));A.getElement("div.heading").addClass("active");this._startFeatureLoop()}},_startFeatureLoop:function(){this._featureLoopID=this._loopFeature.create({bind:this,periodical:this.options.featureLoopDelay})()},_stopFeatureLoop:function(){$clear(this._featureLoopID)
},_loopFeature:function(){var A=this.getFeatureHighlights();if(A){var B=((this._featureLoopPos+1)==A.length)?0:this._featureLoopPos+1;this._setLoopPos(A,B)}},_setLoopPos:function(A,C){if(A){if(A&&A[C]){A.removeClass("active");A[C].addClass("active");var B=this.getFeatureHeadings();B.removeClass("active");B[C].addClass("active");this._featureLoopPos=C}}},_jumpLoopPos:function(D){if(D&&D.target){var C=$(D.target);if(C.get("tag")=="img"){C=C.getParent()}var A=C.get("tag");var E=this.getFeatureHeadings();
var B=this.getFeatureHighlights();for(var F=0;F<E.length;F++){if(E[F]==C){this._setLoopPos(B,F);return true}}}},getFeatureHighlights:function(){return $$("#highlights .highlight")},getFeatureHeadings:function(){return $$("#sub_highlights .heading")},_initNav:function(){var A=$("navigation");if(A){A.addEvent("click",this.togglePlusNav.bindWithEvent(this));var B=A.getElements("li.expand");if(B){B.addEvent("click",this.openAllNav.bindWithEvent(this))}}},togglePlusNav:function(G){if(G&&G.target){var A;
var E=$(G.target);if(E.get("tag")=="a"){E=E.getParent()}if(!E.hasClass("plus")){return true}if(E.hasClass("expand")){return false}var B=E.getParent();if(B.get("tag")=="ul"){var D=B.getElement("li.expand");if(D){A=D.hasClass("expanded")}var F;if(!E.hasClass("open")){F=true}if(!A){B.getElements("li.plus").removeClass("open")}if(F){E.addClass("open");var H=B.getElements("li.plus").hasClass("open");for(var C=0;C<H.length;C++){if(!H[C]){return false}}D.addClass("expanded")}else{if(A){E.removeClass("open");
var H=B.getElements("li.open");if(H.length==0){var A=B.getElement("li.expanded");if(A){A.removeClass("expanded")}}}}return false}}},openAllNav:function(C){if(C&&C.target){new Event(C).stop();var B=$(C.target);if(B.get("tag")=="a"){B=B.getParent()}var A=B.getParent();var D=A.getElements("li.plus");D.each(function(E,F){if(!B.hasClass("expanded")){E.addClass("open")}else{E.removeClass("open")}});if(!B.hasClass("expanded")){B.addClass("expanded")}else{B.removeClass("expanded")}}},_initControlList:function(){var A=this.getControlList();
if(A){this.clPos=0;this.clCount=0;this.clScrolling=false;var E=A.getElement("ul");var B=E.getElements("li");var F=0;for(var D=0;D<B.length;D++){if(B[D].getParent()==E){if(!this.clDist){this.clDist=this.options.showControlPanelHeight}if(B[D].hasClass("now")){F=this.clCount}this.clCount++}}this.clLastPos=this.clCount-3;if(F>0){var C=F;if(C<=this.clLastPos){C--}if(C>0){this.moveCLToPos(E,C)}}A.addEvent("click",this.scrollCL.bindWithEvent(this,E))}},scrollCL:function(D,B){if(D&&D.target&&!this.clScrolling){var C=$(D.target);
if(C.hasClass("scroll")){new Event(D).stop();var A=this.clPos+((C.hasClass("list-up"))?-1:1);this.moveCLToPos(B,A)}}},moveCLToPos:function(B,A){if(!isNaN(A)){if(A>this.clLastPos){A=this.clLastPos}if(A<0){A=0}this.clPos=A;var F=(this.clDist*A)*-1;var E=(A<this.clPos)?-1:1;F+=(E*-1);var D={onComplete:this.clComplete.bind(this)};var C=new Fx.Morph(B,D).start({top:F+"px"})}},_initControlTabs:function(){var C=$$(".cPanel");if(C){for(var B=0;B<C.length;B++){var A=C[B].getElements("ul.controltabs");if(A){A.addEvent("click",this.swapTab.bindWithEvent(this,C[B]))
}}}},swapTab:function(C,E){if(C&&C.target){new Event(C).stop();var D=$(C.target);if(D.get("tag")!="a"){D=D.getElement("a")}var F=E.getElements("ul.controltabs a");for(var G=0;G<F.length;G++){var I=F[G].getParent();I.removeClass("selected");if(F[G]==D){I.addClass("selected")}}if(D){var A=D.href;var H=A.substr(A.lastIndexOf("#")+1);var B=E.getElements("div.controltab");for(var G=0;G<B.length;G++){B[G].removeClass("selected");if(B[G].hasClass(H)){B[G].addClass("selected")}}}}},clComplete:function(){this.clScrolling=false
},getControlList:function(){return $("onairnow")},_initAutoInputs:function(){var B=$$("form.autoInput input");for(var A=0;A<B.length;A++){if(B[A].type=="text"){if(B[A].value!=""){B[A].addClass("userInput")}B.addEvent("focus",function(D){if(D&&D.target){var C=$(D.target);if(C.type=="text"&&C.value==C.defaultValue){C.value="";C.addClass("userInput")}}}.bind(this));B.addEvent("blur",function(D){if(D&&D.target){var C=$(D.target);if(C.type=="text"&&C.value==""){C.value=C.defaultValue;C.removeClass("userInput")
}}}.bind(this))}}},_initValidateForm:function(){var A=$$("form.validateMe");for(i=0;i<A.length;i++){var B=A[i].getElements("a.button");B[0].addEvent("click",this.triggerFormSubmit.bind(this,B[0]))}},validateRequired:function(A){if(A&&A.value){this.toggleErrorMessage(A,"");return true}this.toggleErrorMessage(A,"This input is required.");return false},validateMinLength:function(B,A){if(B&&(B.value.length>=A)){this.toggleErrorMessage(B,"");return true}this.toggleErrorMessage(B,"The minimum length required is "+A+" characters.");
return false},toggleErrorMessage:function(C,B){var D=C.getParent().getPrevious();var A=D.getElements("span");if(B){A[0].innerHTML=B;D.removeClass("hidden")}else{D.addClass("hidden")}},validateForm:function(E){var C=E.getElements("input");var B=true;for(i=0;i<C.length;i++){if(C[i].hasClass("validate")){var A=true;var D=C[i].className.split(" ");for(j=0;j<D.length;j++){switch(D[j]){case"required":if(!this.validateRequired(C[i])){A=false}break;case"minLength3":if(!this.validateMinLength(C[i],3)){A=false
}break;case"minLength6":if(!this.validateMinLength(C[i],6)){A=false}break}if(A==false){break}}if(A==false){B=false}}}if(B==true){E.submit()}},triggerFormSubmit:function(B){var A=B.getParent();while((A.get("tag")!="form")&&(A.get("tag")!="body")){A=A.getParent()}this.validateForm(A)},_initRegistrationForm:function(){var B=$$("form.frmMemberProfile");for(i=0;i<B.length;i++){var A=B[i].getElements("li");for(j=0;j<A.length;j++){if(A[j].hasClass("country")){var C=$("country");C.addEvent("change",this.toggleStatePostcode.bind(this,C))
}}}if(C){this.toggleStatePostcode(C)}},toggleStatePostcode:function(C){var B=C.getParent().getParent();var A=B.getElements("li");for(j=0;j<A.length;j++){if((A[j].hasClass("state"))||(A[j].hasClass("postcode"))){if(C[C.selectedIndex].text=="Australia"){A[j].removeClass("hidden")}else{A[j].addClass("hidden")}}}}});function enableSave(){var B=document.createElement("span");var E=document.createElement("a");E.setAttribute("class","button smallButton top");E.setAttribute("className","button smallButton top");
E.setAttribute("href","javascript:document.profile.submit();");E.setAttribute("onclick","document.profile.submit();");var L=document.createTextNode("Save Profile");E.appendChild(L);var J=document.createElement("span");E.appendChild(J);B.appendChild(E);var N=document.getElementById("saveBtn");var C=document.getElementById("saveBtnSpan");var M=N.replaceChild(B,C);var I=document.createElement("span");var D=document.createElement("a");D.setAttribute("class","button smallButton");D.setAttribute("className","button smallButton");
D.setAttribute("href","javascript:document.profile.submit();");D.setAttribute("onclick","document.profile.submit();");var A=document.createTextNode("Save Profile");D.appendChild(A);var G=document.createElement("span");D.appendChild(G);I.appendChild(D);var K=document.getElementById("saveBtn1");var F=document.getElementById("saveBtnSpan1");var H=K.replaceChild(I,F)}var toDayFM;function initToDayFM(){toDayFM=new FD.toDayFM()}FD.register("ToDayFM",1)};