{"version":3,"file":"promokit.js","sources":["../_src/message/message-alert.js","../_src/util/isMobile.js","../_src/message/message.js","../_src/message/message-landscape.js","../_src/util/removeSpace.js","../_src/util/gameName.js","../_src/trace/trace.js","../_src/util/trim.js","../_src/cookie/setcookie.js","../_src/cookie/cookie.js","../_src/cookie/getcookie.js","../_src/cookie/delcookie.js","../_src/layer/layer.js","../_src/player/youtube-player.js","../_src/player/video-player.js","../_src/player/player.js","../_src/util/environment.js","../_src/util/animationFrame.js","../_src/preloader/image-loader.js","../_src/preloader/video-loader.js","../_src/preloader/youtube-loader.js","../_src/preloader/preloader.js","../_src/cnb/cnb.js","../_src/util/loadJs.js","../_src/share/js/facebook.js","../_src/share/js/twitter.js","../_src/share/js/kakaostory.js","../_src/share/js/kakaotalk.js","../_src/share/js/googleplus.js","../_src/share/js/line.js","../_src/util/isOs.js","../_src/share/js/copyurl.js","../_src/share/js/share.js","../_src/comment/comment.js","../_src/util/loadCss.js","../_src/promokit.js","../_src/remote/remote.js"],"sourcesContent":["const messageAlert = () =>{\n\n $(document).on('click.promo.alert', '[data-alert]', function(e){\n e.preventDefault();\n let alertMessage = $(this).attr('data-alert').replace(/\\\\n/, '\\n');\n alert(alertMessage);\n });\n\n};\n\nexport default messageAlert;\n","/**\n * 모바일 브라우저 인지 체크\n * @param agent\n * @returns {boolean}\n */\nconst isMobile = (agent = navigator.userAgent.toLowerCase()) =>{\n return /(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i.test(agent);\n};\n\nexport default isMobile;","import messageAlert from \"./message-alert\";\nimport messageLandscape from './message-landscape';\n\nimport isMobile from '../util/isMobile';\n\nmessageAlert();\nisMobile() && messageLandscape();","const template = `
`;\n\nconst messageLandscape = () =>{\n $('body').append(template);\n};\n\nexport default messageLandscape;","/**\n * 공백 제거\n * @param str\n * @returns {*|void|string|XML}\n */\n\nconst removeSpace = (str) =>{\n return str.replace(/\\s/gi, '');\n};\n\nexport default removeSpace;","/**\n * get game name\n * @param url\n * @returns {*}\n */\nconst getGameName = (url = location.href) =>{\n let gameName = '';\n\n if(/aion\\.plaync\\.com/.test(url)) {\n gameName = {\n 'en': 'aion',\n 'ko': '아이온'\n };\n }\n\n if(/lineage\\.plaync\\.com/.test(url)) {\n gameName = {\n 'en': 'lineage',\n 'ko': '리니지'\n };\n }\n\n if(/lineage2\\.plaync\\.com/.test(url)) {\n gameName = {\n 'en': 'lineage2',\n 'ko': '리니지2'\n };\n }\n\n if(/lineage2\\.plaync\\.com\\/classic/.test(url) || /lineage2\\.plaync\\.com\\/promo\\/lineage2classic/.test(url)) {\n gameName = {\n 'en': 'lineage2classic',\n 'ko': '리니지2클래식'\n };\n }\n\n if(/bns\\.plaync\\.com/.test(url)) {\n gameName = {\n 'en': 'bns',\n 'ko': '블소'\n };\n }\n\n return gameName;\n};\n\nexport default getGameName;","import removespace from '../util/removeSpace';\nimport gamename from '../util/gameName';\n\nlet pageTitle = removespace(document.title).split(':plaync')[0];\n\n/**\n * trk click Trace logger\n * @param clickTraceStr\n */\nconst trace = (clickTraceStr) =>{\n if(typeof _trk_clickTrace !== 'function') {\n window._trk_clickTrace = function(param1, param2){\n console.log(`_trk_clickTrace('${param1}','${param2}')`);\n };\n }\n\n _trk_clickTrace('EVT', clickTraceStr);\n};\n\n$(document).on('click.promo.trace', '[data-trace]', function(){\n trace(`/${gamename().ko}/이벤트프로모션/${pageTitle}/${$(this).attr('data-trace')}`);\n});\n\nexport default trace;","/**\n * 문자 앞 뒤 공백 제거\n * @param str\n * @returns {string|XML}\n */\nconst trim = (str) =>{\n if(String.prototype.trim) {\n return str.trim();\n }\n\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n\nexport default trim;","/**\n * 브라우저 쿠키 설정\n * @param key\n * @param value\n * @param expires ( Number:1~365, String: '2017/12/23 23:59:59', Object:{'day': 1, 'hour': 23, 'min': 59, 'sec': 59} )\n */\nconst setCookie = (key, value, expires = 1) =>{\n let now = new Date();\n\n switch(typeof expires) {\n case 'number':\n now.setDate(now.getDate() + expires);\n break;\n\n case 'string':\n let end = new Date(expires) - now;\n now.setDate(now.getDate() + Math.floor(( end / (1000 * 60 * 60 * 24))));\n now.setHours(now.getHours() + Math.floor(( end % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)));\n now.setMinutes(now.getMinutes() + Math.floor(( end % (1000 * 60 * 60)) / (1000 * 60)));\n now.setSeconds(now.getSeconds() + Math.floor(( end % (1000 * 60)) / 1000));\n break;\n\n case 'object':\n now.setDate(now.getDate() + expires.day);\n now.setHours(now.getHours() + expires.hour);\n now.setMinutes(now.getMinutes() + expires.min);\n now.setSeconds(now.getSeconds() + expires.sec);\n break;\n }\n\n document.cookie = key + '=' + value + ';path=/;' + 'domain=' + document.domain.substring(document.domain.indexOf(\".plaync\") + 1) + ';expires=' + now.toUTCString();\n};\n\nexport default setCookie;","import trim from '../util/trim';\nimport getcookie from './getcookie';\nimport setcookie from './setcookie';\nimport delcookie from './delcookie';\n\n$(document).on('click.promo.cookie', '[data-cookie]', function(e){\n e.preventDefault();\n\n setcookie(\n trim($(this).attr('data-cookie').split(',')[0]),\n trim($(this).attr('data-cookie').split(',')[1]),\n !!$(this).attr('data-cookie').split(',')[2] ? Number(trim($(this).attr('data-cookie').split(',')[2])) : 1\n );\n\n if($(this).attr('data-redirect')) {\n document.location.href = $(this).attr('data-redirect');\n }\n});\n\nexport default {\n getcookie,\n setcookie,\n delcookie\n};","/**\n * 브라우저 쿠키 추출\n * @param key\n * @returns {*}\n */\nconst getCookie = (key) =>{\n if(!document.cookie) {\n return;\n }\n\n let cookies = document.cookie.replace(/\\s+/gi, '').split(\";\");\n\n for(let i = 0, compare, length = cookies.length; i < length; i++) {\n compare = cookies[i].split(\"=\");\n if(key === compare[0]) {\n return compare [1];\n }\n }\n};\n\nexport default getCookie;","import setcookie from './setcookie';\n\n/**\n * 브라우저 쿠키 삭제\n * @param key\n */\nconst delCookie = (key) =>{\n if(!document.cookie) {\n return;\n }\n\n setcookie(key, null, -1);\n};\n\nexport default delCookie;","export class Layer {\n constructor(options){\n this.config = {\n ...{\n 'el': '',\n 'name': 'promo-layer',\n 'duration': 300,\n 'fade': false,\n 'esc': false,\n 'padding': 20,\n 'dim': false,\n 'dimClickClose': false,\n 'onStartOpen': false,\n 'onStartClose': false,\n 'onCompleteOpen': false,\n 'onCompleteClose': false\n }, ...options\n };\n\n this.state = {\n isActive: false,\n openTarget: $(this.config.el),\n offsetTop: 0\n };\n\n this.DOM = {\n HTML: $('html'),\n BODY: $('body'),\n LAYER: false,\n LAYERCONTENTS: false,\n CONTENTS: false,\n BACKDROP: false,\n TEMPLATE: false\n };\n\n this.EVENT = {\n OPENSTART: 'layeropenstart',\n OPENEND: 'layeropenend',\n CLOSESTART: 'layerclosestart',\n CLOSEEND: 'layercloseend'\n };\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n\n this._init();\n }\n\n _init(){\n this._setLayer();\n this._setLayerContents($(`${this.config.el}`));\n this._setLayerBackDrop();\n this._addEvent();\n }\n\n _setLayer(){\n this.DOM.LAYER = $(`