").append(i.parseHTML(n)).find(u):n)}).complete(r&&function(n,t){f.each(r,o||[n.responseText,t,n])}),this},i.expr.filters.animated=function(n){return i.grep(i.timers,function(t){return n===t.elem}).length},tr=n.document.documentElement,i.offset={setOffset:function(n,t,r){var e,o,s,h,u,c,v,l=i.css(n,"position"),a=i(n),f={};"static"===l&&(n.style.position="relative");u=a.offset();s=i.css(n,"top");c=i.css(n,"left");v=("absolute"===l||"fixed"===l)&&i.inArray("auto",[s,c])>-1;v?(e=a.position(),h=e.top,o=e.left):(h=parseFloat(s)||0,o=parseFloat(c)||0);i.isFunction(t)&&(t=t.call(n,r,u));null!=t.top&&(f.top=t.top-u.top+h);null!=t.left&&(f.left=t.left-u.left+o);"using"in t?t.using.call(n,f):a.css(f)}},i.fn.extend({offset:function(n){if(arguments.length)return void 0===n?this:this.each(function(t){i.offset.setOffset(this,n,t)});var t,f,u={top:0,left:0},r=this[0],e=r&&r.ownerDocument;if(e)return t=e.documentElement,i.contains(t,r)?(typeof r.getBoundingClientRect!==o&&(u=r.getBoundingClientRect()),f=wf(e),{top:u.top+(f.pageYOffset||t.scrollTop)-(t.clientTop||0),left:u.left+(f.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):u},position:function(){if(this[0]){var n,r,t={top:0,left:0},u=this[0];return"fixed"===i.css(u,"position")?r=u.getBoundingClientRect():(n=this.offsetParent(),r=this.offset(),i.nodeName(n[0],"html")||(t=n.offset()),t.top+=i.css(n[0],"borderTopWidth",!0),t.left+=i.css(n[0],"borderLeftWidth",!0)),{top:r.top-t.top-i.css(u,"marginTop",!0),left:r.left-t.left-i.css(u,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var n=this.offsetParent||tr;n&&!i.nodeName(n,"html")&&"static"===i.css(n,"position");)n=n.offsetParent;return n||tr})}}),i.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(n,t){var r=/Y/.test(t);i.fn[n]=function(u){return b(this,function(n,u,f){var e=wf(n);return void 0===f?e?t in e?e[t]:e.document.documentElement[u]:n[u]:void(e?e.scrollTo(r?i(e).scrollLeft():f,r?f:i(e).scrollTop()):n[u]=f)},n,u,arguments.length,null)}}),i.each(["top","left"],function(n,t){i.cssHooks[t]=au(r.pixelPosition,function(n,r){if(r)return(r=d(n,t),pt.test(r)?i(n).position()[t]+"px":r)})}),i.each({Height:"height",Width:"width"},function(n,t){i.each({padding:"inner"+n,content:t,"":"outer"+n},function(r,u){i.fn[u]=function(u,f){var e=arguments.length&&(r||"boolean"!=typeof u),o=r||(u===!0||f===!0?"margin":"border");return b(this,function(t,r,u){var f;return i.isWindow(t)?t.document.documentElement["client"+n]:9===t.nodeType?(f=t.documentElement,Math.max(t.body["scroll"+n],f["scroll"+n],t.body["offset"+n],f["offset"+n],f["client"+n])):void 0===u?i.css(t,r,o):i.style(t,r,u,o)},t,e?u:void 0,e,null)}})}),i.fn.size=function(){return this.length},i.fn.andSelf=i.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return i}),bf=n.jQuery,kf=n.$,i.noConflict=function(t){return n.$===i&&(n.$=kf),t&&n.jQuery===i&&(n.jQuery=bf),i},typeof t===o&&(n.jQuery=n.$=i),i})
var clickEventType;
var dateToReq = function (date) {
var d = date ? new Date(date) : new Date();
var curr_month = (d.getMonth() + 1) > 9 ? d.getMonth() + 1 : '0' + (d.getMonth() + 1);
var curr_day = d.getDate() > 9 ? d.getDate() : '0' + d.getDate();
return d.getFullYear() + "-" + curr_month + "-" + curr_day;
};
var dateFormat = function (date) {
var days = ['Воскресенье','Понедельник','Вторник','Среда','Четверг','Пятница','Суббота']
var monthes = ['Января','Февраля','Марта','Апреля','Мая','Июня','Июля','Августа','Сентября','Октября','Ноября','Декабря']
var d = date ? new Date(date) : new Date();
return days[d.getDay()] + ", " + d.getDate() + " " + monthes[d.getMonth()];
};
var emailValid = true ? '
' : '',
pref = 'ru' === 'ua' ? '+38' : '+7';
var qSettings = {
rooms: JSON.parse('[{"emotions":"0,0,0,1,0","legend":"В глубине души вы всегда знали, что любознательность до добра не доводит. Вот и сейчас вы всего лишь хотели сходить в поход и полюбоваться красотами родного края, но заблудились в лесу и набрели на странную хижину, которая оказалась домом шамана древнего местного племени. Думали, что спокойно проведете там ночь? Кажется, у шаманов другие планы, и кто-то из них обсуждает обряд вызова духов, для которого нужна свежая кровь чужеземцев. До полуночи час, время уносить ноги, ваша кровь вам еще пригодится.","style":"darkStyle","shortDescription":"","orderListYa":"","orderSingleYa":"button_hizhina","orderAllYa":"","id":"589fd9df5296870e37351ae9","createdAt":1486871007090,"updatedAt":1762769476440,"title":"Хижина шамана","description":"Жанр: Приключения Команда: 2-4 человека Возраст: от 14 лет самостоятельно, от 6 лет со взрослыми Детская версия с персонажем для детей 8-12 лет: есть (доплата за детскую версию на команду 2-4 ребенка - 500 р.). Внимание! Поздние игры (на 21:00 и 21:30) бронируются по предоплате 50%. В случае неявки команды предоплата не возвращается. Возможно также бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","type":"Квесты в реальности","minTime":0,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/cef48fbc-cdff-43c2-8795-c0b039c8e573.jpg","city":"г Кемерово ","isActive":true,"playersMin":2,"playersMax":4,"playersMaxi":6,"maxDays":60,"position":0,"isDiscount":false,"isAgregator":false,"r_atmosphere":10,"r_plot":5,"r_puzzle":6,"r_mobility":9,"r_clean":6,"r_team":7,"r_middle":7,"rooms":["676d5c64fd48593c74a50527","5e304cce4000c120d4d3367e"],"options":[{"title":"Детский вариант (8-12 лет)","margin":"500","comment":"2-4 игрока"},{"title":"Банкетная комната 30 мин.","margin":"1000"},{"title":"Банкетная комната 1 час","margin":"2000","comment":null}],"actors":false,"isIncrease":true,"increase":800,"isNewMarker":false,"increaseType":"руб","maxAge":14,"telephone":"+7 (904) 990 3333","level":"Средний","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e0ed62b1e680fe21ed0","59145e35d62b1e680fe21edc","59145e76d62b1e680fe21ef0"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"emotions":"0,0,0,0,5","legend":"Согласно легенде, по коридорам этого древнего замка тамплиеров скитается призрак магистра ордена. Ради встречи с ним вы и отправились сюда. Правда, не учли, что этот коварный рыцарь вовсе не жалует непрошенных гостей. Двери замка захлопнулись, и вы оказались наедине с призраком в его логове. Удастся ли вам выбраться? ","style":"darkStyle","orderListYa":"","orderSingleYa":"button_tampl","orderAllYa":"","id":"589fde7f84da15bc38a4ab75","createdAt":1486872191066,"updatedAt":1764425770634,"title":"Тайна замка тамплиеров","description":"Жанр: Приключения Команда: 2-4 человека. Возраст: от 14 лет самостоятельно, от 6 лет со взрослыми. Детская версия с персонажем для детей 8-12 лет: есть (доплата за детскую версию на команду 2-4 ребенка - 500 р.). Внимание! Поздние игры (на 21:00 и 21:30) бронируются по предоплате 50%. В случае неявки команды предоплата не возвращается. Возможно также бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","type":"Квесты в реальности","minTime":0,"img":"https://questadmin.s3.amazonaws.com/img/poster/69a1187b-4fab-496f-ad43-ab1fd6c6f6e3.jpg","city":"г Кемерово ","isActive":true,"playersMin":2,"playersMax":4,"playersMaxi":6,"maxDays":60,"position":1,"isDiscount":false,"isAgregator":false,"r_atmosphere":10,"r_plot":10,"r_puzzle":10,"r_mobility":10,"r_clean":10,"r_team":10,"r_middle":10,"rooms":["5e304dbe4000c120d4d33681","676d5d76fd48593c74a5052d"],"options":[{"title":"Детский вариант (8-12 лет)","margin":"500","comment":"2-4 игрока"},{"title":"Банкетная комната 1 час","margin":"2000"},{"title":"Банкетная комната 30 мин.","margin":"1000","comment":null}],"actors":false,"isIncrease":true,"increase":800,"isNewMarker":false,"increaseType":"руб","maxAge":14,"telephone":"+7 (904) 990 3333","level":"Средний","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e14d62b1e680fe21ed2","59145e35d62b1e680fe21edc","59145e49d62b1e680fe21ee2","59145e76d62b1e680fe21ef0","59145e83d62b1e680fe21ef4"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"shortDescription":" Данный квест задействует декорации проекта «Хостел. Подвал пыток».","legend":"Лекарство от здоровья. ДОБРО ПОЖАЛОВАТЬ В БОЛЬНИЦУ, ГДЕ ЛЕЧАТ... БЕЗУМИЕМ Вы — новая партия подопытных,но не знаете об этом. Вас заманили на экскурсию. Двери захлопнулись. Свет погас. Хозяин этого ада — вундеркинд, с детства запертый в клетке правил. Он ненавидит контроль. Он обожает хаос. Его оружие — таблетки, после которых невозможно себя контролировать. Вас ждут: -ВРАГИ В БЕЛЫХ ХАЛАТАХ: Актеры, которые будут давить на психику, провоцировать и вовлекать в свой бред. -ПОГОНЯ ЗА ПРОТИВОЯДИЕМ: Головоломки, спрятанные в палатах, где стены помнят крики и смех. -БИТВА С СОБОЙ: Самое сложное — не поддаться эмоциям, когда они выходят из-под контроля. Сможете ли вы перехитрить того, кто знает о слабостях человеческой психики всё? Найдете ли силу воли, когда ваш разум будет взорван? КВЕСТ «ЛЕКАРСТВО ОТ ЗДОРОВЬЯ» — ЭТО ВЫЗОВ САМОМУ СЕБЕ. ПРИМИ ЕГО.","id":"68fa472e001da40829f031ba","createdAt":1761232686639,"updatedAt":1762770163693,"title":"Лекарство от здоровья","title_en":"","description":"Перфоманс — это не просто квест, а полноценное погружение в хоррор-сюжет, где актеры становятся вашими главными проводниками в мир ужаса. Он создан для тех, кто хочет не просто разгадывать загадки, а чувствовать адреналин и проживать историю наяву. В квесте присутствуют два профессиональных актера. Они — не просто декорация, а полноценные персонажи истории, которые будут провоцировать, направлять и взаимодействовать с вами.","description_en":"","type":"Перформансы","minTime":60,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/695f6104-c89b-4e2d-8a04-0f014c95d7d5.jpg","city":"г Кемерово ","logo":"","isActive":true,"playersMin":2,"playersMax":4,"playersMaxi":6,"maxDays":30,"position":2,"discountOrders":0,"discountPercents":0,"isDiscount":false,"isAgregator":true,"getApi":"","postApi":"","apiType":"","apiKey":"","isIntegrate":false,"r_atmosphere":0,"r_plot":0,"r_puzzle":0,"r_mobility":0,"r_clean":0,"r_team":0,"r_middle":0,"r_emotions":"","rooms":["68fa472e001da40829f031ba","58a68b88b0e378cb178c385e","675bd9dba8e1cc4a840f9c41","6148ab46f6e29049e6f93afd"],"options":[{"title":"Банкетная комната, 1 час","margin":"2000"},{"title":"Банкетная комната, 30 мин.","margin":"1000","comment":null},{"title":"Премиум версия","margin":"2000"}],"actors":true,"isIncrease":true,"increase":800,"isNewMarker":true,"increaseType":"руб","maxAge":14,"telephone":"89043760058","level":"Сложный","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145e05d62b1e680fe21ece"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"legend":"Стены этого подвала помнят такие ужасы, о которых не говорят вслух. Самые изощренные садисты устраивают здесь свои оргии, и сегодня вы — главное блюдо на их праздничном столе. Если вы еще не поняли, то вы — жертвы клуба садистов, и кто-то заплатил немалую сумму, чтобы насладиться пытками, которые вам вряд ли удастся пережить. Самое время убираться отсюда!","style":"darkStyle","orderSingleYa":"button_hostel","shortDescription":"","id":"58a68b88b0e378cb178c385e","createdAt":1487309704768,"updatedAt":1764425893200,"title":"Хостел","description":"Жанр: Интеллектуальный триллер. Возраст: от 16 лет (с собой необходимо взять документ и предъявить администратору по запросу). Рекомендуется приходить в удобной, не сковывающей движения одежде, в обуви без каблуков. Детский вариант: нет. По согласованию с администратором возможно также проведение квеста в иное время, помимо указанного в расписании - уточняйте подробности по телефону 89049903333. При выборе дополнительной опции «С актером» - необходимо согласовать эту опцию с администратором по телефону 89049903333 не менее, чем за сутки до игры.","type":"Квесты в реальности","minTime":0,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/f0176bfa-1ad6-440d-8e0a-28425db5ae4a.jpg","city":"г Кемерово ","isActive":true,"playersMin":2,"playersMax":4,"playersMaxi":6,"maxDays":60,"position":3,"isDiscount":false,"isAgregator":false,"rooms":["58a68b88b0e378cb178c385e","6148ab46f6e29049e6f93afd","675bd9dba8e1cc4a840f9c41","68fa472e001da40829f031ba"],"options":[{"title":"Банкетная комната 1 час","margin":"2000"},{"title":"Банкетная комната 30 мин.","margin":"1000","comment":null},{"title":"С актером","margin":"750","comment":"Необходимо предварительное согласование с администратором за сутки до игры"}],"actors":false,"isIncrease":true,"increase":800,"isNewMarker":false,"increaseType":"руб","maxAge":16,"telephone":"+7 (904) 990 3333","level":"Сложный","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e05d62b1e680fe21ece","59145e14d62b1e680fe21ed2","59145e49d62b1e680fe21ee2"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"shortDescription":"","legend":"Вы — члены банды, которая ночью ограбила дом известного коллекционера. Планировали украсть бесценное собрание эскизов Пабло Пикассо. Сигнализация не сработала, охраны не было. Но потом всё пошло наперекосяк: нагрянула полиция, завязалась перестрелка, а тубус с украденными картинами куда-то пропал! Вы вернулись на конспиративную квартиру ни с чем. Босс недоволен. Куда пропали картины? Кто из подельников — полицейский крот? Выясните правду, или босс вышибет вам мозги. Здесь нет друзей. Любой может оказаться предателем. И каждому есть что скрывать. Врите, угрожайте, шантажируйте, блефуйте, но не сболтните лишнего, иначе вас ждёт расплата","orderSingleYa":"button_rasplata","id":"5e0596c40939786ffcdd2e58","createdAt":1577424580069,"updatedAt":1761717058642,"title":"Расплата","title_en":"","description":"Жанр: Детектив Команда: 4-6 человек Возраст: от 14 лет. Внимание! Поздние игры (на 21:00 и 21:30) бронируются по предоплате 50%. В случае неявки команды предоплата не возвращается. Возможно также бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","description_en":"","type":"Квесты в реальности","minTime":120,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/48b12524-7f51-4ce6-8676-04f38716ea2b.jpg","city":"г Кемерово ","logo":"","isActive":true,"playersMin":4,"playersMax":4,"playersMaxi":6,"maxDays":12,"position":4,"discountOrders":0,"discountPercents":0,"isDiscount":false,"isAgregator":true,"getApi":"","postApi":"","apiType":"","apiKey":"","isIntegrate":false,"r_atmosphere":0,"r_plot":0,"r_puzzle":0,"r_mobility":0,"r_clean":0,"r_team":0,"r_middle":0,"r_emotions":"","rooms":[],"options":[{"title":"Банкетная комната 30 мин.","margin":"600"},{"title":"Банкетная комната 1 час","margin":"1000","comment":null}],"actors":false,"isIncrease":true,"increase":750,"isNewMarker":true,"increaseType":"руб","maxAge":14,"telephone":"+7 (904) 990 3333","level":"Средний","time":70,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e69d62b1e680fe21eec"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"shortDescription":"","legend":"Злые духи наслали на Землю заклятие вечной печали. Чтобы снять его, Верховный Шаман должен провести магический обряд. Но без помощи своих учеников ему не справиться. ","id":"5e304cce4000c120d4d3367e","createdAt":1580223694962,"updatedAt":1763448665022,"title":"Магия древнего леса","title_en":"","description":"Жанр: Приключения Команда: 2-6 человек Возраст: от 8 до 12 лет в сопровождении персонажа-помощника (Шамана/Шаманки). Возможно также бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","description_en":"","type":"Квесты в реальности","minTime":0,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/08f0dddf-55ce-4fa1-907b-caee6a53f6cf.jpg","city":"г Кемерово ","logo":"","isActive":true,"playersMin":2,"playersMax":4,"playersMaxi":6,"maxDays":60,"position":4,"discountOrders":0,"discountPercents":0,"isDiscount":false,"isAgregator":false,"getApi":"","postApi":"","apiType":"","apiKey":"","isIntegrate":false,"r_atmosphere":0,"r_plot":0,"r_puzzle":0,"r_mobility":0,"r_clean":0,"r_team":0,"r_middle":0,"r_emotions":"","rooms":["589fd9df5296870e37351ae9","676d5c64fd48593c74a50527"],"options":[{"title":"Банкетная комната 1 час ","margin":"2000"},{"title":"Банкетная комната 30 мин.","margin":"1000","comment":null}],"actors":true,"isIncrease":true,"increase":800,"isNewMarker":false,"increaseType":"руб","maxAge":8,"telephone":"+7 (904) 990 3333","level":"Средний","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e0ed62b1e680fe21ed0"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"shortDescription":"","legend":" В нашем городе часто ходили слухи,что на окраине леса за городом есть старая хижина в которой живёт шаман-отшельник, который приносит в жертву тех,кто попал в его ловушку. Ребята, конечно, не поверили в эти сказки и отправились туда,чтобы развеять этот миф. Смогут ли они выбраться и спастись за 1 час или шаман-отшельник-миф?","id":"676d5c64fd48593c74a50527","createdAt":1735220324382,"updatedAt":1763467710926,"title":"Ловушка на окраине","title_en":"","description":"Жанр: Мистический триллер Команда: 2-6 человек Возраст: от 8 до 13 лет в сопровождении персонажа-помощника. Возможно также бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","description_en":"","type":"Квесты в реальности","minTime":0,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/fc8396b7-fa35-4fbb-bdfb-87a32f408485.jpg","city":"г Кемерово ","logo":"","isActive":true,"playersMin":2,"playersMax":4,"playersMaxi":6,"maxDays":60,"position":5,"discountOrders":0,"discountPercents":0,"isDiscount":false,"isAgregator":true,"getApi":"","postApi":"","apiType":"","apiKey":"","isIntegrate":false,"r_atmosphere":0,"r_plot":0,"r_puzzle":0,"r_mobility":0,"r_clean":0,"r_team":0,"r_middle":0,"r_emotions":"","rooms":["589fd9df5296870e37351ae9","5e304cce4000c120d4d3367e"],"options":[{"title":"Банкетная комната 1 час ","margin":"2000","comment":""},{"title":"Банкетная комната 30 мин.","margin":"1000","comment":null}],"actors":true,"isIncrease":true,"increase":800,"isNewMarker":true,"increaseType":"руб","maxAge":8,"telephone":"+7 (904) 990 3333","level":"Средний","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e05d62b1e680fe21ece","59145e2fd62b1e680fe21eda"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"shortDescription":"","legend":"Рыцарь средневекового тайного ордена тамплиеров случайно переместился во времени. Призраки замка не дают ему вернуться назад. И только вы - отважные искатели приключений можете ему помочь!","id":"5e304dbe4000c120d4d33681","createdAt":1580223934098,"updatedAt":1762771856190,"title":"Сокровища подземелий","title_en":"","description":"Жанр: Приключения Команда: 2-6 человек Возраст: от 8 до 12 лет в сопровождении персонажа-помощника (Рыцаря/Монаха/Призрака). Возможно также бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","description_en":"","type":"Квесты в реальности","minTime":0,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/df645d18-7e50-4d5a-94bf-667761d4c08b.jpg","city":"г Кемерово ","logo":"","isActive":true,"playersMin":2,"playersMax":4,"playersMaxi":6,"maxDays":60,"position":6,"discountOrders":0,"discountPercents":0,"isDiscount":false,"isAgregator":true,"getApi":"","postApi":"","apiType":"","apiKey":"","isIntegrate":false,"r_atmosphere":0,"r_plot":0,"r_puzzle":0,"r_mobility":0,"r_clean":0,"r_team":0,"r_middle":0,"r_emotions":"","rooms":["589fde7f84da15bc38a4ab75","676d5d76fd48593c74a5052d"],"options":[{"title":"Банкетная комната 1 час","margin":"2000"},{"title":"Банкетная комната 30 мин.","margin":"1000","comment":null}],"actors":true,"isIncrease":true,"increase":800,"isNewMarker":false,"increaseType":"руб","maxAge":8,"telephone":"+7 (904) 990 3333","level":"Средний","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e0ed62b1e680fe21ed0","59145e14d62b1e680fe21ed2","59145e49d62b1e680fe21ee2","59145e83d62b1e680fe21ef4"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"legend":"Ходит много легенд про старинный замок,его владелец бесследно исчез. Вы отправляетесь туда, чтобы разобраться,что же произошло, но как только вы там оказались, поняли, что находитесь в замке не одни.... Теперь за 1 час вам предстоит выбраться из подземелий замка и изгнать призрака или вы остаться там навеки.","id":"676d5d76fd48593c74a5052d","createdAt":1735220598590,"updatedAt":1764243035680,"title":"Обитель душ","title_en":"","description":"Жанр: Мистический триллер Команда: 2-6 человек Возраст: от 8 до 13 лет в сопровождении персонажа-помощника. Возможно также бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","description_en":"","type":"Квесты в реальности","minTime":0,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/35953c2e-83e9-4e1e-a0da-31c13807e7cc.jpg","city":"г Кемерово ","logo":"","isActive":true,"playersMin":2,"playersMax":6,"playersMaxi":0,"maxDays":60,"position":7,"discountOrders":0,"discountPercents":0,"isDiscount":false,"isAgregator":true,"getApi":"","postApi":"","apiType":"","apiKey":"","isIntegrate":false,"r_atmosphere":0,"r_plot":0,"r_puzzle":0,"r_mobility":0,"r_clean":0,"r_team":0,"r_middle":0,"r_emotions":"","rooms":["589fde7f84da15bc38a4ab75","5e304dbe4000c120d4d33681"],"options":[{"title":"Банкетная комната 1 час","margin":"2000"},{"title":"Банкетная комната 30 мин.","margin":"1000","comment":null}],"actors":true,"isIncrease":true,"increase":800,"isNewMarker":true,"increaseType":"руб","maxAge":8,"telephone":"+7 (904) 990 3333","level":"Средний","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e05d62b1e680fe21ece","59145e2fd62b1e680fe21eda"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"shortDescription":"","legend":"Старый Особняк на окраине городка — плохое место. Рассказывают, что там пропадали люди. Даже полиция обходит это место стороной. Отважные сыщики отправятся туда, чтобы разгадать тайну этого дома.","orderAllYa":"","orderAllGa":"","id":"6148ab46f6e29049e6f93afd","createdAt":1632152390267,"updatedAt":1761989666960,"title":"Тайна старого особняка","title_en":"","description":"Жанр: Мистический детектив Команда: 2-6 человек. Возраст: от 9 лет до 13 лет. Квест проводится в сопровождении персонажа-помощника. Возможно бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","description_en":"","type":"Квесты в реальности","minTime":0,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/d6de8908-33a7-445b-a61c-3088dea60d12.jpg","city":"г Кемерово ","logo":"","isActive":true,"playersMin":2,"playersMax":4,"playersMaxi":6,"maxDays":60,"position":8,"discountOrders":0,"discountPercents":0,"isDiscount":false,"isAgregator":true,"getApi":"","postApi":"","apiType":"","apiKey":"","isIntegrate":false,"r_atmosphere":0,"r_plot":0,"r_puzzle":0,"r_mobility":0,"r_clean":0,"r_team":0,"r_middle":0,"r_emotions":"","rooms":["675bd9dba8e1cc4a840f9c41","68fa472e001da40829f031ba","58a68b88b0e378cb178c385e","6148ab46f6e29049e6f93afd"],"options":[{"title":"Банкетная комната 1 час","margin":"2000"},{"title":"Банкетная комната 30 мин.","margin":"1000","comment":null}],"actors":true,"isIncrease":true,"increase":800,"isNewMarker":true,"increaseType":"руб","maxAge":9,"telephone":"+7 (904) 990 3333","level":"Средний","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145e69d62b1e680fe21eec","59145de4d62b1e680fe21ec8","59145e14d62b1e680fe21ed2","59145e2fd62b1e680fe21eda","59145e43d62b1e680fe21ee0","59145e3ed62b1e680fe21ede","59145e83d62b1e680fe21ef4"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]},{"shortDescription":"","legend":"Экстрасенсы клуба «Астрал» владеют даром проникать в потусторонний мир, где обитают мистические сущности и неупокоенные души. Вы регулярно путешествовали туда, забираясь всё дальше и дальше в глубь неизведанного. И в конце концов встретили НЕЧТО... После этого началась череда убийств. На зимнем стадионе директор застрелил рабочего. Бизнесмен отравил партнёра. Налоговый инспектор столкнул уборщицу зоопарка в вольер с белыми медведями. Все преступники после злодеяния покончили с собой. Что общего у этих случаев? Убийцы состояли в клубе «Астрал». Как и вы. Что-то из другого мира заставило ваших друзей убить невинных, а потом наложить на себя руки. Кто следующий? Времени осталось мало. Или вы раскроете тайну дьявольского духа и разорвёте порочный круг, или умрут все. Приготовьтесь к встрече с ужасным!","id":"675bd9dba8e1cc4a840f9c41","createdAt":1734072795103,"updatedAt":1761989678772,"title":"Астрал","title_en":"","description":"Жанр: Мистический триллер Команда: 3-7 человек Возраст: от 14 лет. Внимание! Поздние игры (на 21:00 и 21:30) бронируются по предоплате 50%. В случае неявки команды предоплата не возвращается. Возможно также бронирование квеста в иное время, вне расписания, по согласованию с администратором - подробности уточняйте по телефону 89049903333.","description_en":"","type":"Квесты в реальности","minTime":120,"img":"https://questadmin.s3.eu-west-1.amazonaws.com/img/poster/59c30b0b-f3e9-4f86-bd00-fe01ca91b2dc.jpg","city":"г Кемерово ","logo":"","isActive":true,"playersMin":3,"playersMax":4,"playersMaxi":7,"maxDays":60,"position":9,"discountOrders":0,"discountPercents":0,"isDiscount":false,"isAgregator":true,"getApi":"","postApi":"","apiType":"","apiKey":"","isIntegrate":false,"r_atmosphere":0,"r_plot":0,"r_puzzle":0,"r_mobility":0,"r_clean":0,"r_team":0,"r_middle":0,"r_emotions":"","rooms":["68fa472e001da40829f031ba","58a68b88b0e378cb178c385e","6148ab46f6e29049e6f93afd","675bd9dba8e1cc4a840f9c41"],"options":[{"title":"Банкетная комната 1 час","margin":"2000"},{"title":"Банкетная комната 30 мин.","margin":"1000","comment":null}],"actors":true,"isIncrease":true,"increase":800,"isNewMarker":true,"increaseType":"руб","maxAge":0,"telephone":"+7 (904) 990 3333","level":"Средний","time":60,"isDelete":false,"isHiden":false,"profile":"589fd7d3c5eb904a3604fdc3","tags":["59145de4d62b1e680fe21ec8","59145e83d62b1e680fe21ef4"],"adress":{"id":"589fd83bddb5a56536e74bd2","createdAt":1486870587220,"updatedAt":1546452836956,"city":"г Кемерово ","street":"ул Ноградская 32","house":"д 32 ","isDelete":false,"comment":"вход со стороны детского сада","profile":"589fd7d3c5eb904a3604fdc3"},"images":[]}]'),
host: 'https://api.questadmin.ru',
style: '#hider{opacity:0.7;background:rgb(43, 43, 43)}.rel input, #qaScheduleDate {color:rgb(179, 179, 179)!important}.moreButton,#send{border-radius:13px!important;background:#E51A4B!important;color:rgb(179, 179, 179)!important;border:1px solid!important;border-color:#E51A4B!important}.qaRightButton:before{border-left-color:#E51A4B!important}.qaLeftButton:before{border-right-color:#E51A4B!important}#send.novalid{opacity:.2}#send{border:2px solid!important;border-color:#E51A4B!important}.qaInfo span,.qaInfo input{max-width:180px;border-radius:13px!important;border:1px solid!important;border-color:#E51A4B!important}#qaScheduler{color:rgb(179, 179, 179)!important;}#qaFinal{background:rgb(43, 43, 43)!important;color:rgb(179, 179, 179)!important;}.moreButton{border-radius:13px!important;background:#E51A4B!important;color:rgb(179, 179, 179)!important;border:1px solid #E51A4B!important}.shTime,.round_input input,.moreButton:hover,.round_input textarea{border-radius:13px!important}.shRow{text-align:left!important}.shDate{background:rgba(0, 0, 0, 0)!important;color:#252525!important}.shDate.qad0,.shDate.qad6{color:#E51A4B!important}.shTime:hover,#gamersLeft:hover,#gamersRight:hover{background:rgb(152, 5, 41)!important;border-color:rgb(152, 5, 41)!important}.shSlots{text-align:left!important}.shTime,#gamersLeft,#gamersRight{background:#E51A4B!important;color:#f9f9f9!important;border:1px solid!important;border-color:#E51A4B!important}.shPrice{color:#252525!important}.shTime.false{color:rgb(169, 169, 169)!important;background:rgb(255, 223, 231)!important;border-color:rgb(255, 223, 231)!important}#gamers{color:#fff!important}',
html : '
×
',
profile: '[object Object]',
price: 0,
yaCounter: '45007891',
discount: {}, //скидка по акциям
certificate: {}, //скидка по промокодам
optionsList: {},
currency: '₽',
margin: 0,
sortIntervals: function(data) {
return data.sort(function(a, b) {
if (a.time > b.time) return 1;
if (a.time < b.time) return -1;
return 0;
});
},
isValidate: false,
validate: function(el) {
if (el) {
var text = el.value;
var funcName = el.getAttribute('id');
if (el.nextSibling) el.nextSibling.className = qSettings[funcName](text, el) + ' valid';
}
if (document.getElementById('documents').checked && document.getElementsByClassName('valid false').length == 0 && document.getElementsByClassName('valid none').length == 0) {
qSettings.isValidate = true;
document.getElementById('send').className = '';
document.getElementById('send').innerHTML = 'Записаться';
} else {
qSettings.isValidate = false;
document.getElementById('send').className = 'novalid';
document.getElementById('send').innerHTML = 'Укажите имя, телефон и почту';
}
},
validateclientName: function(text) {
return text ? true : false;
},
validateclientTelephone: function(text, el) {
var numbers = '' + text.replace(/[^0-9]/gim, '');
return numbers.length > 5;
},
emailQA: function(text) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(text);
},
showForm: function() {
document.getElementById('qaFinal').className = document.getElementById('qaScheduler').className;
},
closeForm: function() {
document.getElementById('qaFinal').className = document.getElementById('qaScheduler').className + ' none';
},
setTimeInterval: function(slot) {
qSettings.slot = slot;
qSettings.rooms.forEach((room) => {
if (room.id === slot.getAttribute('data-room'))
qSettings.room = room;
});
qSettings.interval = qSettings.intervals[slot.getAttribute('data-int')];
qSettings.players = document.getElementById('gamers').value = qSettings.room.playersMax;
qSettings.setPlayers();
qSettings.dateToSend = slot.getAttribute('data-date');
document.getElementById('adr').innerHTML = qSettings.room.adress.city + ', ' + qSettings.room.adress.street + ', ' + (qSettings.room.adress.house || '');
document.getElementById('tel').innerHTML = qSettings.room.telephone;
document.getElementById('qaPhoto').style.backgroundImage = 'url(' + qSettings.room.img + ')';
document.getElementById('setHumanDate').innerHTML = qSettings.formatDate;
document.getElementById('setTime').innerHTML = slot.getAttribute('data-time');
document.getElementById('setQuestroomqaTitle').innerHTML = qSettings.room.title;
document.getElementById('setPrice').innerHTML = qSettings.price = slot.getAttribute('data-price');
qSettings.certificate = {};
qSettings.discount = {};
qSettings.margin = 0;
qSettings.showForm();
$('#qaSertificates > div').addClass('none');
$($(this).attr('data-id') + ', #qaSetDiscount button').removeClass('none');
$('#qaResponse').html('');
var list = '';
for (var i = qSettings.room.options.length - 1; i >= 0; i--) {
list += '
' + qSettings.room.options[i].title + ' +' + qSettings.room.options[i].margin + qSettings.currency + ''
}
if (list) {
$('.qaoptionsBlock').removeClass('none');
$('#optionsList').html(list);
}
if (qSettings.room.discount) {
$('.qaHasDiscount').removeClass('none');
$('#qaDiscountTitle').html(qSettings.room.discount.title);
$('#qaDiscountText').html(qSettings.room.discount.description);
$('#qaDiscountPrice').html(qSettings.room.discount.discount + qSettings.room.discount.type);
} else {
$('#qaNotDiscount').removeClass('none');
}
qSettings.getFinalPrice();
},
getFinalPrice: function() {
var players = +qSettings.players || 0,
spPr = qSettings.interval.spPriceArr ? qSettings.interval.spPriceArr[players] : false,
defaultSum = +spPr || +qSettings.price,
discount = qSettings.discount,
certificate = qSettings.certificate,
max = +qSettings.room.playersMax,
increase = +qSettings.room.increase,
increaseType = qSettings.room.increaseType;
//вычисляем наценку за опции
var visitIncrease = +qSettings.margin;
//вычисляем наценку за игроков
if (players && increase && max && !spPr) {
if (players > max) {
visitIncrease += (increaseType && increaseType == '%') ? (players - max) * (defaultSum / 100 * increase) : (players - max) * increase;
}
}
var final = defaultSum + visitIncrease;
qSettings.finalPrice = final > 0 ? final : 0
if (!qSettings.players) {
document.getElementById('setText').innerHTML = '';
document.getElementById('setPrice').innerHTML = 'Заполните кол-во игроков';
$('#hider').removeClass('none')
}
if (qSettings.players) {
document.getElementById('setText').innerHTML = ' с команды';
document.getElementById('setPrice').innerHTML = qSettings.finalPrice;
$('#hider').addClass('none')
}
if ((certificate && +certificate.discount) || (discount && +discount.discount)) {
var applyDiscount = function(val, type, count) {
if (type === 1 || type !== '%') return val - count;
return val - val / 100 * count;
}
if ((certificate && +certificate.discount)) {
defaultSum = applyDiscount(defaultSum, certificate.type, +certificate.discount);
if (certificate.isIncrease && (certificate.type === 0 || certificate.type === '%')) visitIncrease = applyDiscount(visitIncrease, certificate.type, certificate.discount);
}
if ((discount && +discount.discount)) {
defaultSum = applyDiscount(defaultSum, discount.type, discount.discount);
if (discount.isIncrease && discount.type === '%') visitIncrease = applyDiscount(visitIncrease, discount.type, discount.discount);
}
$('#qaResponse').html('Цена с учетом предоставленной скидки составит ' + (defaultSum + visitIncrease) + qSettings.currency)
}
},
minPlayers: function() {
var that = document.getElementById('gamers');
if (qSettings.players < qSettings.room.playersMin) {
document.getElementById('setMax').innerHTML = 'Минимум ' + qSettings.room.playersMin + ' чел';
qSettings.players = that.value = qSettings.room.playersMin;
}
qSettings.getFinalPrice();
},
setPlayers: function(t) {
var that = document.getElementById('gamers');
that.value = qSettings.players = that.value ? +that.value.replace(/[^0-9]/gim, '') : '';
if (t === 1 || t === -1) that.value = qSettings.players = qSettings.players + t;
var max = qSettings.room.playersMaxi ? +qSettings.room.playersMaxi : +qSettings.room.playersMax;
if (max && qSettings.players > max) {
qSettings.players = that.value = max;
document.getElementById('setMax').innerHTML = 'Максимум ' + max + ' чел';
}
if (t === 1 || t === -1) qSettings.minPlayers();
qSettings.getFinalPrice();
},
renderIntervals: function(room) {
qSettings.intervals = [];
var kk = -1;
var row = document.createElement('div');
row.className = 'shRow';
row.setAttribute("data-index", room.position);
var title = document.createElement('div');
title.className = 'qaRoomTitle';
title.style.backgroundImage = `url(${room.img})`;
title.innerHTML = `
${room.title}
`;
var times = document.createElement('div');
times.className = 'shSlots';
row.appendChild(title);
var ints = qSettings.sortIntervals(room.intervals);
for (var b = 0; b < ints.length; b++) {
qSettings.intervals.push(ints[b]);
kk++;
var slotWrap = document.createElement('div');
slotWrap.className = 'shSlot';
var slot = document.createElement('div');
slot.className = 'shTime ' + ints[b].status;
slot.setAttribute("data-int", kk);
slot.innerHTML = ints[b].time;
slot.setAttribute("data-time", ints[b].time);
slot.setAttribute("data-price", ints[b].price);
slot.setAttribute("data-room", room.id);
slot.setAttribute("data-date", ints[b].dateUTC);
slot.addEventListener('click', function(e) {
if (!this.classList.contains('false')) {
qSettings.setTimeInterval(this);
}
}, false);
slotWrap.appendChild(slot);
var priceWrap = document.createElement('div');
priceWrap.className = 'shPrice';
priceWrap.innerHTML = ints[b].price + qSettings.currency;
slotWrap.appendChild(priceWrap);
times.appendChild(slotWrap);
}
row.appendChild(times);
document.getElementById('qaSchedulerTimes').appendChild(row);
//$('#qaScheduler .loader').remove();
$('.shRow').sort(function(a, b) {
if (a.getAttribute("data-index") < b.getAttribute("data-index") ) {
return -1;
} else {
return 1;
}
}).appendTo('#qaSchedulerTimes');
},
addIntervals: function() {
qSettings.rooms.forEach((room) => {
$.get(qSettings.host + "/integrations/getSchedule?id=" + room.id + '&date=' + qSettings.date, function( data ) {
room.intervals = data.intervals;
qSettings.renderIntervals(room);
});
});
},
addStyle: function() {
var style = document.createElement('link');
style.type = "text/css";
style.rel = "stylesheet";
style.href = "https://api.questadmin.ru/styles/main.css";
document.getElementsByTagName('head')[0].appendChild(style);
var style2 = document.createElement('link');
style2.type = "text/css";
style2.rel = "stylesheet";
style2.href = "https://api.questadmin.ru/styles/styles.css";
document.getElementsByTagName('head')[0].appendChild(style2);
if (true) {
var sheet = document.createElement('style');
sheet.innerHTML = qSettings.style;
document.body.appendChild(sheet);
}
},
createLoader: function() {
var el = document.createElement('div');
el.className = 'qaLoading';
document.getElementById('qaScheduler').appendChild(el);
},
sendForm: function() {
if (qSettings.room.id && qSettings.date && qSettings.isValidate) {
var data = {
id: qSettings.room.id,
profile: qSettings.profile,
clientName: document.getElementById('validateclientName').value,
comment: document.getElementById('clientComment').value,
email: document.getElementById('emailQA').value,
clientTelephone: document.getElementById('validateclientTelephone').value,
boockingDate: qSettings.dateToSend,
price: qSettings.finalPrice,
user: qSettings.user || '',
optionsList: qSettings.optionsList,
discount: qSettings.discount,
certificate: qSettings.certificate,
players: qSettings.players,
other: qSettings.interval
};
if (window['yaCounter' + qSettings.yaCounter] && qSettings.room.orderAllYa && qSettings.yaCounter) {
console.log('Ya orderAllYa');
window['yaCounter' + qSettings.yaCounter].reachGoal(qSettings.room.orderAllYa);
}
if (window['ga'] && qSettings.room.orderAllGa) {
console.log('Ga orderAllGa');
ga('send', 'event', qSettings.room.orderAllGa);
}
var xhr = new XMLHttpRequest();
xhr.open('POST', qSettings.host + "/integrations/createVisit", false);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xhr.send(JSON.stringify(data));
var r = JSON.parse(xhr.response);
if (!r.success) {
alert(r.message); // пример вывода: 404: Not Found
} else {
document.getElementById('before').className = 'none';
document.getElementById('after').className = '';
qSettings.slot.className = 'shTime false';
}
}
},
renderForm: function () {
var form = document.createElement('div');
form.className = document.getElementById('qaScheduler').className + ' none';
form.innerHTML = qSettings.html;
form.setAttribute('id', 'qaFinal');
document.getElementsByTagName('body')[0].appendChild(form);
},
changeDate: function (type) {
let d = new Date(qSettings.date);
d.setDate(d.getDate() + type);
let newDate = dateToReq(d);
let lastDate = new Date();
lastDate.setDate(lastDate.getDate() + 30);
if (newDate < dateToReq() || newDate >= dateToReq(lastDate)) return;
qSettings.date = newDate;
qSettings.formatDate = dateFormat(newDate);
document.getElementById('qaScheduleDate').innerHTML = qSettings.formatDate;
document.getElementById('qaSchedulerTimes').innerHTML = '';
qSettings.addIntervals();
},
addButtons: function (cl, type) {
var button = document.createElement('button');
button.className = cl;
button.addEventListener('click', function(e) {
qSettings.changeDate(type);
}, false);
return button;
},
renderBalance: function () {
document.getElementById('qaScheduler').innerHTML = 'В системе КвестАдмин закончилась подписка';
},
init: function() {
qSettings.addStyle();
if (1997 < 1) return qSettings.renderBalance();
qSettings.date = dateToReq();
qSettings.formatDate = dateFormat();
qSettings.addWrap()
qSettings.addIntervals();
qSettings.renderForm();
document.getElementById('send').addEventListener('click', qSettings.sendForm, false);
document.getElementById('closeList').addEventListener('click', qSettings.closeForm, false);
document.getElementById('gamers').addEventListener('keyup', qSettings.setPlayers, false);
document.getElementById('gamers').addEventListener('focusout', qSettings.minPlayers, false);
document.getElementById('gamersLeft').addEventListener('click', function() { qSettings.setPlayers(-1)} , false);
document.getElementById('gamersRight').addEventListener('click', function() { qSettings.setPlayers(1)} , false);
var validations = document.getElementsByClassName('validation');
for (var i = 0; i < validations.length; i++) {
validations[i].addEventListener('keyup', function(e) {
qSettings.validate(this);
}, false);
}
if (true) {
document.getElementById('qaScheduler').className = 'customStyle';
}
if (qSettings.keys < 1) {
var noK = document.createElement('div');
noK.className = 'noKeys';
noK.innerHTML = 'Баланс подошел к нулю';
document.getElementById('qaScheduler').appendChild(noK);
}
},
createDiv: function (id) {
var div = document.createElement('div');
div.setAttribute("id", id);
return div
},
addWrap: function () {
var wrap = qSettings.createDiv('qaScheduleDateWrap'),
times = qSettings.createDiv('qaSchedulerTimes'),
date = qSettings.createDiv('qaScheduleDate');
date.innerHTML = qSettings.formatDate;
wrap.appendChild(qSettings.addButtons('qaLeftButton', -1));
wrap.appendChild(date);
wrap.appendChild(qSettings.addButtons('qaRightButton', 1));
document.getElementById('qaScheduler').style.height = (qSettings.rooms.length * 126) + 100;
document.getElementById('qaScheduler').appendChild(wrap);
document.getElementById('qaScheduler').appendChild(times);
},
}
var addClassToList = function(selector, classNames) {
var s = document.getElementsByClassName(selector);
for (var i = 0; i < s.length; i++) {
s[i].className = classNames;
}
};
document.addEventListener('DOMContentLoaded', function() {
clickEventType = ((document.ontouchstart !== null) ? 'click' : 'touchend');
qSettings.init();
//клик применить акцию
$(document).on('click', '#qaDiscountApply', function() {
qSettings.discount = qSettings.room.discount || 0;
$('#qaSetDiscount button').addClass('none');
qSettings.getFinalPrice();
});
$(document).on('click', '.qaDocuments', function() {
qSettings.validate();
});
//клик по квесту
$(document).on('click', '#optionsList li', function() {
qSettings.optionsList.ids = [];
qSettings.optionsList.objects = [];
$(this).toggleClass('active');
qSettings.margin = 0;
$('#optionsList li.active').toArray().forEach(function(obj) {
var id = obj.getAttribute('data-id');
qSettings.margin += +obj.getAttribute('data-price');
qSettings.optionsList.ids.push(qSettings.room.options[id].id);
qSettings.optionsList.objects.push(qSettings.room.options[id]);
});
qSettings.getFinalPrice();
});
$(document).on('click', '.qaLightspan', function() {
$('#qaSertificates > div').addClass('none');
$($(this).attr('data-id') + ', #qaSetDiscount button').removeClass('none');
$('#qaResponse').html('');
qSettings.certificate = {};
qSettings.discount = {};
});
//поиск сертификата
$(document).on("click", '#qaFindCertificate', function() {
$.get(qSettings.host + "/questrooms/checkCertificate?code=" + $('#qaSertificateNimber').val() + '&room=' + qSettings.room.id + '&profile=' + qSettings.room.profile, function(data) {
if (!data.c && !data.p) alert(data.response);
qSettings.certificate = data.c || data.p || 0;
$('.qaHasDiscount').addClass('none');
qSettings.getFinalPrice();
});
});
//document.addEventListener('DOMContentLoaded', , false);
})