(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');base.$window=base.$el.closest('div.anythingWindow');base.$items=base.$el.find('> li').addClass('panel');base.$objects=base.$items.find('object');base.$dimensions=[];base.currentPage=base.options.startPanel;base.timer=null;base.playing=false;base.pages=base.$items.length;base.$objlen=!!base.$objects.length;base.runTimes=$('div.anythingSlider').index(base.$wrapper)+1;if(!$.isFunction($.easing[base.options.easing])){base.options.easing="swing";}
if(base.options.resizeContents){if(base.options.width){base.$wrapper.css('width',base.options.width);base.$items.css('width',base.options.width);}
if(base.options.height){base.$wrapper.css('height',base.options.height);base.$items.css('height',base.options.height);}
if(base.$objlen){base.$objects.find('embed').andSelf().css({width:'100%',height:'100%'});}}
base.$objects.each(function(){if($(this).find('[src*=youtube]').length){$(this).parent().wrap('<div id="yt-temp"></div>').find('embed[src*=youtube]').attr('src',function(i,s){return s+'&enablejsapi=1&version=3';}).end().find('param[value*=youtube]').attr('value',function(i,v){return v+'&enablejsapi=1&version=3';}).end().detach().appendTo($('#yt-temp')).unwrap();}});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();var $itemClone=base.$items.filter(':last').clone().addClass('cloned');base.$items.filter(':first').before($itemClone.attr('id',function(i,id){return(id==='')?'':id+"-cloned";}));$itemClone=base.$items.filter(':first').clone().addClass('cloned');base.$items.filter(':last').after($itemClone.attr('id',function(i,id){return(id==='')?'':id+"-cloned";}));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(){base.clearTimer();},function(){base.startStop(base.playing);});}
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;}});});$(window).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.$wrapper);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>");if(typeof(base.options.navigationFormatter)=="function"){$a.html(base.options.navigationFormatter(index,$(this)));}else{$a.text(index);}
$a.bind('click focusin',function(e){base.gotoPage(index);if(base.options.hashTags){base.setHash('panel'+base.runTimes+'-'+index);}
e.preventDefault();});$(base.$nav).append($a);$a.wrap("<li />");});}};base.buildNextBackButtons=function(){var $forward=$('<span class="arrow forward"><a href="#">'+base.options.forwardText+'</a></span>'),$back=$('<span class="arrow back"><a href="#">'+base.options.backText+'</a></span>');$back.click(function(e){base.goBack();e.preventDefault();});$forward.click(function(e){base.goForward();e.preventDefault();});$back.add($forward).find('a').bind('focusin focusout',function(){$(this).toggleClass('hover');});base.$wrapper.prepend($forward).prepend($back);};base.buildAutoPlay=function(){base.$startStop=$("<a href='#' class='start-stop'></a>").html(base.playing?base.options.stopText:base.options.startText);base.$wrapper.append(base.$startStop);base.$startStop.click(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:w,height:h});}}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.$dimensions[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(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);}
if(base.checkVideo(base.playing)){return;}
if(!base.options.resizeContents){base.$wrapper.filter(':not(:animated)').animate({width:base.$dimensions[page][0],height:base.$dimensions[page][1]},{queue:false,duration:base.options.animationTime,easing:base.options.easing});}
base.$window.filter(':not(:animated)').animate({scrollLeft:base.$dimensions[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.$dimensions[base.pages][2]);page=base.pages;}else if(page>base.pages){base.$window.scrollLeft(0);page=1;}
base.setCurrentPage(page,false);if(base.$objlen){var emb=base.$items.eq(base.currentPage).find('embed[src*=youtube]');try{if(emb.length&&$.isFunction(emb[0].getPlayerState)&&emb[0].getPlayerState()>0){emb[0].playVideo();}}catch(err){}}};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.$dimensions[page][0],height:base.$dimensions[page][1]});base.$wrapper.scrollLeft(0);base.$window.scrollLeft(base.$dimensions[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.clearTimer=function(){if(base.timer){window.clearInterval(base.timer);}};base.startStop=function(playing){if(playing!==true){playing=false;}
base.playing=playing;if(base.options.autoPlay){base.$startStop.toggleClass("playing",playing).html(playing?base.options.stopText:base.options.startText);}
if(playing){base.clearTimer();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.$objlen){base.$objects.each(function(){emb=$(this).find('embed[src*=youtube]');try{if(emb.length&&$.isFunction(emb[0].getPlayerState)){ps=emb[0].getPlayerState();if(playing&&ps==1&&base.$items.index(emb.closest('li'))==base.currentPage&&base.options.resumeOnVideoEnd){stopAdvance=true;}else{if(ps>0){emb[0].pauseVideo();}}}}catch(err){}});}
return stopAdvance;};base.init();};$.anythingSlider.defaults={width:null,height:null,resizeContents:true,startPanel:1,hashTags:true,buildArrows:true,buildNavigation:true,navigationFormatter:null,forwardText:"»",backText:"«",autoPlay:true,startStopped:false,pauseOnHover:true,resumeOnVideoEnd:true,stopAtEnd:false,playRtl:false,startText:"Start",stopText:"Stop",delay:3000,animationTime:600,easing:"swing",maxOverallWidth:32766};$.fn.anythingSlider=function(options){if((typeof(options)).match('object|undefined')){return this.each(function(i){(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);
