// source --> https://www.risoluto.it/wp-content/plugins/digitrend-marketplace/public/js/wonder-plugin-public.js?ver=1.0.1 
var maps = new Array();
var category_filter = new Array();
var current_url = window.location.origin.concat(window.location.pathname);
var init_scroll = 0;

function onLocationFound(e){
	var radius = e.accuracy / 2;

	for (var i = 0; i < maps.length; ++i){
		var yellowIcon = new L.Icon({
			iconUrl:plugin.url + 'img/marker-icon-2x-yellow.png',
			shadowUrl:plugin.url + 'img/marker-shadow.png',
			iconSize:[ 25, 41 ],
			iconAnchor:[ 12, 41 ],
			popupAnchor:[ 1, -34 ],
			shadowSize:[ 41, 41 ]
		});

		markerCenter = L.marker(e.latlng, { icon:yellowIcon }).addTo(maps[i]);
		L.circle(e.latlng, radius).addTo(maps[i]);

		var min_dst = {
			node:'',
			dst:99999999
		};

		var popup = L.popup();

		markerCenter.bindPopup('<b>La tua posizione</b>').openPopup();
	}
}


function removeElementFromArrayWithValue(array,value) {
	for(var i = 0; i < array.length; i++) {
		if(array[i] == value) {
			array.splice(i, 1);
			break;
		}
	}
} 


function filter_shops(id) {
	if(category_filter[0]==id) {
		jQuery(".categoria-wonder-store.category-selected").toggleClass('category-selected');
		jQuery(".wonder-plugin-elenco-stores .evento").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".wonder-plugin-elenco-stores-e-mappa .evento").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".leaflet-marker-icon").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".wonder-plugin-elenco-stores").css({ "grid-template-columns" : "auto ".repeat(3) });
		category_filter = new Array();
		return;
	}
	if(jQuery(".categoria-wonder-store.category-selected").length > 0) {
		jQuery(".categoria-wonder-store.category-selected").toggleClass('category-selected');
		jQuery(".wonder-plugin-elenco-stores .evento").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".wonder-plugin-elenco-stores-e-mappa .evento").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".leaflet-marker-icon").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".wonder-plugin-elenco-stores").css({ "grid-template-columns" : "auto ".repeat(3) });
		category_filter = new Array();
	}

	var touched_category = jQuery('.categoria-wonder-store[data-category-id="' + id + '"]'), active_class = "category-selected";
	touched_category.toggleClass(active_class);

	if(touched_category.hasClass(active_class)) {
		category_filter.push(id);
	} else {
		removeElementFromArrayWithValue(category_filter, id);
	}

	if( category_filter.length > 0 ) {
		jQuery(".wonder-plugin-elenco-stores .evento").css({'display' : 'none'}).addClass('disabled');
		jQuery(".wonder-plugin-elenco-stores-e-mappa .evento").css({'display' : 'none'}).addClass('disabled');
		jQuery(".leaflet-marker-icon").css({'display' : 'none'}).addClass('disabled');

		for(var i = 0; i < category_filter.length; i++) {
			jQuery(".wonder-plugin-elenco-stores .evento[data-category-id='" + category_filter[i] + "']").css({'display' : 'initial'}).removeClass('disabled');
			jQuery(".wonder-plugin-elenco-stores-e-mappa .evento.category_" + category_filter[i]).css({'display' : 'initial'}).removeClass('disabled');
			jQuery('.leaflet-marker-icon[alt~="' + category_filter[i]  + '"]').css({'display' : 'initial'}).removeClass('disabled');
		}

		var repeat = jQuery('.evento').not(".disabled").length > 3 ? 3 : window.innerWidth < 570 ? 1 : jQuery('.evento').not(".disabled").length; 

		jQuery(".wonder-plugin-elenco-stores").css({ "grid-template-columns" : "auto ".repeat(repeat) });

	} else {
		jQuery(".wonder-plugin-elenco-stores .evento").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".wonder-plugin-elenco-stores-e-mappa .evento").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".leaflet-marker-icon").css({'display' : 'initial'}).removeClass('disabled');
		jQuery(".wonder-plugin-elenco-stores").css({ "grid-template-columns" : "auto ".repeat(3) });

	}
}

