
(function (w, $) {
	var submitElement = $('[data-identifier="submit"]', 'form[data-form="pxa-newsletter-subscription-form"]');

	submitElement.on('click', function (e) {
		e.preventDefault();

		var currentButton = $(this),
			formElement = currentButton.parents('form[data-form="pxa-newsletter-subscription-form"]'),
			spinnerElement = $('[data-identifier="spinner"]', formElement),
			data = formElement.serializeArray();

		data.push({name: currentButton.attr('name'), value: 1});

		// Disable button, and fade in spinner
		spinnerElement.fadeIn(50);
		currentButton.prop('disabled', true);

		$.ajax({
			//type of receiving data
			type: 'POST',
			url: formElement.attr('action'),
			data: data,
			dataType: 'JSON'
		}).done(function (response) {
			//ajax sends msg from php, which informs user, what has happens
			var message = $('<div/>', {
				class: 'alert js__ajax-response',
				text: response.message
			});
			formElement.after(message);

			if (response.success) {
				// display message
				message.addClass('alert-success');
				// hide form
				formElement.hide();
			} else {
				// display message and set message to disapear after 5 sec.
				message.addClass('alert-danger').delay(5000).fadeOut('slow');
			}
		}).fail(function (jqXHR, textStatus) {
			// Set message and set it to disapear after 5 sec.
			var message = $('<div/>', {
				class: 'alert alert-danger js__ajax-response',
				text: textStatus
			});
			formElement.after(message);
			message.delay(5000).fadeOut('slow');
		}).always(function () {
			// Hide spinner and enable inputs again
			spinnerElement.fadeOut(50);
			currentButton.prop('disabled', false);
		}); //end ajax
	}); //end submit

})(window, jQuery);
var PxaCookieWarning = (function () {
	/**
	 * Simulate singleton
	 */
	var _instance = null;

	/**
	 * Initialize
	 * @constructor
	 */
	function PxaCookieWarning() {
	}

	PxaCookieWarning.prototype = {
		/**
		 * Init main events handlers and cookie bar state
		 */
		init: function () {
			if (this._isVisibleCookieBar()) {
				if (!PxaCookieBarHelper.settings.activeConsent && PxaCookieBarHelper.settings.oneTimeVisible) {
					PxaCookieBarHelper.markBarAsHidden();
				}

				this._initCookieBarClick();
			}
		},

		/**
		 * Check if bar is visible by cookie
		 *
		 * @returns {boolean}
		 * @private
		 */
		_isVisibleCookieBar: function () {
			return !PxaCookieBarHelper.isCookieSet();
		},

		/**
		 * Catch click on buttons
		 *
		 * @private
		 */
		_initCookieBarClick: function () {
			var that = this;

			var __clickHandler = function (e) {
				e.preventDefault();
				var attribute = this.getAttribute('id');

				if (attribute === 'accept-cookie') {
					var url = this.getAttribute('href');
					that._sendCloseCookieRequest(url);
				}

				that._hideCookieBar();
			};

			var buttons = document.getElementsByClassName('pxa-cookie-buttons');

			for (var i = 0; i < buttons.length; i++) {
				buttons[i].addEventListener('click', __clickHandler, false);
			}
		},

		/**
		 * Make cookie bar hidden
		 *
		 * @private
		 */
		_hideCookieBar: function () {
			PxaCookieBarHelper.removeDocumentClass(PxaCookieBarHelper.visibleCookieBarClass);

			if (!PxaCookieBarHelper.settings.activeConsent && !PxaCookieBarHelper.settings.oneTimeVisible) {
				PxaCookieBarHelper.markBarAsHidden();
			}
		},

		/**
		 * Send ajax request for close bar
		 *
		 * @param url
		 * @private
		 */
		_sendCloseCookieRequest: function (url) {
			var x = this._getXhr();

			x.open('GET', url, true);
			x.send();
		},

		/**
		 * Initialize xhr
		 *
		 * @returns object
		 * @private
		 */
		_getXhr: function () {
			if (typeof XMLHttpRequest !== 'undefined') {
				return new XMLHttpRequest();
			}

			var versions = [
				"MSXML2.XmlHttp.6.0",
				"MSXML2.XmlHttp.5.0",
				"MSXML2.XmlHttp.4.0",
				"MSXML2.XmlHttp.3.0",
				"MSXML2.XmlHttp.2.0",
				"Microsoft.XmlHttp"
			];

			var xhr;

			for (var i = 0; i < versions.length; i++) {
				try {
					xhr = new ActiveXObject(versions[i]);
					break;
				} catch (e) {
				}
			}

			return xhr;
		}
	};

	/**
	 * public method
	 */
	return {
		init: function () {
			if (_instance === null) {
				_instance = new PxaCookieWarning();
				_instance.init();
			}
		}
	}
})();

PxaCookieWarning.init();
$(document).ready(function () {
	$promotSpots = $('.js__events-loader');

	if ($promotSpots.length > 0) {
		$promotSpots.each(function () {
			let $this = $(this);
			let url = $this.data('ajax-url');

			$.get(url, function (html) {
        $this.append(html);
        $this.removeClass('loading');
			});
		});
	}
});

