{"version":3,"sources":["eurovia.js","eurovia-bundle.js"],"names":["$","window","document","eurovia","HTMLElement","init","this","menuTop","menu","searchTop","searchBody","sliderMain","slider","sliderSolutions","animateElements","carouselNews","timeline","mapWorld","selectFilter","plugFlyBoxOpen","plugFlyBox2Open","plugArticlesFilter","plugBangLinks","plugAjaxMoreLoad","plugContactForm","plugCheckBoxAllnone","plugInfosNewsAndPublisFilters","plugInfosMediasFilter","fixSelectFilterZIndex","immediateFlyBox","carouselMedias","plugZapBoxes","hashBang","plugBanner","length","define","require","app","initialize","documentElement","lang","$menu_top","each","$this","find","addClass","on","event","$page_header","hasClass","preventDefault","li","parent","removeClass","resize","width","$search","which","location","data","encodeURIComponent","val","focus","target","closest","$slides_pagination","$button_prev","$button_next","data_pagination","data_slider","$slider","$slider_main","structure_pagination","append","$thumb","attr","$title","$category","structure_pagination_wrap","owlCarousel","items","singleItem","addClassActive","pagination","slideSpeed","transitionStyle","afterMove","jwplayer","stop","itemsDesktop","itemsDesktopSmall","responsive","$index","index","goTo","prev","next","$slider_container","paginationNumbers","$within","$sliders","$data_items","parseInt","args","itemsTablet","itemsTabletSmall","itemsMobile","$elts","$elt","w","arrows","$items","$points","$data_id","$data_point_x","$data_point_y","css","top","left","fadeOut","$region_id","fadeIn","$owning_region","off","$submap","data_timeline","pagination_el","$timeline","$timeline_slides","pagination_elements","movePosition","$year","navigation","mouseDrag","touchDrag","scrollPerPage","current","currentItem","eq","currentActive","is","slideIndex","showBox","$id","arrow","$overlay","structure_close","show_arrow","show","zapFlyBox","showBoxNews","zapFlyBox2","articlesInFlyBox","$articles","$href","filterArchives","mCustomScrollbar","before_elements","runAnimate","before","blocked","nr","name","obj","$type","split","$speed","$delay","key","value","el","speed","delay","position","offset","params","Modernizr","prefixed","para","param","ratio","i","$scroll_top","scrollTop","$window_height","height","scroll","setFlyBoxDirection","$open","$set","$all","hide","reOpenFlyBox","spinningFlyBoxWrapper","$box","$wrapper","prependTo","empty","html","plugSocialNetworks","addthis","toolbox","loadFlyBox","callback","$html","load","jQuery","contains","contents","detach","appendTo","activateFlyBoxContent","activateFlyBox2Content","$opens","bangTo","$target","margin","animate","$wref","pathname","search","$pos","indexOf","substring","hash","remove","$chrefa","$chref","$load","$container","$savedHtml","$data","$nurl","removeData","ellipsis","nrLines","ellHeight","dotdotdot","setArticlesFilterTick","$tick","$selector","selectorTop","selectorHeight","tickTop","Math","floor","offsetParent","whileScrolling","mcs","$filtered","$selectors","after","callbacks","$submit","$formContact","$challengeFiled","$responseFiled","challenge","response","json","$form","parsley","asyncValidate","done","$over","$feedback","outerHeight","cbya","substr","cbyw","siteroot","phone","email","ua","uw","message","post","recv","status","request","fail","Recaptcha","reload","$cbs","$cb","checked","$ncb","loadFilteredContainer","$ajax","url","$filter","$ctnr","plugInfosNewsOrPublisFilter","$filters","getUrl","$dateFilter","$typeFilter","types","$a","label","$ttFilter","ty","th","yh","zindex","vplayer","id","video","options","jwopt","file","aspectratio","setup","hvplayer","image","wrap","stretching","controls","volume","events","onReady","onPlay","onPause","onIdle","ui","play","onComplete","startButton","loading","player","controlPlay","controlSound","cvol","getVolume","setVolume","ajaxSetup","cache","readyActions","ready","action"],"mappings":"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","file":"../eurovia-bundle.js","sourcesContent":["/*global jQuery */\r\n/*global window */\r\n/*global document */\r\n(function ($, window, document) {\r\n 'use strict';\r\n // && !(window.eurovia instanceof HTMLElement)\r\n if (window.eurovia instanceof HTMLElement) {\r\n window.eurovia = null;\r\n }\r\n window.eurovia = (window.eurovia) || {\r\n init: function () {\r\n this.menuTop();\r\n this.menu();\r\n this.searchTop();\r\n this.searchBody();\r\n this.sliderMain();\r\n this.slider();\r\n this.sliderSolutions();\r\n this.animateElements();\r\n this.carouselNews();\r\n this.timeline();\r\n this.mapWorld();\r\n //this.buttonContact();\r\n //this.filterArchives();\r\n //this.articlesInFlyBox();\r\n this.selectFilter();\r\n /* eajd*/\r\n this.plugFlyBoxOpen();\r\n this.plugFlyBox2Open();\r\n this.plugArticlesFilter();\r\n this.plugBangLinks();\r\n this.plugAjaxMoreLoad();\r\n this.plugContactForm();\r\n this.plugCheckBoxAllnone();\r\n this.plugInfosNewsAndPublisFilters();\r\n this.plugInfosMediasFilter();\r\n this.fixSelectFilterZIndex();\r\n this.immediateFlyBox();\r\n this.carouselMedias();\r\n this.plugZapBoxes();\r\n this.hashBang();\r\n this.plugBanner();\r\n },\r\n\r\n plugBanner: function () {\r\n if (!$('#eurovia-banner').length) {\r\n return; // false;\r\n }\r\n\r\n /* jquery is already loaded, no need to define paths, just pass reference to the existing one */\r\n define('jquery', function () {\r\n return $;\r\n });\r\n /* load concatenated banner file, then find 'app' module inside and initialize it */\r\n require(['/js/w314/eurovia-banner.min.js'], function () {\r\n require(['app'], function (app) {\r\n app.initialize(document.documentElement.lang);\r\n });\r\n });\r\n },\r\n\r\n menuTop: function () {\r\n var $menu_top = $('.menu-top>ul>li');\r\n\r\n $menu_top.each(function () {\r\n var $this = $(this);\r\n\r\n if ($this.find('ul').length) {\r\n $this.addClass('sub-menu');\r\n\r\n // use >a to do it ONLY of IMMEDIATE children\r\n $this.find('>a').on('click', function (event) {\r\n // do NOT do it if normal menu\r\n var $page_header = $('.title-bar');\r\n if (!$page_header.hasClass('active')) return;\r\n\r\n event.preventDefault();\r\n\r\n var li = $(this).parent();\r\n if (li.hasClass('selected-menu')) {\r\n li.removeClass('selected-menu');\r\n } else {\r\n $('.menu-top li.selected-menu').removeClass('selected-menu');\r\n li.addClass('selected-menu');\r\n }\r\n });\r\n }\r\n });\r\n },\r\n\r\n menu: function () {\r\n var $page_header = $('.title-bar');\r\n\r\n $('.js-title-bar-mobile-developed-btn').on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $('.js-title-bar-mobile-developed-btn').on('click', function () {\r\n if ($page_header.hasClass('active')) {\r\n $page_header.removeClass('active');\r\n } else {\r\n $page_header.addClass('active');\r\n }\r\n });\r\n\r\n $(window).resize(function () {\r\n if ($(window).width() > 979 && $page_header.hasClass('active')) {\r\n $page_header.removeClass('active');\r\n }\r\n });\r\n },\r\n\r\n searchTop: function () {\r\n var $search = $('.title-bar-search');\r\n\r\n // but why isn't it a form?!\r\n $search.find('input').on('keydown', function (event) {\r\n if (event.which == 27) { // esc\r\n if ($search.hasClass('selected'))\r\n $search.removeClass('selected');\r\n } else if (event.which == 13) { // enter\r\n window.location = $(this).data('action') + \"?q=\" + encodeURIComponent($(this).val());\r\n }\r\n });\r\n\r\n $search.find('.button').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n //$search.find('input').trigger('focus');\r\n\r\n if ($search.hasClass('selected')) {\r\n $search.removeClass('selected');\r\n } else {\r\n $search.addClass('selected');\r\n $search.find('input').focus();\r\n }\r\n });\r\n\r\n $(document).on('click', function (event) {\r\n if (!$(event.target).closest(\".title-bar-search\").length) {\r\n $search.removeClass('selected');\r\n }\r\n });\r\n },\r\n\r\n searchBody: function () {\r\n var $search = $('.body-search');\r\n $search.find('input[type=\"text\"]').on('keydown', function (event) {\r\n if (event.which == 13) { // enter\r\n window.location = $(this).data('action') + \"?q=\" + encodeURIComponent($(this).val());\r\n }\r\n });\r\n $search.find('input[type=\"submit\"]').on('click', function (event) {\r\n var val = $search.find('input[type=\"text\"]').val();\r\n window.location = $(this).data('action') + \"?q=\" + encodeURIComponent(val);\r\n });\r\n },\r\n\r\n sliderMain: function () {\r\n var $slider = $('.js-slider-main-slides'),\r\n $slider_main = $('.js-slider-main'),\r\n structure_pagination = '
',\r\n $slides_pagination,\r\n $button_prev,\r\n $button_next,\r\n data_pagination,\r\n data_slider;\r\n\r\n // Add structure for pagination\r\n $slider_main.append(structure_pagination);\r\n\r\n $slides_pagination = $slider_main.find('.slider-main-pagination-slides');\r\n $button_prev = $('.js-slider-main-arrow-prev');\r\n $button_next = $('.js-slider-main-arrow-next');\r\n\r\n // Build slider pagination\r\n $slider.find('.slider-main-item').each(function () {\r\n var $this = $(this),\r\n $thumb = $this.attr('data-thumb'),\r\n $title = $this.attr('data-title'),\r\n $category = $this.attr('data-category'),\r\n structure_pagination_wrap = '
\".\"

' + $category + '

' + $title + '

';\r\n\r\n $slides_pagination.append(structure_pagination_wrap);\r\n });\r\n\r\n $slider.owlCarousel({\r\n items: 1,\r\n singleItem: true,\r\n addClassActive: true,\r\n pagination: false,\r\n slideSpeed: 1000,\r\n transitionStyle: \"goDown\",\r\n afterMove: function () {\r\n //console.log('aftermove');\r\n $slider.find('.jwplayer').each(function () {\r\n //console.log('stop');\r\n jwplayer(this).stop();\r\n });\r\n }\r\n });\r\n\r\n $slides_pagination.owlCarousel({\r\n items: 3,\r\n itemsDesktop: [1199, 3],\r\n itemsDesktopSmall: [979, 2],\r\n addClassActive: true,\r\n pagination: false,\r\n slideSpeed: 1000,\r\n responsive: true\r\n });\r\n\r\n data_pagination = $slides_pagination.data('owlCarousel');\r\n data_slider = $slider.data('owlCarousel');\r\n\r\n $slides_pagination.find('.owl-item').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $index = $(this).index();\r\n\r\n data_slider.goTo($index);\r\n });\r\n\r\n $button_prev.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_next.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_prev.on('click', function (event) {\r\n event.preventDefault();\r\n data_pagination.prev();\r\n });\r\n\r\n $button_next.on('click', function (event) {\r\n event.preventDefault();\r\n data_pagination.next();\r\n });\r\n },\r\n\r\n slider: function () {\r\n var $slider = $('.js-slider-slides'),\r\n $slider_container = $('.js-slider-container'),\r\n structure_pagination = '',\r\n $button_prev,\r\n $button_next,\r\n data_slider;\r\n\r\n // Add structure for pagination\r\n $slider_container.append(structure_pagination);\r\n\r\n $button_prev = $slider_container.find('.js-slider-arrow-prev');\r\n $button_next = $slider_container.find('.js-slider-arrow-next');\r\n\r\n $slider.owlCarousel({\r\n items: 1,\r\n singleItem: true,\r\n addClassActive: true,\r\n pagination: true,\r\n slideSpeed: 1000,\r\n paginationNumbers: true\r\n });\r\n\r\n data_slider = $slider.data('owlCarousel');\r\n\r\n $button_prev.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_next.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_prev.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.prev();\r\n });\r\n\r\n $button_next.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.next();\r\n });\r\n },\r\n\r\n sliderSolutions: function () {\r\n var $slider = $('.js-slider-solutions-slides'),\r\n $slider_container = $('.js-slider-solutions'),\r\n structure_pagination = '
',\r\n $button_prev,\r\n $button_next,\r\n data_slider;\r\n\r\n // Add structure for pagination\r\n $slider_container.append(structure_pagination);\r\n\r\n $button_prev = $slider_container.find('.js-slider-arrow-prev');\r\n $button_next = $slider_container.find('.js-slider-arrow-next');\r\n\r\n $slider.owlCarousel({\r\n items: 1,\r\n singleItem: true,\r\n addClassActive: true,\r\n slideSpeed: 1000,\r\n pagination: true,\r\n paginationNumbers: true\r\n });\r\n\r\n data_slider = $slider.data('owlCarousel');\r\n\r\n $button_prev.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_next.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_prev.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.prev();\r\n });\r\n\r\n $button_next.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.next();\r\n });\r\n },\r\n\r\n carouselNews: function ($within) {\r\n var $sliders = $within ? $within.find('.js-carousel-news') : $('.js-carousel-news'),\r\n structure_pagination = '';\r\n\r\n // Add structure for pagination\r\n //not here, depends on number of items!\r\n //$sliders.append(structure_pagination);\r\n\r\n $sliders.each(function () {\r\n var $this = $(this),\r\n $slider = $this.find('.js-carousel-news-slides'),\r\n $data_items = parseInt($this.attr('data-items'), 10) || 1,\r\n $button_prev,\r\n $button_next,\r\n data_slider,\r\n args = {\r\n items: $data_items,\r\n itemsDesktop: [1199, $data_items],\r\n itemsDesktopSmall: [980, $data_items],\r\n itemsTablet: [768, $data_items],\r\n itemsTabletSmall: false,\r\n itemsMobile: [479, $data_items],\r\n addClassActive: true,\r\n slideSpeed: 1000,\r\n pagination: true,\r\n paginationNumbers: true\r\n };\r\n\r\n if ($data_items !== 1) {\r\n args.singleItem = false;\r\n } else {\r\n args.singleItem = true;\r\n }\r\n\r\n // do it here only if we have enough items\r\n if ($data_items <= $slider.find('.carousel-news-item').length) {\r\n $this.append(structure_pagination);\r\n }\r\n\r\n $slider.owlCarousel(args);\r\n\r\n data_slider = $slider.data('owlCarousel');\r\n\r\n $button_prev = $this.find('.js-slider-arrow-prev');\r\n $button_next = $this.find('.js-slider-arrow-next');\r\n\r\n $button_prev.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_next.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_prev.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.prev();\r\n });\r\n\r\n $button_next.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.next();\r\n });\r\n });\r\n },\r\n\r\n carouselMedias: function ($within) {\r\n var $elts = $within ? $within.find('.js-carousel-medias') : $('.js-carousel-medias');\r\n $elts.each(function () {\r\n var $elt = $(this);\r\n var w = $elt.data('width');\r\n var args = {\r\n items: 1,\r\n itemsDesktop: [ /*1199*/w, 1],\r\n itemsDesktopSmall: [980, 1],\r\n itemsTablet: [768, 1],\r\n itemsTabletSmall: false,\r\n itemsMobile: [479, 1],\r\n addClassActive: true,\r\n slideSpeed: 1000 /*,\r\n pagination: true,\r\n paginationNumbers: true*/,\r\n afterMove: function () {\r\n //console.log('aftermove');\r\n $elt.find('.jwplayer').each(function () {\r\n //console.log('stop');\r\n jwplayer(this).stop();\r\n });\r\n }\r\n };\r\n\r\n // do it here only if we have enough items\r\n var arrows = 1 <= $elt.find('.carousel-medias-item').length;\r\n if (arrows) {\r\n $elt.append(''\r\n + '');\r\n }\r\n\r\n var $items = $elt.find('.carousel-medias-items');\r\n $items.owlCarousel(args);\r\n\r\n if (arrows) {\r\n var data_slider = $items.data('owlCarousel');\r\n\r\n $elt.find('.js-slider-arrow-prev')\r\n .on('mousedown', function (event) {\r\n event.preventDefault();\r\n })\r\n .on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.prev();\r\n });\r\n\r\n $elt.find('.js-slider-arrow-next')\r\n .on('mousedown', function (event) {\r\n event.preventDefault();\r\n })\r\n .on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.next();\r\n });\r\n }\r\n });\r\n },\r\n\r\n mapWorld: function () {\r\n var $points = $('.js-map-world-points li');\r\n\r\n $points.each(function () {\r\n var $this = $(this),\r\n $data_id = $this.attr('data-id'),\r\n $data_point_x = $this.attr('data-point-x'),\r\n $data_point_y = $this.attr('data-point-y');\r\n\r\n $this.css({\r\n 'top': $data_point_y,\r\n 'left': $data_point_x\r\n });\r\n\r\n $this.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n $('.map-world-region').fadeOut();\r\n var $region_id = $('#' + $data_id);\r\n\r\n $region_id.fadeIn(300);\r\n\r\n var $owning_region = $(this).closest('.map-world-region');\r\n if ($owning_region.length > 0) {\r\n $region_id.find('.js-map-world-region-close').on('click', function () {\r\n $region_id.fadeOut(300);\r\n $(this).off();\r\n var $submap = $('#' + $owning_region.attr('id'));\r\n $submap.fadeIn(300);\r\n $submap.find('.js-map-world-region-close').on('click', function () {\r\n $submap.fadeOut(300);\r\n $(this).off();\r\n });\r\n });\r\n } else {\r\n $region_id.find('.js-map-world-region-close').on('click', function () {\r\n $region_id.fadeOut(300);\r\n $(this).off();\r\n });\r\n }\r\n });\r\n });\r\n },\r\n\r\n timeline: function () {\r\n var $timeline = $('.js-timeline'),\r\n $timeline_slides = $('.js-timeline-slides'),\r\n data_timeline,\r\n pagination,\r\n data_pagination,\r\n pagination_elements = '',\r\n pagination_el,\r\n movePosition = 0;\r\n\r\n $timeline_slides.find('.js-timeline-slides-slide').each(function () {\r\n var $year = $(this).attr('data-year');\r\n pagination_elements += '
  • ' + $year + '
  • ';\r\n });\r\n\r\n $timeline.append('');\r\n\r\n pagination = $('.js-timeline-pagination');\r\n pagination_el = pagination.find('li');\r\n\r\n pagination.owlCarousel({\r\n items: 5,\r\n slideSpeed: 500,\r\n navigation: false,\r\n pagination: false,\r\n mouseDrag: false,\r\n touchDrag: false\r\n });\r\n\r\n data_pagination = pagination.data('owlCarousel');\r\n\r\n $timeline_slides.owlCarousel({\r\n items: 5,\r\n slideSpeed: 1000,\r\n addClassActive: true,\r\n navigation: false,\r\n pagination: false,\r\n mouseDrag: false,\r\n //touchDrag: false,\r\n scrollPerPage: true,\r\n afterMove: function () {\r\n if ($(window).width() <= 979) {\r\n var current = this.currentItem,\r\n currentActive = $timeline_slides.find('.owl-item.active').length;\r\n\r\n pagination.find('li').removeClass('selected');\r\n pagination_el.eq(current).addClass('selected');\r\n data_pagination.goTo(current);\r\n }\r\n }\r\n });\r\n\r\n data_timeline = $timeline_slides.data('owlCarousel');\r\n\r\n $timeline.find('.owl-next').on('click', function (event) {\r\n event.preventDefault();\r\n var currentActive = $timeline_slides.find('.owl-item.active').length;\r\n\r\n if (!pagination.find('.owl-item:last li').is('.selected')) {\r\n movePosition = movePosition + 1;\r\n pagination.find('li').removeClass('selected');\r\n pagination_el.eq(movePosition).addClass('selected');\r\n if (movePosition % currentActive === 0) {\r\n data_timeline.goTo(movePosition);\r\n data_pagination.goTo(movePosition);\r\n }\r\n }\r\n });\r\n\r\n $timeline.find('.owl-prev').on('click', function (event) {\r\n event.preventDefault();\r\n var currentActive = $timeline_slides.find('.owl-item.active').length;\r\n\r\n if (!pagination.find('.owl-item:first li').is('.selected')) {\r\n movePosition = movePosition - 1;\r\n pagination.find('li').removeClass('selected');\r\n pagination_el.eq(movePosition).addClass('selected');\r\n if (movePosition % currentActive === currentActive - 1) {\r\n data_timeline.goTo(movePosition - (currentActive - 1));\r\n data_pagination.goTo(movePosition - (currentActive - 1));\r\n }\r\n }\r\n });\r\n\r\n pagination_el.eq(0).addClass('selected');\r\n pagination_el.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $this = $(this),\r\n slideIndex = $this;\r\n\r\n pagination.find('li').removeClass('selected');\r\n $this.addClass('selected');\r\n if (slideIndex > 4) {\r\n data_timeline.goTo(slideIndex);\r\n }\r\n\r\n movePosition = $(this).parent('.owl-item').index();\r\n });\r\n },\r\n\r\n //buttonContact: function () {\r\n // $('.js-button-contact').on('click', function(event) {\r\n // event.preventDefault();\r\n // /*global eurovia */\r\n // eurovia.showBox($('#fly-box-contact'));\r\n // });\r\n //},\r\n\r\n showBox: function ($id, arrow) {\r\n var $overlay = $('.fly-box-overlay'),\r\n structure_close = '',\r\n show_arrow = arrow || false;\r\n\r\n $overlay.show();\r\n\r\n // Add arrow\r\n if (show_arrow) {\r\n $id.append(structure_close);\r\n }\r\n\r\n $id.show();\r\n\r\n $id.find('.fly-box-close').on('click', function () {\r\n //$id.hide();\r\n //$overlay.hide();\r\n eurovia.zapFlyBox();\r\n $(this).off();\r\n });\r\n },\r\n\r\n showBoxNews: function ($id, arrow) {\r\n var $overlay = $('.fly-box-news-overlay'),\r\n structure_close = '',\r\n show_arrow = arrow || false;\r\n\r\n $overlay.show();\r\n\r\n // Add arrow\r\n if (show_arrow) {\r\n $id.find('.fly-box-container').append(structure_close);\r\n }\r\n\r\n $id.show();\r\n\r\n $id.find('.fly-box-close').on('click', function () {\r\n //$id.hide();\r\n //$overlay.hide();\r\n eurovia.zapFlyBox2();\r\n $(this).off();\r\n });\r\n },\r\n\r\n articlesInFlyBox: function ($within) {\r\n var $articles = $within ? $within.find('.articles-four') : $('.articles-four');\r\n if ($articles.length) {\r\n $articles.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $href = $(this).attr('href');\r\n\r\n /*global eurovia */\r\n eurovia.showBoxNews($($href), true);\r\n });\r\n }\r\n },\r\n\r\n filterArchives: function () {\r\n $(\".filter-articles-wrapper\").mCustomScrollbar();\r\n },\r\n\r\n /**\r\n * Animate elements\r\n * @return void\r\n */\r\n animateElements: function () {\r\n var before = [],\r\n blocked = [],\r\n before_elements,\r\n runAnimate,\r\n init;\r\n\r\n if ($(window).width() > 979) {\r\n // Search all element to animations and I set to array all params\r\n $('.animate-load-elements').each(function (nr) {\r\n var $this = $(this),\r\n $type = $(this).attr('data-type').split(','), // All types to animation\r\n $speed = $(this).attr('data-speed'), // Duration animate\r\n $delay = $(this).attr('data-delay') || null, // Delay animate\r\n name,\r\n obj;\r\n\r\n $.each($type, function (key, value) {\r\n name = value;\r\n obj = {};\r\n\r\n obj[name] = $this.css(value);\r\n before[nr] = {\r\n el: $this,\r\n speed: $speed,\r\n delay: $delay,\r\n position: $this.offset(),\r\n params: obj\r\n };\r\n\r\n /*global Modernizr */\r\n $this.css(Modernizr.prefixed('transition') + '-duration', '1ms');\r\n $this.css(value, '0');\r\n\r\n blocked[key] = true;\r\n });\r\n });\r\n }\r\n\r\n before_elements = before.length;\r\n\r\n // Run animate\r\n runAnimate = function (para) {\r\n var el = para.el,\r\n speed = para.speed,\r\n delay = para.delay,\r\n param = para.params;\r\n\r\n /*global Modernizr */\r\n el.css(Modernizr.prefixed('transition') + '-duration', speed);\r\n el.css(Modernizr.prefixed('transition') + '-delay', delay);\r\n\r\n $.each(param, function (key, value) {\r\n el.css(key, value);\r\n });\r\n };\r\n\r\n init = function (ratio) {\r\n var $scroll_top = $(window).scrollTop(),\r\n $window_height = $(window).height() - ($(window).height() * ratio),\r\n i;\r\n\r\n //console.log('INIT');\r\n //console.log($scroll_top + ' ' + $window_height);\r\n for (i = 0; i < before_elements; i += 1) {\r\n //console.log(i + ' ' + before[i].position.top);\r\n if (($scroll_top > before[i].position.top - $window_height) && blocked[i] !== false) {\r\n blocked[i] = false;\r\n runAnimate(before[i]);\r\n }\r\n }\r\n };\r\n\r\n if ($(window).width() > 979) {\r\n init(0);\r\n $(window).scroll(function () {\r\n init(0.20);\r\n });\r\n }\r\n },\r\n\r\n selectFilter: function () {\r\n if ($(window).width() > 979) {\r\n $('.select-filter').on('mouseenter', function () {\r\n $(this).addClass('active');\r\n });\r\n\r\n $('.select-filter').on('mouseleave', function () {\r\n $(this).removeClass('active');\r\n });\r\n } else {\r\n $('.select-filter').on('click', function () {\r\n if ($(this).hasClass('active')) {\r\n $('.select-filter').removeClass('active');\r\n } else {\r\n $('.select-filter').removeClass('active');\r\n $(this).addClass('active');\r\n }\r\n });\r\n }\r\n /*\r\n $(document).on('click', function(event) {\r\n if (!$(event.target).closest('.select-filter-developed, .select-filter').length) {\r\n alert('ok');\r\n $('.select-filter').removeClass('active');\r\n }\r\n });\r\n */\r\n },\r\n\r\n /* eadj below */\r\n\r\n setFlyBoxDirection: function ($open) {\r\n var $set = $open.closest(\".fly-box-set\");\r\n var $all = $set.find('a.fly-box-href');\r\n $('#fly-box .fly-box-direction').off().hide();\r\n if ($set.length > 0 && $all.length > 1) {\r\n var $index = $all.index($open);\r\n if ($index > 0) {\r\n $('#fly-box .fly-box-direction-prev').show().on('click', function (event) {\r\n event.preventDefault();\r\n eurovia.reOpenFlyBox($all.eq($index - 1));\r\n });\r\n } else {\r\n $('#fly-box .fly-box-direction-prev').hide();\r\n }\r\n if ($index < $all.length - 1) {\r\n $('#fly-box .fly-box-direction-next').show().on('click', function (event) {\r\n event.preventDefault();\r\n eurovia.reOpenFlyBox($all.eq($index + 1));\r\n });\r\n } else {\r\n $('#fly-box .fly-box-direction-next').hide();\r\n }\r\n }\r\n },\r\n\r\n spinningFlyBoxWrapper: function ($box) {\r\n var $wrapper = $box.find('.fly-box-wrapper');\r\n\r\n if ($wrapper.length == 0) {\r\n $wrapper = $('
    ');\r\n $wrapper.prependTo($box.find('.fly-box-container'));\r\n }\r\n $wrapper.empty().html('
     
    ');\r\n\r\n return $wrapper;\r\n },\r\n\r\n plugSocialNetworks: function ($within) {\r\n if (!$within) return; // addthis auto-plugs things\r\n if (typeof addthis === 'undefined') return;\r\n $within.find('.addthis_toolbox').each(function () {\r\n addthis.toolbox(this);\r\n });\r\n },\r\n\r\n loadFlyBox: function ($wrapper, $href, callback) {\r\n var $html = $('
    ');\r\n $html.load($href, function () {\r\n // if the wrapper is gone, no need to do anything\r\n if (!jQuery.contains(document.documentElement, $wrapper[0])) return;\r\n\r\n // load into wrapper\r\n // .children() does not work on text nodes, must use .contents()\r\n // detach to be safe and not create copies\r\n $wrapper.empty();\r\n $html.contents().detach().appendTo($wrapper);\r\n\r\n if (callback)\r\n callback($wrapper);\r\n });\r\n },\r\n\r\n activateFlyBoxContent: function ($wrapper) {\r\n eurovia.plugSocialNetworks($wrapper);\r\n eurovia.carouselNews($wrapper);\r\n eurovia.carouselMedias($wrapper);\r\n //eurovia.articlesInFlyBox($wrapper);\r\n eurovia.plugFlyBox2Open($wrapper);\r\n eurovia.plugArticlesFilter($wrapper);\r\n eurovia.plugContactForm($wrapper);\r\n },\r\n\r\n activateFlyBox2Content: function ($wrapper) {\r\n eurovia.carouselNews($wrapper);\r\n eurovia.carouselMedias($wrapper);\r\n },\r\n\r\n reOpenFlyBox: function ($open) {\r\n var $wrapper = eurovia.spinningFlyBoxWrapper($('#fly-box'));\r\n eurovia.setFlyBoxDirection($open);\r\n eurovia.loadFlyBox($wrapper, $open.attr('href'), eurovia.activateFlyBoxContent);\r\n },\r\n\r\n plugFlyBoxOpen: function ($within) {\r\n var $opens = $within ? $within.find('a.fly-box-open') : $('a.fly-box-open');\r\n $opens.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $wrapper = eurovia.spinningFlyBoxWrapper($('#fly-box'));\r\n eurovia.setFlyBoxDirection($(this));\r\n\r\n // open the box, don't add the arrow - we'll do it by ourselves\r\n var top = $(window).scrollTop() - 50;\r\n $('#fly-box').css('top', top);\r\n eurovia.showBox($('#fly-box'), false);\r\n\r\n eurovia.loadFlyBox($wrapper, $(this).attr('href'), eurovia.activateFlyBoxContent);\r\n });\r\n },\r\n\r\n plugFlyBox2Open: function ($within) {\r\n var $articles = $within ? $within.find('.articles-four') : $('.articles-four');\r\n $articles.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $box = $('#fly-box-news');\r\n var $wrapper = eurovia.spinningFlyBoxWrapper($box);\r\n\r\n // fixme - plug? later...\r\n //eurovia.setFlyBoxDirection($(this));\r\n var top = $(window).scrollTop() - 100;\r\n $box.css('top', top);\r\n eurovia.showBoxNews($box, false);\r\n\r\n eurovia.loadFlyBox($wrapper, $(this).attr('href'));\r\n });\r\n var $opens = $within ? $within.find('a.fly-box2-open') : $('a.fly-box2-open');\r\n $opens.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $box = $('#fly-box-news');\r\n var $wrapper = eurovia.spinningFlyBoxWrapper($box);\r\n\r\n $box.css('top', $(window).scrollTop() + 120);\r\n eurovia.showBoxNews($box, false);\r\n\r\n eurovia.loadFlyBox($wrapper, $(this).attr('href'), eurovia.activateFlyBox2Content);\r\n });\r\n },\r\n\r\n bangTo: function ($id) {\r\n var $target = $('#bang-' + $id);\r\n if ($target.length > 0) {\r\n var margin = $('body').hasClass('homepage') ? 110 : 140;\r\n var top = $target.offset().top - margin;\r\n if (top <= margin) top = 0;\r\n $('html, body').animate({\r\n scrollTop: top\r\n }, 500);\r\n }\r\n },\r\n\r\n plugBangLinks: function () {\r\n $('a.abang').on('click', function (event) {\r\n var $href = $(this).attr('href');\r\n\r\n if ($href[0] != '#') {\r\n var $wref = window.location.pathname + window.location.search;\r\n var $pos = $href.indexOf('#');\r\n // fixme - why would this not work anymore ?! ie returning now does nothing?!\r\n if ($wref != $href.substring(0, $pos)) return;\r\n $href = $href.substring($pos + 2);\r\n } else {\r\n $href = $href.substring(2);\r\n }\r\n\r\n window.location.hash = '!' + $href;\r\n event.preventDefault();\r\n eurovia.bangTo($href);\r\n });\r\n },\r\n\r\n hashBang: function () {\r\n if (window.location.hash && window.location.hash[1] == '!') {\r\n eurovia.bangTo(window.location.hash.substring(2));\r\n }\r\n },\r\n\r\n plugZapBoxes: function () {\r\n if ($('#fly-box .fly-box-wrapper').length > 0) return; // not on immediate box\r\n\r\n $('#fly-box').on('click', function (event) {\r\n if ($(event.target).is('#fly-box'))\r\n eurovia.zapFlyBox();\r\n });\r\n $('#fly-box-news').on('click', function (event) {\r\n if ($(event.target).is('#fly-box-news'))\r\n eurovia.zapFlyBox2();\r\n });\r\n $('.fly-box-overlay').on('click', function () { eurovia.zapFlyBox(); });\r\n $('.fly-box-news-overlay').on('click', eurovia.zapFlyBox2);\r\n\r\n $(document).on('keydown', function (event) {\r\n if (event.which != 27) return;\r\n if ($('#fly-box-news').is(':visible')) eurovia.zapFlyBox2();\r\n else if ($('#fly-box').is(':visible')) eurovia.zapFlyBox();\r\n });\r\n },\r\n\r\n zapFlyBox: function () {\r\n $('.fly-box-overlay').hide();\r\n $('#fly-box').hide();\r\n $('#fly-box .fly-box-direction').off().hide();\r\n $('#fly-box .fly-box-wrapper').remove();\r\n },\r\n\r\n zapFlyBox2: function () {\r\n $('.fly-box-news-overlay').hide();\r\n $('#fly-box-news').hide();\r\n $('#fly-box-news .fly-box-direction').off().hide();\r\n $('#fly-box-news .fly-box-wrapper').remove();\r\n },\r\n\r\n immediateFlyBox: function () {\r\n var $chrefa = $('#fly-box .fly-box-wrapper a.fly-box-close-href');\r\n if ($chrefa.length > 0) {\r\n var $chref = $chrefa.attr('href');\r\n $chrefa.remove();\r\n $('#fly-box .fly-box-close').on('click', function () {\r\n // should not be a banged url\r\n $(this).off();\r\n window.location = $chref;\r\n });\r\n } else {\r\n $('#fly-box .fly-box-close').on('click', function () {\r\n eurovia.zapFlyBox();\r\n $(this).off();\r\n });\r\n }\r\n },\r\n\r\n plugAjaxMoreLoad: function () {\r\n $('a.ajax-more-load').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $load = $(this);\r\n\r\n // lock the link\r\n if ($load.data('loading')) return;\r\n $load.data('loading', true);\r\n\r\n var $container = $load.closest('.ajax-more').find('.ajax-more-ctnr');\r\n if ($container.length == 0) return;\r\n\r\n var $href = $load.attr('href');\r\n var $savedHtml = $load.html();\r\n $load.html('. . .');\r\n\r\n var $html = $('
    ');\r\n $html.load($href, function () {\r\n // if the container is gone, no need to do anything\r\n if (!jQuery.contains(document.documentElement, $container[0])) return;\r\n\r\n // check for data\r\n // found = update the link and remove data from html\r\n // else, kill the link\r\n var $data = $html.find('data');\r\n if ($data.length > 0) {\r\n var $nurl = $data.data('url');\r\n $load.html($savedHtml).attr('href', $nurl);\r\n $data.remove();\r\n } else {\r\n $load.hide();\r\n }\r\n\r\n // load into container\r\n // .children() does not work on text nodes, must use .contents()\r\n // detach to be safe and not create copies\r\n $html.contents().each(function () {\r\n $(this).detach().appendTo($container);\r\n // activate here because $container is was empty\r\n eurovia.plugFlyBoxOpen($(this));\r\n });\r\n\r\n // unlock the link\r\n $load.removeData('loading');\r\n\r\n var ellipsis = $(\".ellipsis\");\r\n var nrLines = 3;\r\n var ellHeight = parseInt(ellipsis.css('line-height'), 10) * nrLines;\r\n\r\n ellipsis.dotdotdot({\r\n height: ellHeight // this is the number of lines\r\n });\r\n });\r\n });\r\n },\r\n\r\n setArticlesFilterTick: function ($tick, $selector) {\r\n var selectorTop = $selector.position().top;\r\n var selectorHeight = $selector.height();\r\n var tickTop = Math.floor(selectorTop + selectorHeight / 2 + 2);\r\n $tick.data('top', tickTop);\r\n tickTop += $selector.offsetParent().position().top;\r\n $tick.show().css('top', '' + tickTop + 'px');\r\n },\r\n\r\n whileScrolling: function ($wrapper, $tick) {\r\n var tickTop = $tick.data('top') + mcs.top;\r\n if (tickTop < 0 || tickTop > $wrapper.height()) {\r\n $tick.hide();\r\n } else {\r\n $tick.show().css('top', '' + tickTop + 'px');\r\n }\r\n },\r\n\r\n plugArticlesFilter: function ($within) {\r\n var $filtered = $within ? $within.find('div.js-filter-articles') : $('div.js-filter-articles');\r\n $filtered.each(function () {\r\n var $this = $(this);\r\n var $selectors = $this.find('.filter-articles-content a');\r\n\r\n var $wrapper = $this.find('.filter-articles-wrapper');\r\n $wrapper.after('
    ');\r\n var $tick = $this.find('.filter-articles-tick');\r\n\r\n $wrapper\r\n .mCustomScrollbar({ callbacks: { whileScrolling: function () { eurovia.whileScrolling($wrapper, $tick); } } });\r\n eurovia.setArticlesFilterTick($tick, $selectors.eq(0));\r\n\r\n $selectors.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $selector = $(this);\r\n eurovia.setArticlesFilterTick($tick, $selector);\r\n\r\n // and then we want to load....\r\n var $container = $this.find('.column-6');\r\n $container.empty().html('
     
    ');\r\n\r\n var $html = $('
    ');\r\n $html.load($selector.attr('href'), function () {\r\n // if the container is gone, no need to do anything\r\n if (!jQuery.contains(document.documentElement, $container[0])) return;\r\n\r\n // load into container\r\n // .children() does not work on text nodes, must use .contents()\r\n // detach to be safe and not create copies\r\n $container.empty();\r\n $html.contents().detach().appendTo($container);\r\n\r\n eurovia.carouselNews($container);\r\n eurovia.carouselMedias($container);\r\n });\r\n });\r\n });\r\n },\r\n\r\n plugContactForm: function ($within) {\r\n var $submit = $within ? $within.find('.contact-submit') : $('.contact-submit');\r\n $submit.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $formContact = $('#form-contact');\r\n var $challengeFiled = $formContact.find(\"#recaptcha_challenge_field\");\r\n var $responseFiled = $formContact.find(\"#recaptcha_response_field\");\r\n\r\n var challenge = $challengeFiled.val();\r\n var response = $responseFiled.val();\r\n var json = '{ \\\r\n\"type\": \"POST\", \\\r\n\"dataType\": \"jsonp\", \\\r\n\"data\": { \"challenge\" : \"' + challenge + '\", \"response\" : \"' + response + '\", \"test\":\"test\"} \\\r\n}';\r\n $responseFiled.attr(\"data-parsley-remote-options\", json);\r\n\r\n var $this = $(this);\r\n var $form = $this.closest('.contact-form');\r\n\r\n //require([\"/scripts/parsley/parsley.js\", \"//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js\"],\r\n //function () {\r\n $formContact\r\n .parsley()\r\n .asyncValidate()\r\n .done(function () {\r\n //console.log(\"WELL DONE, VALID!\" + $formContact + \" JSON: \" + json);\r\n var $over = $form.find('.contact-form-over');\r\n $over\r\n .width($form.width())\r\n .height($form.height())\r\n .show();\r\n var $feedback = $form.find('.contact-form-feedback');\r\n $feedback\r\n .width($form.width())\r\n .height($this.outerHeight())\r\n .html('
    ')\r\n .show();\r\n var cbya = '';\r\n $form.find('#cbya input.checkbox:checked').each(function () {\r\n if (cbya != '') cbya += ',';\r\n cbya += $(this).attr('id').substr(5);\r\n });\r\n var cbyw = '';\r\n $form.find('#cbyw input.checkbox:checked').each(function () {\r\n if (cbyw != '') cbyw += ',';\r\n cbyw += $(this).attr('id').substr(5);\r\n });\r\n var data = {\r\n siteroot: $form.find('#frid').val(),\r\n name: $form.find('#fname').val(),\r\n location: $form.find('#flocation').val(),\r\n phone: $form.find('#fphone').val(),\r\n email: $form.find('#femail').val(),\r\n ua: cbya,\r\n uw: cbyw,\r\n message: $form.find('#fmsg').val()\r\n };\r\n $.post('/Umbraco/Eurovia/Api/ContactUs', data, function (recv, status, request) {\r\n $feedback.empty().html(recv);\r\n });\r\n })\r\n .fail(function () {\r\n //console.log(\"WELL DONE, FAILED!\");\r\n if (response) { Recaptcha.reload(); }\r\n });\r\n //});\r\n });\r\n },\r\n\r\n plugCheckBoxAllnone: function ($within) {\r\n var $cbs = $within ? $within.find('.cb-allnone-ctnr') : $('.cb-allnone-ctnr');\r\n $cbs.each(function () {\r\n var $container = $(this);\r\n $container.find('input.checkbox').each(function () {\r\n var $cb = $(this);\r\n $cb.on('change', function () {\r\n if ($cb.hasClass('cb-allnone')) {\r\n var checked = this.checked;\r\n var $ncb = $cb.parent().next().find('input.checkbox');\r\n while ($ncb.length > 0 && !$ncb.hasClass('cb-allnone')) {\r\n $ncb[0].checked = checked;\r\n $ncb = $ncb.parent().next().find('input.checkbox');\r\n }\r\n }\r\n });\r\n });\r\n });\r\n },\r\n\r\n loadFilteredContainer: function ($ajax, url) {\r\n var $filter = $ajax.find('.block-filter');\r\n var $over = $filter.find('.block-filter-overlay');\r\n var $load = $ajax.find('.ajax-more-load');\r\n var $ctnr = $ajax.find('.ajax-more-ctnr');\r\n\r\n $ctnr.empty().html('
     
    ');\r\n $load.hide();\r\n $over.height($filter.height()).width($filter.width()).show();\r\n\r\n var $html = $('
    ');\r\n $html.load(url, function () {\r\n // if the container is gone, no need to do anything\r\n if (!jQuery.contains(document.documentElement, $ctnr[0])) return;\r\n\r\n // check for data\r\n // found = update the link and remove data from html\r\n // else, kill the link\r\n var $data = $html.find('data');\r\n if ($data.length > 0) {\r\n var $nurl = $data.data('url');\r\n $load.attr('href', $nurl).show();\r\n $data.remove();\r\n } else {\r\n $load.hide();\r\n }\r\n\r\n // load into wrapper\r\n // .children() does not work on text nodes, must use .contents()\r\n // detach to be safe and not create copies\r\n $ctnr.empty();\r\n $html.contents().detach().appendTo($ctnr);\r\n\r\n $over.hide();\r\n\r\n eurovia.plugFlyBoxOpen($ctnr);\r\n });\r\n },\r\n\r\n plugInfosNewsAndPublisFilters: function () {\r\n eurovia.plugInfosNewsOrPublisFilter($('.filter-infos-news'));\r\n eurovia.plugInfosNewsOrPublisFilter($('.filter-infos-publis'));\r\n },\r\n\r\n plugInfosNewsOrPublisFilter: function ($filters) {\r\n $filters.each(function () {\r\n var $filter = $(this);\r\n var url = $filter.data('url');\r\n var $dateFilter = $filter.find('.filter-infos-date');\r\n var $typeFilter = $filter.find('.filter-infos-type');\r\n var $ajax = $filter.closest('.ajax-more');\r\n\r\n $dateFilter.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n var $a = $(this);\r\n var label = $a.html();\r\n $dateFilter.find('.select-filter-label p').html(label);\r\n $dateFilter.data('date', $a.data('date'));\r\n eurovia.loadFilteredContainer($ajax, getUrl(url, $dateFilter, $typeFilter));\r\n });\r\n\r\n $typeFilter.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n eurovia.loadFilteredContainer($ajax, getUrl(url, $dateFilter, $typeFilter));\r\n });\r\n });\r\n\r\n function getUrl(url, $dateFilter, $typeFilter) {\r\n url += url.indexOf('?') > 0 ? '&' : '?';\r\n url += 'd=' + $dateFilter.data('date');\r\n var types = '';\r\n $typeFilter.find('input.checkbox').each(function () {\r\n var $cb = $(this);\r\n if (!$cb.hasClass('cb-allnone') && $cb[0].checked) types += $cb.val() + ',';\r\n });\r\n url += \"&t=\" + types;\r\n return url;\r\n }\r\n },\r\n\r\n plugInfosMediasFilter: function () {\r\n $('.filter-infos-medias').each(function () {\r\n var $filter = $(this);\r\n var url = $filter.data('url');\r\n var $ttFilter = $filter.find('.filter-infos-type');\r\n var $ajax = $filter.closest('.ajax-more');\r\n\r\n $ttFilter.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n eurovia.loadFilteredContainer($ajax, getUrl(url, $ttFilter));\r\n });\r\n });\r\n\r\n function getUrl(url, $ttFilter) {\r\n url += url.indexOf('?') > 0 ? '&' : '?';\r\n var ty = '', th = '';\r\n var i = 0, yh = false;\r\n $ttFilter.find('input.checkbox').each(function () {\r\n if (i++ == 0) return;\r\n var $cb = $(this);\r\n if ($cb.hasClass('cb-allnone')) {\r\n yh = true;\r\n return;\r\n }\r\n if ($cb[0].checked) {\r\n if (yh)\r\n th += $cb.val() + ',';\r\n else\r\n ty += $cb.val() + ',';\r\n }\r\n });\r\n url += \"ty=\" + ty + '&th=' + th;\r\n return url;\r\n }\r\n },\r\n\r\n fixSelectFilterZIndex: function () {\r\n var i = 0;\r\n $('.select-filter').each(function () {\r\n var $filter = $(this);\r\n var zindex = $filter.css('z-index');\r\n $filter.css('z-index', zindex - i++);\r\n });\r\n },\r\n\r\n vplayer: function (id, video, options) {\r\n var jwopt = options;\r\n jwopt.file = video;\r\n if (!jwopt.width) jwopt.width = '100%';\r\n if (!jwopt.aspectratio) jwopt.aspectratio = '16:9';\r\n jwplayer(id).setup(jwopt);\r\n },\r\n\r\n hvplayer: function (id, video, image, options) {\r\n var wrap = $('#' + id).parent();\r\n\r\n eurovia.vplayer(id, video, {\r\n image: image,\r\n aspectratio: '940:452',\r\n stretching: 'fill',\r\n controls: 'false',\r\n volume: 80,\r\n events: {\r\n onReady: function () {\r\n wrap.find('.hv-start-box').show();\r\n },\r\n onPlay: function () {\r\n wrap.find('.hv-control-play').removeClass('paused');\r\n wrap.find('.hv-start-box').hide();\r\n wrap.find('.hv-control-box').show();\r\n },\r\n onPause: function () {\r\n wrap.find('.hv-control-play').addClass('paused');\r\n },\r\n onIdle: function () {\r\n wrap.find('.hv-control-box').hide();\r\n wrap.find('.hv-start-box').show();\r\n wrap.find('.hv-start-button').html(options.ui.play);\r\n },\r\n onComplete: function () {\r\n wrap.find('.hv-control-box').hide();\r\n wrap.find('.hv-start-box').show();\r\n wrap.find('.hv-start-button').html(options.ui.play);\r\n }\r\n //onMute: function(mute) {\r\n // wrap.find('.hv-control-sound').html(mute.mute ? 'SOUND' : 'MUTE');\r\n //}\r\n }\r\n });\r\n\r\n var startButton = wrap.find('.hv-start-button');\r\n startButton.on('click', function () {\r\n $(this).html(options.ui.loading);\r\n var player = jwplayer(wrap.find('.jwplayer')[0]);\r\n player.play(true);\r\n });\r\n var controlPlay = wrap.find('.hv-control-play');\r\n controlPlay.on('click', function () {\r\n var player = jwplayer(wrap.find('.jwplayer')[0]);\r\n player.play();\r\n });\r\n var controlSound = wrap.find('.hv-control-sound');\r\n controlSound.on('click', function () {\r\n var player = jwplayer(wrap.find('.jwplayer')[0]);\r\n var cvol = player.getVolume();\r\n //if (cvol > 0) vol = cvol;\r\n player.setVolume(cvol > 0 ? 0 : 80);\r\n if (cvol == 0)\r\n wrap.find('.hv-control-sound').removeClass('muted');\r\n else\r\n wrap.find('.hv-control-sound').addClass('muted');\r\n //var mute = player.getMute();\r\n //player.setMute(!mute);\r\n });\r\n }\r\n };\r\n\r\n $(document).on('ready', function () {\r\n $.ajaxSetup({\r\n // Disable caching of AJAX responses\r\n cache: false\r\n });\r\n\r\n /*global eurovia */\r\n eurovia.init();\r\n\r\n window.readyActions = window.readyActions || [];\r\n window.ready = function (action) { action(); }\r\n for (var i = 0; i < window.readyActions.length; i++)\r\n window.readyActions[i]();\r\n });\r\n}(jQuery, window, document));","/*global jQuery */\r\n/*global window */\r\n/*global document */\r\n(function ($, window, document) {\r\n 'use strict';\r\n // && !(window.eurovia instanceof HTMLElement)\r\n if (window.eurovia instanceof HTMLElement) {\r\n window.eurovia = null;\r\n }\r\n window.eurovia = (window.eurovia) || {\r\n init: function () {\r\n this.menuTop();\r\n this.menu();\r\n this.searchTop();\r\n this.searchBody();\r\n this.sliderMain();\r\n this.slider();\r\n this.sliderSolutions();\r\n this.animateElements();\r\n this.carouselNews();\r\n this.timeline();\r\n this.mapWorld();\r\n //this.buttonContact();\r\n //this.filterArchives();\r\n //this.articlesInFlyBox();\r\n this.selectFilter();\r\n /* eajd*/\r\n this.plugFlyBoxOpen();\r\n this.plugFlyBox2Open();\r\n this.plugArticlesFilter();\r\n this.plugBangLinks();\r\n this.plugAjaxMoreLoad();\r\n this.plugContactForm();\r\n this.plugCheckBoxAllnone();\r\n this.plugInfosNewsAndPublisFilters();\r\n this.plugInfosMediasFilter();\r\n this.fixSelectFilterZIndex();\r\n this.immediateFlyBox();\r\n this.carouselMedias();\r\n this.plugZapBoxes();\r\n this.hashBang();\r\n this.plugBanner();\r\n },\r\n\r\n plugBanner: function () {\r\n if (!$('#eurovia-banner').length) {\r\n return; // false;\r\n }\r\n\r\n /* jquery is already loaded, no need to define paths, just pass reference to the existing one */\r\n define('jquery', function () {\r\n return $;\r\n });\r\n /* load concatenated banner file, then find 'app' module inside and initialize it */\r\n require(['/js/w314/eurovia-banner.min.js'], function () {\r\n require(['app'], function (app) {\r\n app.initialize(document.documentElement.lang);\r\n });\r\n });\r\n },\r\n\r\n menuTop: function () {\r\n var $menu_top = $('.menu-top>ul>li');\r\n\r\n $menu_top.each(function () {\r\n var $this = $(this);\r\n\r\n if ($this.find('ul').length) {\r\n $this.addClass('sub-menu');\r\n\r\n // use >a to do it ONLY of IMMEDIATE children\r\n $this.find('>a').on('click', function (event) {\r\n // do NOT do it if normal menu\r\n var $page_header = $('.title-bar');\r\n if (!$page_header.hasClass('active')) return;\r\n\r\n event.preventDefault();\r\n\r\n var li = $(this).parent();\r\n if (li.hasClass('selected-menu')) {\r\n li.removeClass('selected-menu');\r\n } else {\r\n $('.menu-top li.selected-menu').removeClass('selected-menu');\r\n li.addClass('selected-menu');\r\n }\r\n });\r\n }\r\n });\r\n },\r\n\r\n menu: function () {\r\n var $page_header = $('.title-bar');\r\n\r\n $('.js-title-bar-mobile-developed-btn').on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $('.js-title-bar-mobile-developed-btn').on('click', function () {\r\n if ($page_header.hasClass('active')) {\r\n $page_header.removeClass('active');\r\n } else {\r\n $page_header.addClass('active');\r\n }\r\n });\r\n\r\n $(window).resize(function () {\r\n if ($(window).width() > 979 && $page_header.hasClass('active')) {\r\n $page_header.removeClass('active');\r\n }\r\n });\r\n },\r\n\r\n searchTop: function () {\r\n var $search = $('.title-bar-search');\r\n\r\n // but why isn't it a form?!\r\n $search.find('input').on('keydown', function (event) {\r\n if (event.which == 27) { // esc\r\n if ($search.hasClass('selected'))\r\n $search.removeClass('selected');\r\n } else if (event.which == 13) { // enter\r\n window.location = $(this).data('action') + \"?q=\" + encodeURIComponent($(this).val());\r\n }\r\n });\r\n\r\n $search.find('.button').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n //$search.find('input').trigger('focus');\r\n\r\n if ($search.hasClass('selected')) {\r\n $search.removeClass('selected');\r\n } else {\r\n $search.addClass('selected');\r\n $search.find('input').focus();\r\n }\r\n });\r\n\r\n $(document).on('click', function (event) {\r\n if (!$(event.target).closest(\".title-bar-search\").length) {\r\n $search.removeClass('selected');\r\n }\r\n });\r\n },\r\n\r\n searchBody: function () {\r\n var $search = $('.body-search');\r\n $search.find('input[type=\"text\"]').on('keydown', function (event) {\r\n if (event.which == 13) { // enter\r\n window.location = $(this).data('action') + \"?q=\" + encodeURIComponent($(this).val());\r\n }\r\n });\r\n $search.find('input[type=\"submit\"]').on('click', function (event) {\r\n var val = $search.find('input[type=\"text\"]').val();\r\n window.location = $(this).data('action') + \"?q=\" + encodeURIComponent(val);\r\n });\r\n },\r\n\r\n sliderMain: function () {\r\n var $slider = $('.js-slider-main-slides'),\r\n $slider_main = $('.js-slider-main'),\r\n structure_pagination = '
    ',\r\n $slides_pagination,\r\n $button_prev,\r\n $button_next,\r\n data_pagination,\r\n data_slider;\r\n\r\n // Add structure for pagination\r\n $slider_main.append(structure_pagination);\r\n\r\n $slides_pagination = $slider_main.find('.slider-main-pagination-slides');\r\n $button_prev = $('.js-slider-main-arrow-prev');\r\n $button_next = $('.js-slider-main-arrow-next');\r\n\r\n // Build slider pagination\r\n $slider.find('.slider-main-item').each(function () {\r\n var $this = $(this),\r\n $thumb = $this.attr('data-thumb'),\r\n $title = $this.attr('data-title'),\r\n $category = $this.attr('data-category'),\r\n structure_pagination_wrap = '
    \".\"

    ' + $category + '

    ' + $title + '

    ';\r\n\r\n $slides_pagination.append(structure_pagination_wrap);\r\n });\r\n\r\n $slider.owlCarousel({\r\n items: 1,\r\n singleItem: true,\r\n addClassActive: true,\r\n pagination: false,\r\n slideSpeed: 1000,\r\n transitionStyle: \"goDown\",\r\n afterMove: function () {\r\n //console.log('aftermove');\r\n $slider.find('.jwplayer').each(function () {\r\n //console.log('stop');\r\n jwplayer(this).stop();\r\n });\r\n }\r\n });\r\n\r\n $slides_pagination.owlCarousel({\r\n items: 3,\r\n itemsDesktop: [1199, 3],\r\n itemsDesktopSmall: [979, 2],\r\n addClassActive: true,\r\n pagination: false,\r\n slideSpeed: 1000,\r\n responsive: true\r\n });\r\n\r\n data_pagination = $slides_pagination.data('owlCarousel');\r\n data_slider = $slider.data('owlCarousel');\r\n\r\n $slides_pagination.find('.owl-item').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $index = $(this).index();\r\n\r\n data_slider.goTo($index);\r\n });\r\n\r\n $button_prev.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_next.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_prev.on('click', function (event) {\r\n event.preventDefault();\r\n data_pagination.prev();\r\n });\r\n\r\n $button_next.on('click', function (event) {\r\n event.preventDefault();\r\n data_pagination.next();\r\n });\r\n },\r\n\r\n slider: function () {\r\n var $slider = $('.js-slider-slides'),\r\n $slider_container = $('.js-slider-container'),\r\n structure_pagination = '',\r\n $button_prev,\r\n $button_next,\r\n data_slider;\r\n\r\n // Add structure for pagination\r\n $slider_container.append(structure_pagination);\r\n\r\n $button_prev = $slider_container.find('.js-slider-arrow-prev');\r\n $button_next = $slider_container.find('.js-slider-arrow-next');\r\n\r\n $slider.owlCarousel({\r\n items: 1,\r\n singleItem: true,\r\n addClassActive: true,\r\n pagination: true,\r\n slideSpeed: 1000,\r\n paginationNumbers: true\r\n });\r\n\r\n data_slider = $slider.data('owlCarousel');\r\n\r\n $button_prev.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_next.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_prev.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.prev();\r\n });\r\n\r\n $button_next.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.next();\r\n });\r\n },\r\n\r\n sliderSolutions: function () {\r\n var $slider = $('.js-slider-solutions-slides'),\r\n $slider_container = $('.js-slider-solutions'),\r\n structure_pagination = '
    ',\r\n $button_prev,\r\n $button_next,\r\n data_slider;\r\n\r\n // Add structure for pagination\r\n $slider_container.append(structure_pagination);\r\n\r\n $button_prev = $slider_container.find('.js-slider-arrow-prev');\r\n $button_next = $slider_container.find('.js-slider-arrow-next');\r\n\r\n $slider.owlCarousel({\r\n items: 1,\r\n singleItem: true,\r\n addClassActive: true,\r\n slideSpeed: 1000,\r\n pagination: true,\r\n paginationNumbers: true\r\n });\r\n\r\n data_slider = $slider.data('owlCarousel');\r\n\r\n $button_prev.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_next.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_prev.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.prev();\r\n });\r\n\r\n $button_next.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.next();\r\n });\r\n },\r\n\r\n carouselNews: function ($within) {\r\n var $sliders = $within ? $within.find('.js-carousel-news') : $('.js-carousel-news'),\r\n structure_pagination = '';\r\n\r\n // Add structure for pagination\r\n //not here, depends on number of items!\r\n //$sliders.append(structure_pagination);\r\n\r\n $sliders.each(function () {\r\n var $this = $(this),\r\n $slider = $this.find('.js-carousel-news-slides'),\r\n $data_items = parseInt($this.attr('data-items'), 10) || 1,\r\n $button_prev,\r\n $button_next,\r\n data_slider,\r\n args = {\r\n items: $data_items,\r\n itemsDesktop: [1199, $data_items],\r\n itemsDesktopSmall: [980, $data_items],\r\n itemsTablet: [768, $data_items],\r\n itemsTabletSmall: false,\r\n itemsMobile: [479, $data_items],\r\n addClassActive: true,\r\n slideSpeed: 1000,\r\n pagination: true,\r\n paginationNumbers: true\r\n };\r\n\r\n if ($data_items !== 1) {\r\n args.singleItem = false;\r\n } else {\r\n args.singleItem = true;\r\n }\r\n\r\n // do it here only if we have enough items\r\n if ($data_items <= $slider.find('.carousel-news-item').length) {\r\n $this.append(structure_pagination);\r\n }\r\n\r\n $slider.owlCarousel(args);\r\n\r\n data_slider = $slider.data('owlCarousel');\r\n\r\n $button_prev = $this.find('.js-slider-arrow-prev');\r\n $button_next = $this.find('.js-slider-arrow-next');\r\n\r\n $button_prev.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_next.on('mousedown', function (event) {\r\n event.preventDefault();\r\n });\r\n\r\n $button_prev.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.prev();\r\n });\r\n\r\n $button_next.on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.next();\r\n });\r\n });\r\n },\r\n\r\n carouselMedias: function ($within) {\r\n var $elts = $within ? $within.find('.js-carousel-medias') : $('.js-carousel-medias');\r\n $elts.each(function () {\r\n var $elt = $(this);\r\n var w = $elt.data('width');\r\n var args = {\r\n items: 1,\r\n itemsDesktop: [ /*1199*/w, 1],\r\n itemsDesktopSmall: [980, 1],\r\n itemsTablet: [768, 1],\r\n itemsTabletSmall: false,\r\n itemsMobile: [479, 1],\r\n addClassActive: true,\r\n slideSpeed: 1000 /*,\r\n pagination: true,\r\n paginationNumbers: true*/,\r\n afterMove: function () {\r\n //console.log('aftermove');\r\n $elt.find('.jwplayer').each(function () {\r\n //console.log('stop');\r\n jwplayer(this).stop();\r\n });\r\n }\r\n };\r\n\r\n // do it here only if we have enough items\r\n var arrows = 1 <= $elt.find('.carousel-medias-item').length;\r\n if (arrows) {\r\n $elt.append(''\r\n + '');\r\n }\r\n\r\n var $items = $elt.find('.carousel-medias-items');\r\n $items.owlCarousel(args);\r\n\r\n if (arrows) {\r\n var data_slider = $items.data('owlCarousel');\r\n\r\n $elt.find('.js-slider-arrow-prev')\r\n .on('mousedown', function (event) {\r\n event.preventDefault();\r\n })\r\n .on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.prev();\r\n });\r\n\r\n $elt.find('.js-slider-arrow-next')\r\n .on('mousedown', function (event) {\r\n event.preventDefault();\r\n })\r\n .on('click', function (event) {\r\n event.preventDefault();\r\n data_slider.next();\r\n });\r\n }\r\n });\r\n },\r\n\r\n mapWorld: function () {\r\n var $points = $('.js-map-world-points li');\r\n\r\n $points.each(function () {\r\n var $this = $(this),\r\n $data_id = $this.attr('data-id'),\r\n $data_point_x = $this.attr('data-point-x'),\r\n $data_point_y = $this.attr('data-point-y');\r\n\r\n $this.css({\r\n 'top': $data_point_y,\r\n 'left': $data_point_x\r\n });\r\n\r\n $this.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n $('.map-world-region').fadeOut();\r\n var $region_id = $('#' + $data_id);\r\n\r\n $region_id.fadeIn(300);\r\n\r\n var $owning_region = $(this).closest('.map-world-region');\r\n if ($owning_region.length > 0) {\r\n $region_id.find('.js-map-world-region-close').on('click', function () {\r\n $region_id.fadeOut(300);\r\n $(this).off();\r\n var $submap = $('#' + $owning_region.attr('id'));\r\n $submap.fadeIn(300);\r\n $submap.find('.js-map-world-region-close').on('click', function () {\r\n $submap.fadeOut(300);\r\n $(this).off();\r\n });\r\n });\r\n } else {\r\n $region_id.find('.js-map-world-region-close').on('click', function () {\r\n $region_id.fadeOut(300);\r\n $(this).off();\r\n });\r\n }\r\n });\r\n });\r\n },\r\n\r\n timeline: function () {\r\n var $timeline = $('.js-timeline'),\r\n $timeline_slides = $('.js-timeline-slides'),\r\n data_timeline,\r\n pagination,\r\n data_pagination,\r\n pagination_elements = '',\r\n pagination_el,\r\n movePosition = 0;\r\n\r\n $timeline_slides.find('.js-timeline-slides-slide').each(function () {\r\n var $year = $(this).attr('data-year');\r\n pagination_elements += '
  • ' + $year + '
  • ';\r\n });\r\n\r\n $timeline.append('
      ' + pagination_elements + '
    ');\r\n\r\n pagination = $('.js-timeline-pagination');\r\n pagination_el = pagination.find('li');\r\n\r\n pagination.owlCarousel({\r\n items: 5,\r\n slideSpeed: 500,\r\n navigation: false,\r\n pagination: false,\r\n mouseDrag: false,\r\n touchDrag: false\r\n });\r\n\r\n data_pagination = pagination.data('owlCarousel');\r\n\r\n $timeline_slides.owlCarousel({\r\n items: 5,\r\n slideSpeed: 1000,\r\n addClassActive: true,\r\n navigation: false,\r\n pagination: false,\r\n mouseDrag: false,\r\n //touchDrag: false,\r\n scrollPerPage: true,\r\n afterMove: function () {\r\n if ($(window).width() <= 979) {\r\n var current = this.currentItem,\r\n currentActive = $timeline_slides.find('.owl-item.active').length;\r\n\r\n pagination.find('li').removeClass('selected');\r\n pagination_el.eq(current).addClass('selected');\r\n data_pagination.goTo(current);\r\n }\r\n }\r\n });\r\n\r\n data_timeline = $timeline_slides.data('owlCarousel');\r\n\r\n $timeline.find('.owl-next').on('click', function (event) {\r\n event.preventDefault();\r\n var currentActive = $timeline_slides.find('.owl-item.active').length;\r\n\r\n if (!pagination.find('.owl-item:last li').is('.selected')) {\r\n movePosition = movePosition + 1;\r\n pagination.find('li').removeClass('selected');\r\n pagination_el.eq(movePosition).addClass('selected');\r\n if (movePosition % currentActive === 0) {\r\n data_timeline.goTo(movePosition);\r\n data_pagination.goTo(movePosition);\r\n }\r\n }\r\n });\r\n\r\n $timeline.find('.owl-prev').on('click', function (event) {\r\n event.preventDefault();\r\n var currentActive = $timeline_slides.find('.owl-item.active').length;\r\n\r\n if (!pagination.find('.owl-item:first li').is('.selected')) {\r\n movePosition = movePosition - 1;\r\n pagination.find('li').removeClass('selected');\r\n pagination_el.eq(movePosition).addClass('selected');\r\n if (movePosition % currentActive === currentActive - 1) {\r\n data_timeline.goTo(movePosition - (currentActive - 1));\r\n data_pagination.goTo(movePosition - (currentActive - 1));\r\n }\r\n }\r\n });\r\n\r\n pagination_el.eq(0).addClass('selected');\r\n pagination_el.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $this = $(this),\r\n slideIndex = $this;\r\n\r\n pagination.find('li').removeClass('selected');\r\n $this.addClass('selected');\r\n if (slideIndex > 4) {\r\n data_timeline.goTo(slideIndex);\r\n }\r\n\r\n movePosition = $(this).parent('.owl-item').index();\r\n });\r\n },\r\n\r\n //buttonContact: function () {\r\n // $('.js-button-contact').on('click', function(event) {\r\n // event.preventDefault();\r\n // /*global eurovia */\r\n // eurovia.showBox($('#fly-box-contact'));\r\n // });\r\n //},\r\n\r\n showBox: function ($id, arrow) {\r\n var $overlay = $('.fly-box-overlay'),\r\n structure_close = '',\r\n show_arrow = arrow || false;\r\n\r\n $overlay.show();\r\n\r\n // Add arrow\r\n if (show_arrow) {\r\n $id.append(structure_close);\r\n }\r\n\r\n $id.show();\r\n\r\n $id.find('.fly-box-close').on('click', function () {\r\n //$id.hide();\r\n //$overlay.hide();\r\n eurovia.zapFlyBox();\r\n $(this).off();\r\n });\r\n },\r\n\r\n showBoxNews: function ($id, arrow) {\r\n var $overlay = $('.fly-box-news-overlay'),\r\n structure_close = '',\r\n show_arrow = arrow || false;\r\n\r\n $overlay.show();\r\n\r\n // Add arrow\r\n if (show_arrow) {\r\n $id.find('.fly-box-container').append(structure_close);\r\n }\r\n\r\n $id.show();\r\n\r\n $id.find('.fly-box-close').on('click', function () {\r\n //$id.hide();\r\n //$overlay.hide();\r\n eurovia.zapFlyBox2();\r\n $(this).off();\r\n });\r\n },\r\n\r\n articlesInFlyBox: function ($within) {\r\n var $articles = $within ? $within.find('.articles-four') : $('.articles-four');\r\n if ($articles.length) {\r\n $articles.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $href = $(this).attr('href');\r\n\r\n /*global eurovia */\r\n eurovia.showBoxNews($($href), true);\r\n });\r\n }\r\n },\r\n\r\n filterArchives: function () {\r\n $(\".filter-articles-wrapper\").mCustomScrollbar();\r\n },\r\n\r\n /**\r\n * Animate elements\r\n * @return void\r\n */\r\n animateElements: function () {\r\n var before = [],\r\n blocked = [],\r\n before_elements,\r\n runAnimate,\r\n init;\r\n\r\n if ($(window).width() > 979) {\r\n // Search all element to animations and I set to array all params\r\n $('.animate-load-elements').each(function (nr) {\r\n var $this = $(this),\r\n $type = $(this).attr('data-type').split(','), // All types to animation\r\n $speed = $(this).attr('data-speed'), // Duration animate\r\n $delay = $(this).attr('data-delay') || null, // Delay animate\r\n name,\r\n obj;\r\n\r\n $.each($type, function (key, value) {\r\n name = value;\r\n obj = {};\r\n\r\n obj[name] = $this.css(value);\r\n before[nr] = {\r\n el: $this,\r\n speed: $speed,\r\n delay: $delay,\r\n position: $this.offset(),\r\n params: obj\r\n };\r\n\r\n /*global Modernizr */\r\n $this.css(Modernizr.prefixed('transition') + '-duration', '1ms');\r\n $this.css(value, '0');\r\n\r\n blocked[key] = true;\r\n });\r\n });\r\n }\r\n\r\n before_elements = before.length;\r\n\r\n // Run animate\r\n runAnimate = function (para) {\r\n var el = para.el,\r\n speed = para.speed,\r\n delay = para.delay,\r\n param = para.params;\r\n\r\n /*global Modernizr */\r\n el.css(Modernizr.prefixed('transition') + '-duration', speed);\r\n el.css(Modernizr.prefixed('transition') + '-delay', delay);\r\n\r\n $.each(param, function (key, value) {\r\n el.css(key, value);\r\n });\r\n };\r\n\r\n init = function (ratio) {\r\n var $scroll_top = $(window).scrollTop(),\r\n $window_height = $(window).height() - ($(window).height() * ratio),\r\n i;\r\n\r\n //console.log('INIT');\r\n //console.log($scroll_top + ' ' + $window_height);\r\n for (i = 0; i < before_elements; i += 1) {\r\n //console.log(i + ' ' + before[i].position.top);\r\n if (($scroll_top > before[i].position.top - $window_height) && blocked[i] !== false) {\r\n blocked[i] = false;\r\n runAnimate(before[i]);\r\n }\r\n }\r\n };\r\n\r\n if ($(window).width() > 979) {\r\n init(0);\r\n $(window).scroll(function () {\r\n init(0.20);\r\n });\r\n }\r\n },\r\n\r\n selectFilter: function () {\r\n if ($(window).width() > 979) {\r\n $('.select-filter').on('mouseenter', function () {\r\n $(this).addClass('active');\r\n });\r\n\r\n $('.select-filter').on('mouseleave', function () {\r\n $(this).removeClass('active');\r\n });\r\n } else {\r\n $('.select-filter').on('click', function () {\r\n if ($(this).hasClass('active')) {\r\n $('.select-filter').removeClass('active');\r\n } else {\r\n $('.select-filter').removeClass('active');\r\n $(this).addClass('active');\r\n }\r\n });\r\n }\r\n /*\r\n $(document).on('click', function(event) {\r\n if (!$(event.target).closest('.select-filter-developed, .select-filter').length) {\r\n alert('ok');\r\n $('.select-filter').removeClass('active');\r\n }\r\n });\r\n */\r\n },\r\n\r\n /* eadj below */\r\n\r\n setFlyBoxDirection: function ($open) {\r\n var $set = $open.closest(\".fly-box-set\");\r\n var $all = $set.find('a.fly-box-href');\r\n $('#fly-box .fly-box-direction').off().hide();\r\n if ($set.length > 0 && $all.length > 1) {\r\n var $index = $all.index($open);\r\n if ($index > 0) {\r\n $('#fly-box .fly-box-direction-prev').show().on('click', function (event) {\r\n event.preventDefault();\r\n eurovia.reOpenFlyBox($all.eq($index - 1));\r\n });\r\n } else {\r\n $('#fly-box .fly-box-direction-prev').hide();\r\n }\r\n if ($index < $all.length - 1) {\r\n $('#fly-box .fly-box-direction-next').show().on('click', function (event) {\r\n event.preventDefault();\r\n eurovia.reOpenFlyBox($all.eq($index + 1));\r\n });\r\n } else {\r\n $('#fly-box .fly-box-direction-next').hide();\r\n }\r\n }\r\n },\r\n\r\n spinningFlyBoxWrapper: function ($box) {\r\n var $wrapper = $box.find('.fly-box-wrapper');\r\n\r\n if ($wrapper.length == 0) {\r\n $wrapper = $('
    ');\r\n $wrapper.prependTo($box.find('.fly-box-container'));\r\n }\r\n $wrapper.empty().html('
     
    ');\r\n\r\n return $wrapper;\r\n },\r\n\r\n plugSocialNetworks: function ($within) {\r\n if (!$within) return; // addthis auto-plugs things\r\n if (typeof addthis === 'undefined') return;\r\n $within.find('.addthis_toolbox').each(function () {\r\n addthis.toolbox(this);\r\n });\r\n },\r\n\r\n loadFlyBox: function ($wrapper, $href, callback) {\r\n var $html = $('
    ');\r\n $html.load($href, function () {\r\n // if the wrapper is gone, no need to do anything\r\n if (!jQuery.contains(document.documentElement, $wrapper[0])) return;\r\n\r\n // load into wrapper\r\n // .children() does not work on text nodes, must use .contents()\r\n // detach to be safe and not create copies\r\n $wrapper.empty();\r\n $html.contents().detach().appendTo($wrapper);\r\n\r\n if (callback)\r\n callback($wrapper);\r\n });\r\n },\r\n\r\n activateFlyBoxContent: function ($wrapper) {\r\n eurovia.plugSocialNetworks($wrapper);\r\n eurovia.carouselNews($wrapper);\r\n eurovia.carouselMedias($wrapper);\r\n //eurovia.articlesInFlyBox($wrapper);\r\n eurovia.plugFlyBox2Open($wrapper);\r\n eurovia.plugArticlesFilter($wrapper);\r\n eurovia.plugContactForm($wrapper);\r\n },\r\n\r\n activateFlyBox2Content: function ($wrapper) {\r\n eurovia.carouselNews($wrapper);\r\n eurovia.carouselMedias($wrapper);\r\n },\r\n\r\n reOpenFlyBox: function ($open) {\r\n var $wrapper = eurovia.spinningFlyBoxWrapper($('#fly-box'));\r\n eurovia.setFlyBoxDirection($open);\r\n eurovia.loadFlyBox($wrapper, $open.attr('href'), eurovia.activateFlyBoxContent);\r\n },\r\n\r\n plugFlyBoxOpen: function ($within) {\r\n var $opens = $within ? $within.find('a.fly-box-open') : $('a.fly-box-open');\r\n $opens.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $wrapper = eurovia.spinningFlyBoxWrapper($('#fly-box'));\r\n eurovia.setFlyBoxDirection($(this));\r\n\r\n // open the box, don't add the arrow - we'll do it by ourselves\r\n var top = $(window).scrollTop() - 50;\r\n $('#fly-box').css('top', top);\r\n eurovia.showBox($('#fly-box'), false);\r\n\r\n eurovia.loadFlyBox($wrapper, $(this).attr('href'), eurovia.activateFlyBoxContent);\r\n });\r\n },\r\n\r\n plugFlyBox2Open: function ($within) {\r\n var $articles = $within ? $within.find('.articles-four') : $('.articles-four');\r\n $articles.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $box = $('#fly-box-news');\r\n var $wrapper = eurovia.spinningFlyBoxWrapper($box);\r\n\r\n // fixme - plug? later...\r\n //eurovia.setFlyBoxDirection($(this));\r\n var top = $(window).scrollTop() - 100;\r\n $box.css('top', top);\r\n eurovia.showBoxNews($box, false);\r\n\r\n eurovia.loadFlyBox($wrapper, $(this).attr('href'));\r\n });\r\n var $opens = $within ? $within.find('a.fly-box2-open') : $('a.fly-box2-open');\r\n $opens.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $box = $('#fly-box-news');\r\n var $wrapper = eurovia.spinningFlyBoxWrapper($box);\r\n\r\n $box.css('top', $(window).scrollTop() + 120);\r\n eurovia.showBoxNews($box, false);\r\n\r\n eurovia.loadFlyBox($wrapper, $(this).attr('href'), eurovia.activateFlyBox2Content);\r\n });\r\n },\r\n\r\n bangTo: function ($id) {\r\n var $target = $('#bang-' + $id);\r\n if ($target.length > 0) {\r\n var margin = $('body').hasClass('homepage') ? 110 : 140;\r\n var top = $target.offset().top - margin;\r\n if (top <= margin) top = 0;\r\n $('html, body').animate({\r\n scrollTop: top\r\n }, 500);\r\n }\r\n },\r\n\r\n plugBangLinks: function () {\r\n $('a.abang').on('click', function (event) {\r\n var $href = $(this).attr('href');\r\n\r\n if ($href[0] != '#') {\r\n var $wref = window.location.pathname + window.location.search;\r\n var $pos = $href.indexOf('#');\r\n // fixme - why would this not work anymore ?! ie returning now does nothing?!\r\n if ($wref != $href.substring(0, $pos)) return;\r\n $href = $href.substring($pos + 2);\r\n } else {\r\n $href = $href.substring(2);\r\n }\r\n\r\n window.location.hash = '!' + $href;\r\n event.preventDefault();\r\n eurovia.bangTo($href);\r\n });\r\n },\r\n\r\n hashBang: function () {\r\n if (window.location.hash && window.location.hash[1] == '!') {\r\n eurovia.bangTo(window.location.hash.substring(2));\r\n }\r\n },\r\n\r\n plugZapBoxes: function () {\r\n if ($('#fly-box .fly-box-wrapper').length > 0) return; // not on immediate box\r\n\r\n $('#fly-box').on('click', function (event) {\r\n if ($(event.target).is('#fly-box'))\r\n eurovia.zapFlyBox();\r\n });\r\n $('#fly-box-news').on('click', function (event) {\r\n if ($(event.target).is('#fly-box-news'))\r\n eurovia.zapFlyBox2();\r\n });\r\n $('.fly-box-overlay').on('click', function () { eurovia.zapFlyBox(); });\r\n $('.fly-box-news-overlay').on('click', eurovia.zapFlyBox2);\r\n\r\n $(document).on('keydown', function (event) {\r\n if (event.which != 27) return;\r\n if ($('#fly-box-news').is(':visible')) eurovia.zapFlyBox2();\r\n else if ($('#fly-box').is(':visible')) eurovia.zapFlyBox();\r\n });\r\n },\r\n\r\n zapFlyBox: function () {\r\n $('.fly-box-overlay').hide();\r\n $('#fly-box').hide();\r\n $('#fly-box .fly-box-direction').off().hide();\r\n $('#fly-box .fly-box-wrapper').remove();\r\n },\r\n\r\n zapFlyBox2: function () {\r\n $('.fly-box-news-overlay').hide();\r\n $('#fly-box-news').hide();\r\n $('#fly-box-news .fly-box-direction').off().hide();\r\n $('#fly-box-news .fly-box-wrapper').remove();\r\n },\r\n\r\n immediateFlyBox: function () {\r\n var $chrefa = $('#fly-box .fly-box-wrapper a.fly-box-close-href');\r\n if ($chrefa.length > 0) {\r\n var $chref = $chrefa.attr('href');\r\n $chrefa.remove();\r\n $('#fly-box .fly-box-close').on('click', function () {\r\n // should not be a banged url\r\n $(this).off();\r\n window.location = $chref;\r\n });\r\n } else {\r\n $('#fly-box .fly-box-close').on('click', function () {\r\n eurovia.zapFlyBox();\r\n $(this).off();\r\n });\r\n }\r\n },\r\n\r\n plugAjaxMoreLoad: function () {\r\n $('a.ajax-more-load').on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $load = $(this);\r\n\r\n // lock the link\r\n if ($load.data('loading')) return;\r\n $load.data('loading', true);\r\n\r\n var $container = $load.closest('.ajax-more').find('.ajax-more-ctnr');\r\n if ($container.length == 0) return;\r\n\r\n var $href = $load.attr('href');\r\n var $savedHtml = $load.html();\r\n $load.html('. . .');\r\n\r\n var $html = $('
    ');\r\n $html.load($href, function () {\r\n // if the container is gone, no need to do anything\r\n if (!jQuery.contains(document.documentElement, $container[0])) return;\r\n\r\n // check for data\r\n // found = update the link and remove data from html\r\n // else, kill the link\r\n var $data = $html.find('data');\r\n if ($data.length > 0) {\r\n var $nurl = $data.data('url');\r\n $load.html($savedHtml).attr('href', $nurl);\r\n $data.remove();\r\n } else {\r\n $load.hide();\r\n }\r\n\r\n // load into container\r\n // .children() does not work on text nodes, must use .contents()\r\n // detach to be safe and not create copies\r\n $html.contents().each(function () {\r\n $(this).detach().appendTo($container);\r\n // activate here because $container is was empty\r\n eurovia.plugFlyBoxOpen($(this));\r\n });\r\n\r\n // unlock the link\r\n $load.removeData('loading');\r\n\r\n var ellipsis = $(\".ellipsis\");\r\n var nrLines = 3;\r\n var ellHeight = parseInt(ellipsis.css('line-height'), 10) * nrLines;\r\n\r\n ellipsis.dotdotdot({\r\n height: ellHeight // this is the number of lines\r\n });\r\n });\r\n });\r\n },\r\n\r\n setArticlesFilterTick: function ($tick, $selector) {\r\n var selectorTop = $selector.position().top;\r\n var selectorHeight = $selector.height();\r\n var tickTop = Math.floor(selectorTop + selectorHeight / 2 + 2);\r\n $tick.data('top', tickTop);\r\n tickTop += $selector.offsetParent().position().top;\r\n $tick.show().css('top', '' + tickTop + 'px');\r\n },\r\n\r\n whileScrolling: function ($wrapper, $tick) {\r\n var tickTop = $tick.data('top') + mcs.top;\r\n if (tickTop < 0 || tickTop > $wrapper.height()) {\r\n $tick.hide();\r\n } else {\r\n $tick.show().css('top', '' + tickTop + 'px');\r\n }\r\n },\r\n\r\n plugArticlesFilter: function ($within) {\r\n var $filtered = $within ? $within.find('div.js-filter-articles') : $('div.js-filter-articles');\r\n $filtered.each(function () {\r\n var $this = $(this);\r\n var $selectors = $this.find('.filter-articles-content a');\r\n\r\n var $wrapper = $this.find('.filter-articles-wrapper');\r\n $wrapper.after('
    ');\r\n var $tick = $this.find('.filter-articles-tick');\r\n\r\n $wrapper\r\n .mCustomScrollbar({ callbacks: { whileScrolling: function () { eurovia.whileScrolling($wrapper, $tick); } } });\r\n eurovia.setArticlesFilterTick($tick, $selectors.eq(0));\r\n\r\n $selectors.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $selector = $(this);\r\n eurovia.setArticlesFilterTick($tick, $selector);\r\n\r\n // and then we want to load....\r\n var $container = $this.find('.column-6');\r\n $container.empty().html('
     
    ');\r\n\r\n var $html = $('
    ');\r\n $html.load($selector.attr('href'), function () {\r\n // if the container is gone, no need to do anything\r\n if (!jQuery.contains(document.documentElement, $container[0])) return;\r\n\r\n // load into container\r\n // .children() does not work on text nodes, must use .contents()\r\n // detach to be safe and not create copies\r\n $container.empty();\r\n $html.contents().detach().appendTo($container);\r\n\r\n eurovia.carouselNews($container);\r\n eurovia.carouselMedias($container);\r\n });\r\n });\r\n });\r\n },\r\n\r\n plugContactForm: function ($within) {\r\n var $submit = $within ? $within.find('.contact-submit') : $('.contact-submit');\r\n $submit.on('click', function (event) {\r\n event.preventDefault();\r\n\r\n var $formContact = $('#form-contact');\r\n var $challengeFiled = $formContact.find(\"#recaptcha_challenge_field\");\r\n var $responseFiled = $formContact.find(\"#recaptcha_response_field\");\r\n\r\n var challenge = $challengeFiled.val();\r\n var response = $responseFiled.val();\r\n var json = '{ \\\r\n\"type\": \"POST\", \\\r\n\"dataType\": \"jsonp\", \\\r\n\"data\": { \"challenge\" : \"' + challenge + '\", \"response\" : \"' + response + '\", \"test\":\"test\"} \\\r\n}';\r\n $responseFiled.attr(\"data-parsley-remote-options\", json);\r\n\r\n var $this = $(this);\r\n var $form = $this.closest('.contact-form');\r\n\r\n //require([\"/scripts/parsley/parsley.js\", \"//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js\"],\r\n //function () {\r\n $formContact\r\n .parsley()\r\n .asyncValidate()\r\n .done(function () {\r\n //console.log(\"WELL DONE, VALID!\" + $formContact + \" JSON: \" + json);\r\n var $over = $form.find('.contact-form-over');\r\n $over\r\n .width($form.width())\r\n .height($form.height())\r\n .show();\r\n var $feedback = $form.find('.contact-form-feedback');\r\n $feedback\r\n .width($form.width())\r\n .height($this.outerHeight())\r\n .html('
    ')\r\n .show();\r\n var cbya = '';\r\n $form.find('#cbya input.checkbox:checked').each(function () {\r\n if (cbya != '') cbya += ',';\r\n cbya += $(this).attr('id').substr(5);\r\n });\r\n var cbyw = '';\r\n $form.find('#cbyw input.checkbox:checked').each(function () {\r\n if (cbyw != '') cbyw += ',';\r\n cbyw += $(this).attr('id').substr(5);\r\n });\r\n var data = {\r\n siteroot: $form.find('#frid').val(),\r\n name: $form.find('#fname').val(),\r\n location: $form.find('#flocation').val(),\r\n phone: $form.find('#fphone').val(),\r\n email: $form.find('#femail').val(),\r\n ua: cbya,\r\n uw: cbyw,\r\n message: $form.find('#fmsg').val()\r\n };\r\n $.post('/Umbraco/Eurovia/Api/ContactUs', data, function (recv, status, request) {\r\n $feedback.empty().html(recv);\r\n });\r\n })\r\n .fail(function () {\r\n //console.log(\"WELL DONE, FAILED!\");\r\n if (response) { Recaptcha.reload(); }\r\n });\r\n //});\r\n });\r\n },\r\n\r\n plugCheckBoxAllnone: function ($within) {\r\n var $cbs = $within ? $within.find('.cb-allnone-ctnr') : $('.cb-allnone-ctnr');\r\n $cbs.each(function () {\r\n var $container = $(this);\r\n $container.find('input.checkbox').each(function () {\r\n var $cb = $(this);\r\n $cb.on('change', function () {\r\n if ($cb.hasClass('cb-allnone')) {\r\n var checked = this.checked;\r\n var $ncb = $cb.parent().next().find('input.checkbox');\r\n while ($ncb.length > 0 && !$ncb.hasClass('cb-allnone')) {\r\n $ncb[0].checked = checked;\r\n $ncb = $ncb.parent().next().find('input.checkbox');\r\n }\r\n }\r\n });\r\n });\r\n });\r\n },\r\n\r\n loadFilteredContainer: function ($ajax, url) {\r\n var $filter = $ajax.find('.block-filter');\r\n var $over = $filter.find('.block-filter-overlay');\r\n var $load = $ajax.find('.ajax-more-load');\r\n var $ctnr = $ajax.find('.ajax-more-ctnr');\r\n\r\n $ctnr.empty().html('
     
    ');\r\n $load.hide();\r\n $over.height($filter.height()).width($filter.width()).show();\r\n\r\n var $html = $('
    ');\r\n $html.load(url, function () {\r\n // if the container is gone, no need to do anything\r\n if (!jQuery.contains(document.documentElement, $ctnr[0])) return;\r\n\r\n // check for data\r\n // found = update the link and remove data from html\r\n // else, kill the link\r\n var $data = $html.find('data');\r\n if ($data.length > 0) {\r\n var $nurl = $data.data('url');\r\n $load.attr('href', $nurl).show();\r\n $data.remove();\r\n } else {\r\n $load.hide();\r\n }\r\n\r\n // load into wrapper\r\n // .children() does not work on text nodes, must use .contents()\r\n // detach to be safe and not create copies\r\n $ctnr.empty();\r\n $html.contents().detach().appendTo($ctnr);\r\n\r\n $over.hide();\r\n\r\n eurovia.plugFlyBoxOpen($ctnr);\r\n });\r\n },\r\n\r\n plugInfosNewsAndPublisFilters: function () {\r\n eurovia.plugInfosNewsOrPublisFilter($('.filter-infos-news'));\r\n eurovia.plugInfosNewsOrPublisFilter($('.filter-infos-publis'));\r\n },\r\n\r\n plugInfosNewsOrPublisFilter: function ($filters) {\r\n $filters.each(function () {\r\n var $filter = $(this);\r\n var url = $filter.data('url');\r\n var $dateFilter = $filter.find('.filter-infos-date');\r\n var $typeFilter = $filter.find('.filter-infos-type');\r\n var $ajax = $filter.closest('.ajax-more');\r\n\r\n $dateFilter.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n var $a = $(this);\r\n var label = $a.html();\r\n $dateFilter.find('.select-filter-label p').html(label);\r\n $dateFilter.data('date', $a.data('date'));\r\n eurovia.loadFilteredContainer($ajax, getUrl(url, $dateFilter, $typeFilter));\r\n });\r\n\r\n $typeFilter.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n eurovia.loadFilteredContainer($ajax, getUrl(url, $dateFilter, $typeFilter));\r\n });\r\n });\r\n\r\n function getUrl(url, $dateFilter, $typeFilter) {\r\n url += url.indexOf('?') > 0 ? '&' : '?';\r\n url += 'd=' + $dateFilter.data('date');\r\n var types = '';\r\n $typeFilter.find('input.checkbox').each(function () {\r\n var $cb = $(this);\r\n if (!$cb.hasClass('cb-allnone') && $cb[0].checked) types += $cb.val() + ',';\r\n });\r\n url += \"&t=\" + types;\r\n return url;\r\n }\r\n },\r\n\r\n plugInfosMediasFilter: function () {\r\n $('.filter-infos-medias').each(function () {\r\n var $filter = $(this);\r\n var url = $filter.data('url');\r\n var $ttFilter = $filter.find('.filter-infos-type');\r\n var $ajax = $filter.closest('.ajax-more');\r\n\r\n $ttFilter.find('a').on('click', function (event) {\r\n event.preventDefault();\r\n eurovia.loadFilteredContainer($ajax, getUrl(url, $ttFilter));\r\n });\r\n });\r\n\r\n function getUrl(url, $ttFilter) {\r\n url += url.indexOf('?') > 0 ? '&' : '?';\r\n var ty = '', th = '';\r\n var i = 0, yh = false;\r\n $ttFilter.find('input.checkbox').each(function () {\r\n if (i++ == 0) return;\r\n var $cb = $(this);\r\n if ($cb.hasClass('cb-allnone')) {\r\n yh = true;\r\n return;\r\n }\r\n if ($cb[0].checked) {\r\n if (yh)\r\n th += $cb.val() + ',';\r\n else\r\n ty += $cb.val() + ',';\r\n }\r\n });\r\n url += \"ty=\" + ty + '&th=' + th;\r\n return url;\r\n }\r\n },\r\n\r\n fixSelectFilterZIndex: function () {\r\n var i = 0;\r\n $('.select-filter').each(function () {\r\n var $filter = $(this);\r\n var zindex = $filter.css('z-index');\r\n $filter.css('z-index', zindex - i++);\r\n });\r\n },\r\n\r\n vplayer: function (id, video, options) {\r\n var jwopt = options;\r\n jwopt.file = video;\r\n if (!jwopt.width) jwopt.width = '100%';\r\n if (!jwopt.aspectratio) jwopt.aspectratio = '16:9';\r\n jwplayer(id).setup(jwopt);\r\n },\r\n\r\n hvplayer: function (id, video, image, options) {\r\n var wrap = $('#' + id).parent();\r\n\r\n eurovia.vplayer(id, video, {\r\n image: image,\r\n aspectratio: '940:452',\r\n stretching: 'fill',\r\n controls: 'false',\r\n volume: 80,\r\n events: {\r\n onReady: function () {\r\n wrap.find('.hv-start-box').show();\r\n },\r\n onPlay: function () {\r\n wrap.find('.hv-control-play').removeClass('paused');\r\n wrap.find('.hv-start-box').hide();\r\n wrap.find('.hv-control-box').show();\r\n },\r\n onPause: function () {\r\n wrap.find('.hv-control-play').addClass('paused');\r\n },\r\n onIdle: function () {\r\n wrap.find('.hv-control-box').hide();\r\n wrap.find('.hv-start-box').show();\r\n wrap.find('.hv-start-button').html(options.ui.play);\r\n },\r\n onComplete: function () {\r\n wrap.find('.hv-control-box').hide();\r\n wrap.find('.hv-start-box').show();\r\n wrap.find('.hv-start-button').html(options.ui.play);\r\n }\r\n //onMute: function(mute) {\r\n // wrap.find('.hv-control-sound').html(mute.mute ? 'SOUND' : 'MUTE');\r\n //}\r\n }\r\n });\r\n\r\n var startButton = wrap.find('.hv-start-button');\r\n startButton.on('click', function () {\r\n $(this).html(options.ui.loading);\r\n var player = jwplayer(wrap.find('.jwplayer')[0]);\r\n player.play(true);\r\n });\r\n var controlPlay = wrap.find('.hv-control-play');\r\n controlPlay.on('click', function () {\r\n var player = jwplayer(wrap.find('.jwplayer')[0]);\r\n player.play();\r\n });\r\n var controlSound = wrap.find('.hv-control-sound');\r\n controlSound.on('click', function () {\r\n var player = jwplayer(wrap.find('.jwplayer')[0]);\r\n var cvol = player.getVolume();\r\n //if (cvol > 0) vol = cvol;\r\n player.setVolume(cvol > 0 ? 0 : 80);\r\n if (cvol == 0)\r\n wrap.find('.hv-control-sound').removeClass('muted');\r\n else\r\n wrap.find('.hv-control-sound').addClass('muted');\r\n //var mute = player.getMute();\r\n //player.setMute(!mute);\r\n });\r\n }\r\n };\r\n\r\n $(document).on('ready', function () {\r\n $.ajaxSetup({\r\n // Disable caching of AJAX responses\r\n cache: false\r\n });\r\n\r\n /*global eurovia */\r\n eurovia.init();\r\n\r\n window.readyActions = window.readyActions || [];\r\n window.ready = function (action) { action(); }\r\n for (var i = 0; i < window.readyActions.length; i++)\r\n window.readyActions[i]();\r\n });\r\n}(jQuery, window, document));"]}