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
OFFERTE
CON SCONTI
SOLO PER TE!';
NF.testoNome = 'Nominativo';
NF.testoEmail = 'Email';
NF.testoRegioni = 'Località';
NF.testoPeriodi = 'Periodi di tuo interesse';
NF.testoSeleziona = 'Seleziona';
NF.testoRimozione = 'Sei già iscritto e non vuoi più ricevere nostre comunicazioni, clicca qui e segui le indicazioni per essere automaticamente rimosso.';
NF.testoInvia = 'Invia Richiesta';
NF.testoIscrizioneAvvenuta = 'Iscrizione avvenuta Correttamente!';
NF.testoErrore = 'Si è verificato un errore. Rinvia le tue scelte';
NF.testoTrattamento = 'Trattamento dati personali ',
NF.errori = {
emailRequired:'Inserisci un indirizzo email',
emailInvalid:'Inserisci un indirizzo email valido',
emailInvalidChar:'L\'indirizzo email contiene caratteri non validi',
emailDisclaimer:'Acconsento al trattamento dei dati personali',
nameRequired:'Inserisci il nominativo',
regioniRequired:'Seleziona una Regione o Area Geografica',
periodiRequired:'Seleziona il periodo'
};
var options = {"ic":168,"stato":"RSM","id_portale":2489,"parameters":{"id_lista":25394,"lang":"ita","id_attivita":3257,"name":""},"colori":{"color":"#FFFFFF","bg":"#514A43","border":"#514A43","buttonBg":"#FF3399","buttonBorderBottom":"#FF3399","buttonColor":"#FFF"}};
NF.init(options);