{"version":3,"sources":["euroviaSlider.jquery.js","jquery.youtubebackground.js","euroviaSlider-bundle.js"],"names":["$","fn","swipe","callback","swipeInfo","event","console","log","dx","dy","x","originalEvent","pageX","targetTouches","y","pageY","originalPosition","direction","offset","touchDown","$el","this","on","preventDefault","info","RemoveIndication","length","fadeOut","updateLinkedZone","current","next","parent","addClass","removeClass","complete","leftCurrent","rightCurrent","toDown","css","addPagination","pager","i","that","find","append","setDimensions","windowHeight","window","height","headerHeight","outerHeight","pagerHeight","pagerTop","each","obj","VCheight","manageOverflow","mode","pagination","euroviaSlider","options","offsetDelta","extend","delay","not","click","e","attr","moveTo","nnext","delta","type","detail","wheelDelta","parseInt","resize","hash","location","id","eq","leftMove","rightMove","zindex","z-index","velocity","top","jQuery","Object","create","F","prototype","document","loadAPI","tag","createElement","head","getElementsByTagName","origin","src","appendChild","iframeIsReady","YT","loadingPlayer","dfd","Deferred","onYouTubeIframeAPIReady","resolve","done","name","YTPlayer","player","defaults","ratio","videoId","mute","repeat","width","playButtonClass","pauseButtonClass","muteButtonClass","volumeUpClass","volumeDownClass","start","pauseOnScroll","fitToBackground","playerVars","iv_load_policy","modestbranding","autoplay","controls","showinfo","wmode","branding","autohide","rel","events","init","node","userOptions","self","$body","$node","$window","onReady","onPlayerReady","call","onStateChange","data","seekTo","Math","ceil","ID","Date","getTime","holderID","createBackgroundVideo","createContainerVideo","bind","state","getPlayerState","pauseVideo","scrollStopped","playVideo","$YTPlayerString","container","pWidth","pHeight","$YTPlayerPlayer","left","position","Player","target","getPlayer","destroy","removeData","remove","off","$this","scroll","clearTimeout","setTimeout","el"],"mappings":"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","file":"../euroviaSlider-bundle.js","sourcesContent":["$(function () {\r\n $.fn.swipe = function (callback) {\r\n var touchDown = false,\r\n originalPosition = null,\r\n $el = $(this);\r\n\r\n function swipeInfo(event) {\r\n console.log(event);\r\n var x = event.originalEvent.pageX || event.originalEvent.targetTouches[0].pageX,\r\n y = event.originalEvent.pageY || event.originalEvent.targetTouches[0].pageY,\r\n dx, dy;\r\n\r\n dx = (x > originalPosition.x) ? \"right\" : \"left\";\r\n dy = (y > originalPosition.y) ? \"down\" : \"up\";\r\n\r\n return {\r\n direction: {\r\n x: dx,\r\n y: dy\r\n },\r\n offset: {\r\n x: x - originalPosition.x,\r\n y: originalPosition.y - y\r\n }\r\n };\r\n }\r\n\r\n $el.on(\"touchstart mousedown\", function (event) {\r\n event.preventDefault();\r\n\r\n touchDown = true;\r\n originalPosition = {\r\n x: event.originalEvent.pageX || event.originalEvent.targetTouches[0].pageX,\r\n y: event.originalEvent.pageY || event.originalEvent.targetTouches[0].pageY\r\n };\r\n });\r\n\r\n $el.on(\"touchend mouseup\", function () {\r\n touchDown = false;\r\n originalPosition = null;\r\n });\r\n\r\n $el.on(\"mousemove\", function (event) {\r\n if (!touchDown) { return; }\r\n var info = swipeInfo(event);\r\n callback(info.direction, info.offset);\r\n });\r\n\r\n $el.on(\"touchmove\", function (event) {\r\n if (!touchDown) { return; }\r\n var info = swipeInfo(event);\r\n callback(info.direction, info.offset);\r\n\r\n touchDown = false;\r\n originalPosition = null;\r\n });\r\n\r\n return true;\r\n };\r\n});\r\n\r\n(function ($) {\r\n var elts = [];\r\n var pagination;\r\n var prev = -1;\r\n var current = 0;\r\n var offset = 0;\r\n var that;\r\n var lastScrollTop = 0;\r\n var startY = 0;\r\n\r\n $.fn.euroviaSlider = function (options) {\r\n // Establish our default settings\r\n var settings = $.extend({\r\n delay: 10000\r\n }, options);\r\n var offsetDelta = 141;//$(\"header\").outerHeight();\r\n that = this;\r\n\r\n //console.log(window.location.href);\r\n //console.log(window.location.hostname);\r\n //console.log(window.location.host);\r\n\r\n if ($(\"[data-pos]\").length > 0) {\r\n manageOverflow('hidden');\r\n }\r\n\r\n pagination = addPagination();\r\n setDimensions();\r\n\r\n offset = $(that).height() + offsetDelta;\r\n $(\"[data-id]\").not(\".firstSlide\").css(\"top\", offset);\r\n\r\n pagination.find(\".pager\").each(function (i, obj) {\r\n $(obj).click(function (e) {\r\n e.preventDefault();\r\n\r\n offset = $(that).height() + offsetDelta;\r\n var next = $(obj).attr('data-moveTo');\r\n $(that).moveTo(next);\r\n });\r\n });\r\n\r\n $(window).on('mousewheel DOMMouseScroll', function (e) {\r\n offset = $(that).height() + offsetDelta;\r\n var nnext = 0;\r\n var direction = (function () {\r\n var delta = (e.type === 'DOMMouseScroll' ?\r\n e.originalEvent.detail * -40 :\r\n e.originalEvent.wheelDelta);\r\n return delta > 0 ? 0 : 1;\r\n }());\r\n\r\n if (direction === 1) {\r\n nnext = parseInt(current) + 1;\r\n }\r\n if (direction === 0) {\r\n nnext = parseInt(current) - 1;\r\n }\r\n\r\n if (nnext > -1 && nnext < $(that).find(\"[data-pos]\").length / 2) {\r\n $(that).moveTo(nnext);\r\n } else {\r\n //console.log('nnext ' + nnext);\r\n //console.log('$(that).find(\"[data-pos]\").length ' + $(that).find(\"[data-pos]\").length);\r\n }\r\n });\r\n\r\n $(that).swipe(function (direction, offset) {\r\n console.log(\"Moving\", direction.x, \"and\", direction.y);\r\n console.log(\"Touch moved by\", offset.x, \"horizontally and\", offset.y, \"vertically\");\r\n\r\n var nnext = 0;\r\n var direction = offset.y < 0;\r\n\r\n if (offset.y == 0) {\r\n return;\r\n }\r\n\r\n if (!direction) {\r\n nnext = parseInt(current) + 1;\r\n }\r\n else{\r\n nnext = parseInt(current) - 1;\r\n }\r\n\r\n if (nnext > -1 && nnext < $(that).find(\"[data-pos]\").length / 2) {\r\n $(that).moveTo(nnext);\r\n } else {\r\n //console.log('nnext ' + nnext);\r\n //console.log('$(that).find(\"[data-pos]\").length ' + $(that).find(\"[data-pos]\").length);\r\n }\r\n });\r\n\r\n $(window).resize(function () {\r\n setDimensions();\r\n });\r\n\r\n //GESTION URL HASH\r\n var hash = window.location.hash;\r\n //console.log(hash);\r\n if (hash != \"\") {\r\n var id = $(\"[data-hash=\" + hash + \"]:first\").attr(\"data-id\");\r\n $(\".pager\").eq(id).click();\r\n }\r\n };\r\n\r\n $.fn.moveTo = function (next) {\r\n if (next != current) {\r\n updateLinkedZone(current, next);\r\n\r\n if (next == 0) {\r\n var leftMove = $(\"[data-id=\" + current + \"][data-pos=left]\");\r\n var rightMove = $(\"[data-id=\" + current + \"][data-pos=right]\");\r\n var leftCurrent = $(\"[data-id=\" + current + \"][data-pos=left]\");\r\n var rightCurrent = $(\"[data-id=\" + current + \"][data-pos=right]\");\r\n\r\n $(\".pager:eq(\" + current + \")\").removeClass(\"active\");\r\n $(\".pager:eq(\" + next + \")\").addClass(\"active\");\r\n\r\n var zindex = parseInt(leftCurrent.css(\"z-index\")) + 5;\r\n leftMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n rightMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n $(\"[data-id=\" + next + \"].slideContentLeft\").addClass(\"firstSlide\").css({ \"z-index\": 5 });\r\n\r\n leftMove.velocity({\r\n top: offset\r\n },\r\n 1000\r\n );\r\n rightMove.velocity({\r\n top: -offset\r\n },\r\n 1000\r\n );\r\n } else {\r\n var leftMove = $(\"[data-id=\" + next + \"][data-pos=left]\");\r\n var rightMove = $(\"[data-id=\" + next + \"][data-pos=right]\");\r\n\r\n var leftCurrent = $(\"[data-id=\" + current + \"][data-pos=left]\");\r\n var rightCurrent = $(\"[data-id=\" + current + \"][data-pos=right]\");\r\n var toDown = false;\r\n\r\n $(\".pager:eq(\" + current + \")\").removeClass(\"active\");\r\n $(\".pager:eq(\" + next + \")\").addClass(\"active\");\r\n //console.log(\"offset: \" + offset);\r\n if (next > current) {\r\n //next gauche vient du bas et next droit vient du haut\r\n leftMove.css(\"top\", offset);\r\n rightMove.css(\"top\", -offset);\r\n toDown = true;\r\n } else {\r\n //inversement\r\n leftMove.css(\"top\", -offset);\r\n rightMove.css(\"top\", offset);\r\n toDown = false;\r\n }\r\n\r\n if (!toDown) {\r\n var zindex = parseInt(leftCurrent.css(\"z-index\")) + 5;\r\n leftMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n rightMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n }\r\n\r\n leftMove.velocity({\r\n top: 0\r\n },\r\n 1000,\r\n function () {\r\n complete(leftCurrent, rightCurrent, toDown);\r\n }\r\n );\r\n rightMove.velocity({\r\n top: 0\r\n },\r\n 1000,\r\n function () {\r\n complete(leftCurrent, rightCurrent, toDown);\r\n }\r\n );\r\n\r\n if (toDown) {\r\n var zindex = parseInt(leftCurrent.css(\"z-index\")) + 2\r\n leftMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n rightMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n }\r\n }\r\n\r\n current = next;\r\n } else {\r\n //console.log(\"nothing to move\");\r\n }\r\n }\r\n\r\n function RemoveIndication() {\r\n if ($(\".scrollIndication\").length > 0) {\r\n $(\".scrollIndication\").fadeOut();\r\n }\r\n }\r\n\r\n function updateLinkedZone(current, next) {\r\n $(\"[data-scroll=\" + next + \"]\").parent().addClass(\"current\");\r\n $(\"[data-scroll=\" + current + \"]\").parent().removeClass(\"current\");\r\n }\r\n\r\n function complete(leftCurrent, rightCurrent, toDown) {\r\n RemoveIndication();\r\n\r\n leftCurrent.removeClass(\"firstSlide\");\r\n rightCurrent.removeClass(\"firstSlide\");\r\n\r\n leftCurrent.css(\"z-index\", -1);\r\n rightCurrent.css(\"z-index\", -1);\r\n }\r\n\r\n function addPagination() {\r\n var pager = '
';\r\n for (i = 0; i < $(that).find(\"[data-pos]\").length / 2; i++) {\r\n pager += '
';\r\n }\r\n pager += '
';\r\n $(that).append(pager);\r\n\r\n return $(\".sliderPagination\");\r\n }\r\n\r\n function setDimensions() {\r\n //console.log(that);\r\n var windowHeight = $(window).height();\r\n var headerHeight = $(\"header\").outerHeight();\r\n //console.log(\"windowHeight \" + windowHeight);\r\n //console.log(\"headerHeight \" + headerHeight);\r\n\r\n var height = windowHeight - headerHeight;\r\n //console.log(\"height \" + height);\r\n //var width = $(window).width();\r\n\r\n //console.log(\"no top\");\r\n $(that).css(\"top\", 0);\r\n $(that).css(\"height\", height);\r\n //$(that).css(\"width\", width);\r\n\r\n //$(\".slideContentLeft\").css(\"height\", height).not(\".full\").css(\"width\", width / 2);\r\n //$(\".slideContentRight\").css(\"height\", height).not(\".full\").css(\"width\", width / 2);\r\n\r\n pagerHeight = $(\".sliderPagination\").height();\r\n //console.log(\"pagerHeight \" + pagerHeight);\r\n var pagerTop = (height / 2) - (pagerHeight / 2);\r\n //pagerTop\r\n //console.log(\"pagerTop \" + pagerTop);\r\n $(\".sliderPagination\").css(\"top\", pagerTop);\r\n\r\n $(\"[data-vcentered]\").each(function (i, obj) {\r\n var height = $(that).height();\r\n var VCheight = $(obj).height();\r\n $(obj).css(\"padding-top\", (height - VCheight) / 2);\r\n $(obj).css(\"padding-bottom\", (height - VCheight) / 2);\r\n });\r\n }\r\n\r\n function manageOverflow(mode) {\r\n $(\"body\").css(\"overflow\", mode);\r\n $(\"html\").css(\"overflow\", mode);\r\n }\r\n}(jQuery));","/*\r\n * YoutubeBackground - A wrapper for the Youtube API - Great for fullscreen background videos or just regular videos.\r\n *\r\n * Licensed under the MIT license:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n *\r\n * Version: 1.0.1\r\n *\r\n */\r\n\r\n// Chain of Responsibility pattern. Creates base class that can be overridden.\r\nif (typeof Object.create !== \"function\") {\r\n Object.create = function (obj) {\r\n function F() { }\r\n F.prototype = obj;\r\n return new F();\r\n };\r\n}\r\n\r\n(function ($, window, document) {\r\n var\r\n loadAPI = function loadAPI(callback) {\r\n // Load Youtube API\r\n var tag = document.createElement('script'),\r\n head = document.getElementsByTagName('head')[0];\r\n\r\n if (window.location.origin == 'file://') {\r\n tag.src = 'http://www.youtube.com/iframe_api';\r\n } else {\r\n tag.src = '//www.youtube.com/iframe_api';\r\n }\r\n\r\n head.appendChild(tag);\r\n\r\n // Clean up Tags.\r\n head = null;\r\n tag = null;\r\n\r\n iframeIsReady(callback);\r\n },\r\n iframeIsReady = function iframeIsReady(callback) {\r\n // Listen for Gobal YT player callback\r\n if (typeof YT === 'undefined' && typeof window.loadingPlayer === 'undefined') {\r\n // Prevents Ready Event from being called twice\r\n window.loadingPlayer = true;\r\n\r\n // Creates deferred so, other players know when to wait.\r\n window.dfd = $.Deferred();\r\n window.onYouTubeIframeAPIReady = function () {\r\n window.onYouTubeIframeAPIReady = null;\r\n window.dfd.resolve(\"done\");\r\n callback();\r\n };\r\n } else if (typeof YT === 'object') {\r\n callback();\r\n } else {\r\n window.dfd.done(function (name) {\r\n callback();\r\n });\r\n }\r\n };\r\n\r\n // YTPlayer Object\r\n YTPlayer = {\r\n player: null,\r\n\r\n // Defaults\r\n defaults: {\r\n ratio: 16 / 9,\r\n videoId: 'LSmgKRx5pBo',\r\n mute: true,\r\n repeat: true,\r\n width: $(window).width(),\r\n playButtonClass: 'YTPlayer-play',\r\n pauseButtonClass: 'YTPlayer-pause',\r\n muteButtonClass: 'YTPlayer-mute',\r\n volumeUpClass: 'YTPlayer-volume-up',\r\n volumeDownClass: 'YTPlayer-volume-down',\r\n start: 0,\r\n pauseOnScroll: false,\r\n fitToBackground: true,\r\n playerVars: {\r\n iv_load_policy: 3,\r\n modestbranding: 1,\r\n autoplay: 1,\r\n controls: 0,\r\n showinfo: 0,\r\n wmode: 'opaque',\r\n branding: 0,\r\n autohide: 0,\r\n rel: 0\r\n },\r\n events: null\r\n },\r\n\r\n /**\r\n * @function init\r\n * Intializes YTPlayer object\r\n */\r\n init: function init(node, userOptions) {\r\n var self = this;\r\n\r\n self.userOptions = userOptions;\r\n\r\n self.$body = $('body'),\r\n self.$node = $(node),\r\n self.$window = $(window);\r\n\r\n // Setup event defaults with the reference to this\r\n self.defaults.events = {\r\n 'onReady': function (e) {\r\n self.onPlayerReady(e);\r\n\r\n // setup up pause on scroll\r\n if (self.options.pauseOnScroll) {\r\n self.pauseOnScroll();\r\n }\r\n\r\n // Callback for when finished\r\n if (typeof self.options.callback == 'function') {\r\n self.options.callback.call(this);\r\n }\r\n },\r\n 'onStateChange': function (e) {\r\n if (e.data === 1) {\r\n self.$node.find('img').fadeOut(400);\r\n self.$node.addClass('loaded');\r\n } else if (e.data === 0 && self.options.repeat) { // video ended and repeat option is set true\r\n self.player.seekTo(self.options.start);\r\n }\r\n }\r\n }\r\n\r\n self.options = $.extend(true, {}, self.defaults, self.userOptions);\r\n self.options.height = Math.ceil(self.options.width / self.options.ratio);\r\n self.ID = (new Date()).getTime();\r\n self.holderID = 'YTPlayer-ID-' + self.ID;\r\n\r\n if (self.options.fitToBackground) {\r\n self.createBackgroundVideo();\r\n } else {\r\n self.createContainerVideo();\r\n }\r\n // Listen for Resize Event\r\n self.$window.on('resize.YTplayer' + self.ID, function () {\r\n self.resize(self);\r\n });\r\n\r\n loadAPI(self.onYouTubeIframeAPIReady.bind(self));\r\n\r\n self.resize(self);\r\n\r\n return self;\r\n },\r\n\r\n /**\r\n * @function pauseOnScroll\r\n * Adds window events to pause video on scroll.\r\n */\r\n pauseOnScroll: function pauseOnScroll() {\r\n var self = this;\r\n self.$window.on('scroll.YTplayer' + self.ID, function () {\r\n var state = self.player.getPlayerState();\r\n if (state === 1) {\r\n self.player.pauseVideo();\r\n }\r\n });\r\n self.$window.scrollStopped(function () {\r\n var state = self.player.getPlayerState();\r\n if (state === 2) {\r\n self.player.playVideo();\r\n }\r\n });\r\n },\r\n /**\r\n * @function createContainerVideo\r\n * Adds HTML for video in a container\r\n */\r\n createContainerVideo: function createContainerVideo() {\r\n var self = this;\r\n\r\n /*jshint multistr: true */\r\n var $YTPlayerString = $('
\\\r\n
\\\r\n
\\\r\n
');\r\n\r\n self.$node.append($YTPlayerString);\r\n self.$YTPlayerString = $YTPlayerString;\r\n $YTPlayerString = null;\r\n },\r\n\r\n /**\r\n * @function createBackgroundVideo\r\n * Adds HTML for video background\r\n */\r\n createBackgroundVideo: function createBackgroundVideo() {\r\n /*jshint multistr: true */\r\n var self = this,\r\n $YTPlayerString = $('
\\\r\n
\\\r\n
\\\r\n
');\r\n\r\n self.$node.append($YTPlayerString);\r\n self.$YTPlayerString = $YTPlayerString;\r\n $YTPlayerString = null;\r\n },\r\n\r\n /**\r\n * @function resize\r\n * Resize event to change video size\r\n */\r\n resize: function resize(self) {\r\n //var self = this;\r\n var container = $(window);\r\n\r\n if (!self.options.fitToBackground) {\r\n container = self.$node;\r\n }\r\n\r\n var width = container.width(),\r\n pWidth, // player width, to be defined\r\n height = container.height(),\r\n pHeight, // player height, tbd\r\n $YTPlayerPlayer = $('#' + self.holderID);\r\n\r\n // when screen aspect ratio differs from video, video must center and underlay one dimension\r\n if (width / self.options.ratio < height) {\r\n pWidth = Math.ceil(height * self.options.ratio); // get new player width\r\n $YTPlayerPlayer.width(pWidth).height(height).css({\r\n left: (width - pWidth) / 2,\r\n position: \"absolute\",\r\n \"z-index\": \"-1\",\r\n top: 0\r\n }); // player width is greater, offset left; reset top\r\n } else { // new video width < window width (gap to right)\r\n pHeight = Math.ceil(width / self.options.ratio); // get new player height\r\n var offsetTop = ($(window).height() - pHeight) / 2;\r\n $YTPlayerPlayer.width(width).height(pHeight).css({\r\n left: 0,\r\n position: \"absolute\",\r\n \"z-index\": \"-1\",\r\n top: 0 //offsetTop\r\n }); // player height is greater, offset top; reset left\r\n }\r\n\r\n console.log(\"width \" + width);\r\n console.log(\"height \" + height);\r\n console.log(\"pWidth \" + pWidth);\r\n console.log(\"pHeight \" + pHeight);\r\n\r\n //var jwidth = $(window).outerWidth();\r\n\r\n //var wWidth = $(window).outerWidth() + 100,\r\n // wHeight = $(window).outerHeight(),\r\n // cHeight = $(\"#slider\").height(),\r\n // cWidth = container.width(),\r\n // $YTPlayerPlayer = $('#' + self.holderID);\r\n\r\n //var top = -(wHeight - cHeight) / 2;\r\n\r\n //console.log(\"wHeight \" + wHeight);\r\n //console.log(\"wWidth \" + wWidth);\r\n //console.log(\"cHeight \" + cHeight);\r\n //console.log(\"cWidth \" + cWidth);\r\n //console.log(\"top \" + top);\r\n //console.log($YTPlayerPlayer);\r\n //$YTPlayerPlayer.width(wWidth).css({\r\n // left: -10,\r\n // top: top,\r\n // position: \"absolute\"\r\n //});\r\n\r\n $YTPlayerPlayer = null;\r\n container = null;\r\n },\r\n\r\n /**\r\n * @function onYouTubeIframeAPIReady\r\n * @ params {object} YTPlayer object for access to options\r\n * Youtube API calls this function when the player is ready.\r\n */\r\n onYouTubeIframeAPIReady: function onYouTubeIframeAPIReady() {\r\n var self = this;\r\n self.player = new window.YT.Player(self.holderID, self.options);\r\n },\r\n\r\n /**\r\n * @function onPlayerReady\r\n * @ params {event} window event from youtube player\r\n */\r\n onPlayerReady: function onPlayerReady(e) {\r\n if (this.options.mute) {\r\n e.target.mute();\r\n }\r\n e.target.playVideo();\r\n },\r\n\r\n /**\r\n * @function getPlayer\r\n * returns youtube player\r\n */\r\n getPlayer: function getPlayer() {\r\n return this.player;\r\n },\r\n\r\n /**\r\n * @function destroy\r\n * destroys all!\r\n */\r\n destroy: function destroy() {\r\n var self = this;\r\n\r\n self.$node\r\n .removeData('yt-init')\r\n .removeData('ytPlayer')\r\n .removeClass('loaded');\r\n\r\n self.$YTPlayerString.remove();\r\n\r\n $(window).off('resize.YTplayer' + self.ID);\r\n $(window).off('scroll.YTplayer' + self.ID);\r\n self.$body = null;\r\n self.$node = null;\r\n self.$YTPlayerString = null;\r\n self.player.destroy();\r\n self.player = null;\r\n }\r\n };\r\n\r\n // Scroll Stopped event.\r\n $.fn.scrollStopped = function (callback) {\r\n var $this = $(this), self = this;\r\n $this.scroll(function () {\r\n if ($this.data('scrollTimeout')) {\r\n clearTimeout($this.data('scrollTimeout'));\r\n }\r\n $this.data('scrollTimeout', setTimeout(callback, 250, self));\r\n });\r\n };\r\n\r\n // Create plugin\r\n $.fn.YTPlayer = function (options) {\r\n return this.each(function () {\r\n var el = this;\r\n\r\n $(el).data(\"yt-init\", true);\r\n var player = Object.create(YTPlayer);\r\n player.init(el, options);\r\n $.data(el, \"ytPlayer\", player);\r\n });\r\n };\r\n})(jQuery, window, document);","$(function () {\r\n $.fn.swipe = function (callback) {\r\n var touchDown = false,\r\n originalPosition = null,\r\n $el = $(this);\r\n\r\n function swipeInfo(event) {\r\n console.log(event);\r\n var x = event.originalEvent.pageX || event.originalEvent.targetTouches[0].pageX,\r\n y = event.originalEvent.pageY || event.originalEvent.targetTouches[0].pageY,\r\n dx, dy;\r\n\r\n dx = (x > originalPosition.x) ? \"right\" : \"left\";\r\n dy = (y > originalPosition.y) ? \"down\" : \"up\";\r\n\r\n return {\r\n direction: {\r\n x: dx,\r\n y: dy\r\n },\r\n offset: {\r\n x: x - originalPosition.x,\r\n y: originalPosition.y - y\r\n }\r\n };\r\n }\r\n\r\n $el.on(\"touchstart mousedown\", function (event) {\r\n event.preventDefault();\r\n\r\n touchDown = true;\r\n originalPosition = {\r\n x: event.originalEvent.pageX || event.originalEvent.targetTouches[0].pageX,\r\n y: event.originalEvent.pageY || event.originalEvent.targetTouches[0].pageY\r\n };\r\n });\r\n\r\n $el.on(\"touchend mouseup\", function () {\r\n touchDown = false;\r\n originalPosition = null;\r\n });\r\n\r\n $el.on(\"mousemove\", function (event) {\r\n if (!touchDown) { return; }\r\n var info = swipeInfo(event);\r\n callback(info.direction, info.offset);\r\n });\r\n\r\n $el.on(\"touchmove\", function (event) {\r\n if (!touchDown) { return; }\r\n var info = swipeInfo(event);\r\n callback(info.direction, info.offset);\r\n\r\n touchDown = false;\r\n originalPosition = null;\r\n });\r\n\r\n return true;\r\n };\r\n});\r\n\r\n(function ($) {\r\n var elts = [];\r\n var pagination;\r\n var prev = -1;\r\n var current = 0;\r\n var offset = 0;\r\n var that;\r\n var lastScrollTop = 0;\r\n var startY = 0;\r\n\r\n $.fn.euroviaSlider = function (options) {\r\n // Establish our default settings\r\n var settings = $.extend({\r\n delay: 10000\r\n }, options);\r\n var offsetDelta = 141;//$(\"header\").outerHeight();\r\n that = this;\r\n\r\n //console.log(window.location.href);\r\n //console.log(window.location.hostname);\r\n //console.log(window.location.host);\r\n\r\n if ($(\"[data-pos]\").length > 0) {\r\n manageOverflow('hidden');\r\n }\r\n\r\n pagination = addPagination();\r\n setDimensions();\r\n\r\n offset = $(that).height() + offsetDelta;\r\n $(\"[data-id]\").not(\".firstSlide\").css(\"top\", offset);\r\n\r\n pagination.find(\".pager\").each(function (i, obj) {\r\n $(obj).click(function (e) {\r\n e.preventDefault();\r\n\r\n offset = $(that).height() + offsetDelta;\r\n var next = $(obj).attr('data-moveTo');\r\n $(that).moveTo(next);\r\n });\r\n });\r\n\r\n $(window).on('mousewheel DOMMouseScroll', function (e) {\r\n offset = $(that).height() + offsetDelta;\r\n var nnext = 0;\r\n var direction = (function () {\r\n var delta = (e.type === 'DOMMouseScroll' ?\r\n e.originalEvent.detail * -40 :\r\n e.originalEvent.wheelDelta);\r\n return delta > 0 ? 0 : 1;\r\n }());\r\n\r\n if (direction === 1) {\r\n nnext = parseInt(current) + 1;\r\n }\r\n if (direction === 0) {\r\n nnext = parseInt(current) - 1;\r\n }\r\n\r\n if (nnext > -1 && nnext < $(that).find(\"[data-pos]\").length / 2) {\r\n $(that).moveTo(nnext);\r\n } else {\r\n //console.log('nnext ' + nnext);\r\n //console.log('$(that).find(\"[data-pos]\").length ' + $(that).find(\"[data-pos]\").length);\r\n }\r\n });\r\n\r\n $(that).swipe(function (direction, offset) {\r\n console.log(\"Moving\", direction.x, \"and\", direction.y);\r\n console.log(\"Touch moved by\", offset.x, \"horizontally and\", offset.y, \"vertically\");\r\n\r\n var nnext = 0;\r\n var direction = offset.y < 0;\r\n\r\n if (offset.y == 0) {\r\n return;\r\n }\r\n\r\n if (!direction) {\r\n nnext = parseInt(current) + 1;\r\n }\r\n else{\r\n nnext = parseInt(current) - 1;\r\n }\r\n\r\n if (nnext > -1 && nnext < $(that).find(\"[data-pos]\").length / 2) {\r\n $(that).moveTo(nnext);\r\n } else {\r\n //console.log('nnext ' + nnext);\r\n //console.log('$(that).find(\"[data-pos]\").length ' + $(that).find(\"[data-pos]\").length);\r\n }\r\n });\r\n\r\n $(window).resize(function () {\r\n setDimensions();\r\n });\r\n\r\n //GESTION URL HASH\r\n var hash = window.location.hash;\r\n //console.log(hash);\r\n if (hash != \"\") {\r\n var id = $(\"[data-hash=\" + hash + \"]:first\").attr(\"data-id\");\r\n $(\".pager\").eq(id).click();\r\n }\r\n };\r\n\r\n $.fn.moveTo = function (next) {\r\n if (next != current) {\r\n updateLinkedZone(current, next);\r\n\r\n if (next == 0) {\r\n var leftMove = $(\"[data-id=\" + current + \"][data-pos=left]\");\r\n var rightMove = $(\"[data-id=\" + current + \"][data-pos=right]\");\r\n var leftCurrent = $(\"[data-id=\" + current + \"][data-pos=left]\");\r\n var rightCurrent = $(\"[data-id=\" + current + \"][data-pos=right]\");\r\n\r\n $(\".pager:eq(\" + current + \")\").removeClass(\"active\");\r\n $(\".pager:eq(\" + next + \")\").addClass(\"active\");\r\n\r\n var zindex = parseInt(leftCurrent.css(\"z-index\")) + 5;\r\n leftMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n rightMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n $(\"[data-id=\" + next + \"].slideContentLeft\").addClass(\"firstSlide\").css({ \"z-index\": 5 });\r\n\r\n leftMove.velocity({\r\n top: offset\r\n },\r\n 1000\r\n );\r\n rightMove.velocity({\r\n top: -offset\r\n },\r\n 1000\r\n );\r\n } else {\r\n var leftMove = $(\"[data-id=\" + next + \"][data-pos=left]\");\r\n var rightMove = $(\"[data-id=\" + next + \"][data-pos=right]\");\r\n\r\n var leftCurrent = $(\"[data-id=\" + current + \"][data-pos=left]\");\r\n var rightCurrent = $(\"[data-id=\" + current + \"][data-pos=right]\");\r\n var toDown = false;\r\n\r\n $(\".pager:eq(\" + current + \")\").removeClass(\"active\");\r\n $(\".pager:eq(\" + next + \")\").addClass(\"active\");\r\n //console.log(\"offset: \" + offset);\r\n if (next > current) {\r\n //next gauche vient du bas et next droit vient du haut\r\n leftMove.css(\"top\", offset);\r\n rightMove.css(\"top\", -offset);\r\n toDown = true;\r\n } else {\r\n //inversement\r\n leftMove.css(\"top\", -offset);\r\n rightMove.css(\"top\", offset);\r\n toDown = false;\r\n }\r\n\r\n if (!toDown) {\r\n var zindex = parseInt(leftCurrent.css(\"z-index\")) + 5;\r\n leftMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n rightMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n }\r\n\r\n leftMove.velocity({\r\n top: 0\r\n },\r\n 1000,\r\n function () {\r\n complete(leftCurrent, rightCurrent, toDown);\r\n }\r\n );\r\n rightMove.velocity({\r\n top: 0\r\n },\r\n 1000,\r\n function () {\r\n complete(leftCurrent, rightCurrent, toDown);\r\n }\r\n );\r\n\r\n if (toDown) {\r\n var zindex = parseInt(leftCurrent.css(\"z-index\")) + 2\r\n leftMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n rightMove.css(\"z-index\", zindex).addClass(\"firstSlide\");\r\n }\r\n }\r\n\r\n current = next;\r\n } else {\r\n //console.log(\"nothing to move\");\r\n }\r\n }\r\n\r\n function RemoveIndication() {\r\n if ($(\".scrollIndication\").length > 0) {\r\n $(\".scrollIndication\").fadeOut();\r\n }\r\n }\r\n\r\n function updateLinkedZone(current, next) {\r\n $(\"[data-scroll=\" + next + \"]\").parent().addClass(\"current\");\r\n $(\"[data-scroll=\" + current + \"]\").parent().removeClass(\"current\");\r\n }\r\n\r\n function complete(leftCurrent, rightCurrent, toDown) {\r\n RemoveIndication();\r\n\r\n leftCurrent.removeClass(\"firstSlide\");\r\n rightCurrent.removeClass(\"firstSlide\");\r\n\r\n leftCurrent.css(\"z-index\", -1);\r\n rightCurrent.css(\"z-index\", -1);\r\n }\r\n\r\n function addPagination() {\r\n var pager = '
';\r\n for (i = 0; i < $(that).find(\"[data-pos]\").length / 2; i++) {\r\n pager += '
';\r\n }\r\n pager += '
';\r\n $(that).append(pager);\r\n\r\n return $(\".sliderPagination\");\r\n }\r\n\r\n function setDimensions() {\r\n //console.log(that);\r\n var windowHeight = $(window).height();\r\n var headerHeight = $(\"header\").outerHeight();\r\n //console.log(\"windowHeight \" + windowHeight);\r\n //console.log(\"headerHeight \" + headerHeight);\r\n\r\n var height = windowHeight - headerHeight;\r\n //console.log(\"height \" + height);\r\n //var width = $(window).width();\r\n\r\n //console.log(\"no top\");\r\n $(that).css(\"top\", 0);\r\n $(that).css(\"height\", height);\r\n //$(that).css(\"width\", width);\r\n\r\n //$(\".slideContentLeft\").css(\"height\", height).not(\".full\").css(\"width\", width / 2);\r\n //$(\".slideContentRight\").css(\"height\", height).not(\".full\").css(\"width\", width / 2);\r\n\r\n pagerHeight = $(\".sliderPagination\").height();\r\n //console.log(\"pagerHeight \" + pagerHeight);\r\n var pagerTop = (height / 2) - (pagerHeight / 2);\r\n //pagerTop\r\n //console.log(\"pagerTop \" + pagerTop);\r\n $(\".sliderPagination\").css(\"top\", pagerTop);\r\n\r\n $(\"[data-vcentered]\").each(function (i, obj) {\r\n var height = $(that).height();\r\n var VCheight = $(obj).height();\r\n $(obj).css(\"padding-top\", (height - VCheight) / 2);\r\n $(obj).css(\"padding-bottom\", (height - VCheight) / 2);\r\n });\r\n }\r\n\r\n function manageOverflow(mode) {\r\n $(\"body\").css(\"overflow\", mode);\r\n $(\"html\").css(\"overflow\", mode);\r\n }\r\n}(jQuery));\n/*\r\n * YoutubeBackground - A wrapper for the Youtube API - Great for fullscreen background videos or just regular videos.\r\n *\r\n * Licensed under the MIT license:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n *\r\n *\r\n * Version: 1.0.1\r\n *\r\n */\r\n\r\n// Chain of Responsibility pattern. Creates base class that can be overridden.\r\nif (typeof Object.create !== \"function\") {\r\n Object.create = function (obj) {\r\n function F() { }\r\n F.prototype = obj;\r\n return new F();\r\n };\r\n}\r\n\r\n(function ($, window, document) {\r\n var\r\n loadAPI = function loadAPI(callback) {\r\n // Load Youtube API\r\n var tag = document.createElement('script'),\r\n head = document.getElementsByTagName('head')[0];\r\n\r\n if (window.location.origin == 'file://') {\r\n tag.src = 'http://www.youtube.com/iframe_api';\r\n } else {\r\n tag.src = '//www.youtube.com/iframe_api';\r\n }\r\n\r\n head.appendChild(tag);\r\n\r\n // Clean up Tags.\r\n head = null;\r\n tag = null;\r\n\r\n iframeIsReady(callback);\r\n },\r\n iframeIsReady = function iframeIsReady(callback) {\r\n // Listen for Gobal YT player callback\r\n if (typeof YT === 'undefined' && typeof window.loadingPlayer === 'undefined') {\r\n // Prevents Ready Event from being called twice\r\n window.loadingPlayer = true;\r\n\r\n // Creates deferred so, other players know when to wait.\r\n window.dfd = $.Deferred();\r\n window.onYouTubeIframeAPIReady = function () {\r\n window.onYouTubeIframeAPIReady = null;\r\n window.dfd.resolve(\"done\");\r\n callback();\r\n };\r\n } else if (typeof YT === 'object') {\r\n callback();\r\n } else {\r\n window.dfd.done(function (name) {\r\n callback();\r\n });\r\n }\r\n };\r\n\r\n // YTPlayer Object\r\n YTPlayer = {\r\n player: null,\r\n\r\n // Defaults\r\n defaults: {\r\n ratio: 16 / 9,\r\n videoId: 'LSmgKRx5pBo',\r\n mute: true,\r\n repeat: true,\r\n width: $(window).width(),\r\n playButtonClass: 'YTPlayer-play',\r\n pauseButtonClass: 'YTPlayer-pause',\r\n muteButtonClass: 'YTPlayer-mute',\r\n volumeUpClass: 'YTPlayer-volume-up',\r\n volumeDownClass: 'YTPlayer-volume-down',\r\n start: 0,\r\n pauseOnScroll: false,\r\n fitToBackground: true,\r\n playerVars: {\r\n iv_load_policy: 3,\r\n modestbranding: 1,\r\n autoplay: 1,\r\n controls: 0,\r\n showinfo: 0,\r\n wmode: 'opaque',\r\n branding: 0,\r\n autohide: 0,\r\n rel: 0\r\n },\r\n events: null\r\n },\r\n\r\n /**\r\n * @function init\r\n * Intializes YTPlayer object\r\n */\r\n init: function init(node, userOptions) {\r\n var self = this;\r\n\r\n self.userOptions = userOptions;\r\n\r\n self.$body = $('body'),\r\n self.$node = $(node),\r\n self.$window = $(window);\r\n\r\n // Setup event defaults with the reference to this\r\n self.defaults.events = {\r\n 'onReady': function (e) {\r\n self.onPlayerReady(e);\r\n\r\n // setup up pause on scroll\r\n if (self.options.pauseOnScroll) {\r\n self.pauseOnScroll();\r\n }\r\n\r\n // Callback for when finished\r\n if (typeof self.options.callback == 'function') {\r\n self.options.callback.call(this);\r\n }\r\n },\r\n 'onStateChange': function (e) {\r\n if (e.data === 1) {\r\n self.$node.find('img').fadeOut(400);\r\n self.$node.addClass('loaded');\r\n } else if (e.data === 0 && self.options.repeat) { // video ended and repeat option is set true\r\n self.player.seekTo(self.options.start);\r\n }\r\n }\r\n }\r\n\r\n self.options = $.extend(true, {}, self.defaults, self.userOptions);\r\n self.options.height = Math.ceil(self.options.width / self.options.ratio);\r\n self.ID = (new Date()).getTime();\r\n self.holderID = 'YTPlayer-ID-' + self.ID;\r\n\r\n if (self.options.fitToBackground) {\r\n self.createBackgroundVideo();\r\n } else {\r\n self.createContainerVideo();\r\n }\r\n // Listen for Resize Event\r\n self.$window.on('resize.YTplayer' + self.ID, function () {\r\n self.resize(self);\r\n });\r\n\r\n loadAPI(self.onYouTubeIframeAPIReady.bind(self));\r\n\r\n self.resize(self);\r\n\r\n return self;\r\n },\r\n\r\n /**\r\n * @function pauseOnScroll\r\n * Adds window events to pause video on scroll.\r\n */\r\n pauseOnScroll: function pauseOnScroll() {\r\n var self = this;\r\n self.$window.on('scroll.YTplayer' + self.ID, function () {\r\n var state = self.player.getPlayerState();\r\n if (state === 1) {\r\n self.player.pauseVideo();\r\n }\r\n });\r\n self.$window.scrollStopped(function () {\r\n var state = self.player.getPlayerState();\r\n if (state === 2) {\r\n self.player.playVideo();\r\n }\r\n });\r\n },\r\n /**\r\n * @function createContainerVideo\r\n * Adds HTML for video in a container\r\n */\r\n createContainerVideo: function createContainerVideo() {\r\n var self = this;\r\n\r\n /*jshint multistr: true */\r\n var $YTPlayerString = $('
\\\r\n
\\\r\n
\\\r\n
');\r\n\r\n self.$node.append($YTPlayerString);\r\n self.$YTPlayerString = $YTPlayerString;\r\n $YTPlayerString = null;\r\n },\r\n\r\n /**\r\n * @function createBackgroundVideo\r\n * Adds HTML for video background\r\n */\r\n createBackgroundVideo: function createBackgroundVideo() {\r\n /*jshint multistr: true */\r\n var self = this,\r\n $YTPlayerString = $('
\\\r\n
\\\r\n
\\\r\n
');\r\n\r\n self.$node.append($YTPlayerString);\r\n self.$YTPlayerString = $YTPlayerString;\r\n $YTPlayerString = null;\r\n },\r\n\r\n /**\r\n * @function resize\r\n * Resize event to change video size\r\n */\r\n resize: function resize(self) {\r\n //var self = this;\r\n var container = $(window);\r\n\r\n if (!self.options.fitToBackground) {\r\n container = self.$node;\r\n }\r\n\r\n var width = container.width(),\r\n pWidth, // player width, to be defined\r\n height = container.height(),\r\n pHeight, // player height, tbd\r\n $YTPlayerPlayer = $('#' + self.holderID);\r\n\r\n // when screen aspect ratio differs from video, video must center and underlay one dimension\r\n if (width / self.options.ratio < height) {\r\n pWidth = Math.ceil(height * self.options.ratio); // get new player width\r\n $YTPlayerPlayer.width(pWidth).height(height).css({\r\n left: (width - pWidth) / 2,\r\n position: \"absolute\",\r\n \"z-index\": \"-1\",\r\n top: 0\r\n }); // player width is greater, offset left; reset top\r\n } else { // new video width < window width (gap to right)\r\n pHeight = Math.ceil(width / self.options.ratio); // get new player height\r\n var offsetTop = ($(window).height() - pHeight) / 2;\r\n $YTPlayerPlayer.width(width).height(pHeight).css({\r\n left: 0,\r\n position: \"absolute\",\r\n \"z-index\": \"-1\",\r\n top: 0 //offsetTop\r\n }); // player height is greater, offset top; reset left\r\n }\r\n\r\n console.log(\"width \" + width);\r\n console.log(\"height \" + height);\r\n console.log(\"pWidth \" + pWidth);\r\n console.log(\"pHeight \" + pHeight);\r\n\r\n //var jwidth = $(window).outerWidth();\r\n\r\n //var wWidth = $(window).outerWidth() + 100,\r\n // wHeight = $(window).outerHeight(),\r\n // cHeight = $(\"#slider\").height(),\r\n // cWidth = container.width(),\r\n // $YTPlayerPlayer = $('#' + self.holderID);\r\n\r\n //var top = -(wHeight - cHeight) / 2;\r\n\r\n //console.log(\"wHeight \" + wHeight);\r\n //console.log(\"wWidth \" + wWidth);\r\n //console.log(\"cHeight \" + cHeight);\r\n //console.log(\"cWidth \" + cWidth);\r\n //console.log(\"top \" + top);\r\n //console.log($YTPlayerPlayer);\r\n //$YTPlayerPlayer.width(wWidth).css({\r\n // left: -10,\r\n // top: top,\r\n // position: \"absolute\"\r\n //});\r\n\r\n $YTPlayerPlayer = null;\r\n container = null;\r\n },\r\n\r\n /**\r\n * @function onYouTubeIframeAPIReady\r\n * @ params {object} YTPlayer object for access to options\r\n * Youtube API calls this function when the player is ready.\r\n */\r\n onYouTubeIframeAPIReady: function onYouTubeIframeAPIReady() {\r\n var self = this;\r\n self.player = new window.YT.Player(self.holderID, self.options);\r\n },\r\n\r\n /**\r\n * @function onPlayerReady\r\n * @ params {event} window event from youtube player\r\n */\r\n onPlayerReady: function onPlayerReady(e) {\r\n if (this.options.mute) {\r\n e.target.mute();\r\n }\r\n e.target.playVideo();\r\n },\r\n\r\n /**\r\n * @function getPlayer\r\n * returns youtube player\r\n */\r\n getPlayer: function getPlayer() {\r\n return this.player;\r\n },\r\n\r\n /**\r\n * @function destroy\r\n * destroys all!\r\n */\r\n destroy: function destroy() {\r\n var self = this;\r\n\r\n self.$node\r\n .removeData('yt-init')\r\n .removeData('ytPlayer')\r\n .removeClass('loaded');\r\n\r\n self.$YTPlayerString.remove();\r\n\r\n $(window).off('resize.YTplayer' + self.ID);\r\n $(window).off('scroll.YTplayer' + self.ID);\r\n self.$body = null;\r\n self.$node = null;\r\n self.$YTPlayerString = null;\r\n self.player.destroy();\r\n self.player = null;\r\n }\r\n };\r\n\r\n // Scroll Stopped event.\r\n $.fn.scrollStopped = function (callback) {\r\n var $this = $(this), self = this;\r\n $this.scroll(function () {\r\n if ($this.data('scrollTimeout')) {\r\n clearTimeout($this.data('scrollTimeout'));\r\n }\r\n $this.data('scrollTimeout', setTimeout(callback, 250, self));\r\n });\r\n };\r\n\r\n // Create plugin\r\n $.fn.YTPlayer = function (options) {\r\n return this.each(function () {\r\n var el = this;\r\n\r\n $(el).data(\"yt-init\", true);\r\n var player = Object.create(YTPlayer);\r\n player.init(el, options);\r\n $.data(el, \"ytPlayer\", player);\r\n });\r\n };\r\n})(jQuery, window, document);"]}