var ua = navigator.userAgent;
var html = $("html");
var htmlel = $("html")[0];
var body = $("body");
var bodyel = $("body")[0];
var lang = $("html").attr('lang');
var lang_locale = $("html").attr('locale');
var filterscrollOffset;
var assets = {
path: {
js : 'https://cdn.wien-ticket.at/assets2021/js/?f=', //cdn.wien-ticket.at
css : 'https://cdn.wien-ticket.at/assets2021/style/?f='
},
js: {
scalefix : "ios-orientationchange-fix.js",
slidenav : "slidenav.js",
sumsoselect : "jquery.sumoselect.min.js",
autocomplete : "jquery.autocomplete.min.js",
magnificpopup : "magnificpopup.js",
eventDetail: "eventdetail.js",
waypoints: "jquery.waypoints.min.js",
ajaxContentLoader: "ajaxContentLoader.js",
countdown: "jquery.final-countdown.js",
lazyload: "jquery.lazyload.js",
lazyYT: "jquery.lazyYT.js",
focusPoint: "jquery.focuspoint.min.js",
placeholder: "jquery.placeholder.min.js",
socialshareprivacy: "jquery.socialshareprivacy.min.js",
googlemap: "jquery.template.js,gmap-jq.js",
iCheck: "icheck.min.js",
doubleTap: "doubletaptogo.min.js",
mason: "imagesloaded.min.js,mason.min.js",
daterangepicker: "moment.min.js,daterangepicker.js",
swiper: "swiper.min.js"
},
css: {
autocomplete : "jquery.autocomplete.min.css",
magnificpopup : "magnificpopup.css"
}
}
var wall;
var topsectionitemheight = 0;
$(function(){
var notloaded = true;
if(notloaded) {
notloaded = false;
domLoad = true;
var os = detect(ua);
if($("body").hasClass('ios') || $("body").hasClass('android')) {
smart = true;
htmlel.className = htmlel.className.replace(/\bmobile\b/,'smart');
}
if($("body").hasClass('ios')) {
loadJS(assets.path.js+assets.js.scalefix);
iPadLabels.fix();
}
if(os.windowsphone) {
ieMQ = true;
}
if((navigator.userAgent.indexOf('Mobi') === -1)) { // Kein "Mobile" im User String = Desktop
htmlel.className = htmlel.className.replace(/\bmobile\b/,'desktop');
mobile = false;
}
if(!$("body").hasClass("ismobile")){
mobile = false;
}
if($("img.lazy").length > 0){
//loadJS(assets.path.js+assets.js.lazyload);
}
if($(".lazyYT").length > 0){
loadJS(assets.path.js+assets.js.lazyYT);
}
loadJS(assets.path.js+assets.js.slidenav);
if($("#mainsearch select.catselect").length > 0){
//loadJS(assets.path.js+assets.js.sumsoselect);
}
if($("#timeselect").length > 0){
loadJS(assets.path.js+assets.js.daterangepicker);
}
if($(".mainsearch-input").length > 0){
loadCSS(assets.path.css+assets.css.autocomplete);
loadJS(assets.path.js+assets.js.autocomplete);
}
if(($(".img-container").length > 0) || ($(".gallery-container").length > 0) || ($(".ajax-popup-link").length > 0) || ($(".inline-popup").length > 0) || ($(".iframe-popup").length > 0) || ($(".image-popup").length > 0)) {
loadCSS(assets.path.css+assets.css.magnificpopup);
loadJS(assets.path.js+assets.js.magnificpopup);
}
if($("body").hasClass('module_dbevent') || $("body").hasClass('housedetail')){
loadJS(assets.path.js+assets.js.waypoints);
setTimeout(function(){
loadJS(assets.path.js+assets.js.eventDetail);
},200);
}
if($("a.ajaxContentLoader").length > 0){
loadJS(assets.path.js+assets.js.ajaxContentLoader);
}
if($(".countdownwrap").length > 0){
loadJS(assets.path.js+assets.js.countdown);
}
if($(".focuspoint").length > 0){
loadJS(assets.path.js+assets.js.focusPoint);
}
if($("input").length > 0 || $("textarea").length > 0){
loadJS(assets.path.js+assets.js.placeholder);
}
if($('#socialshareprivacy').length > 0){
loadJS(assets.path.js+assets.js.socialshareprivacy);
}
if($('input.iCheck').length > 0){
loadJS(assets.path.js+assets.js.iCheck);
}
if($(".doubletaplink").length > 0 || $(".homeblocks .homeblocks-eventitem a").length > 0 || $(".topsection-items .topsection-items-eventitem.imageitem a").length > 0 || $(".eventlist .eventlist-item-block a").length > 0){
loadJS(assets.path.js+assets.js.doubleTap);
}
if($("#homeblocks").length > 0){
/*loadJS(assets.path.js+assets.js.mason);*/
initHomeblocks();
}
/*if($(".opencart").length > 0){
initCart();
}*/
if($("#nl-widget").length > 0){
initWidget();
}
if($(".tileslider").length > 0 || $(".homeblock_item_group").length > 0){
loadJS(assets.path.js+assets.js.swiper,initSlider);
}
if($('.slidersujet').length){
loadJS(assets.path.js+assets.js.swiper,initTopSlider);
}
$(".showall").on("click", function(e) {
e.preventDefault();
showitem=$(this).data("show");
$("."+showitem).slideDown(300);
$(this).hide(300);
$("img.lazy").trigger("scroll");
});
$("#searchanchor").on("click", function(e) {
e.preventDefault();
$('html, body').animate({
scrollTop: 0
}, 0);
$("html").toggleClass("searchvisible");
$(".mainsearch-input").focus();
});
filterscrollOffset=0;
$("#toggle-searchfilter").on("click", function(e) {
e.preventDefault();
if($(window).scrollTop() != 0) filterscrollOffset=$(window).scrollTop();
$("html").toggleClass("filteractive");
$("#searchfilter").slideToggle(400);
$("#searchfilter").focus();
if($("html").hasClass("filteractive")){
if($("html").hasClass("scrolled") || $("html").hasClass("scrollednavopen")) $("html").addClass("scrolledfilteropen");
$('#main').animate({
marginTop: -filterscrollOffset
}, 0);
$("#parentoverlay").fadeIn(500, "linear" );
$("html").removeClass("searchvisible profileactive navactive scrollednavopen");
$("#mywtbox").slideUp(400);
$("#slidenav").slideUp(500);
}
else{
$('#main').animate({
marginTop: 0
}, 0);
$(window).scrollTop(filterscrollOffset);
if($("html").hasClass("scrolledfilteropen")) $("html").addClass("scrolled");
$("html").removeClass("scrolledfilteropen");
$("#parentoverlay").fadeOut(500, "linear" );
}
});
if($("#mywtanchor").hasClass("loggedin")){
$("#mywtbox").addClass("loggedin").removeClass("overlaybox mfp-with-anim mfp-hide");
}
$("#mywtanchor.loggedin").on("click", function(e) {
e.preventDefault();
if($("#loginiframe").hasClass("iframe-notloaded")){
$("#loginiframe").attr("src",$("#loginiframe").data("src"));
$("#loginiframe").removeClass("iframe-notloaded");
}
$("html").toggleClass("profileactive");
$("#mywtbox").slideToggle(400);
$("#mywtbox").focus();
if($("html").hasClass("profileactive")){
$("#parentoverlay").fadeIn(500, "linear" );
$("html").removeClass("searchvisible filteractive navactive");
$("#searchfilter").slideUp(400);
$("#slidenav").slideUp(500);
}
else{
$("#parentoverlay").fadeOut(500, "linear" );
}
});
$("#parentoverlay").on("click", function(e) {
e.preventDefault();
if($("html").hasClass("searchvisible") || $("html").hasClass("filteractive") || $("html").hasClass("profileactive") || $("html").hasClass("widgetactive")){
wasscrolled=false;
if($("html").hasClass("scrolledfilteropen") || $("html").hasClass("scrolledwidgetopen")){
wasscrolled=true;
}
$("html").removeClass("searchvisible filteractive profileactive widgetactive scrolledfilteropen scrolledwidgetopen");
if(wasscrolled){
$('#main').animate({
marginTop: 0
}, 0);
$(window).scrollTop(filterscrollOffset);
wasscrolled=false;
}
$("#searchfilter").slideUp(400);
$("#mywtbox").slideUp(400);
$("#nl-widget").fadeOut(0);
$('.locationselect').removeClass("locationselect_open");
}
});
$(".catdropdown-anchor").on("click", function(e) {
e.preventDefault();
var catdropdownlist = $(".catdropdownlist");
if(catdropdownlist.hasClass('open')){
$(this).removeClass('open');
catdropdownlist.slideUp("slow");
catdropdownlist.removeClass('open');
} else {
$(this).addClass('open');
catdropdownlist.slideDown("slow");
catdropdownlist.addClass('open');
}
});
$(window).on('scroll resize', function() {
if($('.floatingweekdays').length > 0){
if($(".notfloatingweekdays thead").offset().top - $(window).scrollTop() <= $("#header").height()) {
$(".floatingweekdays").addClass("floating").css("top", $(window).scrollTop() - $(".notfloatingweekdays").offset().top + $("#header").height());
}
else {
$(".floatingweekdays").removeClass("floating");
}
}
});
//GA Optout
if($("#gaoptout, #gaoptin, .gaoptout, .gaoptin").length > 0){
disableAnalytics();
}
//backtocart
if($("body").hasClass("module_register") && $(".backtocart").length > 0){
$(".backtocart").appendTo(".content-container");
}
//genericloader on autocoomplete search
$(document).on('click','.ui-menu-item-wrapper',function(e){
if(!$(this).hasClass('clicked')){
e.preventDefault();
showLoaderOverlay()
$(this).addClass('clicked');
$(this).click();
}
});
if($('body').hasClass('module_search')){
$('#search-result-tabs').children().on('click', function(){
$(this).addClass('underline');
$(this).siblings().removeClass('underline');
$('.'+$(this).attr('id')).removeClass('none');
$(this).siblings().each(function(){
console.log($('.'+$(this).attr('id')));
$('.'+$(this).attr('id')).addClass('none');
});
if($(this).attr('id') == "event-results"){
$(this).parents('.content-container').find('.browse').show();
}else{
$(this).parents('.content-container').find('.browse').hide();
}
});
$('#search-result-tabs').children().first().click();
var tab = "";
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === "tab") {
tab = sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
}
}
if(tab.length > 0){
$('#'+tab+'-results').click();
}
}
if($("#bigeventimage").length > 0){
setBigEventImage();
}
checkScrollTop();
checkSocialSharePosition();
$('a#scrolltop').on('click', function (e) {
e.preventDefault();
$('html, body').animate({
scrollTop: $('body').offset().top
}, 1500);
return false;
});
focusLabels();
JSTarget.init();
trackingExternalUrls();
//scrolltop cookie for correct scroll placement after login
scrolltopcookie = document.cookie.match(/^(.*;)?\s*scrolltop\s*=\s*[^;]+(.*)?$/);
if(scrolltopcookie != null && scrolltopcookie != undefined) {
var scrollvalue = scrolltopcookie[0].split(";")[0].split("=")[1];
window.scrollTo(0, scrollvalue);
document.cookie = 'scrolltop=0; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
}
});
var iWidth, iHeight;
$(window).on("load",function() {
iWidth = $(window).width();
iHeight = $(window).height();
checkContentInnerFullSize();
});
$(window).resize(function(){
iWidth = $(window).width();
iHeight = $(window).height();
checkContentInnerFullSize();
});
$(window).on( 'debouncedresize', function() {
iWidth = $(window).width();
iHeight = $(window).height();
checkScrollTop();
checkSocialSharePosition();
checkContentInnerFullSize();
});
$(window).scroll(function(){
checkScrollTop();
checkScrollHeader();
checkSocialSharePosition();
/*$('.acResults').css("display","none");
$('.SumoOptWrapper').removeClass("open");
$('.SumoSelect .SlectBox').removeClass("open");*/
});
function gaTrichterPage(url) {
shoppage = url;
}
function checkScrollTop(){
if(isScrolledIntoView("#footer") && iWidth > 719){
$("#scrolltop").css("bottom","5px");
$("#scrolltop").css("position","");
} else {
$("#scrolltop").css("bottom","5px");
$("#scrolltop").css("position","");
}
if($(document).scrollTop() > $("#header").height() && $(window).height() < $("body").height()){
$("#scrolltop").addClass("active");
} else {
$("#scrolltop").removeClass("active");
}
}
function checkScrollHeader(){
/*if($(document).scrollTop() > $("#header").height()){*/
if($(document).scrollTop() > 30){
$("html").addClass("scrolled");
} else {
$("html").removeClass("scrolled");
}
}
function checkContentInnerFullSize(){
if($("body").hasClass("module_error ")) {
$(".content-inner").css("min-height",$(window).height() - $("#header").height());
if($(".module_error_container").height() < $(window).height() - $("#header").height()) {
$(".module_error_container").css("margin-top", (($(window).height() - $("#header").height()) - $(".module_error_container").height()) / 2 - 20);
}
else {
$(".module_error_container").css("margin-top", 0);
}
}
}
function checkSocialSharePosition(){
if(isScrolledIntoView("#footer") && iWidth > 1400){
$(".eventcontent .socialshare").css("top","auto");
$(".eventcontent .socialshare").css("bottom","60px");
$(".eventcontent .socialshare").css("position","absolute");
} else {
$(".eventcontent .socialshare").css("top","");
$(".eventcontent .socialshare").css("bottom","");
$(".eventcontent .socialshare").css("position","");
}
}
function isScrolledIntoView(elem)
{
var $elem = $(elem);
var $window = $(window);
if(typeof $elem !== 'undefined' && typeof $elem.offset() !== 'undefined'){
var docViewTop = $window.scrollTop();
var docViewBottom = docViewTop + $window.height();
var elemTop = $elem.offset().top;
var elemBottom = elemTop + $elem.height();
//return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
return (docViewBottom >= elemTop);
} else {
return false;
}
}
function initHomeblocks(){
resizeHomeblocks();
arrangeFallbacks();
$(window).resize(function() {
resizeHomeblocks();
waitForResize(function(){
arrangeFallbacks();
}, 500, "resize");
});
}
function resizeHomeblocks(){
$(".homeblocks-item-inner").each(function(){
parentheight=$(this).closest(".homeblock_item_group").outerHeight();
$(this).height(parentheight-16);
});
}
function arrangeFallbacks(){
$(".fallbackclone").remove();
$(".fallbackgroup .fallback").removeClass("fallback-used");
nextfallback=0;
if(iWidth<720){
smallcolumn=1;mediumcolumn=2;bigcolumn=2;columnsperrow=2;
}
else if(iWidth>719 && iWidth<1024){
smallcolumn=1;mediumcolumn=2;bigcolumn=3;columnsperrow=3;
}
else if(iWidth>1023){
smallcolumn=1;mediumcolumn=2;bigcolumn=2;columnsperrow=4; //bigcolumn 2, weil danach 2 untereinander kommen müssen
}
currentcolumn=0;lastitem="";
x=0;
$(".homeblock_item_group").each(function(){
if(!$(this).hasClass("fallbackgroup")){
x++;
if($(this).hasClass("homeblock_item_group--gross")){
currentcolumn+=bigcolumn;currentitem="bigitem";currentitemsize=bigcolumn;
}
if($(this).hasClass("homeblock_item_group--mittel")){
currentcolumn+=mediumcolumn;currentitem="mediumitem";currentitemsize=mediumcolumn;
}
if($(this).hasClass("homeblock_item_group--klein")){
currentcolumn+=smallcolumn;currentitem="smallitem";currentitemsize=smallcolumn;
}
if(currentcolumn<columnsperrow){
//alles gut, weitermachen
}
if(currentcolumn==columnsperrow){
currentcolumn=0; //alles gut, nächste Reihe
}
if(columnsperrow==4 && currentitem=="mediumitem" && lastitem=="bigitem"){
insertFallbackBefore($(this));
insertFallbackBefore($(this));
currentcolumn=currentitemsize;
}
if(currentcolumn>columnsperrow){
if(currentcolumn==columnsperrow+1){
insertFallbackBefore($(this));
}
if(currentcolumn==columnsperrow+2){
insertFallbackBefore($(this));
insertFallbackBefore($(this));
}
currentcolumn=currentitemsize;
}
lastitem=currentitem;
}
});
numberoffallbacksatend=0;
if(currentcolumn==0){
//alles gut, fertig
}
else{
numberoffallbacksatend=columnsperrow-currentcolumn;
for(i=0;i<numberoffallbacksatend;i++){
insertFallbackBefore($(".homeblock_item_group:last-child"));
}
}
}
function insertFallbackBefore(element){
parent=element.parent();
fallbackelement=$('.fallbackgroup .fallback:not(.fallback-used):first');
fallbackelement.addClass("fallback-used");
fallbackelement.clone().insertBefore(element).wrap('<div class="homeblock_item_group homeblock_item_group--klein fallbackclone"><div class="homeblock_item_group-inner">');
//.addCLass("fallbackclone")
}
var waitForResize = (function () {
var timers = {};
return function (callback, ms, uniqueId) {
if (!uniqueId) {
uniqueId = "temp";
}
if (timers[uniqueId]) {
clearTimeout (timers[uniqueId]);
}
timers[uniqueId] = setTimeout(callback, ms);
};
})();
function initSlider(){
if($(".tileslider").length > 0){
initTileslider();
}
if($(".homeblock_item_group").length > 0){
initHomeblockslider();
}
}
function initTopSlider(){
var swiper = new Swiper(".slidersujet .swiper", {
slidesPerView: "auto",
//slidesPerView: 6,
spaceBetween: 7,
freeMode: true,
loop:true,
autoplay: {
delay: 3000,
disableOnInteraction:true,
pauseOnMouseEnter: true
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
}/*,
breakpoints: {
// when window width is >= 320px
320: {
slidesPerView: 2
},
// when window width is >= 480px
680: {
slidesPerView: 4
},
// when window width is >= 640px
900: {
slidesPerView: 6
}
}*/
});
}
function initHomeblockslider(){
$(".homeblock_item_group").each(function(){
if($(this).find(".homeblocks-item").length>1 && !$(this).hasClass("fallbackgroup")){
$(this).addClass("swiper-container");
$(this).find(".homeblock_item_group-inner").addClass("swiper-wrapper");
$(this).find(".homeblocks-item").addClass("swiper-slide");
$(this).append('<div class="swiper-pagination"></div>');
}
});
var swiper = new Swiper('.homeblock_item_group.swiper-container', {
slidesPerView: 1,
spaceBetween: 0,
loop: true,
effect: 'fade',
centeredSlides: false,
autoplay: {
delay: 5000,
waitForTransition: false,
},
pagination: {
el: '.swiper-pagination',
clickable: true,
}
});
}
function initTileslider(){
swipercount=0;
$(".tileslider").each(function(){
swipercount++;
$(this).addClass("swiper-container");
$(this).addClass("swiper-container--count"+swipercount);
$(this).find(".tilesection_list").addClass("swiper-wrapper");
$(this).find(".tilesection_list li").addClass("swiper-slide");
$(this).parent().find(".swiper-button-next").addClass("swiper-button-next"+swipercount);
$(this).parent().find(".swiper-button-prev").addClass("swiper-button-prev"+swipercount);
swiperclass=".swiper-container--count"+swipercount;
var swiper = new Swiper(swiperclass, {
slidesPerView: 1,
spaceBetween: 16,
centeredSlides: false,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
navigation: {
nextEl: '.swiper-button-next'+swipercount,
prevEl: '.swiper-button-prev'+swipercount,
},
breakpoints: {
500: {
slidesPerView: 2,
spaceBetween: 16,
},
720: {
slidesPerView: 3,
spaceBetween: 16,
},
}
});
});
}
var firstCarttoggle=true;
function initCart(){
$(".opencart").on("click",function(e){
e.preventDefault();
$("#cart-popup").fadeToggle(500);
if(firstCarttoggle){
firstCarttoggle=false;
carthref=$(this).data("href")+"?json=1";
$("#cart-data").html("<img src='/assets2021/content/icon-spinner.svg' width='60' height='60' />");
getCartData(carthref);
}
});
}
function getCartData(carthref){
$.ajax({
dataType: "json",
url: carthref,
async: true
}).done(function(jsondata) {
updateCart(jsondata);
}).fail(function(){
updateCart("failed");
});
}
function updateCart(cartData){
if(cartData=="failed"){
cartHtml='Abrufen des Warenkorbs fehlgeschlagen';
}
else{
cartHtml="<ul class='cart-list'>";
var basketcount=[];
var cartlist={};
$.each(cartData, function(cartindex, cartelement) {
$.each(cartelement, function(index, element) {
var performanceid="p"+element["PERFORMANCEID"];
var eventtitle=element["PERFORMANCENAME"];
var housetitle=element["HOUSETITLE"];
var eventdate=element["PERFORMANCESTARTDATE"]+" "+element["PERFORMANCESTARTTIME"];
if(!basketcount[performanceid]) basketcount[performanceid]=0;
basketcount[performanceid]+=1;
//console.log(performanceid+" - "+eventtitle+" - "+basketcount[performanceid]);
cartlist[performanceid]=[performanceid,eventtitle,housetitle,eventdate,basketcount[performanceid]];
//console.log(cartlist[performanceid]);
/*$.each(element, function(i, eldata) {
console.log(eldata+" - "+i);
if(i=="EVENTTITLE"){
cartHtml+="<li>"+eldata+"</li>";
}
});*/
});
});
//console.log(cartlist);
$.each(cartlist,function(i,cartelement){
//console.log(cartelement);
cartHtml+="<li><p class='cart-ticketcount'>"+cartelement[4]+"x</p><p class='cart-eventdata'><strong>"+cartelement[1]+"</strong><br/>"+cartelement[2]+"<br/>"+cartelement[3]+"</p></li>";
});
cartHtml+="</ul>";
}
$("#cart-data").html(cartHtml);
}
function initWidget(){
if($("#nl-widget").hasClass("showonload")){
$("html").addClass("widgetactive");
$("#nl-widget").fadeIn(500);
}
filterscrollOffset=0;
$(document).on("click",".widgetbutton, .closewidget", function(e){
e.preventDefault();
if($(window).scrollTop() != 0) filterscrollOffset=$(window).scrollTop();
$("html").toggleClass("widgetactive");
if($("html").hasClass("widgetactive")){
if($("html").hasClass("scrolled")) $("html").addClass("scrolledwidgetopen");
$('#main').animate({
marginTop: -filterscrollOffset
}, 0);
$("#parentoverlay").fadeIn(500, "linear" );
$("#nl-widget").fadeIn(500);
}
else{
$('#main').animate({
marginTop: 0
}, 0);
$(window).scrollTop(filterscrollOffset);
if($("html").hasClass("scrolledwidgetopen")) $("html").addClass("scrolled");
$("html").removeClass("scrolledwidgetopen");
$("#nl-widget").fadeOut(500);
$("#parentoverlay").fadeOut(500, "linear" );
}
});
$(document).on("submit",".ajaxsubmit", function(e){
e.preventDefault();
var form = $(this);
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: form.serialize(),
success: function(data){
data=$(data);
innerdata=data.find(".nl-widget-inner");
$("#nl-widget").html(innerdata);
}
});
});
}
function disableAnalytics(){
optoutactive=getCookie("disablega");
if(typeof optoutactive == "string" && optoutactive.length > 0) { //if decision was made before ("true" or "false" strings both seen as true here) hide cookiebanner
hideCookieBanner();
}
if(optoutactive && optoutactive != "false"){
$('#gaoptout, .gaoptout').hide(0);
}
else{
$('#gaoptin, .gaoptin').hide(0);
}
$('#gaoptout, .gaoptout').on('click', function(){
document.cookie = "disablega=true;path=/;expires=Thu, 31 Dec 2099 23:59:59 UTC";
$('#gaoptout, .gaoptout').addClass('inactive').hide(0);
$('#gaoptin, .gaoptin').removeClass('inactive').show(0);
hideCookieBanner();
});
$('#gaoptin, .gaoptin').on('click', function(){
document.cookie = "disablega=false;path=/;expires=Thu, 31 Dec 2099 23:59:59 UTC";
$('#gaoptin, .gaoptin').addClass('inactive').hide(0);
$('#gaoptout, .gaoptout').removeClass('inactive').show(0);
hideCookieBanner();
});
}
function hideCookieBanner() {
$('.cookiebanner, #cookiebanner').hide(0);
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function detect(ua){
var ua = ua, os = {},
android = ua.match(/(Android)\s+([\d.]+)/),
iphone = ua.match(/(iPhone\sOS)\s([\d_]+)/),
ipad = ua.match(/(iPad).*OS\s([\d_]+)/),
webos = ua.match(/(webOS)\/([\d.]+)/),
windowsphone = ua.match(/(Windows Phone)/),
blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/);
if (android) os.android = true, os.version = android[2];
if (iphone) os.ios = true, os.version = iphone[2].replace(/_/g, '.'), os.iphone = true;
if (ipad) os.ios = true, os.version = ipad[2].replace(/_/g, '.'), os.ipad = true;
if (webos) os.webos = true, os.version = webos[2];
if (windowsphone) os.windowsphone = true, os.version = windowsphone[2];
if (blackberry) os.blackberry = true, os.version = blackberry[2];
return os;
}
// -----------------------------------------------------------------------------------
// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
log.history = log.history || []; // store logs to an array for reference
log.history.push(arguments);
arguments.callee = arguments.callee.caller;
if(this.console) console.log( Array.prototype.slice.call(arguments) );
};
// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});
function loadJS(url, callback) {
if(url) {
var ds = document.createElement('script');
ds.type = 'text/javascript';
ds.async = true;
if(callback) {
if (ds.readyState){ //IE <= 8
ds.onreadystatechange = function(){
if (ds.readyState == "loaded" || ds.readyState == "complete"){
ds.onreadystatechange = null;
callback();
}
};
} else { //Others
ds.onload = function(){
callback();
};
}
}
url = url+"&recache=0";
ds.src = url;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ds, s);
}
}
function loadCSS(url) {
if(url) {
url = url+"&recache=0";
var ds = document.createElement('link');
ds.type = 'text/css';
ds.media = 'all';
ds.rel ="stylesheet";
ds.href = url;
var s = document.getElementsByTagName('link')[0];
s.parentNode.insertBefore(ds, s);
}
}
/*
JSTarget function by Roger Johansson, www.456bereastreet.com
*/
var JSTarget = {
init: function(att,val,warning) {
if (document.getElementById && document.createElement && document.appendChild) {
var strAtt = ((typeof att == 'undefined') || (att == null)) ? 'rel' : att;
var strVal = ((typeof val == 'undefined') || (val == null)) ? 'extern' : val;
var arrLinks = document.getElementsByTagName('a');
var oLink;
var oRegExp = new RegExp("(^|\\s)" + strVal + "(\\s|$)");
for (var i = 0; i < arrLinks.length; i++) {
oLink = arrLinks[i];
if ((strAtt == 'class') && (oRegExp.test(oLink.className)) || (oRegExp.test(oLink.getAttribute(strAtt)))) {
oLink.onclick = JSTarget.openWin;
}
}
oWarning = null;
}
},
openWin: function(e) {
var event = (!e) ? window.event : e;
if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return true;
else {
var href = this.getAttribute('href');
var re = /^(https?:\/\/[^\/]+).*$/;
var currentHref = window.location.href.replace(re, '$1');
var reLocal = new RegExp('^' + currentHref.replace(/\./, '\\.'));
var selfLnk = new RegExp('www.wien-ticket.at');
var ppLnk = new RegExp('www.paypal.com');
var orderLnk = new RegExp('order.wien-ticket.at');
if (href == '' || reLocal.test(href) || (!/^http/.test(href) && !/^https/.test(href)) || ppLnk.test(href) || orderLnk.test(href) || selfLnk.test(href)) {
//no google tracking
} else {
ga('send', 'event', 'Link_extern', 'click', href);
}
var oWin = window.open(href, '_blank');
if (oWin) {
if (oWin.focus) oWin.focus();
return false;
}
oWin = null;
return true;
}
}
};
function trackingExternalUrls(){
var re = /^(https?:\/\/[^\/]+).*$/;
var currentHref = window.location.href.replace(re, '$1');
var reLocal = new RegExp('^' + currentHref.replace(/\./, '\\.'));
var selfLnk = new RegExp('www.wien-ticket.at');
var ppLnk = new RegExp('www.paypal.com');
var orderLnk = new RegExp('order.wien-ticket.at');
var linksDiv = document.getElementById("content");
if (linksDiv == null) return;
var links = linksDiv.getElementsByTagName("a");
for (var i = 0; i < links.length; i++)
{
if(links[i].rel === undefined){
var href = links[i].href;
if (href == '' || reLocal.test(href) || (!/^http/.test(href) && !/^https/.test(href)) || ppLnk.test(href) || orderLnk.test(href) || selfLnk.test(href))
continue;
if (links[i].className != undefined)
{
links[i].className += ' externallink';
}
else
{
links[i].className = 'externallink';
}
links[i].onclick = function(e) {
var lnkhref = this.href;
var lnktarget = this.target;
ga('send', 'event', 'Link_extern', 'click', lnkhref);
}
}
}
}
// -----------------------------------------------------------------------------------
function focusLabels() {
if (!document.getElementsByTagName) return false;
var labels = document.getElementsByTagName("label");
if (labels.length < 0) return false;
for (var i=0; i<labels.length; i++) {
if (!labels[i].getAttribute("for")) continue;
labels[i].onclick = function() {
var id = this.getAttribute("for");
if (!document.getElementById(id)) return false;
var element = document.getElementById(id);
element.focus();
}
}
}
// https://gist.github.com/1038035
var iPadLabels = function () {
function fix() {
var labels = document.getElementsByTagName('label'),
target_id,
el;
for (var i = 0; labels[i]; i++) {
if (labels[i].getAttribute('for')) {
labels[i].onclick = labelClick;
}
}
};
function labelClick() {
el = document.getElementById(this.getAttribute('for'));
if (['radio', 'checkbox'].indexOf(el.getAttribute('type')) != -1) {
el.setAttribute('selected', !el.getAttribute('selected'));
} else {
el.focus();
}
};
return {
fix: fix
}
}();
//ANALYTICS
function setProductName(title){
productname = title;
console.info(productname);
}
function analyticsAddItem(price, quantity){
console.info("analytics name:"+productname+" preis:"+price+" quantity:"+quantity);
}
productcount=0;
function analyticsAddTransItem(detailtitle, title, price, quantity){
productcount = productcount + 1;
price = price.replace(/&nbsp;EUR/, "");
price = price.replace(",", ".");
price = parseFloat(price);
quantity = parseInt(quantity);
price = price / quantity;
ga('ecommerce:addItem', {
'id': ordertransid,       // Transaction ID. Required.
'name': title,    		// Product name. Required.
'sku': detailtitle,       // SKU/code.
'category': '',           // Category or variation.
'price': price,           // Unit price.
'quantity': quantity,		// Quantity.
'currency': 'EUR'  		// local currency code.
});
}
function analyticsAddTrans(orderid, shopname, total, tax, shipping, city, state, country){
ordertransid = orderid;
total = total.replace(/&nbsp;EUR/, "");
total = total.replace(",", ".");
total = parseFloat(total);
ga('ecommerce:addTransaction', {
'id': orderid,            // Transaction ID. Required
'affiliation': shopname,  // Affiliation or store name
'revenue': total,         // Grand Total
'shipping': '',           // Shipping
'tax': '',                // Tax
'currency': 'EUR'  		// local currency code.
});
$(document).ready(function(){
bingAddTrans(total);
});
}
function bingAddTrans(total){
var sum = total; //total.toString();
if($("#ordersum").length > 0) {
window.uetq = window.uetq || [];
window.uetq.push('event','purchase', { 'event_category':'shop', 'event_value': GetRevenueValue(),  'revenue_value': GetRevenueValue(), 'currency': 'EUR' });
}
else {
window.uetq = window.uetq || [];
window.uetq.push('event','purchase', { 'event_category':'shop', 'event_value': sum });
}
}
function GetRevenueValue() {
return parseFloat($("#ordersum").html().replace(/,/, '.').replace(/[^\d.-]/g, ''));
}
function trackCheckout(stepNumber, stepOption) {
ga('WTtesting.ec:setAction', 'checkout', {
'step': stepNumber,
'option': shippingOption
});
}
if (typeof showLoaderOverlay != "function") {
function showLoaderOverlay(){
$('.genericload').removeClass('hidden');
}
}
if (typeof hideLoaderOverlay != "function") {
function hideLoaderOverlay(){
$('.genericload').addClass('hidden');
}
}
window.onpageshow = function() {
hideLoaderOverlay(); //some Browsers show the previous site in its state when left so the loadOverlay would still be visible there
};
function trackbasket () {
if($("body").hasClass("baskethasitemsfromdifferentplattforms")) {
ga('send', {
hitType: 'event',
eventCategory: 'multibasket',
eventAction: 'singlebasketview',
eventLabel: 'Ansicht eines Warenkorbes mit Tickets in einem anderen Warenkorb'
});
}
}
function trackwarenkorb () {
if($("body").hasClass("baskethasitems") && !$("body").hasClass("baskethasnoitems")) {
ga('send', {
hitType: 'event',
eventCategory: 'multibasket',
eventAction: 'conversion_1',
eventLabel: 'Abschluss eines Warenkorbes mit Tickets in einem anderen Warenkorb'
});
}
else if($("body").hasClass("baskethaditemsfromdifferentplattforms")) {
ga('send', {
hitType: 'event',
eventCategory: 'multibasket',
eventAction: 'conversion_2',
eventLabel: 'Abschluss des letzten Warenkorbes wenn vorher in mehreren Warenkörben Tickets waren'
});
}
}
//custom function für den "tickets in den Warenkorb legen" Button bei der Bestplatzbuchung
function stickincontainer(){
var elementSelector = '.button_AddToCart, #tabsections-content-bestplatzbuchung button[type="submit"]';
var containerSelector = "#idform_5to7";
var spaceBetween = 0;
$(elementSelector+":not(.stickincontainer_initialized)").each(function(){
$(this).addClass("stickincontainer_initialized");
if($(this).closest(containerSelector).length) {
var container = $(this).closest(containerSelector);
var stickelem = $(this);
if(container.css("position") != "relative" && container.css("position") != "absolute") {
container.css("position", "relative");
}
container.addClass("stickincontainer_container");
$(window).on("load resize scroll",function(e){
stickelem.trigger("stickincontainer_reposition");
});
stickelem.on("stickincontainer_reposition", function(){
var container = $(this).closest(containerSelector);
var stickelem = $(this);
container.css("padding-bottom", stickelem.outerHeight()+spaceBetween);
stickelem.css("position", "absolute");
stickelem.css("bottom", "0");
stickelem.css("right", "0");
var bottom_of_container = (container.offset().top + container.outerHeight());
var bottom_of_screen = ($(window).scrollTop() + $(window).height());
//console.log("bottom_of_container:" + bottom_of_container);
//console.log("bottom of screen:" + bottom_of_screen);
var bottom = bottom_of_container - bottom_of_screen;
if( bottom < 0) {
bottom = 0;
}
stickelem.css("bottom", bottom);
});
}
});
}
//custom function that changes attributes so that they are routed over the resourcedeliverer rather than directly
function resource_deliver_change(){
$("[data-resourcedeliverer]").each(function(){
$(this).removeAttr("data-resourcedeliverer");
if($(this).attr("data-src") != undefined) {
$(this).attr("src", "/tools/resource_deliverer.php?address="+encodeURIComponent($(this).attr("data-src")));
}
if($(this).attr("data-href") != undefined) {
$(this).attr("href", "/tools/resource_deliverer.php?address="+encodeURIComponent($(this).attr("data-href")));
}
});
}
function setBigEventImage(){
var headerHeight = $("#header").height();
var bIHeight = 0;
var wWidth = $(window).width();
var wHeight = $(window).height();
if(wWidth > 1023){
bIHeight = wHeight - headerHeight;
if(bIHeight>524) bIHeight=524;
$("#bigeventimage").css("height",bIHeight);
} else {
$("#bigeventimage").css("height","");
}
//$("#bigeventimage").focusPoint('adjustFocus');
}
$(function(){
stickincontainer();
resource_deliver_change();
});