var NF = { parameters:{ lang: 'it', }, colori:{ color: '#fff', bg: '#514A43', border: '#514A43', buttonBg: '#FF3399', buttonColor: '#FFFFFF' }, datiForm: { nome: '', email: '', regioni: '', periodi: '', }, ic: null, id_portale: null, stato: null, view_element: true, cookie_hide_name: 'newsletter-popupHide', cookie_hide_duration: '5', // 5 giorni cookie_sended_name: 'newsletter-popupSended', cookie_sended_duration: '365', // un anno, cookie_first_visit: 'newsletter-first', cookie_pages_visited: 'newsletter-pages', cookie_first_duration: '365', // un anno init: function(options) { NF.view_element = NF.isRequiredView(); if(! NF.view_element){ return; } var cf = NF.getCookie(NF.cookie_first_visit); if(!cf){ NF.setCookie(NF.cookie_first_visit, (Date.now() / 1000 | 0), NF.cookie_first_duration,'/'); NF.setCookie(NF.cookie_pages_visited, 1, NF.cookie_first_duration,'/'); return; }else{ var pages = (parseInt(NF.getCookie(NF.cookie_pages_visited)) + 1); NF.setCookie(NF.cookie_pages_visited, pages, NF.cookie_first_duration,'/'); } var now = Date.now() / 1000 | 0; if(((now - cf) > 90) || pages >= 3){ var random = Math.floor(Math.random() * 2000) + 2000; setTimeout(function(){ NF.parameters.lang = options.parameters.lang; if( !options.id_portale || !options.ic || !options.parameters.id_lista || !options.parameters.id_attivita ) return false; NF.ic = options.ic; NF.id_portale = options.id_portale; NF.parameters.id_lista = options.parameters.id_lista; NF.parameters.id_attivita = options.parameters.id_attivita; if(typeof options.stato != 'undefined'){ NF.stato = options.stato; } if(typeof options.parameters.lang != 'undefined'){ NF.parameters.lang = options.parameters.lang; } if(typeof options.parameters.email_notify != 'undefined'){ NF.parameters.email_notify = options.parameters.email_notify; } if(typeof options.parameters.name != 'undefined'){ NF.parameters.name = options.parameters.name; } if(typeof options.colori != 'undefined'){ NF.colori = options.colori; } NF.setCookie(NF.cookie_first_visit,1,-1); NF.setCookie(NF.cookie_pages_visited,1,-1); NF.viewNF(); }, random); } }, createHtmlPopup: function() { return '
'; }, createCSSPopup: function() { return ''; }, isRequiredView: function(){ var ch = NF.getCookie(NF.cookie_hide_name); var cs = NF.getCookie(NF.cookie_sended_name); if(ch=='1' || cs=='1'){ return false; }else{ return true; } }, removePopup: function(){ var el = document.getElementById( 'newsletter-popup' ); if(el) el.parentNode.removeChild( el ); }, registration: function(data){ if(data.result == true){ document.getElementById('newsletterIscriviti').innerHTML = NF.testoIscrizioneAvvenuta; GTracker('/tracking/regNewsletterProfilata'); /* fbq('track', 'Lead'); */ setTimeout(function(){ window.location.hash = '#'; NF.setCookie(NF.cookie_sended_name, '1', NF.cookie_sended_duration,'/'); },2000); }else{ document.getElementById('newsletterIscriviti').innerHTML = NF.testoErrore; } }, submitForm: function(email){ /* Registrazione al Servizio Newsletter */ var qs = '&email=' + email + '&force_no_notify=true'; // if(typeof options.parameters.email_notify != 'undefined'){ qs = qs + '&email_notify=' + NF.parameters.email_notify; } if(jQuery('#name').val() != ''){ qs = qs+'&name='+jQuery('#name').val(); } if(jQuery('#id_lista_NL').val() != ''){ qs = qs+'&list_id='+jQuery('#id_lista_NL').val(); } if(jQuery('#id_attivita_NL').val() != ''){ qs = qs+'&id_attivita='+jQuery('#id_attivita_NL').val(); } if(jQuery('#lingua_NL').val() != ''){ qs = qs+'&lang='+jQuery('#lingua_NL').val(); } link_admin_NS = 'https://admin.abc.sm/scripts/ajax/portali/newsletterIscrizione.php?callback=NF.regNewsletterOffer'+qs; grecaptcha.execute("6Ldw1fMUAAAAAElqC-irjtqcWpPewTUNifXzrHGL", {action: "newsletter"}).then(function(token) { link_admin_NS += '&token=' + token; $jsonp.send( link_admin_NS, { callbackName: 'NF.regNewsletterOffer', onSuccess: function(json){ }, onTimeout: function(){ NF.registration({ result: false, reason: 'timeout' }); }, timeout: 5 }); }); }, /* Registrazione al Servizio Newsletter Offerte */ regNewsletterOffer: function(email, nome, bookmark_region, bookmark_area, bookmark_period) { NF.datiForm.nome = jQuery('#name').val(); NF.datiForm.email = jQuery('#email').val(); NF.datiForm.regioni = jQuery('#regioni').val(); NF.datiForm.periodi = jQuery('#periodi').val(); NF.parameters.lang = jQuery('#lingua_NL').val(); var qs = '&email=' + NF.datiForm.email + '&lang=' + NF.parameters.lang + '&name=' + NF.datiForm.nome + '&bookmark_region=' + NF.datiForm.regioni + '&bookmark_period=' + NF.datiForm.periodi + '&token=' + jQuery('#token_NL').val(); $jsonp.send('/newsletterOfferte/newsletterIscrizione.php?callback=NF.registration' + qs, { callbackName: 'NF.registration', onSuccess: function(json){ }, onTimeout: function(){ NF.registration({ result: false, reason: 'timeout' }); }, timeout: 5 }); }, validateFormOnSubmit: function(contact){ if(NF.getCookie(NF.cookie_hide_name) == '1'){ NF.hideNF(); return null; } reason = ""; reason += NF.validateEmail(contact.email); reason += NF.validateDisclaimer(contact.disclaimer); reason += NF.validatePreference(contact.name, contact.regioni, contact.periodi ); if (reason.length > 0) { return false; } else { NF.submitForm(contact.email.value.trim()); /* return false; */ } }, validatePreference: function(name, regioni, periodi) { var error = ""; if (name.value == "") { document.getElementById('name-error').innerHTML = NF.errori.nameRequired; var error = "4"; } else { document.getElementById('name-error').innerHTML = ''; } if (periodi.value == "") { document.getElementById('periodi-error').innerHTML = NF.errori.periodiRequired; var error = "4"; } else { document.getElementById('periodi-error').innerHTML = ''; } if (regioni.value == "") { document.getElementById('regioni-error').innerHTML = NF.errori.regioniRequired; var error = "4"; } else { document.getElementById('regioni-error').innerHTML = ''; } return error; }, validateDisclaimer: function(disclaimer) { var error = ""; if (document.getElementById("disclaimer").checked === false) { document.getElementById('disclaimer-error').innerHTML = NF.errori.emailDisclaimer; var error = "4"; } else { document.getElementById('disclaimer-error').innerHTML = ''; var disclaimer = document.getElementById("disclaimer").checked; } return error; }, validateEmail: function(email) { var error = ""; var temail = email.value.trim() // value of field with whitespace trimmed off var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/; var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/; if (email.value == "") { document.getElementById('email-error').innerHTML = NF.errori.emailRequired; var error = "2"; } else if (!emailFilter.test(temail)) { //test email for illegal characters document.getElementById('email-error').innerHTML = NF.errori.emailInvalid; var error = "3"; } else if (email.value.match(illegalChars)) { var error = "4"; document.getElementById('email-error').innerHTML = NF.errori.emailInvalidChar; } else { document.getElementById('email-error').innerHTML = ''; } if (error != "") { email.style.boxShadow = 'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483'; email.style.borderColor = '#843534'; }else{ email.style.boxShadow = 'none'; email.style.borderColor = '#fff'; } return error; }, viewNF: function(){ NF.removePopup(); function create(htmlStr) { var frag = document.createDocumentFragment(), temp = document.createElement('div'); temp.innerHTML = htmlStr; while (temp.firstChild) { frag.appendChild(temp.firstChild); } return frag; } var fragment = create(NF.createHtmlPopup()); document.body.insertBefore(fragment, document.body.childNodes[0]); var fragment = create(NF.createCSSPopup()); document.head.insertBefore(fragment, document.head.childNodes[0]); grecaptcha.ready(function() { grecaptcha.execute("6Ldw1fMUAAAAAElqC-irjtqcWpPewTUNifXzrHGL", {action: "newsletter"}).then(function(token) { document.getElementById("token_NL").value = token; }); }); NF.bindLinks(); window.location.hash = '#newsletter-popup'; jQuery(".testSelAllRegioni").multiselect({ selectedList: 3 // 0-based index }); jQuery("#periodi").multiselect({ selectedList: 3 // 0-based index }); if( jQuery('#regioni').val() ) { jQuery('.contSelectRegioni button.ui-multiselect.ui-widget.ui-state-default.ui-corner-all span').css('color','#222'); }; jQuery( "#regioni" ).change(function() { if( jQuery('#regioni').val() ) { jQuery('.contSelectRegioni button.ui-multiselect.ui-widget.ui-state-default.ui-corner-all span').css('color','#222'); } }); jQuery( "#periodi" ).change(function() { if( jQuery('#regioni').val() ) { jQuery('.contSelectPeriodi button.ui-multiselect.ui-widget.ui-state-default.ui-corner-all span').css('color','#222'); } else { jQuery('.contSelectPeriodi button.ui-multiselect.ui-widget.ui-state-default.ui-corner-all span').css('color','#B1A9B1'); } }); }, showPopupNewsletter: function(){ NF.deleteCookie('newsletter-popupHide'); NF.viewNF(); return false; }, bindLinks: function(){ document.getElementById('newsletter-popup-close').addEventListener('click', function(event) { NF.hideNF(); }, false); document.getElementById('newsletter-popup-inner-close').addEventListener('click', function() { NF.hideNF(); }, false); }, hideNF: function(){ var element = document.getElementById('newsletter-popup'); element.outerHTML = ''; delete element; window.history.back(); /* window.location.hash = '#'; */ NF.setCookie(NF.cookie_hide_name, '1', NF.cookie_hide_duration,'/'); }, getCookie: function(name){ var start = document.cookie.indexOf( name + "=" ); var len = start + name.length + 1; if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ){ return null; } if ( start == -1 ) return null; var end = document.cookie.indexOf( ";", len ); if ( end == -1 ) end = document.cookie.length; return unescape( document.cookie.substring( len, end ) ); }, setCookie: function(name, value, expires, path, domain, secure){ var today = new Date(); today.setTime( today.getTime() ); if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date( today.getTime() + (expires) ); document.cookie = name + "=" +escape( value ) + ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + ( ( path ) ? ";path=" + path : "" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" ); }, deleteCookie: function(name) { document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } }; var $jsonp = (function(){ var that = {}; that.send = function(src, options) { var callback_name = options.callbackName || 'callback', on_success = options.onSuccess || function(){}, on_timeout = options.onTimeout || function(){}, timeout = options.timeout || 10; // sec var timeout_trigger = window.setTimeout(function(){ window[callback_name] = function(){}; on_timeout(); }, timeout * 1000); window[callback_name] = function(data){ window.clearTimeout(timeout_trigger); on_success(data); } var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true; script.src = src; document.getElementsByTagName('head')[0].appendChild(script); } return that; })(); NF.id_lista_NL = '25394'; NF.id_attivita_NL = '3257'; NF.lingua_NL = 'it'; NF.testoCta = 'VUOI RICEVERE SOLO LE OFFERTE CHE TI INTERESSANO PER LE TUE VACANZE?'; NF.testoCtaSubTitle = 'Seleziona la destinazione e il periodo che preferisci, riceverai periodicamente le migliori offerte selezionate per te con sconti fino al 50%'; NF.testoCtaSpot = 'TANTISSIME