
/* - jquery.anythingslider.js - */
// http://www.caes.cnrs.fr/portal_javascripts/jquery.anythingslider.js?original=1
(function($){$.anythingSlider=function(el,options){var base=this;base.$el=$(el).addClass('anythingBase').wrap('<div class="anythingSlider"><div class="anythingWindow" /></div>');base.$el.data("AnythingSlider",base);base.init=function(){base.options=$.extend({},$.anythingSlider.defaults,options);base.$wrapper=base.$el.parent().closest('div.anythingSlider').addClass('anythingSlider-'+base.options.theme);base.$window=base.$el.closest('div.anythingWindow');base.$controls=$('<div class="anythingControls"></div>').appendTo(base.$wrapper);base.$items=base.$el.find('> li').addClass('panel');base.pages=base.$items.length;base.timer=null;base.flag=false;base.playing=false;base.hovered=false;base.panelSize=[];base.currentPage=base.options.startPanel;base.hasEmb=!!base.$items.find('embed[src*=youtube]').length;base.hasSwfo=(typeof(swfobject)!=='undefined'&&swfobject.hasOwnProperty('embedSWF')&&$.isFunction(swfobject.embedSWF))?true:false;base.runTimes=$('div.anythingSlider').index(base.$wrapper)+1;if(!$.isFunction($.easing[base.options.easing])){base.options.easing="swing"}
if(base.options.theme!='default'&&!$('link[href*='+base.options.theme+']').length){$('body').append('<link rel="stylesheet" href="'+base.options.themeDirectory.replace(/\{themeName\}/g,base.options.theme)+'" type="text/css" />')}
if(base.hasEmb&&base.hasSwfo){base.$items.find('embed[src*=youtube]').each(function(i){var $tar=($(this).parent()[0].tagName=="OBJECT")?$(this).parent():$(this);$tar.wrap('<div id="ytvideo'+i+'"></div>');swfobject.embedSWF($(this).attr('src')+'&enablejsapi=1&version=3&playerapiid=ytvideo'+i,'ytvideo'+i,'100%','100%','10',null,null,{allowScriptAccess:"always",wmode:base.options.addWmodeToObject},{})})}
if(base.options.resizeContents){if(base.options.width){base.$wrapper.add(base.$items).css('width',base.options.width)}
if(base.options.height){base.$wrapper.add(base.$items).css('height',base.options.height)}
if(base.hasEmb){base.$el.find('object, embed').css({width:'100%',height:'100%'})}}
if(base.pages===1){base.options.autoPlay=false;base.options.buildNavigation=false;base.options.buildArrows=false}
if(base.options.autoPlay){base.playing=!base.options.startStopped;base.buildAutoPlay()}
base.buildNavigation();base.$el.prepend(base.$items.filter(':last').clone().addClass('cloned').removeAttr('id'));base.$el.append(base.$items.filter(':first').clone().addClass('cloned').removeAttr('id'));base.$items=base.$el.find('> li');base.setDimensions();if(!base.options.resizeContents){$(window).load(function(){base.setDimensions()})}
if(base.options.buildArrows){base.buildNextBackButtons()}
if(base.options.pauseOnHover){base.$wrapper.hover(function(){if(base.playing){base.$el.trigger('slideshow_paused',base);if($.isFunction(base.options.onShowPause)){base.options.onShowPause(base)}
base.clearTimer(true)}}, function(){if(base.playing){base.$el.trigger('slideshow_unpaused',base);if($.isFunction(base.options.onShowUnpause)){base.options.onShowUnpause(base)}
base.startStop(base.playing,true)}})}
if((base.options.hashTags===true&&!base.gotoHash())||base.options.hashTags===false){base.setCurrentPage(base.options.startPanel,false)}
base.$items.find('a').focus(function(){base.$items.find('.focusedLink').removeClass('focusedLink');$(this).addClass('focusedLink');base.$items.each(function(i){if($(this).find('a.focusedLink').length){base.gotoPage(i);return false}})});base.slideControls(false);base.$wrapper.hover(function(e){base.hovered=(e.type=="mouseenter")?true:false;base.slideControls(base.hovered,false)});$(document).keyup(function(e){if(base.$wrapper.is('.activeSlider')){switch(e.which){case 39:base.goForward();break;case 37:base.goBack();break}}})};base.buildNavigation=function(){base.$nav=$('<ul class="thumbNav" />').appendTo(base.$controls);if(base.options.playRtl){base.$wrapper.addClass('rtl')}
if(base.options.buildNavigation&&(base.pages>1)){base.$items.each(function(i,el){var index=i+1,$a=$("<a href='#'></a>").addClass('panel'+index).wrap("<li />");base.$nav.append($a.parent());if($.isFunction(base.options.navigationFormatter)){var tmp=base.options.navigationFormatter(index,$(this));$a.html(tmp);if(parseInt($a.css('text-indent'),10)<0){$a.addClass(base.options.tooltipClass).attr('title',tmp)}} else{$a.text(index)}
$a.bind(base.options.clickControls, function(e){if(!base.flag){base.flag=true;setTimeout(function(){base.flag=false},100);base.gotoPage(index);if(base.options.hashTags){base.setHash('panel'+base.runTimes+'-'+index)}}
e.preventDefault()})})}};base.buildNextBackButtons=function(){base.$forward=$('<span class="arrow forward"><a href="#">'+base.options.forwardText+'</a></span>');base.$back=$('<span class="arrow back"><a href="#">'+base.options.backText+'</a></span>');base.$back.bind(base.options.clickArrows, function(e){base.goBack();e.preventDefault()});base.$forward.bind(base.options.clickArrows, function(e){base.goForward();e.preventDefault()});base.$back.add(base.$forward).find('a').bind('focusin focusout',function(){$(this).toggleClass('hover')});base.$wrapper.prepend(base.$forward).prepend(base.$back);base.$arrowWidth=base.$forward.width()};base.buildAutoPlay=function(){base.$startStop=$("<a href='#' class='start-stop'></a>").html(base.playing?base.options.stopText:base.options.startText);base.$controls.append(base.$startStop);base.$startStop.bind(base.options.clickSlideshow, function(e){base.startStop(!base.playing);if(base.playing){if(base.options.playRtl){base.goBack(true)} else{base.goForward(true)}}
e.preventDefault()}).bind('focusin focusout',function(){$(this).toggleClass('hover')});base.startStop(base.playing)};base.setDimensions=function(){var w,h,c,cw,dw,leftEdge=0,bww=base.$window.width(),winw=$(window).width();base.$items.each(function(i){c=$(this).children('*');if(base.options.resizeContents){w=parseInt(base.options.width,10)||bww;h=parseInt(base.options.height,10)||base.$window.height();$(this).css({width:w,height:h});if(c.length==1){c.css({width:'100%',height:'100%'})}} else{w=$(this).width();dw=(w>=winw)?true:false;if(c.length==1&&dw){cw=(c.width()>=winw)?bww:c.width();$(this).css('width',cw);c.css('max-width',cw);w=cw}
w=(dw)?base.options.width||bww:w;$(this).css('width',w);h=$(this).outerHeight();$(this).css('height',h)}
base.panelSize[i]=[w,h,leftEdge];leftEdge+=w});base.$el.css('width',(leftEdge<base.options.maxOverallWidth)?leftEdge:base.options.maxOverallWidth)};base.gotoPage=function(page,autoplay){if(typeof(page)==="undefined"||page===null){page=base.options.startPage;base.setCurrentPage(base.options.startPage)}
if(base.checkVideo(base.playing)){return}
base.$el.trigger('slide_init',base);if($.isFunction(base.options.onSlideInit)){base.options.onSlideInit(base)}
base.slideControls(true,false);if(page>base.pages+1){page=base.pages}
if(page<0){page=1}
if(autoplay!==true){autoplay=false}
if(!autoplay||(base.options.stopAtEnd&&page==base.pages)){base.startStop(false)}
base.$el.trigger('slide_begin',base);if($.isFunction(base.options.onSlideBegin)){base.options.onSlideBegin(base)}
if(!base.options.resizeContents){base.$wrapper.filter(':not(:animated)').animate({width:base.panelSize[page][0],height:base.panelSize[page][1]},{queue:false,duration:base.options.animationTime,easing:base.options.easing})}
base.$window.filter(':not(:animated)').animate({scrollLeft:base.panelSize[page][2]},{queue:false,duration:base.options.animationTime,easing:base.options.easing,complete: function(){base.endAnimation(page)}})};base.endAnimation=function(page){if(page===0){base.$window.scrollLeft(base.panelSize[base.pages][2]);page=base.pages} else if(page>base.pages){base.$window.scrollLeft(base.panelSize[1][2]);page=1}
base.setCurrentPage(page,false);if(!base.hovered){base.slideControls(false)}
if(base.hasEmb){var emb=base.$items.eq(base.currentPage).find('object[id*=ytvideo], embed[id*=ytvideo]');if(emb.length&&$.isFunction(emb[0].getPlayerState)&&emb[0].getPlayerState()>0&&emb[0].getPlayerState()!=5){emb[0].playVideo()}}
base.$el.trigger('slide_complete',base);if($.isFunction(base.options.onSlideComplete)){setTimeout(function(){base.options.onSlideComplete(base)},0)}};base.setCurrentPage=function(page,move){if(base.options.buildNavigation){base.$nav.find('.cur').removeClass('cur');base.$nav.find('a').eq(page-1).addClass('cur')}
if(!move){base.$wrapper.css({width:base.panelSize[page][0],height:base.panelSize[page][1]});base.$wrapper.scrollLeft(0);base.$window.scrollLeft(base.panelSize[page][2])}
base.currentPage=page;if(!base.$wrapper.is('.activeSlider')){$('.activeSlider').removeClass('activeSlider');base.$wrapper.addClass('activeSlider')}};base.goForward=function(autoplay){if(autoplay!==true){autoplay=false;base.startStop(false)}
base.gotoPage(base.currentPage+1,autoplay)};base.goBack=function(autoplay){if(autoplay!==true){autoplay=false;base.startStop(false)}
base.gotoPage(base.currentPage-1,autoplay)};base.gotoHash=function(){var hash=window.location.hash.match(/^#?panel(\d+)-(\d+)$/);if(hash){var panel=parseInt(hash[1],10);if(panel==base.runTimes){var slide=parseInt(hash[2],10),$item=base.$items.filter(':eq('+slide+')');if($item.length!==0){base.setCurrentPage(slide,false);return true}}}
return false};base.setHash=function(hash){if(typeof window.location.hash!=='undefined'){if(window.location.hash!==hash){window.location.hash=hash}} else if(location.hash!==hash){location.hash=hash}
return hash};base.slideControls=function(toggle,playing){var dir=(toggle)?'slideDown':'slideUp',t1=(toggle)?0:base.options.animationTime,t2=(toggle)?base.options.animationTime:0,sign=(toggle)?0:1;if(base.options.toggleControls){base.$controls.stop(true,true).delay(t1)[dir](base.options.animationTime/2).delay(t2)}
if(base.options.toggleArrows){if(!base.hovered&&base.playing){sign=1}
base.$forward.stop(true,true).delay(t1).animate({right:sign * base.$arrowWidth,opacity:t2},base.options.animationTime/2);base.$back.stop(true,true).delay(t1).animate({left:sign * base.$arrowWidth,opacity:t2},base.options.animationTime/2)}};base.clearTimer=function(paused){if(base.timer){window.clearInterval(base.timer);if(!paused){base.$el.trigger('slideshow_stop',base);if($.isFunction(base.options.onShowStop)){base.options.onShowStop(base)}}}};base.startStop=function(playing,paused){if(playing!==true){playing=false}
if(playing&&!paused){base.$el.trigger('slideshow_start',base);if($.isFunction(base.options.onShowStart)){base.options.onShowStart(base)}}
base.playing=playing;if(base.options.autoPlay){base.$startStop.toggleClass('playing',playing).html(playing?base.options.stopText:base.options.startText);if(parseInt(base.$startStop.css('text-indent'),10)<0){base.$startStop.addClass(base.options.tooltipClass).attr('title',playing?'Stop':'Start')}}
if(playing){base.clearTimer(true);base.timer=window.setInterval(function(){if(!base.checkVideo(playing)){if(base.options.playRtl){base.goBack(true)} else{base.goForward(true)}}},base.options.delay)} else{base.clearTimer()}};base.checkVideo=function(playing){var emb,ps,stopAdvance=false;if(base.hasEmb){base.$items.find('object[id*=ytvideo], embed[id*=ytvideo]').each(function(){emb=$(this);if(emb.length&&$.isFunction(emb[0].getPlayerState)){ps=emb[0].getPlayerState();if(playing&&(ps==1||ps>2)&&base.$items.index(emb.closest('li.panel'))==base.currentPage&&base.options.resumeOnVideoEnd){stopAdvance=true} else{if(ps>0){emb[0].pauseVideo()}}}})}
return stopAdvance};base.init()};$.anythingSlider.defaults={width:null,height:null,resizeContents:true,tooltipClass:'tooltip',theme:'default',themeDirectory:'css/theme-{themeName}.css',startPanel:1,hashTags:true,buildArrows:true,toggleArrows:false,buildNavigation:true,toggleControls:false,navigationFormatter:null,forwardText:"&raquo;",backText:"&laquo;",autoPlay:true,startStopped:false,pauseOnHover:true,resumeOnVideoEnd:true,stopAtEnd:false,playRtl:false,startText:"Start",stopText:"Stop",delay:3000,animationTime:600,easing:"swing",onShowStart:null,onShowStop:null,onShowPause:null,onShowUnpause:null,onSlideInit:null,onSlideBegin:null,onSlideComplete:null,clickArrows:"click",clickControls:"click focusin",clickSlideshow:"click",addWmodeToObject:"opaque",maxOverallWidth:32766};$.fn.anythingSlider=function(options){if((typeof(options)).match('object|undefined')){return this.each(function(i){if($(this).is('.anythingBase')){return}(new $.anythingSlider(this,options))})} else if (/\d/.test(options)&&!isNaN(options)){return this.each(function(i){var anySlide=$(this).data('AnythingSlider');if(anySlide){var page=(typeof(options)=="number")?options:parseInt($.trim(options),10);if(page<1||page>anySlide.pages){return}
anySlide.gotoPage(page)}})}}})(jQuery);

