var eppawstock=new function(){ var me=this; var shopid="271153"; var key="M1mRIGjDjXs2djBZ9qUfiXKXiSJIHAPKxwOSOhIxzH4="; var domain="eppaw.com"; var prot="https"; var posfix; me.init=function (){ var addStockmail=document.querySelectorAll('[data-available="0"]'); postfix="lightspeed"; } me.initstockmail=(aitem)=>{ let popupwrap=document.querySelector('.popupstockmailwrap') || document.createElement('div'); if(!popupwrap.classList.contains('popupstockmailwrap')){ popupwrap.classList.add("popupstockmailwrap"); let popuppwrapclose=document.createElement('div'); popuppwrapclose.classList.add('popupstockmailpwrapclose'); popuppwrapclose.addEventListener('click',(evt)=>{ let target = evt.target || evt.srcElement; target.parentNode.classList.remove('stockmailshow'); }); let popup=document.createElement('div'); popup.classList.add('popupstockmail'); popup.id='popupstockmail'; let popupclose=document.createElement('div'); popupclose.classList.add('popupstockmailclose'); popupclose.addEventListener('click',(evt)=>{ let target = evt.target || evt.srcElement; target.parentNode.parentNode.classList.remove('stockmailshow'); }); let popupinfowrap=document.createElement('div'); popupinfowrap.classList.add('popupstockmailinfowrap'); let popupnamewrap=document.createElement('div'); popupnamewrap.classList.add('popupstockmailnamewrap'); let popupemailwrap=document.createElement('div'); popupemailwrap.classList.add('popupstockmailemailwrap'); let popupbuttonwrap=document.createElement('div'); popupbuttonwrap.classList.add('popupstockmailbuttonwrap'); let info=document.createElement('h4'); info.textContent="Stuur mij een email als er weer voorraad is."; popupinfowrap.appendChild(info); let inputname=document.createElement('input'); popupnamewrap.classList.add("invalid"); inputname.setAttribute('placeholder','naam') inputname.addEventListener('input',(evt)=>{ let target = evt.target || evt.srcElement; if(target.value.length>0){ target.parentNode.classList.remove("invalid"); }else{ target.parentNode.classList.add("invalid"); } }); inputname.id='popupstockmailname'; let labelname=document.createElement('label'); labelname.for='popupstockmailname'; labelname.textContent="naam"; popupnamewrap.appendChild(labelname); popupnamewrap.appendChild(inputname); let inputemail=document.createElement('input'); inputemail.id="popupstockmailemail"; inputemail.setAttribute('placeholder','email'); popupemailwrap.classList.add("invalid"); inputemail.addEventListener('input',(evt)=>{ let target = evt.target || evt.srcElement; if(validateEmail(target.value)){ target.parentNode.classList.remove("invalid"); }else{ target.parentNode.classList.add("invalid"); } }); let labelemail=document.createElement('label'); labelemail.for="popupstockmailemail"; labelemail.textContent="email"; popupemailwrap.appendChild(labelemail); popupemailwrap.appendChild(inputemail); let button=document.createElement('button'); button.type="type"; button.textContent="hou mij op de hoogte"; button.addEventListener('click',(evt)=>{ let email =document.querySelector('#popupstockmailemail').value; let name =document.querySelector('#popupstockmailname').value; let vid =document.querySelector('.popupstockmailwrap').dataset.vid; document.querySelector('.popupstockmailwrap').classList.add("sendingstockinfo"); eppawstock.send(email,name,vid,postfix); }) popupbuttonwrap.appendChild(button); popup.appendChild(popupclose); popup.appendChild(popupinfowrap); popup.appendChild(popupnamewrap); popup.appendChild(popupemailwrap); popup.appendChild(popupbuttonwrap); popupwrap.appendChild(popup); popupwrap.appendChild(popuppwrapclose); document.querySelector('body').appendChild(popupwrap); } popupwrap.dataset.vid=aitem.parentNode.dataset.varid; popupwrap.classList.add("stockmailshow"); } me.send=function(email,name,vid,posfix){ var xmlhttp = new XMLHttpRequest(); var url=prot+"://"+domain+"/pubapi/StockMailAdd"; xmlhttp.onreadystatechange = function() { console.log(this.readyState); if (this.readyState == 4 && this.status == 200) { var data = JSON.parse(this.responseText); if(document.querySelector(".stockmailshow")) document.querySelector(".stockmailshow").classList.remove("stockmailshow"); if(document.querySelector(".sendingstockinfo")) document.querySelector(".sendingstockinfo").classList.remove("sendingstockinfo"); console.log(data); } }; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("x-eppaw-hmac", key); xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xmlhttp.send(JSON.stringify({ "shopid":shopid,"platform":posfix, "data": { "name": name,"email":email,"vid":vid } })); } function validateEmail(email) { const re = /^(([^<>()[\]\\.,;:\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,}))$/; return re.test(String(email).toLowerCase()); } document.addEventListener("DOMContentLoaded", function(event) { me.init(); }); }