{"version":3,"sources":["webpack:///./source/application/promotion.js","webpack:///./source/application/promotion/promotion.module.js","webpack:///./source/application/promotion/promotion.component.js"],"names":["PromotionModule","angular","module","component","PromotionComponent","name","nameRegex","emailRegex","phoneRegex","bindings","transclude","templateUrl","controller","$http","$timeout","this","http","showForm","showSuccessMessage","captchaInfo","model","phone","q2_1","q2_2","q2_3","q2_4","q2_5","get","then","response","id","data","captchaId","htmlFragment","err","console","log","test","email","promotionFrom","$setValidity","window","location","href","captcha","$valid","method","url","headers","JSON","stringify","captchaText","text","dataLayer","push","scrollTop","status","error","getCaptchaInfo","scrollToFirstError","animate","elements","length","scrollIntoView","behavior"],"mappings":"iIAAA,Q,gHCAA,I,EAAA,G,EAAA,O,2BACA,SAEO,IAAMA,EAAkBC,UAC7BC,OAAO,YAAa,IACpBC,UAAU,qBAAsBC,sBAChCC,K,mICNF,I,EAAA,G,EAAA,O,iMACA,IAAMC,EAAY,wFACZC,EAAa,yJACbC,EAAa,mBAENJ,EAAqB,CACjCK,SAAU,GAEVC,YAAY,EACZC,YAAa,iBACbC,WAAU,WACT,WAAYC,EAAOC,I,4FAAU,SAE5BC,KAAKC,KAAOH,EACZE,KAAKE,UAAW,EAChBF,KAAKG,oBAAqB,EAC1BH,KAAKI,YAAc,GACnBJ,KAAKT,UAAYA,EACjBS,KAAKR,WAAaA,EAClBQ,KAAKP,WAAaA,EAClBO,KAAKD,SAAWA,EAChBC,KAAKK,MAAQ,CACZC,MAAO,MACPC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,MAAM,G,UAjBC,sC,EAAA,G,EAAA,2EAyBQ,WAChBX,KAAKC,KAAKW,IAAI,mBAAmBC,MAAK,SAAAC,GACrC,EAAKV,YAAYW,GAAKD,EAASE,KAAKC,UACpC,EAAKb,YAAYc,aAAeJ,EAASE,KAAKE,gBAC5C,SAAAC,GACFC,QAAQC,IAAIF,EAAIH,WA9BT,yCAkCU,WACdhB,KAAKR,WAAW8B,KAAKtB,KAAKK,MAAMkB,QACnCvB,KAAKC,KAAKW,IAAV,oCAA2CZ,KAAKK,MAAMkB,QAASV,MAAK,WAEnE,EAAKW,cAAcD,MAAME,aAAa,SAAS,MAC7C,WACF,EAAKD,cAAcD,MAAME,aAAa,SAAS,QAxCzC,qCA8CRC,OAAOC,SAASC,KAAO,MA9Cf,iCAiDE,WAEV5B,KAAKwB,cAAcK,QAAQJ,aAAa,QAAQ,GAC5CzB,KAAKwB,cAAcM,OACtB9B,KAAKC,KAAK,CACT8B,OAAQ,OACRC,IAAK,gBACLhB,KAAMhB,KAAKK,MACX4B,QAAS,CACRJ,QAASK,KAAKC,UAAU,CACvBlB,UAAW,GAAF,OAAKjB,KAAKI,YAAYW,IAC/BqB,YAAa,GAAF,OAAKpC,KAAKI,YAAYiC,WAGjCxB,MAAK,WACP,EAAKV,oBAAqB,EAC1BuB,OAAOY,UAAUC,KAAK,CAAE,MAAS,+BACjC,EAAKxC,UAAS,WACb,EAAKyC,kBAEJ,SAAArB,GAAO,MACU,MAAfA,EAAIsB,QAAqC,YAAnB,UAAAtB,EAAIH,YAAJ,eAAU0B,SACnC,EAAKlB,cAAcK,QAAQJ,aAAa,QAAQ,GAChD,EAAKkB,iBACL,EAAKC,yBAIP5C,KAAK4C,uBA7EE,kCAkFR5C,KAAK2C,iBACL3C,KAAKE,UAAW,EAChBF,KAAKwC,cApFG,qCAwFR,OAAOxC,KAAKK,MAAME,MAAQP,KAAKK,MAAMG,MAAQR,KAAKK,MAAMI,MAAQT,KAAKK,MAAMK,MAAQV,KAAKK,MAAMM,OAxFtF,mCA4FR,aAAE,yBAAyBkC,QAAQ,CAClCL,UAAW,KACT,OA9FK,2CAkGRxC,KAAKD,UAAS,WACb,IAAI+C,GAAW,aAAE,+BACbA,EAASC,QAEAD,EAAS,GACfE,eAFQ,CAAEC,SAAU,aAIzB,U,2BAzGK,M","file":"application/promotion.bundle.js","sourcesContent":["import './promotion/promotion.module';\n","import angular from 'angular';\nimport { PromotionComponent } from './promotion.component';\n\nexport const PromotionModule = angular\n\t.module('promotion', [])\n\t.component('promotionComponent', PromotionComponent)\n\t.name;\n","import $ from 'jquery';\nconst nameRegex = /^[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœőŐűŰ \\.\\-]{5,50}$/;\nconst emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nconst phoneRegex = /^\\+?[0-9]{2,20}$/;\n\nexport const PromotionComponent = {\n\tbindings: {\n\t},\n\ttransclude: true,\n\ttemplateUrl: 'promotion.html',\n\tcontroller: class PromotionComponent {\n\t\tconstructor($http, $timeout) {\n\t\t\t'ngInject';\n\t\t\tthis.http = $http;\n\t\t\tthis.showForm = false;\n\t\t\tthis.showSuccessMessage = false;\n\t\t\tthis.captchaInfo = {};\n\t\t\tthis.nameRegex = nameRegex;\n\t\t\tthis.emailRegex = emailRegex;\n\t\t\tthis.phoneRegex = phoneRegex;\n\t\t\tthis.$timeout = $timeout;\n\t\t\tthis.model = {\n\t\t\t\tphone: '+36',\n\t\t\t\tq2_1: false,\n\t\t\t\tq2_2: false,\n\t\t\t\tq2_3: false,\n\t\t\t\tq2_4: false,\n\t\t\t\tq2_5: false\n\t\t\t};\n\t\t}\n\n\t\t$onInit() {\n\t\t}\n\n\t\t// API\n\t\tgetCaptchaInfo() {\n\t\t\tthis.http.get('/public/captcha').then(response => {\n\t\t\t\tthis.captchaInfo.id = response.data.captchaId;\n\t\t\t\tthis.captchaInfo.htmlFragment = response.data.htmlFragment;\n\t\t\t}, err => {\n\t\t\t\tconsole.log(err.data);\n\t\t\t});\n\t\t}\n\n\t\tcheckEmailExists() {\n\t\t\tif (this.emailRegex.test(this.model.email)) {\n\t\t\t\tthis.http.get(`/public/promo/email?email=${this.model.email}`).then(() => {\n\t\t\t\t\t// nincs ilyen mailcímmel adat, mehet be\n\t\t\t\t\tthis.promotionFrom.email.$setValidity('exist', true);\n\t\t\t\t}, () => {\n\t\t\t\t\tthis.promotionFrom.email.$setValidity('exist', false);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tgoToHomePage() {\n\t\t\twindow.location.href = '/';\n\t\t}\n\n\t\tsendForm() {\n\t\t\t// mikor újra küldjük, kiütjük a szerverről jövő validációt\n\t\t\tthis.promotionFrom.captcha.$setValidity('text', true);\n\t\t\tif (this.promotionFrom.$valid) {\n\t\t\t\tthis.http({\n\t\t\t\t\tmethod: 'post',\n\t\t\t\t\turl: '/public/promo',\n\t\t\t\t\tdata: this.model,\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tcaptcha: JSON.stringify({\n\t\t\t\t\t\t\tcaptchaId: `${this.captchaInfo.id}`,\n\t\t\t\t\t\t\tcaptchaText: `${this.captchaInfo.text}`\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.showSuccessMessage = true;\n\t\t\t\t\twindow.dataLayer.push({ 'event': 'contestRegistrationSuccess' })\n\t\t\t\t\tthis.$timeout(() => {\n\t\t\t\t\t\tthis.scrollTop();\n\t\t\t\t\t});\n\t\t\t\t}, err => {\n\t\t\t\t\tif (err.status === 400 && err.data?.error == 'captcha') {\n\t\t\t\t\t\tthis.promotionFrom.captcha.$setValidity('text', false);\n\t\t\t\t\t\tthis.getCaptchaInfo();\n\t\t\t\t\t\tthis.scrollToFirstError();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.scrollToFirstError();\n\t\t\t}\n\t\t}\n\n\t\tstartGame() {\n\t\t\tthis.getCaptchaInfo();\n\t\t\tthis.showForm = true;\n\t\t\tthis.scrollTop();\n\t\t}\n\n\t\tsomeSelected() {\n\t\t\treturn this.model.q2_1 || this.model.q2_2 || this.model.q2_3 || this.model.q2_4 || this.model.q2_5;\n\t\t}\n\n\t\tscrollTop() {\n\t\t\t$('.ip-content-container').animate({\n\t\t\t\tscrollTop: 200\n\t\t\t}, 500);\n\t\t}\n\n\t\tscrollToFirstError() {\n\t\t\tthis.$timeout(() => {\n\t\t\t\tlet elements = $('.md-input-message-animation');\n\t\t\t\tif (elements.length) {\n\t\t\t\t\tlet options = { behavior: 'smooth' };\n\t\t\t\t\tlet first = elements[0];\n\t\t\t\t\tfirst.scrollIntoView(options);\n\t\t\t\t}\n\t\t\t}, 500);\n\t\t}\n\t}\n};\n"],"sourceRoot":""}