function onLocationError(e){ }

(function( $ ) {
	'use strict';


	function resizeMap(className) {
		$(className).each(function(){
			var elem = $(this);
			elem.height(elem.width() / 2);

			var mappa = elem.data('mappa');
			if (typeof mappa != 'undefined')
				mappa.invalidateSize();
		});
	}

	$(function(){

		var ridimensionaMappaEventi = resizeMap('.wonder-plugin-mappa-eventi');
		var ridimensionaMappaStores = resizeMap('.wonder-plugin-mappa-stores');
		// var ridimensionaMappaStoresEdEventi = resizeMap('.wonder-plugin-elenco-stores-e-mappa');
		
		$('.wonder-plugin-elenco-stores').each(function(){
			var elem = $(this),
				url = elem.data('url'), slug = elem.data('slug');

			$.ajax({
				url: url + 'api/frontend/store/get-elenco-store/paywall' + slug,
				data:{ },
				dataType:'json',
				method:'POST',
				success:function(data){
					var status = data.status;
					var data = data.data;
					// Stores Interface
					// address
					// id
					// id_comune
					// id_provincia
					// id_regione
					// image
					// lat
					// lng
					// slug
					// zoom

					var html = '';
					
					if (parseInt(status))
						for (var i = 0; i < data.length; ++i){

							html += '<div class="evento" data-category-id="' + JSON.parse( data[i].category_id )[0] + '">';


							html += '<a href="' + current_url.concat(data[i].slug) + '">';
							html += '<div class="interno">';
							html += '<div class="immagine" style="' + (data[i].image != '' ? ('background-image:url(' + data[i].image + ')') : '') + '"></div>';
							html += '<h5 class="nome">' + data[i].name + '</h5>';
							html += '</div>';
							html += '</a>';
							html += '</div>';
						}

					html += '';

					elem.html(html);
				}
			});
		});


		$('.wonder-plugin-elenco-categorie-stores').each(function(){
			var elem = $(this),
				url = elem.data('url'), slug = elem.data('slug');

			$.ajax({
				url: url + 'api/frontend/store/get-categorie-store' + slug,
				data:{ },
				dataType:'json',
				method:'POST',
				success:function(data){
					var status = data.status;
					var data = data.data;
					// Stores Category Interface
					// id
					// img
					// name
					

					var html = '';
					
					if (parseInt(status))
						for (var i = 0; i < data.length; ++i){

							html += '<li class="categoria-wonder-store" data-category-id="' + data[i].id + '" onclick="filter_shops(' + data[i].id + ')">';
							html += '<div class="interno">';
							html += '<div class="immagine" style="' + (data[i].img != '' ? ('background-image:url(' + data[i].img + ')') : '') + '"></div>';
							html += '<h5 class="nome">' + data[i].name + '</h5>';
							html += '</div>';
							html += '</li>';
						}

					html += '';

					elem.html(html);
				}
			});
		});
		

		if ($('.wonder-plugin-mappa-stores').length){
			$('.wonder-plugin-mappa-stores').each(function(){
				var elem = $(this),
					url = elem.data('url'), slug = elem.data('slug');

				$.ajax({
					url: url + 'api/frontend/store/get-elenco-store/paywall' + slug,
					data:{ },
					dataType:'json',
					method:'POST',
					success:function(data){
						var status = data.status;
						var data = data.data;
						// Stores Interface
						// address
						// id
						// id_comune
						// id_provincia
						// id_regione
						// image
						// lat
						// lng
						// slug
						// zoom

						if (parseInt(status)){
							var indirizzi = new Array(), lats = new Array(), lngs = new Array(), zooms = new Array();
							
							for (var i = 0; i < data.length; ++i){
								if (data[i].address != '' && data[i].lat != '' && data[i].lng != '' && data[i].zoom != ''){
									indirizzi.push('<strong><a href="' + current_url.concat(data[i].slug) + '"><img style="margin-bottom: 10px" src="' + data[i].image + '" alt="' + data[i].name + '" title="' + data[i].name + '"/></a></strong>' + data[i].address);
									lats.push(parseFloat(data[i].lat));
									lngs.push(parseFloat(data[i].lng));
									zooms.push(parseInt(data[i].zoom));
								}
							}

							if (indirizzi.length){
								var map_div = elem;
								var avg_lat = lats.reduce((a, b) => a + b) / lats.length;
								var avg_lng = lngs.reduce((a, b) => a + b) / lngs.length;
								var avg_zoom = (zooms.reduce((a, b) => a + b) / zooms.length).toFixed(0);

								var center = [avg_lat, avg_lng ];
								var map = L.map(map_div[0], {
									center:center,
									zoom:avg_zoom,
									gestureHandling:true
								});

								var tile_layer = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
									attribution:'',
									id: 'mapbox/streets-v11',
									accessToken:'pk.eyJ1IjoiZGlnaXRyZW5kIiwiYSI6ImNqNDViY3V2YTBjY3AzMm9mMjNoMnVjNTEifQ.D5kd6yljEB0T0i65z2Ed4g'
								}).addTo(map);

								map.locate({ setView:false });
								map.on('locationfound', onLocationFound);
								map.on('locationerror', onLocationError);

								var blueIcon = new L.Icon({
									iconUrl:plugin.url + 'img/marker-icon-2x-blue.png',
									// shadowUrl:plugin.url + 'img/marker-shadow.png',
									iconSize:[ 25, 41 ],
									iconAnchor:[ 12, 41 ],
									popupAnchor:[ 1, -34 ],
									shadowSize:[ 41, 41 ]
								});

								var markers = new Array();

								for (var i = 0; i < indirizzi.length; ++i){
									markers[i] = L.marker([ lats[i], lngs[i] ], { icon:blueIcon, alt: JSON.parse( data[i].category_id).toString().split(",").join(" ") }).addTo(map);
									markers[i].bindPopup(indirizzi[i]);
								}

								maps.push(map);
								map_div.data('mappa', map);
							}
						}
					}
				});
			});

			setTimeout(ridimensionaMappaEventi, 100);
			$(window).resize(ridimensionaMappaEventi);
		}


		$('.wonder-plugin-elenco-eventi').each(function(){
			var elem = $(this),
				url = elem.data('url'), slug = elem.data('slug');

			$.ajax({
				url:url + 'api/frontend/ordini-eventi/get-elenco-eventi/' + slug,
				data:{ },
				dataType:'json',
				method:'POST',
				success:function(data){
					var html = '';

					if (parseInt(data.status))
						for (var i = 0; i < data.eventi.length; ++i){
							html += '<div class="evento">';
							html += '<a href="' + url + 'prenotazione-eventi/index/' + slug + '?e=' + data.eventi[i].id + '">';
							html += '<div class="interno">';
							html += '<div class="immagine" style="' + (data.eventi[i].img != '' ? ('background-image:url(' + data.eventi[i].img + ')') : '') + '"></div>';
							html += '<h5 class="nome">' + data.eventi[i].nome + '</h5>';
							html += '</div>';
							html += '</a>';
							html += '</div>';
						}

					html += '';

					elem.html(html);
				}
			});
		});

		$('.wonder-plugin-singolo-evento').each(function(){
			var elem = $(this),
				id = elem.data('id'), url = elem.data('url'), slug = elem.data('slug');

			$.ajax({
				url:url + 'api/frontend/ordini-eventi/get-evento-data-from-id/' + slug,
				data:{ id_evento:id },
				dataType:'json',
				method:'GET',
				success:function(data){
					if (parseInt(data.status)){
						var lat = parseFloat(data.dati_evento.lat),
							lng = parseFloat(data.dati_evento.lng),
							zoom = parseInt(data.dati_evento.zoom);

						var html = '<h2 class="nome">' + data.dati_evento.nome + '</h2>';
						html += '<div class="descrizione">' + data.dati_evento.descrizione + '</div>';

						html += '<div class="dettagli' + ((lat != 0 || lng != 0 || zoom != 0) ? ' con-mappa' : '') + (data.dati_evento.img != '' ? ' con-immagine' : '') + '">';

						if (data.dati_evento.img != '')
							html += '<div class="immagine" style="background-image:url(' + data.dati_evento.img + ');"></div>';

						if (lat != 0 || lng != 0 || zoom != 0)
							html += '<div class="mappa"></div>';

						html += '</div>';
						html += '<div class="pulsanti-azioni">';
						html += '<a href="' + url + 'prenotazione-eventi/checkout/' + slug + '/' + id + '" class="pulsante"><i class="dashicons dashicons-cart"></i> Acquista</a>';

						if (data.dati_audioguide.length)
							html += '<a href="' + url + 'prenotazione-eventi/apri-audioguida/' + slug + '/' + id + '" class="pulsante"><i class="dashicons dashicons-controls-volumeon"></i> Ascolta l\'audioguida.</a>';

						if (lat != 0 || lng != 0 || zoom != 0)
							html += '<a href="https://www.google.com/maps?q=' + lat + ',' + lng + '" class="pulsante"><i class="dashicons dashicons-location"></i> Portami lì</a>';

						html += '</div>';

						var e = $(html);

						e.appendTo(elem);

						if (lat != 0 || lng != 0 || zoom != 0){
							var center = [lat, lng];
							var map = L.map(elem.find('.mappa')[0], {
								center:center,
								zoom:zoom,
								gestureHandling:true
							});

							var tile_layer = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
								attribution:'',
								id: 'mapbox/streets-v11',
								accessToken:'pk.eyJ1IjoiZGlnaXRyZW5kIiwiYSI6ImNqNDViY3V2YTBjY3AzMm9mMjNoMnVjNTEifQ.D5kd6yljEB0T0i65z2Ed4g'
							}).addTo(map);


							map.locate({ setView:false });
							map.on('locationfound', onLocationFound);
							map.on('locationerror', onLocationError);

							var blueIcon = new L.Icon({
								iconUrl:plugin.url + 'img/marker-icon-2x-blue.png',
								shadowUrl:plugin.url + 'img/marker-shadow.png',
								iconSize:[ 25, 41 ],
								iconAnchor:[ 12, 41 ],
								popupAnchor:[ 1, -34 ],
								shadowSize:[ 41, 41 ]
							});

							var marker = L.marker(center, { icon:blueIcon }).addTo(map);
							marker.bindPopup(data.dati_evento.indirizzo).openPopup();

							maps.push(map);
						}
					}
				}
			});
		});

		if ($('.wonder-plugin-mappa-eventi').length){
			$('.wonder-plugin-mappa-eventi').each(function(){
				var elem = $(this),
					url = elem.data('url'), slug = elem.data('slug');

				$.ajax({
					url:url + 'api/frontend/ordini-eventi/get-elenco-eventi/' + slug,
					data:{ },
					dataType:'json',
					method:'POST',
					success:function(data){
						if (parseInt(data.status)){
							var indirizzi = new Array(), lats = new Array(), lngs = new Array(), zooms = new Array();
							for (var i = 0; i < data.eventi.length; ++i){
								if (data.eventi[i].indirizzo != '' && data.eventi[i].lat != '' && data.eventi[i].lng != '' && data.eventi[i].zoom != ''){
									indirizzi.push('<strong><a href="' + url + 'prenotazione-eventi/index/' + slug + '?e=' + data.eventi[i].id + '">' + data.eventi[i].nome + '</a></strong><br />' + data.eventi[i].indirizzo);
									lats.push(parseFloat(data.eventi[i].lat));
									lngs.push(parseFloat(data.eventi[i].lng));
									zooms.push(parseInt(data.eventi[i].zoom));
								}
							}

							if (indirizzi.length){
								var map_div = elem;
								var avg_lat = lats.reduce((a, b) => a + b) / lats.length;
								var avg_lng = lngs.reduce((a, b) => a + b) / lngs.length;
								var avg_zoom = (zooms.reduce((a, b) => a + b) / zooms.length).toFixed(0);

								var center = [avg_lat, avg_lng ];
								var map = L.map(map_div[0], {
									center:center,
									zoom:avg_zoom,
									gestureHandling:true
								});

								var tile_layer = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
									attribution:'',
									id: 'mapbox/streets-v11',
									accessToken:'pk.eyJ1IjoiZGlnaXRyZW5kIiwiYSI6ImNqNDViY3V2YTBjY3AzMm9mMjNoMnVjNTEifQ.D5kd6yljEB0T0i65z2Ed4g'
								}).addTo(map);

								map.locate({ setView:false });
								map.on('locationfound', onLocationFound);
								map.on('locationerror', onLocationError);

								var blueIcon = new L.Icon({
									iconUrl:plugin.url + 'img/marker-icon-2x-blue.png',
									shadowUrl:plugin.url + 'img/marker-shadow.png',
									iconSize:[ 25, 41 ],
									iconAnchor:[ 12, 41 ],
									popupAnchor:[ 1, -34 ],
									shadowSize:[ 41, 41 ]
								});

								var markers = new Array();

								for (var i = 0; i < indirizzi.length; ++i){
									markers[i] = L.marker([ lats[i], lngs[i] ], { icon:blueIcon }).addTo(map);
									markers[i].bindPopup(indirizzi[i]);
								}

								maps.push(map);
								map_div.data('mappa', map);
							}
						}
					}
				});
			});

			setTimeout(ridimensionaMappaStores, 100);
			$(window).resize(ridimensionaMappaStores);
		}

		$('.wonder-plugin-elenco-coupon').each(function(){
			var elem = $(this),
				url = elem.data('url'), slug = elem.data('slug'), logo = elem.data('logo-azienda');

			$.ajax({
				url:url + 'api/frontend/coupon/get-elenco-coupon/' + slug,
				data:{ },
				dataType:'json',
				method:'POST',
				success:function(data){
					var html = '';

					// Coupon Interface 
					// codice
					// comune
					// id
					// image
					// indirizzo
					// name
					// provincia
					// testo
					// titolo

					if (parseInt(data.status))

						for (var i = 0; i < data.coupon.length; ++i){
					
							html += '<div class="cp-wrapper"><div class="wonder-plugin-singolo-coupon 2-col" data-id="' + data.coupon[i].id + '">';
					
							if (data.coupon[i].image != '')
							html += `<div class="dettagli" style=" float: left; width: 150px; height: 150px; background-position: center; background-size: cover; margin: 0px 15px 0px 0px; background-image:url(${data.coupon[i].image});"></div>`;

							html += '<h2 class="nome">' + data.coupon[i].codice + (data.coupon[i].titolo != '' ? (' - ' + data.coupon[i].titolo) : '') + '</h2>';
							
							html += '<div class="descrizione">' + data.coupon[i].testo + '</div>';
							

							if(data.coupon[i].name != "")
							html += `<address>Presso ${data.coupon[i].codice} - ${data.coupon[i].indirizzo} - ${data.coupon[i].comune} (${data.coupon[i].provincia})</address>`;
							
							html += "<button class='download-coupon' onclick='printCouponFromList(event)'> Clicca qui per scaricare il coupon </button>";
							html += '</div></div>';



						}

					html += '';

					elem.html(html);
				}
			});
		});

		$('.wonder-plugin-singolo-coupon').each(function(){
			var elem = $(this),
				id = elem.data('id'), url = elem.data('url'), logo = elem.data('logo-azienda');


			$.ajax({
				url:url + 'api/frontend/coupon/get-dettaglio-coupon/' + id,
				data:{ },
				dataType:'json',
				method:'GET',
				success:function(data){
					if (parseInt(data.status)){
						var html = '';
						var wrapperclass = "";

						if(logo) {
							html += '<div class="cp-logo"><img class="img-responsive" src="' + data.coupon.shop_image + '"></div>';
							wrapperclass = " small";
						}

						html += '<div class="cp-wrapper' + wrapperclass + '">';
						
						if (data.coupon.image != '')
							html += `<div class="dettagli" style=" float: left; width: 150px; height: 150px; background-position: center; background-size: cover; margin: 0px 15px 0px 0px; background-image:url(${data.coupon.image});"></div>`;

						html += '<h2 class="nome">' + data.coupon.codice + (data.coupon.titolo != '' ? (' - ' + data.coupon.titolo) : '') + '</h2>';
						
						html += '<div class="descrizione">' + data.coupon.testo + '</div>';
						
						if(data.coupon.name != "")
						html += `<address>Presso ${data.coupon.name} - ${data.coupon.indirizzo} - ${data.coupon.comune} (${data.coupon.provincia})</address>`;

						html += "<button class='download-coupon' onclick='printCoupon(event)'> Clicca qui per scaricare il coupon </button></div>";
						var e = $(html);

						e.appendTo(elem);
					}
				}
			});
		});

		if($('.wonder-plugin-elenco-stores-e-mappa').length > 0) {
			$('.wonder-plugin-elenco-stores-e-mappa').each(function(){
				var elem = $(this),
					url = elem.data('url'), slug = elem.data('slug');
					var indirizzi = new Array(), lats = new Array(), lngs = new Array(), zooms = new Array(), store_name = new Array();

				$.ajax({
					url: url + 'api/frontend/store/get-elenco-store/paywall' + slug,
					data:{ },
					dataType:'json',
					method:'POST',
					success:function(data){
						var status = data.status;
						var data = data.data;
						// Stores Interface
						// address
						// id
						// comune
						// provincia
						// regione
						// image
						// lat
						// lng
						// slug
						// zoom
						var html = '';
						
						if (parseInt(status))
							html = "<div class='stores-list'><input type='text' id='filter-store-list' onkeyup='filter_store_list(event)' placeholder='Cerca uno store per nome.' />";
							for (var i = 0; i < data.length; ++i){
								var class_category = "";
								for(var g = 0; g < JSON.parse( data[i].category_id ).length; g++) {
									class_category += " category_" + JSON.parse( data[i].category_id )[g];
								}

								html += '<div class="evento ' + class_category + '" data-category="' + JSON.parse( data[i].category_id ).toString().split(",").join(" ") + '" data-category-name="' + data[i].name + '">';							
								html += '<a href="' + current_url.concat(data[i].slug) + '">';
								html += '<div class="interno">';
								html += '<div class="immagine" style="' + (data[i].image != '' ? ('background-image:url(' + data[i].image + ')') : '') + '"></div>';
								html += '<h5 class="nome">' + data[i].name + '</h5>';
								html += '<h5 class="place-address">' + data[i].address + '</h5>';
								html += '<h5 class="place-address">' + data[i].comune + ' (' + data[i].provincia + ')' + '</h5>';
								html += '</div>';
								html += '</a>';
								html += '</div>';
								

								if (data[i].address != '' && data[i].lat != '' && data[i].lng != '' && data[i].zoom != ''){
									indirizzi.push('<strong><a href="' + current_url.concat(data[i].slug) + '"><img style="margin-bottom: 10px" src="' + data[i].image + '" alt="' + data[i].name + '" title="' + data[i].name + '"/></a></strong>' + data[i].address);
									lats.push(parseFloat(data[i].lat));
									lngs.push(parseFloat(data[i].lng));
									zooms.push(parseInt(data[i].zoom));
									store_name.push(data[i].name.split(" ").join("-").toLowerCase().replace(/^-+|-+(?=-|$)/g, '').replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_'));
								}

							}

						html += '</div><div class="mappa"></div>';
						elem.html(html);


						if (indirizzi.length){
							var map_div = jQuery(".wonder-plugin-elenco-stores-e-mappa .mappa");
							var avg_lat = lats.reduce((a, b) => a + b) / lats.length;
							var avg_lng = lngs.reduce((a, b) => a + b) / lngs.length;
							var avg_zoom = (zooms.reduce((a, b) => a + b) / zooms.length).toFixed(0);

							var center = [avg_lat, avg_lng ];
							var map = L.map(map_div[0], {
								center:center,
								zoom:avg_zoom,
								gestureHandling:true
							});

							var tile_layer = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
								attribution:'',
								id: 'mapbox/streets-v11',
								accessToken:'pk.eyJ1IjoiZGlnaXRyZW5kIiwiYSI6ImNqNDViY3V2YTBjY3AzMm9mMjNoMnVjNTEifQ.D5kd6yljEB0T0i65z2Ed4g'
							}).addTo(map);

							map.locate({ setView:false });
							map.on('locationfound', onLocationFound);
							map.on('locationerror', onLocationError);


							var markers = new Array();

							for (var i = 0; i < indirizzi.length; ++i){
								markers[i] = L.marker([ lats[i], lngs[i] ], { 
									icon: new L.Icon({
										iconUrl:plugin.url + 'img/marker-icon-2x-blue.png',
										// shadowUrl:plugin.url + 'img/marker-shadow.png'
										className: store_name[i],
										iconSize:[ 25, 41 ],
										iconAnchor:[ 12, 41 ],
										popupAnchor:[ 1, -34 ],
										shadowSize:[ 41, 41 ]
									}), 
									alt: JSON.parse( data[i].category_id).toString().split(",").join(" ") 
								}).addTo(map);
								markers[i].bindPopup(indirizzi[i]);
							}

							maps.push(map);
							map_div.data('mappa', map);
						}

					}
				});

				setInterval(function(){
					$(".wonder-plugin-elenco-stores-e-mappa .mappa").each(function(){
						var elem = $(this);
						elem.height(elem.width());
			
						var mappa = elem.data('mappa');
						if (typeof mappa != 'undefined')
							mappa.invalidateSize();
					});
				}, 100);
				$(window).resize($(".wonder-plugin-elenco-stores-e-mappa .mappa"));
			});
		}

		
	});
})( jQuery );

