(function($){$.slideFader=function(appHolder,itemsQuery,options){var defaults={zLevel:100,prev:null,next:null,hideIdleNavButtons:true,timerEnabled:true,timerInterval:3000,onComplete:function(){slideTimer.stop()
}};
var options=$.extend(defaults,options);
var buttons={prev:options.prev,next:options.next};
var init=function(items){currIndex=0;
$(items).css("z-index",options.zLevel);
var firstItem=$($(items).get(0));
firstItem.css("z-index",options.zLevel+2)
};
var setupButtons=function(){if(!options.prev){buttons.prev=$('<div id="slide-prev" class="slide-button" onselectstart="return false"><span></span></div>');
buttons.prev.appendTo(appHolder)
}if(!options.next){buttons.next=$('<div id="slide-next" class="slide-button" onselectstart="return false"><span>Go to image 2/'+items.length+"</span></div>");
buttons.next.appendTo(appHolder)
}buttons.prev.click(function(){if(!$(this).hasClass("disabled")){movePrev()
}});
buttons.next.click(function(){if(!$(this).hasClass("disabled")){moveNext()
}});
return buttons
};
var moveNext=function(){if(currIndex>=items.length){return
}else{if((currIndex+1)<items.length){currState=states.middle;
switchImg(currIndex+1)
}}};
var movePrev=function(){if(currIndex<1){return
}else{if((currIndex-1)<items.length){currState=states.middle;
switchImg(currIndex-1)
}}};
var moveStart=function(){currState=states.start;
switchImg(0)
};
var switchImg=function(index){if(index===currIndex){return
}var newImg=$(items.get(index));
var currImg=$(items.get(currIndex));
newImg.css("z-index",options.zLevel+1);
$(items[currIndex]).fadeTo(800,0,function(){newImg.css("z-index",options.zLevel+2);
currImg.css("z-index",options.zLevel);
currImg.fadeTo(0,1)
});
currIndex=index;
updateStates();
refreshButtons();
appHolder.trigger("changed",newImg)
};
var updateStates=function(){if(items.length===1){currState=states.single
}else{if(currIndex<1){currState=states.start
}else{if(currIndex>=items.length-1){currState=states.end
}else{currState=states.middle
}}}};
var refreshButtons=function(){buttons.next.find("span").text("Go to image "+parseInt(currIndex+2,10)+"/"+items.length,10);
buttons.prev.find("span").text("Back to image "+parseInt(currIndex)+"/"+items.length,10);
switch(currState){case states.start:buttons.next.removeClass("disabled");
buttons.prev.addClass("disabled");
break;
case states.end:buttons.next.addClass("disabled");
buttons.prev.removeClass("disabled");
break;
case states.middle:buttons.next.removeClass("disabled");
buttons.prev.removeClass("disabled");
break;
case states.single:buttons.next.addClass("disabled");
buttons.prev.addClass("disabled");
break
}};
var runButtonTimer=function(){var timer;
var buttonsVisible=false;
var stopTimer=function(){clearTimeout(timer)
};
var restartTimer=function(){clearTimeout(timer);
timer=setTimeout(hideAll,1500)
};
var showAll=function(){if(!buttonsVisible){if(options.hideIdleNavButtons==true){buttons.next.stop();
buttons.next.fadeTo(300,1);
buttons.prev.stop();
buttons.prev.fadeTo(300,1);
buttonsVisible=true
}restartTimer()
}};
var hideAll=function(){stopTimer();
if(options.hideIdleNavButtons==true){buttons.next.stop();
buttons.next.fadeTo(1000,0.01);
buttons.prev.stop();
buttons.prev.fadeTo(1000,0.01);
buttonsVisible=false
}};
$(appHolder).mousemove(showAll);
$(appHolder).mouseenter(showAll);
$(appHolder).click(showAll);
$(appHolder).mouseout(hideAll);
return restartTimer()
};
var slideTimer=(function(){var slideshow=this;
var timer;
var timerInterval;
var enabled=true;
var lastTime=(new Date()).getTime();
var slideNext=function(){var newTime=(new Date()).getTime();
var timeSinceLastSlide=newTime-lastTime;
lastTime=newTime;
if(!enabled){return
}if(currState==states.end){options.onComplete.apply(timerControl)
}else{moveNext()
}};
var timerControl={init:function(interval){timerInterval=interval;
$(appHolder).mousemove(timerControl.stop);
$(appHolder).mouseenter(timerControl.stop);
$(appHolder).click(timerControl.stop);
$(appHolder).mouseout(timerControl.start);
return this
},start:function(){if(enabled){if(timer){clearInterval(timer)
}timer=setInterval(slideNext,timerInterval)
}return this
},stop:function(){if(timer){clearInterval(timer)
}return this
},disable:function(){enabled=false;
timerControl.stop();
return this
},enable:function(){enabled=true;
return this
}};
return timerControl
})();
var items=$(appHolder).find(itemsQuery);
var states={start:0,end:1,middle:2,single:3};
var currState=items.length>1?states.start:states.single;
var currIndex=0;
var buttons=setupButtons();
init(items);
refreshButtons();
runButtonTimer();
slideTimer.init(options.timerInterval);
if(options.timerEnabled&&currState!=states.single){slideTimer.start()
}else{slideTimer.disable()
}return{getCurrItem:function(){return items[currIndex]
},getCurrFullLink:function(){return $(items[currIndex]).find("a.fullImage").attr("href")
},buttons:buttons,timer:slideTimer,control:{restart:moveStart,next:moveNext,prev:movePrev}}
}
})(jQuery);
var global=this;
$(document).ready(function(){(function(){$.nowness.setupTodayStories();
$.nowness.slideShow=$.slideFader($("#slideShow"),".imgBox",{timerEnabled:true,timerInterval:5000,onComplete:function(){var timer=this;
timer.disable();
$("#mediaEnd a.btn-replay").click(function(){$.nowness.mediaOverlay.close();
$.nowness.slideShow.control.restart();
$.nowness.slideShow.timer.enable().start()
});
$.nowness.showMediaEnd()
}});
var currCredits=$($.nowness.slideShow.getCurrItem()).find(".creditsHolder");
$("#slideShow").bind("changed",function(e,currImg){currCredits=$(currImg).find(".creditsHolder")
});
$("a.lnk-credits").hover(function(){$(currCredits).fadeTo(300,1);
$.nowness.slideShow.timer.stop()
},function(){$(currCredits).fadeTo(400,0);
$.nowness.slideShow.timer.start()
});
$.each($.nowness.slideShow.buttons,function(){$(this).find("span").tooltip({delay:0,track:true,fixPNG:true,opacity:0.75,bodyHandler:function(){return'<div class="tooltip-bg"></div><span>'+$(this).text()+"</span>"
},extraClass:"tooltip-blk",showURL:false})
});
(function(){$("#slideshowFlash").hover(function(){$("#slide-fullscreen a.lnk-fullscreen").addClass("hover")
},function(){$("#slide-fullscreen a.lnk-fullscreen").removeClass("hover")
})
})()
})()
});
