if(typeof(window.trackingsuite_id) !== 'undefined') {alert('TrackingSuite è stato caricato più di una volta, per favore controllare.'); throw new Error('TrackingSuite è stato caricato più di una volta, per favore controllare.');} window.trackingsuite_id = '1'; ts_setCookie('trackingsuite_project_id', window.trackingsuite_id, 365); window.trackingsuite_url = 'http://www.solopellet.eu/m/trackingsuite'; window.trackingsuite_manual_actions = {}; window.trackingsuite_current_lang = 'it_IT'; window.trackingsuite_default_lang = 'it_IT'; function initTrackingSuiteActions() { if(window.location.search.match(/(\?|&)gclid\=([^&]*)/)) { msSetTrackReferences('gclid', decodeURIComponent(window.location.search.match(/(\?|&)gclid\=([^&]*)/)[2])); } if(window.location.search.match(/(\?|&)fbclid\=([^&]*)/)) { msSetTrackReferences('fbclid', decodeURIComponent(window.location.search.match(/(\?|&)fbclid\=([^&]*)/)[2])); } } function getTrackingDefaultEventByName(id) { var extra_params = {}; extra_params['Standard'] = {"name":"Contattato via Email","extra_params":[],"platforms":{"trackingsuite":{"inputs":[],"extra_params":[]},"facebook":{"inputs":{"label":{"value":"","disabled":false}},"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata dal cliente","required":false,"default":"","match":false},"value":{"type":"float","description":"Il valore del prodotto","required":false,"default":"","match":false}}},"analytics":{"inputs":[],"extra_params":[]}}}; extra_params['EmailContact'] = {"name":"Contattato via Email","extra_params":{"email":{"type":"string","description":"L'indirizzo email cliccato","required":true,"default":""}},"platforms":{"trackingsuite":{"inputs":{"event_name":{"value":"Email Ricevuta","disabled":false},"event_value":{"value":"{email}","placeholder":"Se vuoto indicher\u00e0 l'indirizzo email"}},"extra_params":[]},"facebook":{"inputs":{"label":{"value":"Contact","disabled":false}},"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata dal cliente","required":false,"default":"","match":false},"value":{"type":"float","description":"Il valore del prodotto","required":false,"default":"","match":false}}},"analytics":{"inputs":{"label":{"value":"Contact","disabled":false}},"extra_params":[]}}}; extra_params['PhoneCall'] = {"name":"Contattato via Telefono","extra_params":{"telefono":{"type":"string","description":"Il numero di cellulare chiamato","required":true,"default":""}},"platforms":{"trackingsuite":{"inputs":{"event_name":{"value":"Chiamata Ricevuta","disabled":false},"event_value":{"value":"{telefono}","placeholder":"Se vuoto indicher\u00e0 il numero di telefono"}},"extra_params":[]},"facebook":{"inputs":{"label":{"value":"Contact","disabled":false}},"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata dal cliente","required":false,"default":"","match":false},"value":{"type":"float","description":"Il valore del prodotto","required":false,"default":"","match":false}}},"analytics":{"inputs":{"label":{"value":"Contact","disabled":false}},"extra_params":[]}}}; extra_params['PageVisit'] = {"name":"Pagina Visitata","extra_params":{"link":{"type":"string","description":"Il link visitato dal cliente","required":true,"default":"{link}"},"value":{"type":"float","description":"Il valore dell'oggetto visualizzato","required":false,"default":"0.0"},"currency":{"type":"string","description":"Il codice della valuta in uso (USD, EUR ...)","required":false,"default":""},"title":{"type":"string","description":"Il titolo dell'oggetto visualizzato","required":false},"product_id":{"type":"string","description":"L'ID del prodotto, o un array contenente pi\u00f9 id (Es: ['1','2'])","required":false}},"platforms":{"trackingsuite":{"inputs":{"event_name":{"value":"Link Visitato","disabled":false},"event_value":{"value":"{link}","placeholder":""}},"extra_params":[]},"facebook":{"inputs":{"label":{"value":"ViewContent","disabled":true}},"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata","required":false,"default":"","match":""},"value":{"type":"float","description":"Il valore dell'azione effettuata","required":false,"default":"","match":""},"content_name":{"type":"string","description":"Il nome del prodotto visualizzato","required":false,"default":"","match":""},"content_ids":{"type":"string","description":"L'ID del prodotto, o un array contenente pi\u00f9 id (Es: ['1','2'])","required":false,"default":"","match":"product_id"},"content_type":{"type":"string","description":"La tipologia del prodotto passato (Lascia 'product' per il corretto funzionamento della ads dinamiche)","required":false,"default":"product","match":""}}},"analytics":{"inputs":{"label":{"value":"Contact","disabled":false}},"extra_params":[]}}}; extra_params['Referer'] = {"name":"Referente","extra_params":{"url":{"type":"string","description":"L'URL referente","required":false,"default":""},"domain":{"type":"string","description":"Il dominio referente","required":false,"default":""}},"platforms":{"trackingsuite":{"inputs":{"event_name":{"value":"Referer","disabled":false},"event_value":{"value":"{domain}","placeholder":""}},"extra_params":[]},"facebook":{"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata dal cliente","required":false,"default":"","match":false},"value":{"type":"float","description":"Il valore del prodotto","required":false,"default":"","match":false}}},"analytics":{"extra_params":[]}}}; extra_params['Search'] = {"name":"Ricerca","extra_params":{"page-link":{"type":"string","description":"L'URL da cui il cliente ha inviato la ricerca","required":false,"default":""}},"platforms":{"trackingsuite":{"inputs":{"event_name":{"value":"Ricerca","disabled":false}},"extra_params":[]},"facebook":{"inputs":{"label":{"value":"Search","disabled":true}},"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata dal cliente","required":false,"default":"","match":false},"value":{"type":"float","description":"Il valore dell'azione effettuata","required":false,"default":"0","match":""},"search_string":{"type":"string","description":"La stringa ricercata dall'utente","required":false,"default":"","match":""}}},"analytics":{"extra_params":[]}}}; extra_params['FormSubmit'] = {"name":"Invio Form","extra_params":{"site-link":{"type":"string","description":"L'URL da cui il cliente ha inviato il form","required":false,"default":""}},"platforms":{"trackingsuite":{"extra_params":[]},"facebook":{"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata dal cliente","required":false,"default":"","match":false},"value":{"type":"float","description":"Il valore del prodotto","required":false,"default":"","match":false}}},"analytics":{"extra_params":[]}}}; extra_params['AddToCart'] = {"name":"Aggiungi al carrello","extra_params":{"price":{"type":"float","description":"Il prezzo del prodotto","required":true,"default":"0.0"},"currency":{"type":"string","description":"Il codice della valuta in uso (USD, EUR ...)","required":true,"default":""},"title":{"type":"string","description":"Il titolo del prodotto","required":false},"category":{"type":"string","description":"La categoria del prodotto","required":false},"product_id":{"type":"string","description":"L'ID del prodotto, o un array contenente pi\u00f9 id (Es: ['1','2'])","required":false}},"platforms":{"trackingsuite":{"inputs":{"event_name":{"value":"Aggiungi al carrello","disabled":false},"event_value":{"value":"","placeholder":""}},"extra_params":[]},"facebook":{"inputs":{"label":{"value":"AddToCart","disabled":true}},"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata dal cliente","required":false,"default":"","match":""},"value":{"type":"float","description":"Il valore del prodotto","required":false,"default":"","match":""},"content_name":{"type":"string","description":"Il nome del prodotto aggiunto al carrello","required":false,"default":"","match":""},"content_ids":{"type":"string","description":"L'ID del prodotto, o un array contenente pi\u00f9 id (Es: ['1','2'])","required":false,"default":"","match":"product_id"},"content_type":{"type":"string","description":"La tipologia del prodotto passato (Lascia 'product' per il corretto funzionamento della ads dinamiche)","required":false,"default":"product","match":""}}},"analytics":{"extra_params":[]}}}; extra_params['Purchase'] = {"name":"Acquisto","extra_params":{"price":{"type":"float","description":"Il prezzo del prodotto","required":true,"default":"0.0"},"currency":{"type":"string","description":"Il codice della valuta in uso (USD, EUR ...)","required":true,"default":""},"title":{"type":"string","description":"Il titolo del prodotto","required":false},"category":{"type":"string","description":"La categoria del prodotto","required":false},"product_id":{"type":"string","description":"L'ID del prodotto, o un array contenente pi\u00f9 id (Es: ['1','2'])","required":false}},"platforms":{"trackingsuite":{"inputs":{"event_name":{"value":"Acquisto","disabled":false},"event_value":{"value":"","placeholder":""}},"extra_params":[]},"facebook":{"inputs":{"label":{"value":"Purchase","disabled":true}},"extra_params":{"currency":{"type":"string","description":"La valuta utilizzata dal cliente","required":false,"default":"","match":""},"value":{"type":"float","description":"Il valore del prodotto","required":false,"default":"","match":""},"content_name":{"type":"string","description":"Il nome del prodotto acquistato","required":false,"default":"","match":""},"content_category":{"type":"string","description":"Categoria del prodotto","required":false,"default":"","match":""},"content_ids":{"type":"string","description":"L'ID del prodotto, o un array contenente pi\u00f9 id (Es: ['1','2'])","required":false,"default":"","match":"product_id"},"content_type":{"type":"string","description":"La tipologia del prodotto passato (Lascia 'product' per il corretto funzionamento della ads dinamiche)","required":false,"default":"product","match":""}}},"analytics":{"extra_params":[]}}}; var standard_objectives_events = {}; if(typeof(standard_objectives_events[id]) !== 'undefined' && typeof(extra_params[standard_objectives_events[id]]) !== 'undefined') { return extra_params[standard_objectives_events[id]]; } return false; } function trackingSuite_getNearestElement(element, selector) { for (; element && element.tagName !== undefined; element = element.parentNode) { if(jQuery(element).find(selector).length) return jQuery(element).find(selector); } return false; } function trackingSuite_extractPriceFromString(price) { price = price.replace(/[^0-9.,-]+/g,""); if(parseFloat(price) && parseFloat(price) > 0) { price = price.trim(); var result = price.replace(/[^0-9]/g, ''); if (/[,\.]\d{1,2}$/.test(price)) { price = result.replace(/(\d{2})$/, '.$1'); } } return price; } function trackingSuite_extractCurrencyFromString(price) { var currency_list = {"USD":"$","CAD":"CA$","EUR":"€","AED":"AED","AFN":"Af","ALL":"ALL","AMD":"AMD","ARS":"AR$","AUD":"AU$","AZN":"man.","BAM":"KM","BDT":"Tk","BGN":"BGN","BHD":"BD","BIF":"FBu","BND":"BN$","BOB":"Bs","BRL":"R$","BWP":"BWP","BYR":"BYR","BZD":"BZ$","CDF":"CDF","CHF":"CHF","CLP":"CL$","CNY":"CN¥","COP":"CO$","CRC":"₡","CVE":"CV$","CZK":"Kč","DJF":"Fdj","DKK":"Dkr","DOP":"RD$","DZD":"DA","EEK":"Ekr","EGP":"EGP","ERN":"Nfk","ETB":"Br","GBP":"£","GEL":"GEL","GHS":"GH₵","GNF":"FG","GTQ":"GTQ","HKD":"HK$","HNL":"HNL","HRK":"kn","HUF":"Ft","IDR":"Rp","ILS":"₪","INR":"Rs","IQD":"IQD","IRR":"IRR","ISK":"Ikr","JMD":"J$","JOD":"JD","JPY":"¥","KES":"Ksh","KHR":"KHR","KMF":"CF","KRW":"₩","KWD":"KD","KZT":"KZT","LBP":"LB£","LKR":"SLRs","LTL":"Lt","LVL":"Ls","LYD":"LD","MAD":"MAD","MDL":"MDL","MGA":"MGA","MKD":"MKD","MMK":"MMK","MOP":"MOP$","MUR":"MURs","MXN":"MX$","MYR":"RM","MZN":"MTn","NAD":"N$","NGN":"₦","NIO":"C$","NOK":"Nkr","NPR":"NPRs","NZD":"NZ$","OMR":"OMR","PAB":"B\/.","PEN":"S\/.","PHP":"₱","PKR":"PKRs","PLN":"zł","PYG":"₲","QAR":"QR","RON":"RON","RSD":"din.","RUB":"RUB","RWF":"RWF","SAR":"SR","SDG":"SDG","SEK":"Skr","SGD":"S$","SOS":"Ssh","SYP":"SY£","THB":"฿","TND":"DT","TOP":"T$","TRY":"TL","TTD":"TT$","TWD":"NT$","TZS":"TSh","UAH":"₴","UGX":"USh","UYU":"$U","UZS":"UZS","VEF":"Bs.F.","VND":"₫","XAF":"FCFA","XOF":"CFA","YER":"YR","ZAR":"R","ZMK":"ZK"}; var current_currency_name = 'EUR'; Object.keys(currency_list).forEach(function(name) { if(price.indexOf(currency_list[name]) >= 0) { current_currency_name = name; } }); return current_currency_name; } function trackingSuite_prependEvent(type, selettore, fn) { var attachFn = function(element) { var oldEvent = jQuery(element).attr(type); jQuery(element).removeAttr(type).unbind(type); var function_name = 'ms_' + type + '_' + Math.random().toString(36).substr(2, 9); window[function_name] = fn; jQuery(element).attr(type, function_name + '(this)' + (oldEvent ? '; ' + oldEvent : '')); } if(jQuery(selettore).length) { attachFn(jQuery(selettore)); } else { jQuery('body').on('mouseenter touchenter ', selettore, function() {attachFn(jQuery(selettore))}); } } jQuery(document).ready(function() { initTrackingSuiteActions(); }); function _msFormatParamsFor(platform, id, parameters, extra_parameters) { if(typeof(extra_parameters) !== 'object') { extra_parameters = {}; } var ary_to_return = {}; if(platform === 'analytics') { ary_to_return = Object.assign({}, parameters); delete ary_to_return['event_action']; } else if(platform === 'gads') { ary_to_return = Object.assign({}, parameters); ary_to_return['send_to'] = '/' + parameters['conversion_label']; delete ary_to_return['conversion_label']; } else if(platform === 'facebook') { var current_params = getTrackingDefaultEventByName(id); ary_to_return = Object.assign({}, parameters); delete ary_to_return['label']; if(current_params) { try { var current_extra_params = current_params['platforms'][platform]['extra_params']; Object.keys(current_extra_params).forEach(function(param_id) { ary_to_return[param_id] = current_extra_params[param_id]['default']; }); Object.keys(current_extra_params).forEach(function(param_id) { var value_to_sent = ''; var current_param_match = current_extra_params[param_id]['match']; if(typeof(parameters[param_id]) !== 'undefined' && parameters[param_id].length) { value_to_sent = parameters[param_id]; } else if(current_param_match && current_param_match.length > 1) { if(typeof(extra_parameters[current_param_match]) !== 'undefined' && extra_parameters[current_param_match].length) { value_to_sent = extra_parameters[current_param_match]; } } if(current_extra_params[param_id]['type'] === 'int') { value_to_sent = (!isNaN(parseInt(value_to_sent)) ? parseInt(value_to_sent) : 0); } else if(current_extra_params[param_id]['type'] === 'float') { value_to_sent = (!isNaN(parseFloat(value_to_sent)) ? parseFloat(value_to_sent) : 0); } ary_to_return[param_id] = value_to_sent; }); } catch(e) {} } } Object.keys(ary_to_return).forEach(function(param_key) { if(ary_to_return[param_key] === '') { delete ary_to_return[param_key]; } }); return ary_to_return; } function msInternalTrack(tracking_parameters, extra_parameters) { if(typeof(extra_parameters) !== 'object') { extra_parameters = {}; } /* SOSTITUISCO EVENTUALI SHORTCODES CON VALORI DEI PARAMETRI */ ['trackingsuite', 'facebook', 'analytics', 'gads'].forEach(function(platform) { /* Sostituisco eventuali shortcodes parametri */ if(typeof(tracking_parameters[platform]) === 'object') { Object.keys(tracking_parameters[platform]).forEach(function(param_key) { Object.keys(extra_parameters).forEach(function(extra_key) { tracking_parameters[platform][param_key] = tracking_parameters[platform][param_key].replace('{' + extra_key + '}', extra_parameters[extra_key]); }); }); } }); if(tracking_parameters.enable_external_tracking == '1' && (typeof(tracking_parameters['execAction']) === 'undefined' || !tracking_parameters['execAction'])) { } tracking_parameters['trackingsuite_id'] = window.trackingsuite_id; var trackingUserData = {}; if(window.trackingSuite_needLogin) { trackingUserData = { email: window.trackingSuite_userEmail, extra: window.trackingSuite_userExtra } } jQuery.ajax({ type: "POST", url: window.trackingsuite_url, xhrFields: { withCredentials: true }, data: { project_id: window.trackingsuite_id, track_info: tracking_parameters['trackingsuite'], track_extra: extra_parameters, register_user: trackingUserData, tracking_references: ts_getCookie('trackingsuite_track_codes'), exec_action: (typeof(tracking_parameters['execAction']) !== 'undefined' ? tracking_parameters['execAction'] : '') }, dataType: 'json' }); } function msTrack(event_name, extra_params) { if(typeof(extra_params) !== 'undefined') { if(typeof(extra_params) !== 'object') { extra_params = {value: extra_params}; } } else { extra_params = {}; } var manual_action = getTrackingSuiteManualAction(event_name, extra_params); msInternalTrack(manual_action, extra_params); } function getTrackingSuiteManualAction(event_name, extra_params) { var manual_action = {}; if(typeof(window.trackingsuite_manual_actions[event_name]) == 'object') { manual_action = window.trackingsuite_manual_actions[event_name]; } else { console.warn('[TrackingSuite] È stato inviato un Evento (' + event_name + ') non esistente negli Obiettivi, pertanto l\'azione verrà tracciata solo su TrackingSuite e non saranno inviati parametri extra.'); manual_action = { enable_external_tracking: 0, trackingsuite: { event_name: event_name, event_value: (typeof(extra_params.value) !== 'undefined' ? extra_params.value : '') } }; } return manual_action; } function msSetTrackReferences(ref_name, ref_value) { var current_track_references = ts_getCookie('trackingsuite_track_codes'); if(typeof(current_track_references) !== 'object') { current_track_references = {}; } current_track_references[ref_name] = ref_value; ts_setCookie('trackingsuite_track_codes', JSON.stringify(current_track_references), 365); return true; } function msTrackUser(email, user_data) { if(typeof(user_data) !== 'object') { user_data = {}; } var previous_email = ''; if(/^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email)) { window.trackingSuite_userEmail = email; window.trackingSuite_userExtra = user_data; window.trackingSuite_needLogin = (previous_email !== email || 1); } } if(window !== window.top) { var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; var eventer = window[eventMethod]; var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message"; eventer(messageEvent,function(event) { if(event.data.cmd === 'initVisualSelector') { initVisualSelector(event.data.preferences); } }, false); /* DISABILITA TUTTI I LINK ESTERNI */ jQuery('a').filter(function() { return (this.hostname && this.hostname !== location.hostname) || jQuery(this).attr('target') === "_blank"; }).attr("href", "#"); function initVisualSelector(preferences) { if(typeof(preferences.include_css) !== 'undefined') { jQuery("head").append(''); } var mousedownTimer = false; var onSelectionFunction = function (target) { var selector = jQuery(target).getSelector(true, 3, (typeof (preferences.limit_tags) !== 'undefined' ? preferences.limit_tags : [])); var is_form = 0; var $form_element = (jQuery(target)[0].attrName === 'FORM' ? jQuery(target) : jQuery(target).closest('form')); var extra = {}; if($form_element.hasClass('.MSForm')) { is_form = $form_element.data('form_id'); } if($form_element.length) { var form_fields = []; $form_element.find('[name]').each(function() { form_fields.push(jQuery(this).attr('name')); }); extra.form_fields = form_fields; } parent.postMessage(JSON.parse(JSON.stringify({ cmd: "onSelectionFunction", selector: selector, is_form: is_form, extra: extra })),"*"); }; jQuery('body').on('contextmenu', function (event) { event.preventDefault(); event.stopImmediatePropagation(); onSelectionFunction(event.target); }).on('mousedown', function (event) { event.preventDefault(); event.stopImmediatePropagation(); event.stopPropagation(); var $button = jQuery(event.target); mousedownTimer = setTimeout(function () { onSelectionFunction(event.target); $button.addClass('disable_temp'); }, 1000); }).on('mouseup', function (event) { if (mousedownTimer !== false) { clearTimeout(mousedownTimer); mousedownTimer = false; } }).on('click', function (event) { var $button = jQuery(event.target); if ($button.hasClass('disable_temp')) { event.preventDefault(); event.stopImmediatePropagation(); event.stopPropagation(); $button.removeClass('disable_temp'); return false; } }); window.addEventListener('beforeunload', function (e) { parent.postMessage(JSON.parse(JSON.stringify({ cmd: "onIframeUnload" })),"*"); }); parent.postMessage(JSON.parse(JSON.stringify({ cmd: "connected", url: location.href })),"*"); } /* FUNZIONE PER OTTENERE IL SELETTORE */ !(function ($, undefined) { var get_selector = function (element, max_parents, tag_limit) { var pieces = []; var current_parent = 0; var is_ok = false; var tag_found = true; if(tag_limit.length > 0) { tag_found = false; } for (; (element && element.tagName !== undefined && current_parent < max_parents && !is_ok); element = element.parentNode) { var currently_pieces = []; if(tag_limit.length > 0) { if(tag_limit.indexOf(element.tagName) >= 0) { tag_found = true; } } if(tag_found) { if (element.id && !/\s/.test(element.id)) { if (current_parent < 2 && element.tagName === 'A') { return '#' + element.id; } currently_pieces.unshift('#' + element.id); is_ok = true; } else { if (element.className) { var classes = element.className.split(' '); for (var i in classes) { if (classes.hasOwnProperty(i) && classes[i] && classes[i].indexOf('col-') < 0 && classes[i].indexOf('msVisualElement') < 0 && classes[i].indexOf('mb-') < 0 && classes[i] !== 'row') { currently_pieces.unshift('.' + classes[i]); } } } else if (element.name) { currently_pieces.unshift('[name="' + element.name + '"]'); } } if (currently_pieces.length > 0 && tag_found) { currently_pieces.unshift(' '); current_parent++; pieces = currently_pieces.concat(pieces); } } } return pieces.slice(1).join(''); }; jQuery.fn.getSelector = function (only_one, max_parent, tag_limit) { if(typeof(max_parent) == 'undefined') max_parent = 10; if(typeof(tag_limit) == 'undefined') tag_limit = []; if (true === only_one) { return get_selector(this[0], max_parent, tag_limit); } else { return jQuery.map(this, function (el) { return get_selector(el, max_parent, tag_limit); }); } }; })(window.jQuery); } function ts_setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + ";expires=Thu, 01 Jan 1970 00:00:01 GMT;path=/"; document.cookie = cname + "=" + cvalue + ";" + expires + ";domain=" + document.domain + ";path=/"; } function ts_getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i