// load time counter
window.d21_getLoadTime = function(comment){
// console.log('d21-client loading time: ' + comment,window.d21_counter /1000);
// window.d21_counter = 0;
}
window.d21_getLoadTime('appController start');
/* ########################################################################################################## */
/* ####################################### d21_AppController ################################ */
/* ########################################################################################################## */
var d21_appController = function() {
var self = this;
self.isMinimal = window.location.host.indexOf('romantikhotels') != -1;
self.widgets = { list: [] };
self.widgetUrl = "https://widgets-default.dirs21.de";
self.ibeBaseUrl = "https://v4.ibe.dirs21.de/";
self.toccBaseUrl = "https://api-default.tocc.dirs21.de";
self.cdnUrl = self.toccBaseUrl + "/v1/cdn";
self.tourDataUrl = "https://www.dirs21.de/TourData";
self.dependecies = {
pickadateLoaded: false
},
self.widgetOptions = {
isTransitHotel: false,
roomLimit: 5,
currency: "EUR",
isMobile: false,
hasCities: false,
hasPropertyTypeSearch: false,
isGroupSDK: false,
hasJquery: false,
hasHorizontalOrientation: true,
lang: "de-DE",
isWIX: false,
Property_Token: "X5Jp9J", Channel_Token: "QYXeYf", Group_Token: "", Directory: "/baltic-heiligenhafende/",
DisplayMode: "ArrivalLos",
guid: "e998307f-ec7c-4d8c-a737-2a4bdf616d43",
id: 23866
};
self.d21_CustomCode_options = {
script: ""
}
self.d21_GA_options = {
uaCode: "",
hasCrossDomainTracking: false,
isActive: false
}
self.d21_CustomStyle_options = {
css: "#d21-quickbook{ display: flex; justify-content: center; z-index:1001; margin-top: 25px;}#content { overflow: visible;}"
}
self.d21_quickbook_options = {
fieldTexts: {
headline: "Suchen & Buchen",
apply: "Übernehmen",
arrival: "Anreise",
departure: "Abreise",
addRoom: "weiteres Zimmer buchen",
Age: "Jahr",
single: {
room: "Zimmer",
adult: "Erwachsener",
child: "Kind"
},
multi: {
room: "Zimmer",
adult: "Erwachsene",
child: "Kinder"
},
total: "insgesamt",
avail: "verfügbar",
notavail: "nicht verfügbar",
atLeast: "mindestens",
guestNights: "Übernachtungen",
next: "weiter",
from: "ab ",
maxOccupancyReached: "maximale Belegung erreicht",
in: "in",
accommodation: "Beherbergung: Hotels, Gasthöfe und Pensionen ",
propertyType: "property_type",
oclock: "Uhr",
close: "Schließen"
},
occupancy: {
room: [{
adult: 2,
child: [
]
}]
},
preselect: {
adultCount: 2
},
los:1,
isExtend: true,
hasSearchByPropertyType: false,
hasMinPriceVisible: true,
isHidden: false,
hasTravelingPrivateField: false
}
self.d21_smallCalendar_options = {
fieldTexts: {
minNights:"min_nights",
minNight:"min_night"
}
}
self.d21_bigCalendar_options = {
fieldTexts: {
night: "Nacht",
nights: "Nächte",
rooms: "Zimmer",
adult: "Erwachsener",
adults: "Erwachsene",
child: "Kind",
childs: "Kinder",
prevWeek: "Eine Woche früher",
nextWeek: "one_week_later",
from: "ab",
prevWeek: "Eine Woche früher",
notavail: "nicht verfügbar",
avail: "verfügbar",
maxOccupancyReached: "maximale Belegung erreicht",
noArrival: "no_arrival",
noDeparture: "keine Abreise",
stays: "stays",
possible: "possible",
addRoom: "weiteres Zimmer buchen",
searchOneWeekBefore: "Eine Woche früher suchen",
searchOneWeekAfter: "Eine Woche später suchen",
allHotels: "Alle Hotels"
}
}
self.d21_roomList_options = {
fieldTexts: {
noDescription: "no_description_available",
book: "book",
from: "ab",
min: "min",
max: "max"
},
hasMinMaxPersons: true,
hasAmenities: false,
hasCalendar: true,
defaultPageSize: 10
}
self.d21_packageList_options = {
fieldTexts: {
noDescription: "no_description_available",
details: "Details",
availableBetween: "verfügbar zwischen",
for: "für",
and: "und",
to: "to",
bookable: "buchbar",
night: "Nacht",
nights: "Nächte",
per: "per",
person: "Person",
noBenefitsAvailable: "no_benefits_available",
city: "Ort",
allCategories: "all_categories",
arrival: "Anreise",
results: "Ergebnisse",
removeFilter: "remove_filter",
services: "Services"
},
hasAmenities: true,
hasCalendar: true,
hasFilter: false,
defaultPageSize: 10,
hasSortByPosition: false
}
self.d21_hostdirectory_options = {
fieldTexts: {
details: "Details",
book: "book",
approach: "directionsi",
approach: "approach"
},
hasFilterOutside: true
}
self.d21_menuList_options = {
fieldTexts: {
mainmeal: "main_meal",
soup: "soup",
outspecialwine: "our_special_wine_recommendation",
ourdailyschmankerl: "our_daily_schmankerl",
fromfish: "from_fish",
meatlessandsmallmeals: "meatless_and_small_meals",
dessert: "dessert"
},
hasFilterOutside: true
}
self.fn = {
register: function(widget) { self.widgets[widget.name] = widget; self.widgets.list.push(widget); },
getWidgets: function() { return self.widgets.list; },
getWidget: function(name) { return self.widgets[name]; },
onWidgetCommand: function(target, cb) {
var widget = self.fn.getWidget(target);
if (widget != null) cb(widget);
}
}
};
d21_app = new d21_appController();
var d21_widget_api = null;
/* ########################################################################################################## */
/* ####################################### d21_Resources ##################################### */
/* ########################################################################################################## */
(function() {
var d21_cssController = function() {
var self = this;
self.name = 'Css';
self.fn = {
init: function() { },
start: function() {
var head = d21_jq('head');
if (d21_app.isMinimal) {
head.prepend("");
head.prepend("");
}
else {
head.prepend("");
head.prepend("");;
head.prepend("");head.prepend("");
head.prepend("");head.prepend("");head.prepend("");head.prepend("");
head.prepend("");
}
}
}
}
// register me
d21_app.fn.register(new d21_cssController());
var inter = setInterval(function () {
if (typeof window.basket !== 'undefined') {
clearInterval(inter);
var d21_jsController = function() {
var self = this;
self.name = 'Js';
self.fn = {
init: function() { },
start: function() {
if(window.jQuery != undefined) window.orgJQuery = jQuery;
if (d21_app.isMinimal) {
basket.require(
{ url: 'https://widgets-default.dirs21.de/bundle/js/base/' + window.d21_app.widgetOptions.lang, skipCache: true }
).then(function() {
d21_app.fn.getWidget('Css').fn.start();
d21_app.fn.getWidget('Base').fn.start();
basket.require({ url: 'https://widgets-default.dirs21.de/bundle/js/ibe', skipCache: true }).then(function(){d21_app.fn.onWidgetCommand('Ibe', function(widget){ widget.fn.start(); });});
});
}
else {
basket.require(
{ url: 'https://widgets-default.dirs21.de/bundle/js/jquery' , key: 'd21_jq', skipCache: true },
{ url: 'https://widgets-default.dirs21.de/bundle/js/base/' + window.d21_app.widgetOptions.lang + '?b=4.1', skipCache: true }
).then(function(){
d21_app.fn.getWidget('Css').fn.start();
d21_app.fn.getWidget('Base').fn.start();
d21_app.fn.getWidget('GoogleAnalytics').fn.start();
basket.require({ url: 'https://widgets-default.dirs21.de/bundle/js/widgets?sdk_id=e998307f-ec7c-4d8c-a737-2a4bdf616d43', skipCache: true }).then(function(){d21_app.fn.onWidgetCommand('widgets', function(widget){ widget.fn.start(); });});
});
}
}
}
}
// register me
d21_app.fn.register(new d21_jsController());
d21_app.fn.getWidget('Js').fn.start();
}
}, 10);
})();