/** 
  CHANGELOG: 
    2007/12/03 - Upgraded to v1.2 syntax 
    2008/02/07 - Added specific functionality for todaynetwork gallery 
                 - Popup for gallery speed 
                 - Toggle Rotate changes 
    2008/02/22 - Ad refreshes only once for rotate 
               - Ad refreshes every image change 
               - Image alt changes per image change 
               - Image anchor title changes per image change 
	2008/06/02 - Changed the nielsen reporting function call to a gallery specific one. (currently austereo specific) 
	2008/06/17 - Updated with endOfShow screen 
	2008/06/18 - Added item poll functionality 
	2008/06/23 - Added timestamp to swap poll request URL to stop IE caching the response. 
	2008/07/09 - Changed filename (and location) to allow use across all Austereo sites. 
	2008/08/01 - Roll back of nielsen function call. Added (22/08/2008). 
	2008/10/14 - Design version and sectionSubDir of the poll is now driven from the template. 
	2009/05/04 - Added title to img tag to display correctly in firefox (Austereo TripleM issue 1276). 
	2009/09/02 - Changed moveNavToCurrentImage logic 
 **/
if(window['FD']){FD.SuperGallery=new Class({Extends:FD.Gallery,Implements:Events,options:{rotateSpeeds:[0,5000,3500,1500],rotateClasses:["stop","slow","med","fast"],adSwapCount:1},toggles:['about','moreGalleries','emailAFriend','endOfShow','emailFailure'],errors:{name:"Please enter your friend's name",email:"Please enter your friend's email address",yourName:"Please enter your name",yourEmail:"Please enter your email address"},initialize:function(){if(typeof(window['FDGalleryOptions'])!="object"){FDGalleryOptions={}}this.options=$merge(this.options,FDGalleryOptions);this.parent(this.options);for(var i=0;i<this.toggles.length;i++){var t=this.toggles[i];if(t){this.parseInnerButtons($(t+"Screen"));var button=$(t);if(button){button.addEvent("click",this.toggle.bindWithEvent(this,t))}}}var desc=$(this.options.idImgDesc);if(desc){this.defaultDescHeight=desc.getStyle("height").toInt();this.defaultOpenPos=this.options.openPos;var nav=this.getNav()}this.checkDesc();this.setupEmailForm();this._initShowHide("share");this._initShowHide("autoplay");this._initItemPollForm();this.addEvent("swap",this.checkDesc.bind(this));this.addEvent("swap",this.doDynB.bind(this));this.addEvent("swap",this.swapItemPoll.bind(this));this.addEvent("navOpen",this.setThumbsTitle.bind(this,"Hide Thumbs"));this.addEvent("navClosed",this.setThumbsTitle.bind(this,"Show Thumbs"));var thumbnails=$('thumbnails');if(thumbnails){thumbnails.addEvent("click",this.closeNav.bind(this))}},_initShowHide:function(id){var ele=$(id);if(ele){var eleD=ele.getElements("ul")[0];if(eleD){ele.addEvent("mouseenter",this.show.bind(this,eleD));ele.addEvent("mouseleave",this.hide.bind(this,eleD))}}},_initItemPollForm:function(){var ele=$("galleryItemPollForm");if(ele){ele.addEvent("submit",this.itemPollVote.create({"bind":this,"event":true}))}},setThumbsTitle:function(t){if(t){var title=$('thumbnails');if(title){title.empty().innerHTML=t}}},appendMouseE:function(gal){var thumbnails=$('thumbnails');var nav=this.getNav();if(thumbnails){thumbnails.addEvent("click",this.checkNav.bind(this))}},setupEmailForm:function(){var emailD=$('emailAFriendScreen');if(emailD){var f=emailD.getElements("form")[0];if(f){f.addEvent("submit",this.validateEmailForm.bindWithEvent(this,f))}}},validateEmailForm:function(e,f){if(e){new Event(e).stop()}var inps=f.getElements("input");var error=$('validationError');if(error){for(var a=0;a<inps.length;a++){var inp=inps[a];error.empty();if(inp.type!="submit"){var p=inp.getParent();if(p&&((inp.name.toLowerCase().indexOf("email")>-1&&!this.validateEmail(inp.value))||inp.value.trim()=="")){p.addClass("error");error.empty().innerHTML=this.errors[inp.name];inp.focus();inp.select();return false}else{p.removeClass("error")}}}}var aOpts={};if(!this.setOnComplete){aOpts.onComplete=this.updateForm.bind(this);this.setOnComplete=true}f.send(aOpts)},updateForm:function(ret){if(ret){var form=$('emailFailureScreen');form.setHTML(ret);this.toggle(null,'emailFailure');this.parseInnerButtons(form)}},validateEmail:function(email){if(email.length>0){var firstAt=email.indexOf("@");if(firstAt>0){var lastAt=email.lastIndexOf("@");if(firstAt==lastAt){var namePortion=email.substr(0,lastAt+1);var filter=/^([a-zA-Z0-9_\.\-\+])+\@/;if(!filter.test(namePortion)){return false}}else{return false}}else{return false}var domainName=email.substr(email.indexOf("@")+1,email.length);var domainFilter=/^(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;if(!domainFilter.test(domainName)){return false}return true}},moveBy:function(e,i){if(e){new Event(e).stop()}else{var e=null}if(this.disabled){if(this.imgPos!=(this.imgC-1)){this.closeAllToggles()}}if(this.options.hotZone>0){if(e){this.closeNav()}}else if(this.navOn){this.toggleNav()}var pos=this.imgPos+i;if((pos==this.imgC&&!this.disabled)||(i<0&&this.disabled)){this.toggle(e,"endOfShow")}this.swap(e,pos);this.moveNavToCurrentImage()},toggle:function(e,el){var disable=false;if(e){new Event(e).stop()}if(el){this.checkNav();for(var i=0;i<this.toggles.length;i++){var t=this.toggles[i];var tD=$(t+"Screen");if(tD){var mode="hidden";var disp=tD.getStyle("visibility");if(disp=="hidden"&&el==t){mode="visible";disable=true;if(this.rotating){this.rotate()}}tD.setStyle("visibility",mode)}}this.disabled=disable}},show:function(el){if(el){el.setStyle("visibility","visible")}},hide:function(el){if(el){el.setStyle("visibility","hidden")}},parseInnerButtons:function(el){if(el){var cbs=el.getElements("a.close");for(var i=0,c=cbs.length;i<c;i++){cbs[i].addEvent("click",this.toggle.bindWithEvent(this,el))}var cls=el.getElements(".email");for(var i=0,c=cls.length;i<c;i++){cls[i].addEvent("click",this.toggle.bindWithEvent(this,"emailAFriend"))}}},toggleRotate:function(){if(this.disabled){if((this.imgC-1)==this.imgPos){this.reset()}else{this.closeAllToggles();this.disabled=false}}this.sentRotateReq=false;var rotateStop=$('rotateStop');if(rotateStop){rotateStop.setStyle("display",(this.rotating?"none":"block"))}this.rotate()},doDynB:function(){if(this.clickNo>0&&this.clickNo%this.options.adSwapCount==0){FD.refreshAd("*")}var mImg=$(this.options.idMainImg);if(mImg&&mImg.getParent().get('tag')=="a"){var anchor=mImg.getParent();anchor.href=window.location.href;var pN;if(window['s_pageName']){pN=s_pageName}else if(window['s']){pN=s.pageName}if(!this.rotating||(this.rotating&&!this.sentRotateReq)){FD.doNielsonImpression.delay(50,FD,[pN,anchor]);this.sentRotateReq=true}}},swapItemPoll:function(){new Request({url:this.options.galleryItemPollPath,onComplete:this.handleSwapItemPollResponse.create({"bind":this}),autoCancel:true}).get({'galleryPollAssetId':FDGalleryImageAssetIds[this.imgPos],'designVersionName':this.options.currentDesignVersion,'sectionSubDir':this.options.pollComponentSectionSubDir,'reqTime':new Date().getTime()})},handleSwapItemPollResponse:function(response){var galleryWrapper=$('galleryWrapper');var pollWrapper=$('galleryItemPollWrapper');if(response.trim()==""){pollWrapper.empty();galleryWrapper.removeClass('galleryWithPoll');galleryWrapper.addClass('galleryWithoutPoll')}else{galleryWrapper.removeClass('galleryWithoutPoll');galleryWrapper.addClass('galleryWithPoll');pollWrapper.set('html',response)}this._initItemPollForm()},itemPollVote:function(e){e.stop();var form=$("galleryItemPollForm");var sender=form.get('send');sender.addEvent("onComplete",this.handleItemPollVoteResponse.create({"bind":this}));form.send()},handleItemPollVoteResponse:function(response){var pollWrapper=$('galleryItemPollWrapper');pollWrapper.set('html',response);this._initItemPollForm()},closeAllToggles:function(){this.disabled=false;var t=this.toggles;for(var a=0;a<t.length;a++){var d=$(t[a]+"Screen");if(d){d.setStyle("visibility","hidden")}}},initRotate:function(){var rotateContainer=$(this.options.idRotate);if(rotateContainer){var rotateSwitch=$(this.options.idRotate+"Switch");if(rotateSwitch){rotateSwitch.addEvent("click",this.toggleRotate.bindWithEvent(this));var rotateButtons=rotateContainer.getElements("."+this.options.idRotate);var rotateClasses=this.options.rotateClasses;var rotateSpeeds=this.options.rotateSpeeds;if($type(rotateClasses)=="array"){for(var i=0,c=rotateButtons.length;i<c;i++){for(var a=0;a<rotateClasses.length;a++){if(rotateButtons[i].hasClass(rotateClasses[a])){rotateButtons[i].addEvent("click",this.setRotateSpeed.bindWithEvent(this,[rotateSpeeds[a],i,rotateButtons]))}}}}}}},setRotateSpeed:function(e,dur,i,eles){if(e){new Event(e).stop()}if($type(dur)=="number"){if(dur==0){if(this.rotating){this.toggleRotate()}return}this.options.rotateDur=dur;if(this.rotating){$clear(this.rotateID);this.rotateID=false;this.rotating=false}this.rotate();var rotateStop=$('rotateStop');if(rotateStop){rotateStop.setStyle("display",(!this.rotating?"none":"block"))}eles.removeClass(this.options.classSelected);if(eles[i]){eles[i].addClass(this.options.classSelected)}}},checkDesc:function(){var desc=$(this.options.idImgDesc);var nav=this.getNav();if(desc){var descH=desc.offsetHeight;var t=this.options.galH-(descH+10);this.options.openPos=this.options.galH-descH-(nav.offsetHeight-15);if(this.navOn){t=this.options.openPos}if(!this.navTrans){nav.setStyle("top",t+"px")}else{this.closeNav()}}var mImg=$(this.options.idMainImg);var a=mImg.getParent();if(this.setMImgTitle&&mImg){mImg.set('alt',desc.get('html'));mImg.set('title',desc.get('html'));if(FDGalleryDesc){var nextDesc=FDGalleryDesc[this.imgPos+1]||FDGalleryDesc[0]}a.set('title',nextDesc)}else{this.setMImgTitle=true}}});function initFDSuperGallery(){if(window['FDGalleryOptions']){window['FDSuperGallery']=new FD.SuperGallery(FDGalleryOptions)}}window.addEvent("initFDSuperGallery",initFDSuperGallery);FD.register("FDSuperGallery",1)}