var SESSDBannerOptionMenuSelector = ""; if(typeof softengine == 'undefined') softengine = {}; /** * This class is building the banner * * @author Hendrik Weiler * @constructor softengine.SSDBanner */ softengine.SSDBanner = (function(document, window, undefined) { var Object = function() { this.bannerWrapper = document.createElement('div'); this.booked = false; this.date = '2018/06/21 11:00:00'; this.html = ''; } Object.prototype.isMobile = function() { var check = false; (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera); return check; }; Object.prototype.positioningBanner = function() { var ssdTeaser = jQuery('.se-ssd-teaser'), rect = ssdTeaser.get(0).getBoundingClientRect(); if(!this.isMobile()) { ssdTeaser.css('top', jQuery(window).height()/2 - rect.height/2); } else { var menuHeight =jQuery('.menu').get(0); if(typeof menuHeight != 'undefined') { menuHeight = menuHeight.getBoundingClientRect(); ssdTeaser.css('top', menuHeight.height); } } var imgs = this.bannerWrapper.getElementsByTagName('img'); if($(window).width() < 600) { jQuery(imgs[0]).addClass('less600'); } else { jQuery(imgs[0]).removeClass('less600'); } } Object.prototype.startTimer = function() { var self = this, ssdTeaser = jQuery('.se-ssd-teaser'), ssdTeaserContainer = jQuery('.se-ssd-teaser-container'), ssdTimer = jQuery('#se-ssd-timer'); jQuery(window).bind('resize', this.positioningBanner.bind(this)); this.positioningBanner(); var close = ssdTeaser.find('.ssd-close'); close.click(function() { ssdTeaser.hide(); }); ssdTimer.countdown(this.date, function(event) { var days = event.offset.totalDays, minutes = event.offset.minutes, hours = event.offset.hours+1, seconds = event.offset.seconds; if(minutes < 10) minutes = '0' + minutes; if(hours < 10) hours = '0' + hours; if(seconds < 10) seconds = '0' + seconds; ssdTimer.html(''); var dSpan = jQuery('',{'class':'se-counter se-days'}), mSpan = jQuery('',{'class':'se-counter se-minutes'}), hSpan = jQuery('',{'class':'se-counter se-hours'}), sSpan = jQuery('',{'class':'se-counter se-seconds'}); dSpan.text(days); mSpan.text(minutes); hSpan.text(hours); sSpan.text(seconds); ssdTimer.append(dSpan,hSpan,mSpan,sSpan); }); }; Object.prototype.getScript = function(src, callback) { var s = document.createElement('script'); s.src = src; s.async = true; s.onreadystatechange = s.onload = function() { if (!callback.done && (!s.readyState || /loaded|complete/.test(s.readyState))) { callback.done = true; callback(); } }; document.querySelector('head').appendChild(s); } /** * Lets you call a GET Request * * @method requestURL * @param string url The url * @param Function callback The result of the request * @param string data Type of request GET, POST, PUT ... * @return void Nothing */ Object.prototype.requestURL = function(url, callback, data, x) { try { var x; if (window.XDomainRequest) x = new XDomainRequest(); else if (window.XMLHttpRequest) x = new XMLHttpRequest(); else x = new ActiveXObject("Microsoft.XMLHTTP"); x.onreadystatechange = x.onload = function () { // if ie if(typeof x.readyState == 'undefined') { callback && callback(x.responseText, x); } else { x.readyState > 3 && callback && callback(x.responseText, x); } }; x.open(data ? 'POST' : 'GET', url, 1); if(x.setRequestHeader) { x.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); } x.send(data); } catch (e) { window.console && console.log(e); } } Object.prototype.loadDependencies = function(cb) { var self = this; var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = 'https://softengine.de/ssd-banner-embed/ssdBanner.css?'+new Date().getTime(); link.media = 'all'; head.appendChild(link); head = document.getElementsByTagName('head')[0]; link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = 'https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700'; link.media = 'all'; //head.appendChild(link); // always load newest jquery this.getScript('https://softengine.de/ssd-banner-embed/jquery.min.js?'+new Date().getTime(), function() { self.getScript('https://softengine.de/ssd-banner-embed/jquery.countdown.min.js?'+new Date().getTime(), function() { cb(); }); }); } Object.prototype.render = function() { var self = this; this.loadDependencies(function() { self.requestURL('https://softengine.de/ssd-banner-embed/getHTML.php', function(result) { self.html = result; self.bannerWrapper.innerHTML = self.html; document.body.appendChild(self.bannerWrapper); if(self.booked) { var imgs = self.bannerWrapper.getElementsByTagName('img'); imgs[0].style.display = 'block'; } self.startTimer(); }); }); } return Object; })(document, window); // ie8 polyfill var method = 'attachEvent'; if(window.addEventListener) { method = 'addEventListener'; } // init banner window[method]("load", function load(event) { window.removeEventListener("load", load, false); // Listener entfernen, da nicht mehr benötigt var banner = new softengine.SSDBanner(); banner.render(); }, false);