ItvJs.ThisMorning={MakeAdCall:function(iWidth,iHeight){var sAmz="",sAdSize=iWidth+"x"+iHeight;switch(sAdSize){case"150x113":sAmz="SPONSORBUTTON";break;case"163x64":sAmz="FOOTBALLSPONSORBUTTON";break;case"1x1":sAmz="OUTOFPAGE";break;default:sAmz=sAdSize;break}if(Bloom.Adverts.AdvertServer.Current.AdHash[sAdSize]===undefined){Bloom.Adverts.AdvertServer.Current.AdHash[sAdSize]=1}else{Bloom.Adverts.AdvertServer.Current.AdHash[sAdSize]++}document.write('<script type="text/javascript" src="'+Bloom.Adverts.AdvertServer.Current.Server+"/jserver/acc_random="+Math.round(Math.random()*10000000000)+"/SITE="+Bloom.Adverts.AdvertServer.Current.Site+"/AREA="+Bloom.Adverts.AdvertServer.Current.Area+"/POSITION="+Bloom.Adverts.AdvertServer.Current.AdHash[sAdSize]+"/AAMSZ="+sAmz+"/RS="+Bloom.Adverts.AdvertServer.Current.RSI.replace(/_/g,"")+"/SEG="+Bloom.Adverts.AdvertServer.Current.Area+"/pageid="+Math.round(Math.random()*10000000000)+'"><\/script>')},LoadHTML:function(sURL,sTarget){$("#"+sTarget).load(sURL)},MakeLinkHorControl:function(sId,aVideos){var aListItems=[];var iVideoIndex=0;$("#"+sId+" li a").each(function(i,eListItem){aListItems.push(eListItem);aListItems[i].mySiblings=aListItems;aListItems[i].videoInfo=aVideos[iVideoIndex];if(!$(this).hasClass("active")){$("#"+aVideos[i].tab).hide()}$(eListItem).click(function(elem){if($(this).hasClass("active")){return false}for(var iLiIndex=0;iLiIndex<this.mySiblings.length;iLiIndex++){$(this.mySiblings[iLiIndex]).removeClass("active");$("#"+this.mySiblings[iLiIndex].videoInfo.tab).hide()}$(this).addClass("active");$("#"+this.videoInfo.tab).show();if(!this.videoInfo){return false}if(!this.videoInfo){return false}try{loadPlayer("videoplayer",this.videoInfo.crid,this.videoInfo.auto.toString(),false,null,"videoplayer",false,true)}catch(e){if(!ItvJs.Bb.Silverlight.Host.IsSilverlightInstalled()){ItvJs.ThisMorning.WriteFallBackPlayMethod(this.videoInfo.crid,this.videoInfo.dentonCode.toString())}else{InitialisePlayer(document.getElementById("videoplayer"),this.videoInfo.crid,this.videoInfo.img,this.videoInfo.auto.toString(),this.videoInfo.dentonCode.toString(),false,this.videoInfo.imageId,false)}}return false});iVideoIndex++})},WriteFallBackPlayMethod:function(vodcrid,dentonCode){if(dentonCode!=null&&dentonCode!="0"&&dentonCode!=""&&dentonCode!="-1"&&dentonCode!="17"){ItvJs.Video.VodcridInUrl=vodcrid;CallNSAT(ItvJs.ThisMorning.YetAnotherNsatHandler,GetBaseHref)}else{ItvJs.Video.Play(vodcrid)}},YetAnotherNsatHandler:function(){ItvJs.Video.Play(ItvJs.Video.VodcridInUrl)}};ItvJs.Twitter={_oTweetUsers:[],Register:function(oOptions){if(oOptions.dispaly!==undefined){oOptions.display=oOptions.dispaly}ItvJs.Twitter._oTweetUsers.push(oOptions)},Init:function(){var aUsers=ItvJs.Twitter._oTweetUsers;for(var i=0;i<aUsers.length;i++){if(aUsers[i].cache!==undefined&&$.cookie("twitter_"+aUsers[i].user+"_"+aUsers[i].target)){document.getElementById(aUsers[i].target).innerHTML=$.cookie("twitter_"+aUsers[i].user+"_"+aUsers[i].target)}else{$("#"+aUsers[i].target).addClass("loading");ItvJs.Twitter._FetchFeed(aUsers[i].user,aUsers[i].results,function(oFeedData,oOptions){if(oFeedData.results.length>0){var sFeedHTML=ItvJs.Twitter._RenderFeed(oFeedData,oOptions)}else{var sFeedHTML=""}if(oOptions.cache!==undefined){$.cookie("twitter_"+oOptions.user+"_"+oOptions.target,sFeedHTML,{expires:oOptions.cache,path:"/"})}document.getElementById(oOptions.target).innerHTML=sFeedHTML},aUsers[i])}}},_getFriendlyTime:function(iTime){var dDateNow=new Date(),sDayPlural="";iOffset=dDateNow.getTime()-iTime;if(iOffset>(24*60*60*1000)){if(Math.round(iOffset/24/60/60/1000)>1){sDayPlural="s"}sOffsetOut="About "+Math.round(iOffset/24/60/60/1000)+" day"+sDayPlural+" ago"}else{if(iOffset>(60*60*1000)){sOffsetOut="About "+Math.round(iOffset/60/60/1000)+" hours ago"}else{sOffsetOut="About "+Math.round(iOffset/60/1000)+" minutes ago"}}return sOffsetOut},makeTweetHTML:function(sTweet){sTweet=ItvJs.Twitter._linkUrl(sTweet);sTweet=ItvJs.Twitter._linkUser(sTweet);return ItvJs.Twitter._linkHash(sTweet)},_linkUrl:function(sTweet){return sTweet.replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi,' <a href="$1" target="_blank">$1</a> ')},_linkUser:function(sTweet){return sTweet.replace(/^[\@]+([A-Za-z0-9-_]+)| [\@]+([A-Za-z0-9-_]+)/gi,' <a href="http://twitter.com/$1$2" target="_blank">@$1$2</a> ')},_linkHash:function(sTweet){return sTweet.replace(/[\#]+([A-Za-z0-9-_]+)/gi,' <a href="http://search.twitter.com/search?q=&tag=$1&lang=all" target="_blank">#$1</a> ')},_RenderFeed:function(oFeedData,oOptions){var aTwitterHTML=[],iResultCount=0,iCurrentResult=0,iFinalResultCount=0,bRowOdd=true;if(!oFeedData){return}if(oOptions.html!==false){aTwitterHTML.push("<ul>")}if(oOptions.title!==undefined){aTwitterHTML.push('<h4><a href="http://twitter.com/'+oOptions.user+'" target="_blank">'+oOptions.title+"</a></h4>")}if(oFeedData.results.length){for(i=0;i<oFeedData.results.length;i++){if((oOptions.reply!==false||!oFeedData.results[i].text.match(/^@/))&&(oOptions.display===undefined||i<oOptions.display)){iResultCount++}}for(i=0;i<oFeedData.results.length;i++){if((oOptions.reply!==false||!oFeedData.results[i].text.match(/^@/)||(oOptions.display!==undefined&&iResultCount<oOptions.display))&&(oOptions.display===undefined||i<oOptions.display)){iFinalResultCount++}}for(i=0;i<oFeedData.results.length;i++){if((oOptions.reply!==false||!oFeedData.results[i].text.match(/^@/)||(oOptions.display!==undefined&&iResultCount<oOptions.display))&&(oOptions.display===undefined||i<oOptions.display)){if(oOptions.html===false){aTwitterHTML.push(ItvJs.Twitter.makeTweetHTML(oFeedData.results[i].text))}else{aTwitterHTML.push('<li class="'+(bRowOdd?"tweetOdd":"tweetEven")+" "+((iResultCount-1)===iCurrentResult?"tweetLast":"")+" "+(iCurrentResult===0?"tweetFirst":"")+'">');if(bRowOdd){bRowOdd=false}else{bRowOdd=true}if(oOptions.icon===true&&oFeedData.results[i].profile_image_url&&iCurrentResult===0){aTwitterHTML.push('<div class="tweetImg"><a href="http://twitter.com/'+oOptions.user+'" target="_blank"><img src="'+oFeedData.results[i].profile_image_url+'"/></a></div>')}aTwitterHTML.push('<p class="tweetText">'+ItvJs.Twitter.makeTweetHTML(oFeedData.results[i].text)+"</p>");if((i+1)===iFinalResultCount&&oOptions.follow===true){if(oOptions.name===undefined){oOptions.name=""}aTwitterHTML.push('<p class="tweetDate">'+ItvJs.Twitter._getFriendlyTime(Date.parse(oFeedData.results[i].created_at))+' from Twitter <a href="http://twitter.com/'+oOptions.user+'" target="_blank">Follow '+oOptions.name+"</a></p>")}else{aTwitterHTML.push('<p class="tweetDate">'+ItvJs.Twitter._getFriendlyTime(Date.parse(oFeedData.results[i].created_at))+" from Twitter</p>")}iCurrentResult++;aTwitterHTML.push("</li>")}if(oOptions.iTime===undefined){oOptions.iTime=Date.parse(oFeedData.results[i].created_at)}}}}if(oOptions.html!==false){aTwitterHTML.push("</ul>")}return aTwitterHTML.join("")},_FetchFeed:function(sUserName,iTweetCount,fCallback,oOptions){var screenFeedURL="";if(sUserName===undefined){sUserName="twitter"}if(fCallback===undefined){fCallback=function(){}}if(iTweetCount===undefined){iTweetCount=5}if(oOptions.feed!==undefined){screenFeedURL=oOptions.feed}else{screenFeedURL="http://search.twitter.com/search.json?&q=from:"+sUserName+"&rpp="+iTweetCount+"&callback=?"}$.getJSON(screenFeedURL,function(oFeedData){if(typeof oOptions.onload==="function"){oOptions.onload(oFeedData,oOptions)}else{fCallback(oFeedData,oOptions)}})}};$(window).ready(function(){if(ItvJs&&ItvJs.Twitter){ItvJs.Twitter.Init()}});
jQuery.cookie=function(name,value,options){if(typeof value!="undefined"){options=options||{};if(value===null){value="";options=$.extend({},options);options.expires=-1}var expires="";if(options.expires&&(typeof options.expires=="number"||options.expires.toUTCString)){var date;if(typeof options.expires=="number"){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000))}else{date=options.expires}expires="; expires="+date.toUTCString()}var path=options.path?"; path="+(options.path):"";var domain=options.domain?"; domain="+(options.domain):"";var secure=options.secure?"; secure":"";document.cookie=[name,"=",encodeURIComponent(value),expires,path,domain,secure].join("")}else{var cookieValue=null;if(document.cookie&&document.cookie!=""){var cookies=document.cookie.split(";");for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+"=")){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break}}}return cookieValue}};(function($){var ver="galleriffic-1.0.17",galleryOffset=0,galleries=[],allImages=[],historyCurrentHash,historyBackStack,historyForwardStack,isFirst=false,dontCheck=false,isInitialized=false,cssNoScript="gfk-noScript",cssTop="gfk-top",cssBottom="gfk-bottom",cssNext="gfk-next",cssPrevious="gfk-previous",cssFirst="gfk-first",cssLast="gfk-last",cssCurrent="gfk-currentPage",cssInactive="gfk-inactive",cssSelected="gfk-selected",cssPlay="gfk-play",cssPause="gfk-pause",cssPagination="gfk-pagination",cssNumbers="gfk-pageNumbers",cssThumbsList="gfk-thumbsList",cssThumbHolder="gfk-thumbHolder",cssThumb="gfk-thumb",cssCaption="gfk-caption",cssSSControls="gfk-ssControls",cssNavControls="gfk-navControls",cssImageWrapper="gfk-canvas",cssAdvanceLink="gfk-advanceLink",cssEndSlate="gfk-endSlate",cssEndSlateBg="gfk-endSlateBg",cssWidthRatio="gfk-fullWidth",cssHeightRatio="gfk-fullHeight";function getHashFromString(hash){if(!hash){return -1}hash=hash.replace(/^.*#/,"");if(isNaN(hash)){return -1}return(+hash)}function getHash(){var hash=location.hash;return getHashFromString(hash)}function registerGallery(gallery){galleries.push(gallery);galleryOffset+=gallery.data.length}function getGallery(hash){for(var i=0;i<galleries.length;i++){var gallery=galleries[i];if(hash<(gallery.data.length+gallery.offset)){return gallery}}return 0}function getIndex(gallery,hash){return hash-gallery.offset}function clickHandler(e,gallery,link){gallery.pause();if(!gallery.settings.enableHistory){var hash=getHashFromString(link.href);if(hash>=0){var index=getIndex(gallery,hash);if(index>=0){gallery.goItem(index)}}e.preventDefault()}}function historyCallback(){var hash=getHash();if(hash<0){return}var gallery=getGallery(hash);if(!gallery){return}var index=hash-gallery.offset;gallery.goItem(index)}function historyInit(){if(isInitialized){return}isInitialized=true;var current_hash=location.hash;historyCurrentHash=current_hash;if($.browser.msie){if(historyCurrentHash===""){historyCurrentHash="#"}}else{if($.browser.safari){historyBackStack=[];historyBackStack.length=history.length;historyForwardStack=[];isFirst=true}}setInterval(function(){historyCheck()},100)}function historyAddHistory(hash){historyBackStack.push(hash);historyForwardStack.length=0;isFirst=true}function historyCheck(){if($.browser.safari){if(!dontCheck){var historyDelta=history.length-historyBackStack.length;if(historyDelta){isFirst=false;if(historyDelta<0){for(var i=0;i<Math.abs(historyDelta);i++){historyForwardStack.unshift(historyBackStack.pop())}}else{for(var j=0;j<historyDelta;j++){historyBackStack.push(historyForwardStack.shift())}}var cachedHash=historyBackStack[historyBackStack.length-1];if(cachedHash!==undefined){historyCurrentHash=location.hash;historyCallback()}}else{if(historyBackStack[historyBackStack.length-1]===undefined&&!isFirst){historyCallback();isFirst=true}}}}else{var current_hash=location.hash;if(current_hash!=historyCurrentHash){historyCurrentHash=current_hash;historyCallback()}}}var defaults={delay:5000,advertDelay:2000,numThumbs:4,preloadAhead:40,enableEndSlate:false,enablePages:true,enableScaling:true,enableTopPager:true,enableBottomPager:false,imageContainerSel:"",controlsContainerSel:"",captionContainerSel:"",loadingContainerSel:"",renderSSControls:false,renderNavControls:true,playLinkText:"Play",pauseLinkText:"Pause",prevLinkText:"Previous",nextLinkText:"Next",nextPageLinkText:"Next page &rsaquo;",prevPageLinkText:"&lsaquo; Previous page",enableHistory:true,autoStart:false,onChange:undefined,onTransitionOut:undefined,onTransitionIn:undefined,onPageTransitionOut:undefined,onPageTransitionIn:undefined};$.fn.galleriffic=function(thumbsContainerSel,settings){$.extend(this,{ver:function(){return ver},initializeThumbs:function(){this.data=[];var gallery=this;this.$thumbsContainer.find("ul."+cssThumbsList+" > li").each(function(i){var $li=$(this);var $aThumb=$li.find("a."+cssThumb);var hash=gallery.offset+i;gallery.data.push({title:$aThumb.attr("title"),slideUrl:$aThumb.attr("href"),caption:$li.find("."+cssCaption).remove(),hash:hash});$aThumb.attr("rel","history");$aThumb.attr("href","#"+hash);$aThumb.click(function(e){clickHandler(e,gallery,this)})});return this},isPreloadComplete:false,preloadInit:function(){if(this.settings.preloadAhead===0){return this}this.preloadStartIndex=this.currentIndex;var nextIndex=this.getNextIndex(this.preloadStartIndex);if(nextIndex!=-1){return this.preloadRecursive(this.preloadStartIndex,nextIndex)}return},preloadRelocate:function(index){this.preloadStartIndex=index;return this},preloadRecursive:function(startIndex,currentIndex){if(startIndex!=this.preloadStartIndex){var nextIndex=this.getNextIndex(this.preloadStartIndex);if(nextIndex!=-1){return this.preloadRecursive(this.preloadStartIndex,nextIndex)}return}var gallery=this;var preloadCount=currentIndex-startIndex;if(preloadCount<0){preloadCount=this.data.length-1-startIndex+currentIndex}if(this.settings.preloadAhead>=0&&preloadCount>this.settings.preloadAhead){setTimeout(function(){gallery.preloadRecursive(startIndex,currentIndex)},500);return this}var imageData=this.data[currentIndex];if(!imageData){return this}if(imageData.image){return this.preloadNext(startIndex,currentIndex)}var image=new Image();image.onload=function(){imageData.image=this;gallery.preloadNext(startIndex,currentIndex)};image.alt=imageData.title;image.src=imageData.slideUrl;return this},preloadNext:function(startIndex,currentIndex){var nextIndex=this.getNextIndex(currentIndex);if(nextIndex==-1){this.isPreloadComplete=true}else{var gallery=this;setTimeout(function(){gallery.preloadRecursive(startIndex,nextIndex)},100)}return this},getNextIndex:function(index){return ++index>=this.data.length?-1:index},getPrevIndex:function(index){return --index>=0?index:-1},advertFlagReset:function(){this.advertFlag=true;setTimeout(function(){gallery.advertFlagReset()},this.settings.advertDelay)},pause:function(){if(this.interval){this.toggleSlideshow()}return this},play:function(){if(!this.interval){this.toggleSlideshow()
}return this},toggleSlideshow:function(){if(this.interval){clearInterval(this.interval);this.interval=0;if(this.$controlsContainer){this.$controlsContainer.find("div."+cssSSControls+" a").removeClass().addClass(cssPlay).attr("title",this.settings.playLinkText).attr("href","#play").html(this.settings.playLinkText)}}else{this.ssAdvance();var gallery=this;this.interval=setInterval(function(){gallery.ssAdvance()},this.settings.delay);if(this.$controlsContainer){this.$controlsContainer.find("div."+cssSSControls+" a").removeClass().addClass(cssPause).attr("title",this.settings.pauseLinkText).attr("href","#pause").html(this.settings.pauseLinkText)}}return this},ssAdvance:function(){var nextIndex=this.getNextIndex(this.currentIndex);if(nextIndex==-1){nextIndex=0}var nextHash=this.data[nextIndex].hash;if(this.settings.enableHistory){location.href="#"+nextHash}else{this.goItem(nextIndex)}return this},goItem:function(index){if(index<0){index=0}else{if(index>=this.data.length){index=this.data.length-1}}if(this.settings.onChange){this.settings.onChange(this.currentIndex,index)}this.currentIndex=index;this.preloadRelocate(index);return this.refresh()},fixCanvasSize:function(){var canvasWidth=$("div."+cssImageWrapper).width();var canvasHeight=$("div."+cssImageWrapper).height();$(this.$loadingContainer).attr("style","width: "+canvasWidth+"px !important; height: "+canvasHeight+"px !important;");$("div."+cssImageWrapper).attr("style","width: "+canvasWidth+"px !important; height: "+canvasHeight+"px !important;")},refresh:function(){var imageData=this.data[this.currentIndex];if(!imageData){return this}var isTransitioning=true;var gallery=this;var transitionOutCallback=function(){isTransitioning=false;if(gallery.$controlsContainer){gallery.$controlsContainer.find("div."+cssNavControls+" a."+cssPrevious).removeAttr("href").addClass(cssInactive).end().find("div."+cssNavControls+" a."+cssNext).removeAttr("href").addClass(cssInactive);var previousImage=gallery.getPrevIndex(gallery.currentIndex);if(previousImage!=-1){gallery.$controlsContainer.find("div."+cssNavControls+" a."+cssPrevious).attr("href","#"+gallery.data[previousImage].hash).removeClass(cssInactive)}var nextImage=gallery.getNextIndex(gallery.currentIndex);if(nextImage!=-1){gallery.$controlsContainer.find("div."+cssNavControls+" a."+cssNext).attr("href","#"+gallery.data[nextImage].hash).removeClass(cssInactive)}gallery.$controlsContainer.find("div."+cssNavControls+" span").text("Image "+(gallery.currentIndex+1)+" of "+gallery.data.length)}var imageData=gallery.data[gallery.currentIndex];if(gallery.$captionContainer){gallery.$captionContainer.empty().append(imageData.caption)}if(imageData.image){gallery.buildImage(imageData.image)}else{if(gallery.$loadingContainer){gallery.$loadingContainer.show()}}};if(this.settings.onTransitionOut){this.settings.onTransitionOut(transitionOutCallback)}else{this.$transitionContainers.hide();transitionOutCallback()}if(!imageData.image){var image=new Image();image.onload=function(){imageData.image=this;if(!isTransitioning){gallery.buildImage(imageData.image)}};image.alt=imageData.title;image.src=imageData.slideUrl}this.relocatePreload=true;if(typeof Bloom!="undefined"){if(this.advertFlag&&Bloom.Adverts.AdvertServer.Current){Bloom.Adverts.AdvertServer.Current.RefreshAdverts();this.advertFlag=false}}return this.syncThumbs()},generateCentredStyle:function(width,height,container){var containerWidth=$(container).width();var containerHeight=$(container).height();var leftStyle=Math.round((containerWidth-width)/2);var topStyle=Math.round((containerHeight-height)/2);return"position: absolute; top: "+topStyle+"px; left: "+leftStyle+"px;"},generateDimensionStyle:function(width,height,container,stretch){var containerWidth=$(container).width();var containerHeight=$(container).height();var widthRatio=width/containerWidth;var heightRatio=height/containerHeight;if(!stretch&&(widthRatio<1&&heightRatio<1)){return gallery.generateCentredStyle(width,height,container)}else{if(widthRatio>heightRatio){return"width: "+containerWidth+"px; height: "+((containerWidth/width)*height)+"px;"}else{return"height: "+containerHeight+"px; width: "+((containerHeight/height)*width)+"px;"}}},calcDominantRatio:function(width,height,container){var widthRatio=width/$(container).width();var heightRatio=height/$(container).height();if(widthRatio>heightRatio){return cssWidthRatio}else{return cssHeightRatio}},buildImage:function(image){if(this.$imageContainer){var gallery=this;var nextIndex=this.getNextIndex(this.currentIndex);this.$imageContainer.empty();if(this.$loadingContainer){this.$loadingContainer.hide()}if(nextIndex==-1){if(this.settings.enableEndSlate){var captionData=gallery.data[gallery.currentIndex].caption;this.$imageContainer.append('<div class="'+cssEndSlate+'" style="width: '+this.$imageContainer.width()+"px; height: "+Math.round(this.$imageContainer.width()/(16/9))+'px;"></div>').find("div").append('<img class="'+cssEndSlateBg+'" src="'+image.src+'" />').append(captionData)}else{this.$imageContainer.append('<a rel="history" title="'+image.alt+'"></a>').find("a").addClass(cssAdvanceLink).append(image);if(this.settings.enableScaling){this.$imageContainer.find("img").attr("style",gallery.generateDimensionStyle(image.width,image.height," ."+cssImageWrapper,false))}}}else{this.$imageContainer.append('<a rel="history" href="#'+this.data[nextIndex].hash+'" title="'+image.alt+'"></a>').find("a").addClass(cssAdvanceLink).append(image).click(function(e){clickHandler(e,gallery,this)});if(this.settings.enableScaling){this.$imageContainer.find("img").attr("style",gallery.generateDimensionStyle(image.width,image.height," ."+cssImageWrapper,false))}}}if(this.settings.onTransitionIn){this.settings.onTransitionIn()}else{this.$transitionContainers.show()}return this},syncThumbs:function(){if(this.$thumbsContainer){var page=Math.floor(this.currentIndex/this.settings.numThumbs);if(this.initialLoad===true||page!=this.currentPage){this.initialLoad=false;this.currentPage=page;
this.updateThumbs()}var $thumbs=this.$thumbsContainer.find("ul."+cssThumbsList).children();$thumbs.filter("."+cssSelected).removeClass(cssSelected);$thumbs.find("span#"+cssSelected).remove();$thumbs.eq(this.currentIndex).addClass(cssSelected).prepend('<span id="'+cssSelected+'">&nbsp;</span>')}return this},updateThumbs:function(){var gallery=this;var transitionOutCallback=function(){gallery.rebuildThumbs();if(gallery.settings.onPageTransitionIn){gallery.settings.onPageTransitionIn()}else{gallery.$thumbsContainer.show()}};if(this.settings.onPageTransitionOut){this.settings.onPageTransitionOut(transitionOutCallback)}else{this.$thumbsContainer.hide();transitionOutCallback()}return this},rebuildThumbs:function(){if(this.currentPage<0){this.currentPage=0}var needsPagination=this.data.length>this.settings.numThumbs;if(needsPagination&&this.settings.enableTopPager){var $topPager=this.$thumbsContainer.find("div."+cssTop);if($topPager.length===0){$topPager=this.$thumbsContainer.prepend('<div class="'+cssTop+" "+cssPagination+'"></div>').find("div."+cssTop)}else{$topPager.empty()}this.buildPager($topPager)}if(needsPagination&&this.settings.enableBottomPager){var $bottomPager=this.$thumbsContainer.find("div."+cssBottom);if($bottomPager.length===0){$bottomPager=this.$thumbsContainer.append('<div class="'+cssBottom+" "+cssPagination+'"></div>').find("div."+cssBottom)}else{$bottomPager.empty()}this.buildPager($bottomPager)}var startIndex=this.currentPage*this.settings.numThumbs;var stopIndex=startIndex+this.settings.numThumbs-1;if(stopIndex>=this.data.length){stopIndex=this.data.length-1}var $thumbsUl=this.$thumbsContainer.find("ul."+cssThumbsList);$thumbsUl.find("li").each(function(i){var $li=$(this);$li.filter("."+cssFirst).removeClass(cssFirst);$li.filter("."+cssLast).removeClass(cssLast);if(i==startIndex){$li.addClass(cssFirst)}if(i==stopIndex){$li.addClass(cssLast)}var image=$li.find("img");$li.find("img").addClass(gallery.calcDominantRatio(image.width,image.height,"."+cssThumbHolder));if(i>=startIndex&&i<=stopIndex){$li.show()}else{$li.hide()}});$thumbsUl.removeClass(cssNoScript);return this},buildPager:function(pager){var gallery=this;var startIndex=this.currentPage*this.settings.numThumbs;if(this.currentPage>0){var prevPage=startIndex-this.settings.numThumbs;pager.append('<div class="'+cssPrevious+'"><a rel="history" href="#'+this.data[prevPage].hash+'" title="'+this.settings.prevPageLinkText+'">'+this.settings.prevPageLinkText+"</a></div>")}else{pager.append('<div class="'+cssPrevious+'"><a class="'+cssInactive+'" title="'+this.settings.prevPageLinkText+'">'+this.settings.prevPageLinkText+"</a></div>")}if(this.settings.enablePages){pager.append('<div class="'+cssNumbers+'">');for(var i=this.currentPage-3;i<=this.currentPage+3;i++){var pageNum=i+1;if(i==this.currentPage){pager.append('<a class="'+cssCurrent+'">'+pageNum+"</a>")}else{if(i>=0&&i<this.numPages){var imageIndex=i*this.settings.numThumbs;pager.append('<a rel="history" href="#'+this.data[imageIndex].hash+'" title="'+pageNum+'">'+pageNum+"</a>")}}}pager.append("</div>")}var nextPage=startIndex+this.settings.numThumbs;if(nextPage<this.data.length){pager.append('<div class="'+cssNext+'"><a rel="history" href="#'+this.data[nextPage].hash+'" title="'+this.settings.nextPageLinkText+'">'+this.settings.nextPageLinkText+"</a></div>")}else{pager.append('<div class="'+cssNext+'"><a class="'+cssInactive+'" title="'+this.settings.nextPageLinkText+'">'+this.settings.nextPageLinkText+"</a></div>")}pager.find("a[rel='history']").click(function(e){clickHandler(e,gallery,this)});return this}});this.settings=$.extend({},defaults,settings);this.initialLoad=true;if(this.interval){clearInterval(this.interval)}this.interval=0;this.advertFlag=false;if(this.settings.imageContainerSel){this.$imageContainer=$(this.settings.imageContainerSel)}if(this.settings.captionContainerSel){this.$captionContainer=$(this.settings.captionContainerSel)}if(this.settings.loadingContainerSel){this.$loadingContainer=$(this.settings.loadingContainerSel)}this.$transitionContainers=$([]);if(this.$imageContainer){this.$transitionContainers=this.$transitionContainers.add(this.$imageContainer)}if(this.$captionContainer){this.$transitionContainers=this.$transitionContainers.add(this.$captionContainer)}this.offset=galleryOffset;this.$thumbsContainer=$(thumbsContainerSel);this.initializeThumbs();registerGallery(this);this.numPages=Math.ceil(this.data.length/this.settings.numThumbs);this.currentPage=-1;this.currentIndex=0;var gallery=this;if(this.$loadingContainer){this.$loadingContainer.hide()}if(this.settings.controlsContainerSel){this.$controlsContainer=$(this.settings.controlsContainerSel).empty();if(this.settings.renderSSControls){if(this.settings.autoStart){this.$controlsContainer.append('<div class="'+cssSSControls+'"><a href="#pause" class="'+cssPause+'" title="'+this.settings.pauseLinkText+'">'+this.settings.pauseLinkText+"</a></div>")}else{this.$controlsContainer.append('<div class="'+cssSSControls+'"><a href="#play" class="'+cssPlay+'" title="'+this.settings.playLinkText+'">'+this.settings.playLinkText+"</a></div>")}this.$controlsContainer.find("div."+cssSSControls+" a").click(function(e){gallery.toggleSlideshow();e.preventDefault();return false})}if(this.settings.renderNavControls){var $navControls=this.$controlsContainer.append('<div class="'+cssNavControls+'"><a class="'+cssPrevious+'" rel="history" title="'+this.settings.prevLinkText+'">'+this.settings.prevLinkText+'</a><span></span><a class="'+cssNext+'" rel="history" title="'+this.settings.nextLinkText+'">'+this.settings.nextLinkText+"</a></div>").find("div."+cssNavControls+" a").click(function(e){clickHandler(e,gallery,this)})}}historyInit();this.fixCanvasSize();var hash=getHash();var hashGallery=(hash>=0)?getGallery(hash):0;var gotoIndex=(hashGallery&&this==hashGallery)?(hash-this.offset):0;this.goItem(gotoIndex);if(this.settings.autoStart){setTimeout(function(){gallery.play()},this.settings.delay)}setTimeout(function(){gallery.preloadInit()
},1000);setTimeout(function(){gallery.advertFlagReset()},this.settings.advertDelay);return this}})(jQuery);
