(function(gw,$){var prev=0;var offsetVal=2;var limit=5;gw.zoomCarousel=gw.zoomCarousel||{};gw.zoomCarousel.init=function(args){var options=$.extend(true,{zoomMode:"standard"},args);if(isValidTarget(options.target)){if(options.offsetVal){offsetVal=options.offsetVal;}
if(options.limit){limit=options.limit;}
var zoomCarousel=$(options.target).scrollable({circular:true,mousewheel:false,prev:".btn-back",next:".btn-forward",visibleItems:limit});var api=zoomCarousel.data("scrollable");api.prevImg=0;gw.zoomCarousel[options.zoomMode](api);if(typeof options.hoverZoom!='undefined'&&options.hoverZoom===true){bindHoverZoom(api);}
api.begin();}};gw.zoomCarousel.standard=function(api){var instance=this;api.onBeforeSeek(function(e,next){return instance.standardZoom(api.prevImg,next,api);});};gw.zoomCarousel.standardZoom=function(p,n,api){var transition=p!==n;if(p>=0){if(transition){zoomOut(offset(api.getItems().eq(p),offsetVal));}}
if(n===-1){zoomIn(offset(api.getItems().eq(0),offsetVal-1));zoomOut(offset(api.getItems().eq(api.getSize()-1),offsetVal+1),0);passedBoundary=true;}else if(n===api.getSize()){zoomIn(offset(api.getItems().eq(api.getSize()-1),offsetVal+1));zoomOut(offset(api.getItems().eq(0),offsetVal-1),0);passedBoundary=true;}else{zoomIn(offset(api.getItems().eq(n),offsetVal),passedBoundary?0:undefined);zoomOut(offset(api.getItems().eq(api.getSize()-1),offsetVal+1),0);zoomOut(offset(api.getItems().eq(0),offsetVal-1),0);passedBoundary=false;}
api.prevImg=n;return true;};gw.zoomCarousel.immediate=function(api){var instance=this;api.onSeek(function(e,next){return instance.immediateZoom(prev,next,api);});api.onBeforeSeek(function(e,next){zoomOut($(args.target));});};gw.zoomCarousel.immediateZoom=function(p,n,api){if(n===-1){zoomIn(offset(api.getItems().eq(0),offsetVal-1));passedBoundary=true;}else if(n===api.getSize()){zoomIn(offset(api.getItems().eq(api.getSize()-1),offsetVal+1));passedBoundary=true;}else{zoomIn(offset(api.getItems().eq(n),offsetVal),passedBoundary?0:undefined);passedBoundary=false;}};var passedBoundary=false;var zoomComplete=true;$('.btn-forward, .btn-back').click(function(){$('.btn-forward, .btn-back').prop('disabled',true);setTimeout(function(){$('.btn-back, .btn-forward').prop('disabled',false);},500);});function offset(item,val){return item.parent().children().eq(item.index()+val);}
function zoomIn(item,duration){duration=duration!==undefined?duration:400;item.find("img").animate({height:209,width:209,top:-50,left:-52},duration,null,function(){item.find("p, h4, button").show();});}
function zoomOut(item,duration){duration=duration!==undefined?duration:400;item.find("img").animate({height:105,width:105,top:0,left:0},duration,null,function(){item.find("p, h4, button").hide();});item.find("p, h4, button").hide();}
function bindHoverZooming(api){api.getItems().mouseover(function(){var element=$(this);if(prev!=$(element).index()-offset){setTimeout(function(){zoom(prev,$(element).index()-offset);},100);}});$(args.target).mouseleave(function(){setTimeout(function(){api.seekTo(2);},300);});}
function isValidTarget(target){return target!==undefined&&$(target).length!==0;}
return gw.zoomCarousel;}(window.gw||{},jQuery));(function($){var Carousel=new Class();var hideStyle={left:0,opacity:0};var showStyle={left:0,opacity:1};var animationInterval=400;Carousel.create=function(args){try{var $targetElement=$(args.target);if($targetElement.length>0){var $slides=$(args.contentClass);if($slides.length>0){var instance=Class.extend({init:function(){var options=$.extend(true,{interval:2000,autoplay:true,circular:true,items:".items",autopause:true,isTablet:false},args);var self=this;self.$featureCarousel=$targetElement;self.previousSlide=0;if($slides.not(".cloned").length>1){$targetElement.scrollable({circular:options.circular,mousewheel:false,items:options.items,prev:".btn-back",next:".btn-forward"}).autoscroll({interval:options.interval,autoplay:options.autoplay,autopause:options.autopause});var api=$targetElement.data("scrollable");api.getConf().speed=animationInterval;setupControls($targetElement,api);positionMarkersForTabletDevice($targetElement,api,self.previousSlide,options.isTablet);generateVideoFallbackImage();$(document).on("landing-page-changed",function(){var element=$(gw.filters.options.selectors.landingPageContainer);if(element.is(":visible")||element.css("display")==='block'){api.play();playSlide(api,api.getIndex(),$targetElement);}else{$(gw.filters.options.selectors.landingPageContainer).find("video").each(function(){this.pause();});api.pause();}});api.onBeforeSeek(function(event,next){$(".content",$targetElement).css(hideStyle);var item=api.getItems()[self.previousSlide];if(item.getElementsByTagName('video').length>0){var video=item.getElementsByTagName('video')[0];handleUserNavigatedAwayFromVideo(api,self.previousSlide,$targetElement);handleAutoNavigationDuringVideoPlayback(api,video,event,self.previousSlide,next,$targetElement);}});api.onSeek(function(event,next){api.getItems().find(".content").css(hideStyle);api.getItems().eq(next).find(".content").animate(showStyle,animationInterval);$targetElement.find(".marker").removeClass("current");$targetElement.find(".marker").eq(next).addClass("current");self.previousSlide=next;playSlide(api,next,$targetElement);positionMarkersForTabletDevice($targetElement,api,self.previousSlide,options.isTablet);});playSlide(api,self.previousSlide,$targetElement);api.getItems().eq(0).find(".content").animate(showStyle);}else{$slides.find(".content").animate(showStyle,animationInterval);if($targetElement[0].getElementsByTagName('video').length>0){$targetElement[0].getElementsByTagName('video')[0].play();$targetElement[0].getElementsByTagName('video')[0].setAttribute("loop","loop");}}}});return new instance();}}}catch(e){Carousel.logError(e);}};function handleUserNavigatedAwayFromVideo(api,index,carousel){if(api.pausedOnVideo){api.play(true);}
if(!api.getItems()[index].autoTransitioned){pauseSlide(api,index,carousel);}else{carousel.find('.pause-button').show();}}
function handleAutoNavigationDuringVideoPlayback(api,video,event,index,next,carousel){if(api.getItems()[index].autoTransitioned&&video.currentTime!==0&&video.duration>video.currentTime){api.pause(true);api.pausedOnVideo=true;$(video).bind("ended",function(){api.pausedOnVideo=false;pauseSlide(api,getCurrentSlideIndex(api),carousel);api.play(true);api.seekTo(next);});event.preventDefault();}}
function pauseSlide(api,slideIndex,carousel){var item=api.getItems()[slideIndex];if(item.getElementsByTagName('video').length>0){var video=item.getElementsByTagName('video')[0];video.pause();video.currentTime=0;$(video).unbind("ended");api.pausedOnVideo=false;carousel.find('.pause-button').show();}}
function playSlide(api,slideIndex,carousel){var nextItem=api.getItems()[slideIndex];if(nextItem.getElementsByTagName('video').length>0){nextItem.getElementsByTagName('video')[0].play();carousel.find('.pause-button').hide();}}
function generateVideoFallbackImage(){var videos=$("video");videos.each(function(i){var video=$(this);var isSupported=false;video.find('source').each(function(j){var mimeType=$(this).attr("type");if(video[0].canPlayType(mimeType)){isSupported=true;return;}});if(!isSupported){var fallbackImg=video.children("img");video.replaceWith(fallbackImg);}});}
function getCurrentSlideIndex(api){return(api.getIndex()+1)%api.getSize();}
function setupControls(featureCarousel,api){setupPlayPauseButton(featureCarousel,api);setupMarkers(featureCarousel,api);}
function setupPlayPauseButton(featureCarousel,api){featureCarousel.controlBox=$('<div class="control-box"></div>');featureCarousel.append(featureCarousel.controlBox);featureCarousel.controlButton=$('<div class="test-pause-button pause-button"></div>');featureCarousel.controlBox.append(featureCarousel.controlButton);featureCarousel.controlButton.click(function(){if(api.isStopped()){api.play();api.seekTo(getCurrentSlideIndex(api));}else{api.stop();}});featureCarousel.on('onCarouselPause',function(){featureCarousel.addClass("paused");});featureCarousel.on('onCarouselPlay',function(){featureCarousel.removeClass("paused");});}
function setupMarkers(featureCarousel,api){for(var i=0;i<api.getSize();i++){var current=i>0?'':"current";var marker=$('<div class="marker marker-'+i+' '+current+'"></div>');marker.attr("index",i);marker.click(function(event){api.seekTo($(event.currentTarget).attr('index'));});featureCarousel.controlBox.append(marker);}}
function positionMarkersForTabletDevice(featureCarousel,api,currentSlideIndex,isTablet){if(isTablet){var item=api.getItems()[currentSlideIndex];var offsetFromBottom="0px";if(item.getElementsByTagName('video').length>0){offsetFromBottom="30px";}
featureCarousel.controlBox.css({bottom:offsetFromBottom});}}
gw.featureCarousel=Carousel;}(jQuery));(function($){var t=$.tools.scrollable;t.autoscroll={conf:{autoplay:true,interval:3000,autopause:true}};$.fn.autoscroll=function(conf){if(typeof conf=='number'){conf={interval:conf};}
var opts=$.extend({},t.autoscroll.conf,conf),ret;this.each(function(){var api=$(this).data("scrollable"),root=api.getRoot(),timer,stopped=true;function scroll(){if(timer){clearTimeout(timer);}
var index=(api.getIndex()<0?0:api.getIndex());var currentItem=api.getItems()[index];currentItem.interval(function(interval){timer=setTimeout(function(){var previousSlide=api.getIndex();api.getItems()[previousSlide].autoTransitioned=true;api.next();api.getItems()[previousSlide].autoTransitioned=false;},interval);});}
if(api){ret=api;}
api.getItems().each(function(index,element){element.autoTransitioned=false;element.interval=function(callback){callback(opts.interval);};});api.play=function(supressEvent){if(timer){return;}
stopped=false;root.on('onSeek',scroll);if(!supressEvent){scroll();root.trigger('onCarouselPlay');}};api.pause=function(supressEvent){supressEvent=supressEvent===undefined?false:supressEvent;timer=clearTimeout(timer);root.off('onSeek',scroll);if(!supressEvent){root.trigger('onCarouselPause');}};api.resume=function(){if(stopped){api.play();}};api.stop=function(){stopped=true;api.pause();};api.isStopped=function(){return stopped;};if(opts.autopause){root.add(api.getNaviButtons()).hover(api.pause,api.resume);}
if(opts.autoplay){api.play();}});return opts.api?ret:this;};})(jQuery);