(function(){
    Date.now = Date.now || function() { return +new Date; };
    function Tracker( options ){
        this.init( options );
        return this;
    };

    Tracker.prototype = {
        /* configurable variables */
        jQuerySrc:  '//code.jquery.com/jquery-1.8.3.min.js',
        track: [],
        filesRegExp: /\.(docx|doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)$/,
        mailRegExp: /^(javascript:linkTo_UnCryptMailto|mailto:)/,
        debugFlag: 'pxadebug',
        loadJQueryMaxTries: 100,
        loadJQueryDelay: 100,
        whenAvailableInterval: 100,
        triggers: [],
        enabled: 0,
        gtm:0,
        relAsExternal:0,

        /* non configurable variables */
        jQueryScriptOutputted: false,
        loadjQueryTryCount: 0,
        setNoConflict: false,
        has_vimeo_window_event: false,

        init: function( options ){
            // override default values
            this.jQuerySrc = options.jQuerySrc || this.jQuerySrc;
            this.track = options.track || this.track;
            this.filesRegExp = options.filesRegExp || this.filesRegExp;
            this.mailRegExp = options.mailRegExp || this.mailRegExp;
            this.debugFlag = options.debugFlag || this.debugFlag;
            this.loadJQueryMaxTries = options.loadJQueryMaxTries || this.loadJQueryMaxTries;
            this.loadJQueryDelay = options.loadJQueryDelay || this.loadJQueryDelay;
            this.whenAvailableInterval = options.whenAvailableInterval || this.whenAvailableInterval;
            this.triggers = options.triggers || this.triggers;
            this.enabled = options.enabled || this.enabled;
            this.gtm = options.gtm || this.gtm;
            this.relAsExternal = options.relAsExternal || this.relAsExternal;
        },

        debugMode: function(){
            return getUrlVars()[this.debugFlag] == 1 || getCookie(this.debugFlag) == 1;
        },

        log: function(str){
            this.debugMode() && log(str);
        },

        push: function(event, category, action, label, value, nonInteraction){
            var tracker = this;
            if (this.debugMode()) {
                alert(
                    (isEmptyOrUndefined(event) ? '' : 'Event: ' + event + '\n') +
                    (isEmptyOrUndefined(category) ? '' : 'Category: ' + category + '\n') +
                    (isEmptyOrUndefined(action) ? '' : 'Action: ' + action + '\n') +
                    (isEmptyOrUndefined(label) ? '' : 'Label: ' + label + '\n') +
                    (isEmptyOrUndefined(value) ? '' : 'Value: ' + value + '\n') +
                    (isEmptyOrUndefined(nonInteraction) ? '' : 'nonInteraction: ' + nonInteraction + '\n')
                );
            } else {
                if (tracker.enabled == 1 && tracker.gtm === 1 && typeof(dataLayer) === 'object' && typeof(dataLayer.push) === 'function' ) {
                    dataLayer.push({
                        'event': 'GAevent',
                        'eventCategory': category,
                        'eventAction': action,
                        'eventLabel': label
                    });

                }
                else if (tracker.enabled == 1 && typeof(ga) === 'function') {

                    var track = {'hitType' : 'event'};
                    if(typeof category === 'string') track['eventCategory'] = category;
                    if(typeof action === 'string') track['eventAction'] = action;
                    if(typeof label === 'string') track['eventLabel'] = label;
                    if(typeof value === 'string') track['eventValue'] = value;
                    if(typeof nonInteraction === 'boolean' && nonInteraction === true) {
                        ga('set', 'nonInteraction', true);
                    }
                    ga('send', track);

                } else if (tracker.enabled == 1 && typeof(_gaq) != 'undefined'){
                    _gaq.push([event, category, action, label, value, nonInteraction]);
                }
            }
        },

        errorLoadingJQuery: function() {
            // alert('Error loading jQuery');
        },

        startTracking: function() {

            var tracker = this;
            // load jQuery if it's not avaiable
            if(typeof jQuery  == 'undefined'){
                this.loadjQueryTryCount++;
                if(!this.jQueryScriptOutputted){
                    this.jQueryScriptOutputted = true;
                    document.write('<script src="' + this.jQuerySrc + '" type="text/javascript"><\/script>');
                    this.setNoConflict = true;
                }
                this.loadjQueryTryCount < this.loadJQueryMaxTries ? setTimeout(this.startTracking.bind(this), this.loadJQueryDelay) : this.errorLoadingJQuery();

            } else {
                // jQuery loaded
                this.debugMode() && log('Tracking script running in debug mode');
                if(this.setNoConflict) jQuery.noConflict();

                jQuery(function($) {
                    for (var index in tracker.track) {
                        if (tracker.track.hasOwnProperty(index)) {
                            typeof tracker.track[index].func && tracker['track' + tracker.track[index].func]($, tracker.track[index]);
                        }
                    }
                });
            }

        },

        trackCustom: function($) {
            var tracker = this;
            for (i = 0; i < tracker.triggers.length; i++) {
                // TYPO3 pages
                if (isInt(tracker.triggers[i].selector)) {
                    if ($('#T3PageId').size() > 0 && tracker.triggers[i].selector == $('#T3PageId').attr('value')) {
                        var trigger = tracker.triggers[i];
                        if (typeof(trigger.label) != 'undefined' && trigger.label.indexOf('ATTR:') != -1) {
                            var attr = trigger.label.substring(5).toLowerCase();
                            trigger.label = $('#T3PageId').attr(attr);
                        }
                        tracker.push('_trackEvent', trigger.category, trigger.action, trigger.label, trigger.value, trigger.nonInteraction);
                    }
                } else {
                    tracker.log('Track selector: ' + tracker.triggers[i].selector);
                    if (typeof($(tracker.triggers[i].selector).live) == 'function') {
                        // Selectors
                        $(tracker.triggers[i].selector).live('click', {index: i}, function(event) {
                            var trigger = tracker.triggers[event.data.index];
                            var label = trigger.label;
                            if (typeof trigger.label == 'function') {
                                label = trigger.label($(this)) ;
                            }
                            tracker.push('_trackEvent', trigger.category, trigger.action, label, trigger.value, trigger.nonInteraction);
                        });
                    } else {
                        $(document).on('click', tracker.triggers[i].selector, {index: i}, function(event) {
                            var trigger = tracker.triggers[event.data.index];
                            var label = trigger.label;
                            if (typeof trigger.label == 'function') {
                                label = trigger.label($(this)) ;
                            }
                            tracker.push('_trackEvent', trigger.category, trigger.action, label, trigger.value, trigger.nonInteraction);
                        });
                    }
                }
            }
        },

        trackEmail: function($, opts){
            var tracker = this;
            $('a').filter(function() { return tracker.mailRegExp.test(this.href) }).bind('click', function(){
                var mailto;
                var decryptOffset = opts.decryptOffset || 2; // TYPO3 6 uses 3 instead of 2

                // encrypted typo3 mailto that needs to be decrypted
                if (this.href.indexOf('linkTo_UnCryptMailto') != -1 && typeof decryptString == 'function' && typeof decryptCharcode == 'function'){
                    mailto = this.href.split('javascript:linkTo_UnCryptMailto(\'')[1].slice(0, - 3);
                    mailto = decryptString(mailto , decryptOffset);
                } else {
                    mailto = this.href;
                }
                tracker.push('_trackEvent', opts.category, mailto.split('mailto:')[1], document.URL, opts.value, opts.nonInteraction);
            });
        },

        trackFormSubmit: function($, opts){
            var tracker = this;
            $('form').bind('submit', function(e){
                tracker.push('_trackEvent', opts.category, $(this).attr('action'), document.URL, opts.value, opts.nonInteraction);
            });
        },

        trackDownloads: function($, opts){
            var tracker = this;
            $('a').filter(function() { return tracker.filesRegExp.test(this.href.toLowerCase()) }).bind('click', function(){
                var extArr = this.href.split('.');
                var ext = extArr[extArr.length-1].toLowerCase();
                tracker.push('_trackEvent', opts.category, ext, toAbsURL(this.href), opts.value, opts.nonInteraction);
            });
        },

        trackExternalLinks: function($, opts){
            var tracker = this;
            $('a').filter(function() {
                if( typeof($(this).attr('href')) == 'undefined' ) return false;
                if( $(this).data("notracking") ) return false;
                var l = this;
                if ((l.protocol === 'http:' || l.protocol === 'https:') && String.prototype.indexOf.call(l.hostname, document.location.hostname) === -1) {
                    var path = (l.pathname + l.search + ''),
                        utm = String.prototype.indexOf.call(path, '__utm');
                    if (utm !== -1) {
                        path = path.substring(0, utm);
                    }
                    return true;
                }
            }).bind('click', function(e){

                if( $(this).attr('target') == '_blank' || tracker.relAsExternal === 1  || ( typeof $(this).attr('onlick') !== "undefined" && $(this).attr('onclick').indexOf("javascript:") > -1 )){
                    tracker.push('_trackEvent', opts.category, opts.action, this.href, opts.value, opts.nonInteraction);
                } else {
                    e.preventDefault();
                    var url = $(this).attr('href');
                    tracker.push('_trackEvent', opts.category, opts.action, this.href, opts.value, opts.nonInteraction);
                    if ($(this).data('rel') !== 'popup') {
                        setTimeout(function(){
                            location.href = url;
                        }, 250);
                    }
                }
            });
        },

        trackT3Search: function($, opts) {
            var tracker = this;
            if (typeof $(opts.swordCont).size === 'function' && $(opts.swordCont).size() > 0) {
                tracker.push('_trackPageview', '/?q=' + $(opts.swordCont).attr('value'));
            }
        },

        trackT3Print: function($, opts) {
            var tracker = this;
            if (getUrlVars()[opts.trigger] == 1) {
                tracker.push('_trackEvent', opts.category, opts.action, document.URL, opts.value, opts.nonInteraction);
            }
        },

        trackTwitter: function($, opts) {
            var tracker = this;
            whenAvailable('twttr', function(twttr) {
                twttr.ready(function (twttr) {
                    twttr.events.bind('click', function(event) {
                        tracker.push('_trackEvent', opts.category, opts.action, extractParamFromUri(event.target.src, 'url'), opts.value, opts.nonInteraction);
                    });
                });
            });
        },

        trackFacebook: function($, opts){
            var tracker = this;
            whenAvailable('FB', function(FB){
                FB.Event.subscribe("edge.create", function(href, widget) {
                    tracker.push('_trackEvent', opts.category, opts.action, href, opts.value, opts.nonInteraction);
                });
            });
        },

        trackSnapEngage: function($, opts){
            var tracker = this;
            if(typeof SnapABug != 'undefined' && SnapABug.setCallback){
                SnapABug.setCallback('Open', function(type) {
                    tracker.push('_trackEvent', opts.category, opts.action, document.URL, opts.value, opts.nonInteraction);
                });
            }
        },

        trackAddThis: function($, opts){
            var tracker = this;
            whenAvailable('addthis', function(addthis){
                addthis.addEventListener('addthis.menu.share', function(e){
                    if(e.type == 'addthis.menu.share'){
                        tracker.push('_trackEvent', opts.category, e.data.service, document.URL, opts.value, opts.nonInteraction);
                    }
                });
            });
        },

        trackYouTube: function($, opts){
            var tracker = this;
            var force = opts['force'];
            if (force) {
                try {
                    _ytMigrateObjectEmbed();
                }catch (e) {
                    log(e);
                }
            }

            var youtube_videos = [];
            var iframes = document.getElementsByTagName('iframe');
            for (var i = 0; i < iframes.length; i++) {
                if (String.prototype.indexOf.call(iframes[i].src, '//www.youtube.com/embed') > -1) {
                    if (String.prototype.indexOf.call(iframes[i].src, 'enablejsapi=1') < 0) {
                        if (force) {
                            // Reload the video enabling the api
                            if (String.prototype.indexOf.call(iframes[i].src, '?') < 0) {
                                iframes[i].src += '?enablejsapi=1';
                            } else {
                                iframes[i].src += '&enablejsapi=1';
                            }
                        } else {
                            // We can't track players that don't have api enabled.
                            continue;
                        }
                    }
                    youtube_videos.push(iframes[i]);
                }
            }

            if (youtube_videos.length > 0) {
                // this function will be called when the youtube api loads
                window['onYouTubePlayerAPIReady'] = function () {
                    var p;
                    for (var i = 0; i < youtube_videos.length; i++) {
                        p = new window['YT']['Player'](youtube_videos[i]);
                        p.addEventListener('onStateChange', function(event){
                            if(event['data'] == 1){ // 1 = play
                                tracker.push('_trackEvent', opts.category, document.URL, event['target'].getVideoUrl(), opts.value, opts.nonInteraction);
                            }
                        });
                    }
                };
                // load the youtube player api
                var tag = document.createElement('script');
                //XXX use document.location.protocol
                var protocol = 'http:';
                if (document.location.protocol === 'https:') {
                    protocol = 'https:';
                }
                tag.src = protocol + '//www.youtube.com/player_api';
                tag.type = 'text/javascript';
                tag.async = true;
                var firstScriptTag = document.getElementsByTagName('script')[0];
                firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
            }
        },

        trackHTML5Video: function($, opts){
            var tracker = this;
            if(document.addEventListener){ // < ie9
                $('video').each(function(){
                    $(this).get(0).addEventListener('play',function(e){
                        var src = e.target.currentSrc;
                        tracker.push('_trackEvent', opts.category, document.URL, src, opts.value, opts.nonInteraction);
                    }, false);
                });
            }
        },

        trackVimeo: function($, opts){
            var tracker = this;
            var force = opts['force'];
            var iframes = document.getElementsByTagName('iframe');
            var playersSrc = [];
            // vimeo api
            var Froogaloop=function(){function e(a){return new e.fn.init(a)}function h(a,c,b){if(!b.contentWindow.postMessage)return!1;var f=b.getAttribute("src").split("?")[0],a=JSON.stringify({method:a,value:c});"//"===f.substr(0,2)&&(f=window.location.protocol+f);b.contentWindow.postMessage(a,f)}function j(a){var c,b;try{c=JSON.parse(a.data),b=c.event||c.method}catch(f){}"ready"==b&&!i&&(i=!0);if(a.origin!=k)return!1;var a=c.value,e=c.data,g=""===g?null:c.player_id;c=g?d[g][b]:d[b];b=[];if(!c)return!1;void 0!==a&&b.push(a);e&&b.push(e);g&&b.push(g);return 0<b.length?c.apply(null,b):c.call()}function l(a,c,b){b?(d[b]||(d[b]={}),d[b][a]=c):d[a]=c}var d={},i=!1,k="";e.fn=e.prototype={element:null,init:function(a){"string"===typeof a&&(a=document.getElementById(a));this.element=a;a=this.element.getAttribute("src");"//"===a.substr(0,2)&&(a=window.location.protocol+a);for(var a=a.split("/"),c="",b=0,f=a.length;b<f;b++){if(3>b)c+=a[b];else break;2>b&&(c+="/")}k=c;return this},api:function(a,c){if(!this.element||!a)return!1;var b=this.element,f=""!==b.id?b.id:null,d=!c||!c.constructor||!c.call||!c.apply?c:null,e=c&&c.constructor&&c.call&&c.apply?c:null;e&&l(a,e,f);h(a,d,b);return this},addEvent:function(a,c){if(!this.element)return!1;var b=this.element,d=""!==b.id?b.id:null;l(a,c,d);"ready"!=a?h("addEventListener",a,b):"ready"==a&&i&&c.call(null,d);return this},removeEvent:function(a){if(!this.element)return!1;var c=this.element,b;a:{if((b=""!==c.id?c.id:null)&&d[b]){if(!d[b][a]){b=!1;break a}d[b][a]=null}else{if(!d[a]){b=!1;break a}d[a]=null}b=!0}"ready"!=a&&b&&h("removeEventListener",a,c)}};e.fn.init.prototype=e.fn;window.addEventListener?window.addEventListener("message",j,!1):window.attachEvent("onmessage",j);return window.Froogaloop=window.$f=e}();

            // add api=1 to vimeo iframes
            for (var i = 0; i < iframes.length; i++) {
                if (String.prototype.indexOf.call(iframes[i].src, '//player.vimeo.com') > -1) {
                    player_id = 'pxa_vimeo' + i;
                    player_src = iframes[i].src;
                    playersSrc[player_id] = iframes[i].src;
                    separator = '?';
                    if (String.prototype.indexOf.call(player_src, '?') > -1) {
                        separator = '&';
                    }
                    if (String.prototype.indexOf.call(player_src, 'api=1') < 0) {
                        if (force) {
                            // Reload the video enabling the api
                            player_src += separator + 'api=1&player_id=' + player_id;
                        } else {
                            // We won't track players that don't have api enabled.
                            continue;
                        }
                    } else {
                        player_src += separator + 'player_id=' + player_id;
                    }
                    iframes[i].id = player_id;
                    iframes[i].src = player_src;

                    $('#' + player_id).addClass('pxa_vimeo');
                }
            }

            $('.pxa_vimeo').each(function(){
                var player = $f( $(this).get(0) );
                var src = playersSrc[$(this).attr('id')];
                player.addEvent('ready', function(e) {
                    player.addEvent('play', function(){
                        tracker.push('_trackEvent', opts.category, document.URL, src, opts.value, opts.nonInteraction);
                    });
                });
            });

        },
        trackZopim: function($, opts){
            var tracker = this;
            if(typeof $zopim != 'undefined'){
                $zopim(function() {

                    $zopim.livechat.window.onShow(function(){
                        tracker.push('_trackEvent', opts.category, opts.action, document.URL, opts.value, opts.nonInteraction);

                    });
                });
            }
        },
        trackScroll : function($, opts){

            var tracker = this;

            // Default time delay before checking location
            var callBackTime = 500;
            var scrollElement;
            if (typeof opts.callBackTime !== "undefined" && isNaN(parseInt(opts.callBackTime)) === false) {
                callBackTime = opts.callBackTime;
            }

            if (typeof opts.elementSelector !== "undefined" && $(opts.elementSelector).length > 0) {
                scrollElement = $(opts.elementSelector)[0];
            }
            else {
                scrollElement = document.body;
            }


            // Set some flags for tracking & execution
            var timer = 0;


            var twentyFive= false;
            var fifty = false;
            var seventyFive = false;
            var hundred = false;

            // Set some time variables to calculate reading time
            var startTime = new Date();
            var beginning = startTime.getTime();



            // Track the scrolling and track location
            $(window).scroll(function() {
                if (timer) {
                    clearTimeout(timer);
                }

                // Use a buffer so we don't call trackLocation too often.
                timer = setTimeout(function(){

                    var percent =  Math.abs(document.body.scrollTop / (scrollElement.clientHeight - window.innerHeight) * 100);

                    if ( percent >= 25 && !twentyFive) {
                        twentyFive = true;
                        tracker.push('_trackEvent', opts.category, "25", document.URL, opts.value, opts.nonInteraction);

                    }
                    else if (percent >= 50 && !fifty) {
                        fifty = true;
                        tracker.push('_trackEvent', opts.category, "50", document.URL, opts.value, opts.nonInteraction);
                    }
                    else if (percent >= 75 && !seventyFive) {
                        seventyFive = true;
                        tracker.push('_trackEvent', opts.category, "75", document.URL, opts.value, opts.nonInteraction);
                    }
                    else if (percent >= 100 && !hundred) {
                        hundred = true;
                        tracker.push('_trackEvent', opts.category, "100", document.URL, opts.value, opts.nonInteraction);
                    }

                }, callBackTime);
            });

        },
        trackPrint : function($, opts){

            var tracker = this;

            if (typeof window.onbeforeprint !== "undefined") {
                window.onbeforeprint = function(e) {
                    tracker.push('_trackEvent', opts.category, document.URL);
                }
            }
            else if(typeof window.matchMedia === "function") {
                var mediaQueryList = window.matchMedia('print');
                mediaQueryList.addListener(function(mql) {
                    if (mql.matches) {
                        tracker.push('_trackEvent', opts.category, document.URL);
                    };
                });
            }

        }

    }

    function whenAvailable(name, callback) {
        window.setTimeout(function() {
            if (window[name]) {
                callback(window[name]);
            } else {
                window.setTimeout(arguments.callee, this.whenAvailableInterval);
            }
        }, this.whenAvailableInterval);
    }

    function getUrlVars() {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    }

    function setCookie(c_name,value,exdays){
        var exdate=new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
        document.cookie=c_name + "=" + c_value + "; path=/";
    }

    function getCookie(c_name){
        var i,x,y,ARRcookies=document.cookie.split(";");
        for (i=0;i<ARRcookies.length;i++) {
            x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
            y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
            x=x.replace(/^\s+|\s+$/g,"");
            if (x==c_name){
                return unescape(y);
            }
        }
    }

    function isEmptyOrUndefined(testObj){
        return typeof testObj == 'undefined' || testObj == '';
    }

    function extractParamFromUri(uri, paramName) {
        if (!uri) {
            return;
        }
        var regex = new RegExp('[\\?&#]' + paramName + '=([^&#]*)');
        var params = regex.exec(uri);
        if (params != null) {
            return unescape(params[1]);
        }
        return;
    }

    function log(str){
        window.console && console.log(str);
    }

    function toAbsURL(s) {
        var l = location, h, p, f, i;
        if (/^\w+:/.test(s)) {
            return s;
        }
        h = l.protocol + '//' + l.host;
        if (s.indexOf('/') == 0) {
            return h + s;
        }
        p = l.pathname.replace(/\/[^\/]*$/, '');
        f = s.match(/\.\.\//g);
        if (f) {
            s = s.substring(f.length * 3);
            for (var i = f.length;i>0;i--){
                p = p.substring(0, p.lastIndexOf('/'));
            }

        }
        return h + p + '/' + s;
    }

    function isInt(n) {
        return n % 1 === 0;
    }

    // custom triggers
    function Trigger(selector, category, action, label, value, nonInteraction){
        this.selector = selector;
        this.category = category;
        this.action = action;
        this.label = label;
        this.value = value;
        this.nonInteraction = nonInteraction;
    }
    var triggers = new Array();

    /**
     * Looks for object/embed youtube videos and migrate them to the iframe method
     */
    function _ytMigrateObjectEmbed() {
        var objs = document.getElementsByTagName('object');
        var pars, ifr, ytid;
        var r = /(https?:\/\/www\.youtube(-nocookie)?\.com[^\/]*).*\/v\/([^&?]+)/;

        for (var i = 0; i < objs.length; i++) {
            pars = objs[i].getElementsByTagName('param');
            for (var j = 0; j < pars.length; j++) {
                if (pars[j].name === 'movie' && pars[j].value) {
                    // Replace the object with an iframe
                    ytid = pars[j].value.match(r);
                    if (ytid && ytid[1] && ytid[3]) {
                        ifr = document.createElement('iframe');
                        ifr.src = ytid[1] + '/embed/' + ytid[3] + '?enablejsapi=1';
                        ifr.width = objs[i].width;
                        ifr.height = objs[i].height;
                        ifr.setAttribute('frameBorder', '0');
                        ifr.setAttribute('allowfullscreen', '');
                        objs[i].parentNode.insertBefore(ifr, objs[i]);
                        objs[i].parentNode.removeChild(objs[i]);
                        // Since we removed the object the Array changed
                        i--;
                    }
                    break;
                }
            }
        }

    }



    var t = new Tracker ({
        triggers: triggers,
        track: [
            {'func': 'Custom'},
            {'func': 'Email', 'category': 'Mail'},
            {'func': 'FormSubmit', 'category': 'Form-submit'},
            {'func': 'Downloads', 'category': 'Downloads'},
            {'func': 'ExternalLinks', 'category': 'Outbound links', 'action': 'Click'},
            {'func': 'T3Search', 'swordCont': '.tx-indexedsearch-searchbox-sword'},
            {'func': 'T3Print', 'category': 'Print', 'action': 'Page', 'trigger': 'print'},
            {'func': 'Twitter', 'category': 'Social', 'action':  'Twitter'},
            {'func': 'Facebook', 'category': 'Social', 'action': 'Facebook'},
            {'func': 'SnapEngage', 'category': 'Chat', 'action': 'Snapengage'},
            {'func': 'AddThis', 'category': 'AddThis'},
            {'func': 'YouTube', 'category': 'Video', 'force': true},
            {'func': 'HTML5Video', 'category': 'Video'},
            {'func': 'Vimeo', 'category': 'Video','force': true}
        ],
        enabled: 1
    });


    // site specific tracking
    Tracker.prototype.trackTest = function($, opts){
        var tracker = this;
        //tracker.push('_trackEvent', opts.category, opts.action, opts.label, opts.value, opts.nonInteraction);
    };

    // start tracking
    t.startTracking();

}());

jQuery(function(i){var t=i("html"),e=i(".js__main-navigation"),a=i(".js__main-navigation__open-sub-menu-link"),n=e.find(".js__main-navigation__items-list").children("li"),s=i(".second-navigation-level"),o=i(".third-navigation-level"),r=i(".js__main-navigation__open-third-menu-link"),l=i(".js__dropdown-menu-with-columns .js__main-navigation__item._sub");touchSupport||l.mouseenter(function(){i(this).addClass("open")}).mouseleave(function(){i(this).removeClass("open")});var d=function(){o.length&&(window.matchMedia("(min-width: 992px)").matches?s.each(function(){var e=i(window).width()-i(this).offset().left-i(this).outerWidth(),t=i(this).width();e<i(this).find(o).width()?i(this).find(o).css("left",-t):i(this).find(o).css("left",t)}):o.css("left","auto"))};d();a.on("click",function(e){e.preventDefault(),window.matchMedia("(min-width: 992px)").matches?(n.not(i(this).parents()).removeClass("_open-tablet-dropdown"),i(this).parents(".main-navigation__item").toggleClass("_open-tablet-dropdown")):i(this).parents(".main-navigation__item").toggleClass("_open-mobile-dropdown")}),r.on("click",function(e){e.preventDefault(),window.matchMedia("(min-width: 992px)").matches?(i(".main-navigation__sub-item").not(i(this).parents(".main-navigation__sub-item")).removeClass("_open-tablet-dropdown"),i(this).parents(".main-navigation__sub-item").toggleClass("_open-tablet-dropdown")):i(this).parents(".main-navigation__sub-item").toggleClass("_open-mobile-dropdown")});var c=!0;i(".js__main-navigation__toggle-btn").on("click",function(e){e.preventDefault(),c&&(c=!1,t.toggleClass("mobile-menu-opened")),i(".js__navigation__items-wrp").not(":animated").slideToggle(300,function(){c=!0})}),window.matchMedia("(min-width: 992px)").addListener(function(){e.find(".js__main-navigation__items-list").find("li").removeClass("_open-mobile-dropdown _open-tablet-dropdown"),t.removeClass("mobile-menu-opened"),window.matchMedia("(min-width: 992px)").matches?i(".js__navigation__items-wrp").show():i(".js__navigation__items-wrp").hide(),window.setTimeout(function(){d()},500)})}),jQuery(function(t){var i=t(".js__main-navigation");if(i.length){var a=i.offset().top;window.matchMedia("(min-width: 992px)").addListener(function(){if(window.matchMedia("(min-width: 992px)").matches){var e=i.css("position");a=t("header").height()-("fixed"===e?0:i.outerHeight())}}),t(window).on("load scroll",function(){var e=t(window).scrollTop();a<e?t("body").addClass("main-navigation-fixed"):t("body").removeClass("main-navigation-fixed")})}}),jQuery(function(t){var i=t(".js__main-navigation__search-btn"),a=t(".js__main-navigation__search-box"),n=t(".js__main-navigation__search-box-overlay"),s=t(".js__header-top__language-menu-overlay"),e=t(".js__header-top__language-menu-btn"),o=t(".js__header-top__language-menu-box"),r=t(".js__header-top__language-menu-box-close-btn"),l=t(".js__header-top_meta-nav");i.on("click",function(e){e.preventDefault(),a.toggleClass("_search-box-visible"),a.hasClass("_search-box-visible")?(a.find('input[type="search"]').focus(),i.addClass("_search-close-btn"),n.addClass("_search-box-overlay-visible")):(i.removeClass("_search-close-btn"),n.removeClass("_search-box-overlay-visible"))}),n.on("click",function(){t(this).removeClass("_search-box-overlay-visible"),i.removeClass("_search-close-btn"),a.removeClass("_search-box-visible")}),e.on("click",function(e){e.preventDefault(),o.addClass("_language-menu-box-visible"),s.addClass("_language-menu-box-overlay-visible"),t(".header-top .js__header-top__language-menu-box").length&&l.addClass("hidden")}),s.on("click",function(){t(this).removeClass("_language-menu-box-overlay-visible"),o.removeClass("_language-menu-box-visible"),l.removeClass("hidden")}),r.on("click",function(){s.removeClass("_language-menu-box-overlay-visible"),o.removeClass("_language-menu-box-visible"),l.removeClass("hidden")})}),function(a){"use strict";a(document).ready(function(){a(".js__img-slider").each(function(){var e=a(this).attr("data-autoplay"),i=new Swiper(a(this),{nextButton:".js__img-slider__btn-next",prevButton:".js__img-slider__btn-prev",pagination:".js__img-slider__pagination",paginationClickable:!0,preloadImages:!1,lazyLoading:!0,watchSlidesVisibility:!0,lazyLoadingInPrevNext:!0,speed:600,autoplay:e});i.container.on("focus","a",function(e){var t=a(e.target).parents(".swiper-slide").index();i.container.scrollLeft(0),setTimeout(function(){i.container.scrollLeft(0)},0),i.slideTo(t)})})})}(jQuery),function(a){"use strict";a(document).ready(function(){var e=document.getElementsByClassName("js__aria-labels");if(e&&0<e.length){var t=JSON.parse(e[0].innerHTML);a(".js__logo-carousel").each(function(){var i=a(this).swiper({nextButton:".js__logo-carousel__btn-next",prevButton:".js__logo-carousel__btn-prev",slidesPerView:5,preloadImages:!1,lazyLoading:!0,watchSlidesVisibility:!0,lazyLoadingInPrevNext:!0,slideVisibleClass:"is-visible",spaceBetween:20,autoplay:a(this).data("autoplay"),a11y:!0,prevSlideMessage:t.ariaLabel.prevSlideMessage,nextSlideMessage:t.ariaLabel.nextSlideMessage,firstSlideMessage:t.ariaLabel.firstSlideMessage,lastSlideMessage:t.ariaLabel.lastSlideMessage,paginationBulletMessage:t.ariaLabel.paginationBulletMessage,breakpoints:{480:{slidesPerView:1},600:{slidesPerView:2},768:{slidesPerView:3},992:{slidesPerView:4}}});a(i.slides).each(function(t,e){a(e).on("focusin",function(e){a(e.target).not(".is-visible")&&i.slideTo(t)})})})}})}(jQuery),function(e){"use strict";e(document).ready(function(){e("html").hasClass("IE")?(e(".parallax-img").jarallax({type:"scroll",speed:.5,disableParallax:/IE/}),e(".parallax-resimg").each(function(){e(this).jarallax({type:"scroll",speed:.5,imgSrc:e(this).css("background-image").match(/\(([^)]+)\)/)[1].replace(/"/g,""),disableParallax:/IE/})}),e(".parallax-video").each(function(){e(this).jarallax({type:"scroll",speed:.5,videoSrc:e(this).attr("data-video-url"),disableParallax:/IE/})})):(e(".parallax-img").jarallax({type:"scroll",speed:.5}),e(".parallax-resimg").each(function(){e(this).jarallax({type:"scroll",speed:.5,imgSrc:e(this).css("background-image").match(/\(([^)]+)\)/)[1].replace(/"/g,"")})}),e(".parallax-video").each(function(){e(this).jarallax({type:"scroll",speed:.5,videoSrc:e(this).attr("data-video-url")})}))})}(jQuery),function(i){"use strict";i(document).ready(function(){i(".js__hero-image").each(function(){var e=i(this),t=e.find(".hero-image__caption-p");t.length&&t.dotdotdot({watch:"window",height:55}),e.parents(".swiper-wrapper").length||e.addClass("_animated")})})}(jQuery),function(u){"use strict";u(document).ready(function(){0<u(".slider-container").length&&(u(".js__slider-container__wrapper").each(function(){u(this).children().wrap('<div class="swiper-slide slider-container__slide js__slider-container__slide"></div>')}),u(".js__slider-container__container").each(function(){var e,t,i,a,n=u(this),s=n.attr("data-autoplay"),o=n.attr("data-loop"),r=parseInt(n.attr("data-slidesperview")),l=n.attr("data-effect"),d=n.attr("data-speed");4<=r?(e=1,t=2,i=3,a=4):2===r?(i=t=e=1,a=2):1===r?a=i=t=e=1:(e=1,i=t=2,a=3);var c=new Swiper(n,{containerModifierClass:"swiper-container-",wrapperClass:"js__slider-container__wrapper",slideClass:"js__slider-container__slide",nextButton:n.parent().find(".js__slider-container__btn-next"),prevButton:n.parent().find(".js__slider-container__btn-prev"),pagination:n.parent().find(".js__slider-container__pagination"),paginationClickable:!0,speed:parseInt(d),loop:o,autoplay:s,effect:l,watchSlidesVisibility:!0,spaceBetween:20,preloadImages:!1,lazyLoading:!0,lazyLoadingInPrevNext:!0,slidesPerView:r,breakpoints:{480:{slidesPerView:e},767:{slidesPerView:t},992:{slidesPerView:i},1024:{slidesPerView:a}},coverflow:{rotate:90,stretch:0,depth:200,modifier:1,slideShadows:!1},cube:{slideShadows:!1,shadow:!1},fade:{crossFade:!0},flip:{slideShadows:!1},onInit:function(){n.closest(".slider-container").css("height","auto"),u(".slider-container_loader").css("display","none")}});c.container.on("focus","a",function(e){var t=u(e.target).parents(".slider-container__slide").index();c.container.scrollLeft(0),setTimeout(function(){c.container.scrollLeft(0)},0),c.slideTo(t)})}))})}(jQuery),function(e){"use strict";e(document).ready(function(){e(".js__img-text-link").dotdotdot({height:60})})}(jQuery),function(s){"use strict";s(document).ready(function(){s(".carousel").each(function(){var i=s(this),t=i.find(".carousel-indicators li"),e=i.find(".carousel-control"),a=i.find(".carousel__btn");function n(){t.each(function(){s(this).hasClass("active")?s(this).focus():s(this).blur()})}t.attr("tabindex",0),i.on("keydown",t,function(e){13===e.which&&s(e.target).trigger("click")}),i.swipe({swipe:function(e,t){"left"===t&&i.carousel("next"),"right"===t&&i.carousel("prev")},allowPageScroll:"vertical"}),!1!==i.data("interval")&&t.add(e).add(a).each(function(){s(this).focus(function(){i.carousel("pause")}),s(this).blur(function(){i.carousel("cycle")})}),i.on("slid.bs.carousel",function(e){t.each(function(){var e=s(this);e.hasClass("active")?e.attr("aria-selected","true"):e.attr("aria-selected","false")}),function(e){var t,i,a=s(".carousel-control.left"),n=s(".carousel-control.right");t=e.next().length?e.next().attr("data-controllabel"):e.parent().children(".item").first().attr("data-controllabel");i=e.prev().length?e.prev().attr("data-controllabel"):e.parent().children(".item").last().attr("data-controllabel");a.attr("aria-label",i),n.attr("aria-label",t)}(s(e.relatedTarget))}),s.fn.carousel.Constructor.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev(),n();break;case 39:this.next(),n();break;default:return}e.preventDefault()}}})})}(jQuery),function(e){"use strict";e(document).ready(function(){e(".js__news-carousel").each(function(){e(this).swiper({nextButton:e(this).parent().find(".js__news-carousel__btn-next"),prevButton:e(this).parent().find(".js__news-carousel__btn-prev"),pagination:".js__news-carousel__pagination",paginationClickable:!0,slidesPerView:4,preloadImages:!1,spaceBetween:30,breakpoints:{500:{slidesPerView:1},767:{slidesPerView:2},991:{slidesPerView:3},1199:{slidesPerView:4}}})})})}(jQuery),$(".js__news-timeline__item").on("click",function(e){$(this).hasClass("collapsed")&&(e.preventDefault(),$(this).removeClass("collapsed"),$(this).closest(".js__news-timeline__item-wrp").find(".js__news-timeline__date").addClass("open"))}),$(".js__news-cards__dotdotdot").dotdotdot({watch:"window"}),$(".js__news-simple-list__dotdotdot").dotdotdot({watch:"window"});var mainSearchInputList={};!function(s){"use strict";s(document).ready(function(){var e="undefined"!=typeof forceEnableSuggest&&forceEnableSuggest;(!touchSupport||e)&&992<=s(window).width()&&s('[data-search="searchSuggest"]').each(function(a,e){mainSearchInputList["searchItem"+a]=new Awesomplete(e,{list:[],maxItems:20,minChars:2,autoFirst:!0});var n=!1;s(this).on("keyup.search.suggest",function(e){var t=e.keyCode;if(13!==t&&27!==t&&38!==t&&40!==t){var i=s(this);void 0!==s(this).closest("form").data("suggest")&&(n||(n=!0,s.ajax({url:i.closest("form").data("suggest"),dataType:"jsonp",jsonp:"tx_solr[callback]",data:{tx_solr:{queryString:i.val().toLowerCase()}},success:function(e){var t=e.suggestions||[];n=!1;var i=[];s.each(t,function(e){i.push(e)}),mainSearchInputList["searchItem"+a]._list=i,mainSearchInputList["searchItem"+a].evaluate()}})))}}),s(this).on("awesomplete-selectcomplete",function(){s(this).closest("form").submit()})})})}(jQuery),function(e){"use strict";e(document).ready(function(){e("div[class*='lightbox__wrp-']").each(function(){e(this).find(".lightbox").simpleLightbox({captionType:"data",captionsData:"caption",captionPosition:"outside",heightRatio:.6})})});var t=e(".js__dotdotdot");t.length&&t.each(function(){e(this).dotdotdot({watch:"window"})}),objectFitImages()}(jQuery),function(s){"use strict";function e(){this.$container=s(".js__filter-container"),this.$filterNav=s(".js__filter-nav"),this.$gridContainer=s(".js__filter-container__grid"),this.$select=s(".js__filter-nav-select"),this.activeCategories="all",this.activeNumbers="all"}String.prototype.includes||(String.prototype.includes=function(e,t){return"number"!=typeof t&&(t=0),!(t+e.length>this.length)&&-1!==this.indexOf(e,t)}),s(document).ready(function(){(new e).init()}),e.prototype.init=function(){this.eventHendler()},e.prototype.eventHendler=function(){var t=this;this.$filterNav.on("click",function(e){"filter-list__item"===e.target.classList[0]&&(s(e.target).addClass("_selected").siblings().removeClass("_selected"),t.activeCategories=s(e.target).attr("data-category"),t.filter())}),e.prototype.filter=function(){var i=this;this.$gridContainer.find(".room-widget").each(function(){var e=s(this).attr("data-categories"),t=s(this).attr("data-people-number");s(this).removeClass("_hidden"),"all"!==i.activeCategories&&e.indexOf(i.activeCategories)<0?s(this).addClass("_hidden"):"all"!==i.activeNumbers&&t.indexOf(i.activeNumbers)<0&&s(this).addClass("_hidden")})}},e.prototype.createNav=function(){var a=this,n=[];this.$gridContainer.find(".room-widget").each(function(e,t){var i=s(this).attr("data-people-number");0===e&&(n.push(i),a.$select.append('<option value="'+i+'">'+i+"</option>")),n.includes(i)||(a.$select.append('<option value="'+i+'">'+i+"</option>"),n.push(i))})}}(jQuery),function(a){"use strict";function n(e,t,i){this.$gallery=e,this.$item=t,this.sizes=i}n.prototype.getClassName=function(e,t){return this.sizes[e]/t<.7?"_sm":"_lg"},n.prototype.setWidth=function(i,a){var n=this;document.querySelector(this.$gallery).querySelectorAll(this.$item).forEach(function(e,t){e.classList.add(n.getClassName(t,i)),n.sizes.length===t+1&&a()})},n.prototype.initLayout=function(e){e?this.msnry.layout():this.msnry=new Masonry(this.$gallery,{itemSelector:this.$item,columnWidth:".grid-sizer"})},n.prototype.init=function(){var e,t=this;this.setWidth(Math.max.apply(Math,this.sizes),function(){t.initLayout(!1)}),a(window).on("resize",function(){clearTimeout(e),e=setTimeout(function(){this.isInitalized&&this.initLayout(!0)},400)})},a(window).on("load",function(){if(a(".js__image-gallery")){var i=[];a(".js__image-gallery").imagesLoaded().progress(function(e,t){(i.push(parseFloat(t.img.getAttribute("width"))),e.progressedCount===e.images.length)&&new n(".js__image-gallery",".image-gallery__item",i).init()})}})}(jQuery),function(a){"use strict";function i(e,t){this.$grid=e,this.$nav=t,this.$viewSelect=t.find(".js__view-select")}a(window).on("load",function(){var e=a(".js__events-filter__grid"),t=a(".js__events-filter__nav");e.length&&t.length&&new i(e,t).init()}),i.prototype.init=function(){this.toggleView(),this.handleNav(),this.getEvenItems()},i.prototype.handleNav=function(){var i=this;this.$nav.on("click",function(e){if("filter-list__item"===e.target.classList[0])if("all"===a(e.target).attr("data-option")?a(e.target).addClass("_selected").siblings().removeClass("_selected"):(a(e.target).toggleClass("_selected"),i.$nav.find('li[data-option="all"]').removeClass("_selected")),i.$nav.find("._selected").length){var t=[];i.$nav.children().each(function(){var e;a(this).hasClass("_selected")&&t.push("all"===(e=a(this)).attr("data-option")?"":e.attr("data-option"))}),i.filter(t)}else i.$nav.find('li[data-option="all"]').addClass("_selected"),i.filter([""])})},i.prototype.filter=function(t){0<t[0].length?this.$grid.children().each(function(){var e=a(this).attr("data-category");a(this).removeClass("_hidden"),t.includes(e)||a(this).addClass("_hidden")}):this.$grid.children().removeClass("_hidden"),this.getEvenItems()},i.prototype.getEvenItems=function(){this.$grid.find(".event-widget:not(._hidden)").each(function(e){e%2==0?a(this).addClass("_has-background"):a(this).removeClass("_has-background")})},i.prototype.toggleView=function(){var i=this,e=function(e,t){i.$grid.removeClass(e).addClass(t)};this.$viewSelect.on("change",function(){"0"===a(this).val()?e("_grid-view","_list-view"):e("_list-view","_grid-view")})}}(jQuery),function(i){"use strict";i(window).on("load",function(){var e=i(".js__single-event__gallery"),t=i(".js__modal-video");(i("#iframeYoutube").attr("src",t.find("iframe").attr("src")),i("#video-modal").on("hidden.bs.modal",function(){i("#iframeYoutube")[0].contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}',"*")}),e.length)&&new Swiper(e,{init:!1,slidesPerView:3,spaceBetween:15,nextButton:".event-gallery__next",prevButton:".event-gallery__prev",breakpoints:{480:{slidesPerView:1},992:{slidesPerView:3}}}).init()})}(jQuery);