function filter_store_list(e) {
	e.preventDefault();
	var search_text = jQuery('#filter-store-list').val();
	if(search_text != "" ){
		jQuery(".leaflet-marker-icon").css({"display": "none"});

		jQuery(".stores-list .evento").each(function(index, element){
			var celement = jQuery(element);
			if(celement.data("category-name").toLowerCase().indexOf(search_text.toLowerCase()) > -1 ) {
				celement.css({"display" : "initial"});
				jQuery('.' + celement.data("category-name").split(" ").join("-").toLowerCase().replace(/^-+|-+(?=-|$)/g, '').replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_')).css({'display' : 'initial'});

			} else {
				celement.css({"display" : "none"});
				jQuery('.' + celement.data("category-name").split(" ").join("-").toLowerCase().replace(/^-+|-+(?=-|$)/g, '').replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_')).css({'display' : 'none'});
			}
		})
	} else {
		jQuery(".stores-list .evento").css({"display" : "initial"});
		jQuery(".leaflet-marker-icon").css({"display": "initial"});
	}
}
function slide_category_left() { 
	jQuery(".wonder-plugin-elenco-categorie-stores").animate( { scrollLeft: '-=' + ( jQuery(".wonder-plugin-elenco-categorie-stores").width() - 70 ) }, 500 );
}
function slide_category_right() { 
	jQuery(".wonder-plugin-elenco-categorie-stores").animate( { scrollLeft: '+=' + ( jQuery(".wonder-plugin-elenco-categorie-stores").width() - 70 ) }, 500 );
}


function printCoupon(e) {
	e.preventDefault();
	var email = jQuery(e.target).closest(".wonder-plugin-singolo-coupon").data("email");
	var id = jQuery(e.target).closest(".wonder-plugin-singolo-coupon").data("id");

	ga('send', {
		hitType: 'event',
		eventCategory: 'Download Coupon',
		eventAction: 'Coupon id: ' + id,
		eventLabel: "Email: " + email
	  });

	window.open("https://app.digitrend.it/paywall/stampa-coupon?id=" + id + "&id_utente=" + email, '_blank');
}

function printCouponFromList(e) {
	e.preventDefault();
	var email = jQuery(e.target).closest(".wonder-plugin-elenco-coupon").data("email");
	var id = jQuery(e.target).closest(".wonder-plugin-singolo-coupon").data("id");
	
	ga('send', {
		hitType: 'event',
		eventCategory: 'Download Coupon',
		eventAction: 'Coupon id: ' + id,
		eventLabel: "Email: " + email
	  });
	
	window.open("https://app.digitrend.it/paywall/stampa-coupon?id=" + id + "&id_utente=" + email, '_blank');
}

function printCouponFromShop(e) {
	e.preventDefault();
	var email = jQuery(e.target).data("email");
	var id = jQuery(e.target).data("id");

	ga('send', {
		hitType: 'event',
		eventCategory: 'Download Coupon',
		eventAction: 'Coupon id: ' + id,
		eventLabel: "Email: " + email
	  });
	
	window.open("https://app.digitrend.it/paywall/stampa-coupon?id=" + id + "&id_utente=" + email, '_blank');

};