'));\r\n sliderCounter = $carousel.find('.slick-counter');\r\n\r\n $slickFor.on('init', function(event, slick) {\r\n updateSliderCounter(slick);\r\n });\r\n\r\n $slickFor.on('afterChange', function(event, slick, currentSlide) {\r\n updateSliderCounter(slick, currentSlide);\r\n });\r\n }\r\n\r\n $slickNav.slick(slickNavOpts);\r\n $slickFor.slick(slickForOpts);\r\n\r\n $slickFor.on('beforeChange', beforeChange);\r\n\r\n if (!(slickNavOpts.rows && slickNavOpts.rows > 0)) {\r\n $slickNav.on('beforeChange', beforeChangeNav);\r\n }\r\n\r\n slickNavObj = $slickNav.slick('getSlick');\r\n slickForObj = $slickFor.slick('getSlick');\r\n groupIndex = getGroup();\r\n\r\n slickNavObj.$slider.find('[data-group-index]').on('click', function() {\r\n\r\n var index = APP.sanitizeXss($(this).data('groupIndex'));\r\n\r\n slickForObj.slickGoTo(index);\r\n });\r\n\r\n if (slickNavOpts.rows && slickNavOpts.rows > 1) {\r\n slickNavObj.$slider.find('[data-group-index]').eq(0).trigger('click');\r\n }\r\n }\r\n },\r\n init: function() {\r\n\r\n var root = APP.carousel;\r\n\r\n var $carousel = $(this),\r\n carouselType = APP.sanitizeXss($carousel.data('carouselType'));\r\n\r\n if ( $.isFunction(root.types[carouselType]) ) {\r\n root.types[carouselType]($carousel);\r\n return;\r\n }\r\n\r\n var $slick = $carousel.find('[data-slick]').eq(0),\r\n options = root.getOptions($slick, $carousel);\r\n\r\n if (APP.sanitizeXss($slick.data('initbreakpoint'))) {\r\n if (APP.browser.bp()) { // Mobile\r\n $slick.slick(options);\r\n }\r\n } else {\r\n $slick.slick(options);\r\n }\r\n }\r\n };\r\n\r\n APP.init.carousel = function(opts) {\r\n\r\n var root = APP.carousel;\r\n\r\n root.options = $.extend({}, opts);\r\n\r\n $('.carousel').on('click', '.slick-prev, .slick-next', function(e) {\r\n e.preventDefault();\r\n }).each(root.init);\r\n };\r\n}));\r\n","/*\r\n * Get Paged Data Plugin\r\n *\r\n * HandleBars required!\r\n */\r\n/* eslint-disable */\r\n!(function (root, factory) {\r\n 'use strict';\r\n\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(['app', 'jquery'], factory);\r\n } else if (typeof exports === 'object') {\r\n // Node/CommonJS\r\n module.exports = factory(require('app'), require('jquery'));\r\n } else {\r\n // Browser globals\r\n\r\n root.APP = root.APP || {};\r\n root.APP.init = root.APP.init || {};\r\n\r\n factory(root.APP, root.jQuery);\r\n }\r\n}(this, function (APP, $) {\r\n 'use strict';\r\n\r\n APP.init.getPagedData = function (opts) {\r\n var options = $.extend({}, opts);\r\n \r\n function showMore(target, template, settings) {\r\n \r\n var isExtend = false,\r\n currentPageIndex = 2,\r\n container = $(target),\r\n showMoreBtn = $('[data-target=\"' + APP.sanitizeXss(target.data('showmore')) + '\"]');\r\n\r\n var showMoreBtnInnerHtml = showMoreBtn.html(),\r\n tmpl = $(template).html(),\r\n compiled = Handlebars.compile(tmpl); // eslint-disable-line\r\n \r\n function setItem(data) {\r\n if (!data.result) {\r\n showMoreBtn.addClass('d-none');\r\n return;\r\n }\r\n \r\n currentPageIndex++;\r\n var html = compiled(data);\r\n var $html = $(html);\r\n $html.find('.img-content').each(function () {\r\n var $this = $(this);\r\n var anim = $this.data('scroll-anim');\r\n $this.addClass('animate__animated');\r\n $this.addClass('animate__' + anim);\r\n });\r\n container.append($html);\r\n \r\n if (isExtend === false && currentPageIndex > 1) {\r\n isExtend = true;\r\n showMoreBtn.removeClass('d-none');\r\n }\r\n \r\n // no data fix\r\n \r\n if (!APP.Helper.is.undefined(data.nextData)) {\r\n showMoreBtn[data.nextData !== true ? 'addClass' : 'removeClass' ]('d-none');\r\n }\r\n }\r\n \r\n function sendViaAjax() {\r\n var dt = { page: currentPageIndex },\r\n form = $(settings.toForm || APP.sanitizeXss(showMoreBtn.data('form')));\r\n \r\n showMoreBtn.prop('disabled', true).html(options.btnLoadingText);\r\n \r\n var formData = APP.Helper.getFormData(form);\r\n \r\n if (formData.page) {\r\n dt.page = formData.page;\r\n currentPageIndex = formData.page;\r\n }\r\n \r\n return APP.Helper.sendRequest(form, settings, dt).done(function (data) {\r\n setItem(data);\r\n \r\n showMoreBtn.prop('disabled', false).html(showMoreBtnInnerHtml);\r\n }).catch(function() {\r\n // TODO: LOG HERE\r\n });\r\n }\r\n \r\n showMoreBtn.click(function(e) {\r\n e.preventDefault();\r\n sendViaAjax();\r\n });\r\n }\r\n \r\n $('[data-showmore]').each(function () {\r\n \r\n var type = APP.sanitizeXss($(this).data('showmore')),\r\n opts = options[type] || {},\r\n template = APP.sanitizeXss($(this).data('template'));\r\n \r\n opts.url = !opts.url ? APP.sanitizeXss($(this).data('url')).split('|')[0] : opts.url;\r\n opts.method = !opts.method ? APP.sanitizeXss($(this).data('url')).split('|')[1] || 'GET' : opts.method;\r\n \r\n showMore($(this), template, opts);\r\n });\r\n }\r\n\r\n}));\r\n","/*\r\n *\r\n * Application Helper.is Functions\r\n * 2017-01-20\r\n *\r\n * Copyright 2017 Medyasoft\r\n * Licensed under the MIT license\r\n *\r\n */\r\n!(function(root, factory) {\r\n 'use strict';\r\n\r\n if ( typeof define === 'function' && define.amd ) {\r\n // AMD. Register as an anonymous module.\r\n define(['app', 'jquery'], factory);\r\n } else if ( typeof exports === 'object' ) {\r\n // Node/CommonJS\r\n module.exports = factory(require('app'), require('jquery'));\r\n } else {\r\n // Browser globals\r\n root.APP = root.APP || {};\r\n factory(root.APP, root.jQuery);\r\n }\r\n}(this, function(APP, $) {\r\n 'use strict';\r\n\r\n var is = {\r\n string: function(obj) {\r\n return Object.prototype.toString.call(obj) === '[object String]';\r\n },\r\n number: function(obj) {\r\n return Object.prototype.toString.call(obj) === '[object Number]';\r\n },\r\n integer: function(obj) {\r\n return parseFloat(obj) === parseInt(obj, 10) && !isNaN(obj);\r\n },\r\n boolean: function(obj) {\r\n return typeof obj === 'boolean' && obj.constructor === Boolean;\r\n },\r\n float: function(value) {\r\n return value === +value && value !== (value | 0);\r\n },\r\n array: $.isArray,\r\n function: $.isFunction,\r\n plainObject: $.isPlainObject,\r\n object: function(obj) {\r\n return obj && obj.constructor && obj instanceof Object;\r\n },\r\n objectLike: function(value) {\r\n return typeof value === 'object' && value !== null;\r\n },\r\n arguments: function(obj) {\r\n return !!(obj && Object.prototype.hasOwnProperty.call(obj, 'callee'));\r\n },\r\n regexp: function(obj) {\r\n return Object.prototype.toString.call(obj) === '[object RegExp]';\r\n },\r\n element: function(obj) {\r\n\r\n var result;\r\n\r\n try {\r\n result = obj instanceof HTMLElement;\r\n } catch (e) {\r\n result = typeof obj === 'object' && obj.nodeType === 1 && typeof obj.style === 'object' && typeof obj.ownerDocument === 'object';\r\n }\r\n\r\n return result;\r\n },\r\n date: function(obj) {\r\n return Object.prototype.toString.call(obj) === '[object Date]';\r\n },\r\n 'undefined': function(obj) { // eslint-disable-line quote-props\r\n return typeof obj === 'undefined';\r\n },\r\n empty: function(obj) {\r\n\r\n if ( obj === null ) {\r\n return true;\r\n }\r\n\r\n if ( this.is.array(obj) || this.is.string(obj)) {\r\n return obj.length === 0;\r\n }\r\n\r\n for (var key in obj) {\r\n if ( Object.prototype.hasOwnProperty.call(obj, key) ) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n exists: function(what, ns, typed) {\r\n\r\n if ( !what || typeof what !== 'string' ) {\r\n return null;\r\n }\r\n\r\n ns = ns || window;\r\n typed = typed || null;\r\n what = what.split('.');\r\n\r\n var isExists = false,\r\n subns;\r\n\r\n while ( what.length > 1 && typeof ns === 'object' ) {\r\n subns = what.shift();\r\n ns = ns[subns];\r\n }\r\n\r\n if ( typeof ns === 'object' ) {\r\n what = what.shift();\r\n what = ns[what];\r\n isExists = typed ? typeof what === typed : typeof what !== 'undefined';\r\n }\r\n\r\n this.exists.lastValue = isExists ? what : null;\r\n\r\n return isExists;\r\n }\r\n };\r\n\r\n APP.Helper = APP.Helper || {};\r\n\r\n $.extend(true, APP.Helper, {\r\n is: is\r\n });\r\n\r\n return is;\r\n}));\r\n","/*\r\n *\r\n * Application Helper Functions\r\n * 2017-01-20\r\n *\r\n * Copyright 2017 Bogac Bokeer\r\n * Licensed under the MIT license\r\n *\r\n */\r\n!(function(root, factory) {\r\n 'use strict';\r\n\r\n if ( typeof define === 'function' && define.amd ) {\r\n // AMD. Register as an anonymous module.\r\n define(['app', 'jquery'], factory);\r\n } else if ( typeof exports === 'object' ) {\r\n // Node/CommonJS\r\n module.exports = factory(require('app'), require('jquery'));\r\n } else {\r\n // Browser globals\r\n root.APP = root.APP || {};\r\n factory(root.APP, root.jQuery);\r\n }\r\n}(this, function(APP, $) {\r\n 'use strict';\r\n\r\n var antiForgeryToken = $('input[name=\"__RequestVerificationToken\"]');\r\n\r\n var Helper = {\r\n getScriptPath: function(scriptName) {\r\n\r\n if ( typeof scriptName === 'string' ) {\r\n scriptName = [scriptName];\r\n }\r\n\r\n var scripts = document.getElementsByTagName('script'),\r\n script, src, pos;\r\n\r\n for (var idx = 0, l = scripts.length; idx < l; idx++) {\r\n\r\n script = scripts[idx];\r\n\r\n if ( src = script.getAttribute('src') ) { // eslint-disable-line no-cond-assign\r\n pos = src.lastIndexOf('/');\r\n var n = src.substring(pos + 1).split('?')[0];\r\n\r\n if ( scriptName.indexOf(n) > -1 ) {\r\n return src.replace(/\\/js(.*)/, '/js') + '/';\r\n }\r\n }\r\n }\r\n\r\n return '';\r\n },\r\n loadStylesheet: function(url, id) {\r\n\r\n if ( !url ) {\r\n return;\r\n }\r\n\r\n id = id || 'theme-styles';\r\n\r\n var s = document.createElement('link');\r\n\r\n s.id = id;\r\n s.rel = 'stylesheet';\r\n s.type = 'text/css';\r\n s.media = 'all';\r\n s.href = url;\r\n\r\n document.getElementsByTagName('head')[0].appendChild(s);\r\n },\r\n loadScript: function(url, cb) {\r\n\r\n var js = document.createElement('script');\r\n\r\n js.type = 'text/javascript';\r\n // js.async = true;\r\n\r\n js.addEventListener('load', cb.success);\r\n js.addEventListener('error', cb.failed);\r\n\r\n js.src = url;\r\n\r\n document.body.appendChild(js);\r\n\r\n return js;\r\n },\r\n throttle: function(fn, threshhold, scope) {\r\n\r\n threshhold || (threshhold = 250);\r\n\r\n var last,\r\n deferTimer;\r\n\r\n return function() {\r\n\r\n var context = scope || this;\r\n\r\n var now = +new Date(),\r\n args = arguments;\r\n\r\n if ( last && now < last + threshhold ) {\r\n // hold on to it\r\n clearTimeout(deferTimer);\r\n deferTimer = setTimeout(function() {\r\n last = now;\r\n fn.apply(context, args);\r\n }, threshhold);\r\n } else {\r\n last = now;\r\n fn.apply(context, args);\r\n }\r\n };\r\n },\r\n debounce: function(func, wait, immediate) {\r\n\r\n // Returns a function, that, as long as it continues to be invoked, will not\r\n // be triggered. The function will be called after it stops being called for\r\n // N milliseconds. If `immediate` is passed, trigger the function on the\r\n // leading edge, instead of the trailing.\r\n\r\n var timeout;\r\n\r\n return function() {\r\n\r\n var context = this,\r\n args = arguments;\r\n var later = function() {\r\n timeout = null;\r\n if ( !immediate ) {\r\n func.apply(context, args);\r\n }\r\n };\r\n var callNow = immediate && !timeout;\r\n\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) {\r\n func.apply(context, args);\r\n }\r\n };\r\n },\r\n curry: function(fn) {\r\n\r\n var slice = Array.prototype.slice,\r\n storedArgs = slice.call(arguments, 1);\r\n\r\n return function() {\r\n\r\n var newArgs = slice.call(arguments),\r\n args = storedArgs.concat(newArgs);\r\n\r\n return fn.apply(null, args);\r\n };\r\n },\r\n tmpl: function(tmpl, obj) {\r\n\r\n var result = tmpl,\r\n re;\r\n\r\n for (var k in obj ) {\r\n if ( Object.prototype.hasOwnProperty.call(obj, k) ) {\r\n re = new RegExp('{{(' + k + ')}}', 'g');\r\n result = result.replace(re, obj[k]);\r\n re = null;\r\n }\r\n }\r\n\r\n return result;\r\n },\r\n formatDate: function(d, f) {\r\n\r\n var is = this.is;\r\n\r\n if ( !is.date(d) ) {\r\n throw new Error('The first parametre must be a date');\r\n }\r\n\r\n f = f || 'dd.mm.yyyy';\r\n\r\n if ( !is.string(f) ) {\r\n throw new Error('The format parametre must be a string');\r\n }\r\n\r\n var currDate = d.getDate(),\r\n currMonth = d.getMonth() + 1,\r\n currYear = d.getFullYear();\r\n\r\n var currDate2 = currDate.toString().length < 2 ? '0' + currDate : currDate,\r\n currMonth2 = currMonth.toString().length < 2 ? '0' + currMonth : currMonth;\r\n\r\n return f.replace('yyyy', currYear)\r\n .replace('dd', currDate2)\r\n // .replace(\"mmmm\", Names.get(\"months\")[currMonth])\r\n .replace('mm', currMonth2)\r\n .replace('d', currDate)\r\n .replace('m', currMonth);\r\n },\r\n getSlug: function (url) {\r\n\r\n url = url || APP.sanitizeXss(window.location.pathname);\r\n\r\n return url.split('/').reverse()[0];\r\n },\r\n getUnigate: function() {\r\n try {\r\n return {\r\n langId: UNIGATE.current.langId || '',\r\n language: UNIGATE.current.language || '',\r\n slug: APP.Helper.getSlug()\r\n };\r\n } catch (err) {\r\n return {};\r\n }\r\n },\r\n getFormData: function (form, extraData) {\r\n var data = {};\r\n\r\n if (form) {\r\n if (form.attr('enctype') === 'multipart/form-data') {\r\n var formData = new FormData(form[0]);\r\n\r\n Object.keys(extraData || {}).forEach(function(key) {\r\n formData.append(key, extraData[key]);\r\n });\r\n return formData;\r\n }\r\n data = form.serializeArray().reduce(function (acc, v) {\r\n acc[v.name] = v.value;\r\n return acc;\r\n }, {});\r\n }\r\n return $.extend(data, extraData);\r\n },\r\n sendRequest: function (form, service, extraData, reqOpts) {\r\n var data = $.extend(APP.Helper.getUnigate(), extraData);\r\n\r\n if (antiForgeryToken.length) {\r\n data.__RequestVerificationToken = APP.sanitizeXss(antiForgeryToken.val()); // eslint-disable-line\r\n }\r\n\r\n var formData = APP.Helper.getFormData(form, data);\r\n\r\n return $.ajax($.extend({\r\n method: service.method,\r\n url: APP.sanitizeXss(service.url),\r\n dataType: 'JSON',\r\n cache: false,\r\n data: formData\r\n }, reqOpts));\r\n },\r\n DOM: {\r\n getSiblings: function(e) {\r\n\r\n let siblings = [];\r\n if (!e.parentNode) {\r\n return siblings;\r\n }\r\n let sibling = e.parentNode.firstChild;\r\n\r\n while (sibling) {\r\n if (sibling.nodeType === 1 && sibling !== e) {\r\n siblings.push(sibling);\r\n }\r\n sibling = sibling.nextSibling;\r\n }\r\n return siblings;\r\n }\r\n }\r\n };\r\n\r\n var typeofs = ['number', 'boolean', 'object'],\r\n sanitizeXssReg = new RegExp(/(\\b)(on\\S+)(\\s*)=|javascript|(<\\s*)(\\/*)script/ig);\r\n\r\n $.extend(true, APP, {\r\n Helper: Helper,\r\n sanitizeXss: function(val) {\r\n\r\n if (val) {\r\n\r\n if (typeofs.indexOf(typeof val) === -1) {\r\n\r\n val = val.replace(sanitizeXssReg, '');\r\n return val;\r\n } else if (typeof val !== 'function') {\r\n\r\n return val;\r\n }\r\n return '';\r\n }\r\n return val;\r\n }\r\n });\r\n\r\n return Helper;\r\n}));\r\n","/*\r\n * Native validation Plugin\r\n *\r\n * Fancybox required!\r\n */\r\n/* eslint-disable */\r\n!(function (root, factory) {\r\n 'use strict';\r\n\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(['app', 'jquery'], factory);\r\n } else if (typeof exports === 'object') {\r\n // Node/CommonJS\r\n module.exports = factory(require('app'), require('jquery'));\r\n } else {\r\n // Browser globals\r\n\r\n root.APP = root.APP || {};\r\n root.APP.init = root.APP.init || {};\r\n\r\n factory(root.APP, root.jQuery);\r\n }\r\n}(this, function (APP, $) {\r\n 'use strict';\r\n\r\n APP.init.nativeValidation = function (opts) {\r\n var forms = document.getElementsByClassName('needs-validation');\r\n var validateClassName = 'was-validated';\r\n\r\n function checkValidate(form, event) {\r\n var result = form.checkValidity();\r\n\r\n if ($(form).length) { // TODO: bu kısım geliştirilmeli.\r\n\r\n $(form).find('[equal-to]').each(function(i, e) {\r\n var target = $($(e).attr('equal-to'));\r\n var targetVal = target.val(),\r\n val = e.value;\r\n\r\n if (target !== val) {\r\n result = false;\r\n }\r\n });\r\n }\r\n\r\n if (result === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n form.classList.remove(validateClassName);\r\n }\r\n form.classList.add(validateClassName);\r\n return result;\r\n }\r\n\r\n Array.prototype.filter.call(forms, function (form) {\r\n\r\n var $form = $(form);\r\n var reCaptcha = $form.find('.g-recaptcha');\r\n var template = $form.data('template');\r\n var tmpl,\r\n compiled,\r\n contentTextPlaceholder;\r\n var steps = $form.find('fieldset.step'),\r\n stepIndex = 0,\r\n hasAjax = $form.hasClass('send-ajax');\r\n\r\n if (template) {\r\n tmpl = $(template).html();\r\n compiled = Handlebars.compile(tmpl); // eslint-disable-line\r\n contentTextPlaceholder = $($(template).data('to'));\r\n }\r\n\r\n function goToStep(val) {\r\n $form.removeClass(validateClassName);\r\n if (val !== -1) {\r\n steps.eq(stepIndex + val).removeClass('d-none').removeAttr('disabled');\r\n steps.eq(stepIndex).addClass('d-none');\r\n } else {\r\n steps.eq(stepIndex + val).removeClass('d-none');\r\n steps.eq(stepIndex).addClass('d-none').attr('disabled', 'disabled');\r\n }\r\n \r\n if (val === 0) {\r\n steps.addClass('d-none').attr('disabled', 'disabled');\r\n } else {\r\n stepIndex += val;\r\n }\r\n\r\n document.documentElement.scrollTop = steps.eq(stepIndex).offset().top;\r\n }\r\n\r\n form.addEventListener('submit', function (event) {\r\n var result = checkValidate(form, event),\r\n hasNextStep = false;\r\n\r\n if ($form.hasClass('form-wizard')) {\r\n var step = steps.filter(':not(.d-none)'),\r\n index = step.index();\r\n\r\n if (hasNextStep = index < (steps.length - 1)) { // eslint-disable-line\r\n hasNextStep = true;\r\n if (result) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n goToStep(1);\r\n }\r\n }\r\n }\r\n\r\n if (reCaptcha.length > 0) {\r\n try {\r\n var reCaptchaResult = grecaptcha.getResponse(reCaptcha[0].grecaptcha) !== \"\";\r\n if (result) {\r\n result = reCaptchaResult;\r\n } else {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n \r\n reCaptcha.toggleClass('is-invalid', !reCaptchaResult);\r\n } catch (eroor) { }\r\n }\r\n\r\n if (result && !hasNextStep && hasAjax) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n $form.find('[type=submit]:last').prop('disabled', true);\r\n $form.find('.loading').addClass('show');\r\n APP.Helper.sendRequest($form, {\r\n url: APP.sanitizeXss(form.action),\r\n method: form.method\r\n },\r\n {},\r\n {\r\n processData: false,\r\n contentType: false\r\n }).done(function (e) {\r\n if (e.Result) {\r\n $form.removeClass(validateClassName);\r\n form.reset();\r\n while (stepIndex > 0) {\r\n goToStep(-1);\r\n }\r\n\r\n if (template) {\r\n contentTextPlaceholder.append(compiled(e.Data));\r\n var modal = APP.sanitizeXss($form.data('target'));\r\n $(modal).removeClass('d-none');\r\n\r\n goToStep(0);\r\n } else {\r\n var modal = APP.sanitizeXss($form.data('target'));\r\n var options = {\r\n src: modal,\r\n type: 'inline'\r\n };\r\n \r\n $.fancybox.open(options);\r\n }\r\n } else {\r\n $.fancybox.open('');\r\n }\r\n\r\n $form.find('.loading').removeClass('show');\r\n $form.find('[type=submit]:last').prop('disabled', false);\r\n }).fail(function() {\r\n $form.find('.loading').removeClass('show');\r\n $form.find('[type=submit]:last').prop('disabled', false);\r\n });\r\n }\r\n\r\n }, false);\r\n\r\n $form.find('[data-prev=\"true\"]').on('click', function () {\r\n goToStep(-1);\r\n });\r\n });\r\n\r\n window.verifyRecaptchaCallback = function(data) {\r\n if (data) {\r\n $('.g-recaptcha').removeClass('is-invalid');\r\n }\r\n }\r\n }\r\n\r\n}));","/*\r\n *\r\n * Application Popup Plugin\r\n * using fancybox\r\n *\r\n */\r\n!(function(root, factory) {\r\n 'use strict';\r\n\r\n if ( typeof define === 'function' && define.amd ) {\r\n // AMD. Register as an anonymous module.\r\n define(['app', 'jquery'], factory);\r\n } else if ( typeof exports === 'object' ) {\r\n // Node/CommonJS\r\n module.exports = factory(require('app'), require('jquery'));\r\n } else {\r\n // Browser globals\r\n root.APP = root.APP || {};\r\n root.APP.init = root.APP.init || {};\r\n factory(root.APP, root.jQuery);\r\n }\r\n}(this, function(APP, $) {\r\n 'use strict';\r\n\r\n var _defaults = {\r\n base: {\r\n caption: function (fancybox, carousel, slide) {\r\n return (\r\n `
${slide.caption}
`\r\n );\r\n }\r\n },\r\n gallery: {\r\n nextEffect: 'fade',\r\n prevEffect: 'fade',\r\n closeClick: true,\r\n openSpeed: 150,\r\n closeSpeed: 150,\r\n helpers: {\r\n title: null\r\n }\r\n },\r\n galleryMedia: {\r\n Thumbs: false,\r\n Toolbar: false,\r\n Navigation: {\r\n prevTpl: '
',\r\n nextTpl: '
'\r\n },\r\n Image: {\r\n zoom: false,\r\n click: false,\r\n wheel: 'slide'\r\n },\r\n caption: function (fancybox, carousel, slide) {\r\n return (\r\n `
${slide.caption}
İndir`\r\n );\r\n }\r\n },\r\n galleryVideo: {\r\n Thumbs: false,\r\n Toolbar: false,\r\n Navigation: {\r\n prevTpl: '
',\r\n nextTpl: '
'\r\n },\r\n Image: {\r\n zoom: false,\r\n click: false,\r\n wheel: 'slide'\r\n },\r\n caption: function (fancybox, carousel, slide) {\r\n return (\r\n `
${slide.caption}
${slide.description}`\r\n );\r\n }\r\n },\r\n pageLoad: {\r\n autoSize: false,\r\n height: 'auto',\r\n openEffect: 'none',\r\n closeEffect: 'none',\r\n width: '70%',\r\n maxWidth: '100%',\r\n padding: 20,\r\n wrapCSS: 'popup-noscroll',\r\n helpers: {\r\n title: null\r\n }\r\n }\r\n };\r\n\r\n function getOptions(section, extras) {\r\n\r\n section = section || '';\r\n\r\n return $.extend(true, {}, _defaults.base, _defaults[section] || {}, extras);\r\n }\r\n\r\n\r\n var _$ = {\r\n popup: function(opts) {\r\n\r\n var options = getOptions('base', $.extend({}, _defaults.base, opts.base));\r\n\r\n Fancybox.bind(\".fancy-box\", options); // eslint-disable-line\r\n },\r\n galleryMedia: function() {\r\n\r\n var options = $.extend({}, _defaults.base, getOptions('galleryMedia'), { selector: '.gallery-box' });\r\n\r\n /* $().fancybox(options); */\r\n\r\n Fancybox.bind('[data-fancybox=\"gallery\"]', options);// eslint-disable-line\r\n },\r\n galleryVideo: function() {\r\n\r\n var options = $.extend({}, _defaults.base, getOptions('galleryVideo'));\r\n\r\n Fancybox.bind('[data-fancybox=\"video-gallery\"]', options);// eslint-disable-line\r\n },\r\n gallery: function(opts) {\r\n\r\n var options = $.extend({}, {\r\n cache: false,\r\n url: null,\r\n type: 'POST',\r\n dataType: 'json'\r\n }, opts);\r\n\r\n $('.popup-gallery').on('click', function(e) {\r\n\r\n e.preventDefault();\r\n\r\n var rel = $(this).attr('rel');\r\n\r\n if ( rel ) {\r\n $.ajax($.extend({}, options, {\r\n data: {\r\n gallery: rel\r\n }\r\n })).then(function(data) {\r\n $.fancybox.open(data, getOptions('gallery'));\r\n }).fail(function(/* err */) {\r\n // console.log(err);\r\n });\r\n }\r\n });\r\n },\r\n pageLoad: function(opts) {\r\n\r\n var $content = $('#popup-content');\r\n var $opts = $content.data('options');\r\n\r\n if ( !$content.length ) {\r\n return;\r\n }\r\n\r\n var options = $.extend(getOptions('pageLoad'), opts, {\r\n src: '#popup-content',\r\n type: 'inline'\r\n }, $opts);\r\n\r\n $.fancybox.open(options);\r\n }\r\n };\r\n\r\n APP.init.popups = function(opts) {\r\n\r\n opts = $.extend(_defaults, opts);\r\n\r\n _$.popup(opts);\r\n _$.galleryMedia(opts.galleryMedia);\r\n _$.galleryVideo(opts.galleryVideo);\r\n _$.gallery(opts.gallery);\r\n _$.pageLoad(opts.pageLoad);\r\n };\r\n}));\r\n"]}