(function(opts){ var head = document.getElementsByTagName('head')[0], query = {}, widgets = [], createLoader = loader(); if (location.search) { var items = location.search.substring(1).split('&'); for (var i = 0; i < items.length; i++) { var p = items[i].split('='); query[decodeURIComponent(p[0])] = decodeURIComponent(p[1]); } if ('partner' in query) { var date = new Date(new Date().getTime() + (60 * 1000) * 60 * 24 * 365); document.cookie = "_rg_partner="+query['partner']+"; path=/; expires=" + date.toUTCString(); } } function load() { widgets = document.querySelectorAll('[data-rg-widget]'); for (var i = 0; i < widgets.length; i++) { renderWidget(widgets[i]); } } if (document.readyState == 'loading') { document.addEventListener("DOMContentLoaded", load); } else { // document.readyState is interactive or complete // can interact with page load(); } function evalSnippets(widget) { var nodes = widget.querySelectorAll('script:not([src])'); for (var i = 0; i < nodes.length; i++) { eval(nodes[i].innerHTML); } incStatus(widget); } function renderWidget(widget) { var name = widget.getAttribute('data-rg-widget'); if (name in opts.except) { incStatus(widget, 2); return; } var loader = createLoader(); widget.appendChild(loader); var content = document.createElement('div'); content.style.display = 'none'; widget.appendChild(content); var params = widget.getAttribute('data-params'); if (params) { params = JSON.parse(params); for (var k in params) { if (!(k in query)) { query[k] = params[k]; } } } query['r'] = '/' + name; var queryStr = Object.keys(query).map(function(k) { return k + '=' + encodeURIComponent(query[k]); }).join('&'); var request = new XMLHttpRequest(); request.open('GET', opts.sn + '?' + queryStr, true); request.setRequestHeader("X-Requested-With", "XMLHttpRequest"); request.onload = function() { if (request.status == 200) { content.innerHTML = this.responseText; processCss(widget, loader, content); processJs(widget); } }; request.send(); } function processCss(widget, loader, content) { var sheets = widget.querySelectorAll('link[href][rel=stylesheet],style'), ready = function() { loader.style.display = 'none'; content.style.display = 'block'; incStatus(widget); }; if (sheets.length) { var k = 0; for (var i = 0; i < sheets.length; i++) { sheets[i].onload = function() { if (sheets.length == ++k) { ready(); } } } } else { ready(); } } function processJs(widget) { var scripts = widget.querySelectorAll('script[src]'); var k = 0; if (scripts.length) { for (var i = 0; i < scripts.length; i++) { var script = document.createElement('script'); script.src = scripts[i].getAttribute('src'); script.async = false; script.onload = function() { if (scripts.length == ++k) { evalSnippets(widget); } }; head.appendChild(script); } } else { evalSnippets(widget); } } function incStatus(widget, step) { widget.status = widget.status || 0; widget.status += (step || 1); } function loader() { var css = 'div[data-rg-widget] {position:relative} ' + 'div[data-rg=loader]' + '{width: 40px; height: 40px; background-color: #333; border-radius: 100%; -webkit-animation: sk-scaleout 1.0s infinite ease-in-out; animation: sk-scaleout 1.0s infinite ease-in-out; } ' + '@-webkit-keyframes sk-scaleout { 0% { -webkit-transform: scale(0) } 100% { -webkit-transform: scale(1.0); opacity: 0; } } ' + '@keyframes sk-scaleout { 0% { -webkit-transform: scale(0); transform: scale(0); } 100% {-webkit-transform: scale(1.0);transform: scale(1.0);opacity: 0;}}' + 'div[data-rg-widget=form] div[data-rg=loader], ' + 'div[data-rg-widget=preview] div[data-rg=loader], ' + 'div[data-rg-widget=prices] div[data-rg=loader], ' + 'div[data-rg-widget=priceCalc] div[data-rg=loader], ' + 'div[data-rg-widget=referenceGenerator] div[data-rg=loader], ' + 'div[data-rg-widget=terms] div[data-rg=loader] ' + '{position: absolute; left: 50%; top: 120px; margin-left: -20px}'; var style = document.createElement('style'); style.appendChild(document.createTextNode(css)); head.appendChild(style); return function() { var element = document.createElement('div'); element.setAttribute('data-rg', 'loader'); return element; }; } var interval = setInterval(function() { for (var i = 0; i < widgets.length; i++) { if (widgets[i].status != 2) { return; } } clearInterval(interval); }, 100); if (document.cookie.indexOf("_rg_labels=") == -1) { var currentUrl = location.pathname + location.search; document.cookie = "_rg_labels=" + currentUrl + "; path=/"; } })({"sn":"/wp-content/special/rg-middleware-proxy.php","query":[],"except":{"termsPopup":1}}); (function(content, contentUserBlock, isGuest, logoutUrl){/** * Registration popup * This file loaded from ExitPopup widget */ window.addEventListener("load", function() { var popupWrapper = document.createElement('div'), activators = document.querySelectorAll('[data-target="login-popup-activator"]'); if (!isGuest) { popupWrapper.innerHTML = contentUserBlock; function insertAfter(referenceNode, newNode) { referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); } for (var i in activators) { activators.item(i).style.display = 'none'; insertAfter(activators.item(i), popupWrapper); popupWrapper.onclick = function () { var userBlock = document.querySelector('.userBlock'), dropdownMenu = userBlock.querySelector('.dropdown-menu'); if (dropdownMenu.style.display === 'block') { console.log(); dropdownMenu.style.display = 'none'; } else { dropdownMenu.style.display = 'block'; } }; } return; } popupWrapper.innerHTML = content; document.querySelector('body').appendChild(popupWrapper); var container = document.querySelector('.login-form-wrapper'), overlay = container.querySelector('.rg-popup-overlay'), forgotActivator = container.querySelectorAll('[data-target="forgot-password"]'), loginPopup = container.querySelector('.login-form-content'), forgotPopup = container.querySelector('.forgot-form-content'), closeButtons = container.querySelectorAll('.rg-login-popup-close-btn'), form = container.querySelector('form'), emailInput = form.querySelector('input[name="LoginForm[login]"]'), submitButton = form.querySelector('button[type="submit"]'), forgotForm = container.querySelector('.forgot-form'), forgotEmailInput = forgotForm.querySelector('input[name="LoginForm[login]"]'), forgotSubmitButton = forgotForm.querySelector('button[type="submit"]'), loader = form.querySelector('[data-rg="loader"]'), forgotLoader = forgotForm.querySelector('[data-rg="loader"]'); var disablePopup = function() { overlay.style.display = 'none'; forgotPopup.style.display = 'none'; loginPopup.style.display = 'none'; }; // Hide offerPopup & overlay when clicked close button for (var i in closeButtons) { closeButtons[i].onclick = disablePopup; } // show popupOverlay & popup for (var i in activators) { activators[i].onclick = function () { overlay.style.display = 'block'; loginPopup.style.display = 'block'; emailInput.focus(); }; } for (var n in forgotActivator) { forgotActivator[n].onclick = function () { overlay.style.display = 'block'; forgotPopup.style.display = 'block'; loginPopup.style.display = 'none'; forgotEmailInput.focus(); }; } // Hide popupOverlay & popups overlay.onclick = disablePopup; function showLoader() { submitButton.style.display = 'none'; loader.style.display = 'block'; } function hideLoader() { loader.style.display = 'none'; submitButton.style.display = 'inline-block'; } form.onsubmit = function (e) { e.preventDefault(); var errorFields = form.querySelectorAll('.has-error'); var inputs = form.querySelectorAll('.form-group input'); var emptyFields = 0; for (var input in inputs) { if (inputs.item(input).value == '') { emptyFields++; } } showLoader(); if (errorFields.length > 0 && emptyFields == 0) { ga('send', 'event', 'Log In', 'LogIn_Form', 'LogInForm_submission'); } var request = new XMLHttpRequest(); request.open('POST', this.getAttribute('action'), true); request.onload = function() { var allFields = form.querySelectorAll('.form-group'); for (var k in allFields) { removeClass(allFields.item(k), 'has-error'); allFields.item(k).querySelector('.help-block').innerHTML = ''; } if (request.status == 200) { var data = JSON.parse(request.responseText); if (data.errors) { for (i in data.errors) { var fieldWrapper = form.querySelector('[name="LoginForm[' + i + ']"]').parentNode; addClass(fieldWrapper, 'has-error'); fieldWrapper.querySelector('.help-block').innerHTML = data.errors[i][0]; hideLoader(); } } else { if (data.success) { location.href = data.success; } else { location.reload(); } } } else { hideLoader(); } }; request.send(new FormData(this)); }; forgotForm.onsubmit = function (e) { e.preventDefault(); var fieldWrapper = forgotForm.querySelector('[name="LoginForm[login]"]').parentNode; if (validateEmail(forgotEmailInput.value) == false) { addClass(fieldWrapper, 'has-error'); fieldWrapper.querySelector('.help-block').innerHTML = 'Please enter a valid email.'; return; } forgotSubmitButton.style.display = 'none'; forgotLoader.style.display = 'block'; var request = new XMLHttpRequest(); request.open('POST', this.getAttribute('action'), true); request.onload = function() { var allFields = forgotForm.querySelectorAll('.form-group'); for (var k in allFields) { removeClass(allFields.item(k), 'has-error'); allFields.item(k).querySelector('.help-block').innerHTML = ''; } if (request.status == 200) { var data = JSON.parse(request.responseText); if (data.errors) { for (i in data.errors) { addClass(fieldWrapper, 'has-error'); fieldWrapper.querySelector('.help-block').innerHTML = data.errors[i]; forgotLoader.style.display = 'none'; forgotSubmitButton.style.display = 'inline-block'; } } else { if (data.success) { forgotLoader.style.display = 'none'; for (var j in allFields) { allFields.item(j).style.display = 'none'; } var successMessage = forgotForm.querySelector('.success-message'); successMessage.innerHTML = data.success; successMessage.style.display = 'block'; } else { location.reload(); } } } else { forgotLoader.style.display = 'none'; forgotSubmitButton.style.display = 'inline-block'; } }; request.send(new FormData(this)); }; function hasClass(el, className) { if (el.classList) return el.classList.contains(className); else return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)')); } function addClass(el, className) { if (el.classList) { el.classList.add(className); } else if (!hasClass(el, className)) { el.className += " " + className } } function removeClass(el, className) { if (el.classList) { el.classList.remove(className); } else if (hasClass(el, className)) { var reg = new RegExp('(\\s|^)' + className + '(\\s|$)'); el.className=el.className.replace(reg, ' '); } } function validateEmail(email) { var 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(email); } }); })("