Volantino e offerte Pan
Dolianova e dintorni
Volantino Pan
dal 2 maggio
Sfoglia »25 Negozi Pan

Pan - SUPERPAN Dolianova
C.So Repubblica, 90
Pan - SUPERPAN Dolianova - Via Zuddas
VIA ZUDDAS
Pan - IPERPAN Sestu
S.S. 131 KM 10.800 - LOC. MORE CORRAXI
Pan - Sestu
ex ss 131 km 7,650
Pan - Pan
Via S.Nicolò
Pan - Pan
Via Della Libertà, 22
Pan - SUPERPAN Selargius
VIA PIERO DELLA FRANCESCA
Pan - IPERPAN Quartu Sant'Elena
Via Monsignor Virgilio Angioni
Pan - Pan
P.Zza Azuni
Pan - Pan
Via P. Della Francesca
Pan - SUPERPAN Quartu Sant'Elena
Via Fiume
Pan - Pan
Via Calamattia, 4
Pan - Pan
Via Cinquini
Pan - IPERPAN Cagliari
Viale Guglielmo Marconi, 161
Pan - Pan
Via Figari
Pan - Pan
Via Castiglione
Pan - SUPERPAN Assemini
Via Sardegna, 112
Pan - Pan
Via Carmine, 217
Pan - Pan
Via Sant’Alenixedda, 101
Pan - Pan
Via Santa Gilla, 18
Pan - Pan
Via Trieste
Pan - Pan
Via Delle Aie
Pan - IPERPAN Cagliari
Viale la Plaia, 15
Pan - Pan
Via Cagliari
Pan - Pan
Via Del Pozzetto, 29
Altri volantini interessanti vicino a te
Pan fa parte del Gruppo Superemme che inizia la sua attività negli anni '70 in Sardegna espandendosi gradualmente in tutta la regione con oltre 30 punti vendita, concentrati in particolare nella provincia di Cagliari.


Negozi Pan a Dolianova e dintorni
ChiudiLun | \n' + 'Mar-Ven | \n' + 'Sab-Dom | \n' + '
---|---|---|
10-13 | \n' + '10-13 | \n' + 'chiuso | \n' + '
chiuso | \n' + '15-18 | \n' + 'chiuso | \n' + '
4 volantini attivi
\n' + '\n' + '
Voglio un mondo di tecnologia
\n' + '' + parsed + '
' + 'Lun | ' + 'Mar-Ven | ' + 'Sab-Dom | ' + '
---|---|---|
10-13 | ' + '10-13 | ' + 'chiuso | ' + '
chiuso | ' + '15-18 | ' + 'chiuso | ' + '
' + shop.name + '
' //+ '' + shop.insegna_pv + '
' + '' + shop.address + '
' + '' + shop.city.name //+ ' (' + shop.sigla_pro + ')
' + '' + shop.phone + '
' //+ '' + ( shop.orari_pv || 'ND' ) + '
' //+ generateTimeTable( shop.orari_pv ) + 'Vai al Negozio' switch ( n ) { case 0: html += '
nessun volantino attivo
' break case 1: html += '1 volantino attivo
' break default: html += '' + n + ' volantini attivi
' } return html //'' + JSON.stringify( pv_data, null, 3 ) + '' } // returns html string function generateLeaflets ( leaflets ) { var html = leaflets.reduce( function ( html, v ) { if (v.type == "ClickToStoreLeaflet" && !v.slide_to_store_campaign) { var link = v.external_url var target = "_blank" } else { var retailer_slug = PQ2VFRetailers(vf.app.data.catena.slug); var link = retailer_slug + '/' + vf.app.data.catena.section_slug + '-' + retailer_slug + '/' + vf.app.data.catena.section_slug + '-' + v.id var target = "_self" } var item = '
' + JSON.stringify( vol_data, null, 3 ) + '' } // Data passed to this function is the pv.data attached to the marker. // Initialize the map function initializeMap ( icons ) { var marker_bounds var map_center var mapOptions var info_window var info_window = new google.maps.InfoWindow({ content: info_window_el }) function updateInfoWindow ( marker ) { data = marker.data $.post('ajax/getLeafletsByStores', {store_id: data.id}).done(function(reply) { storeLeaflets = JSON.parse(reply); var shop_info_html = generateShopInfo( data, storeLeaflets.length ) shop_info_el.innerHTML = shop_info_html var leaflets_html = generateLeaflets( storeLeaflets ) leaflets_el.innerHTML = leaflets_html leaflet_idx = 0 leaflets_no = storeLeaflets.length leaflets_el.setAttribute( 'data-slot', leaflet_idx ) // Start the slideshow (only if we have more than one leaflet to show) if ( leaflets_no > 1 ) { slideshow_handle = setTimeout( doSlide, FREQUENCY ) } switch ( leaflets_no ) { case 0: // Hide the whole vf-leaflets-browser info_window_el.className = 'none' break case 1: // Hide the ▲ and ▼ anchors info_window_el.className = 'no-slide' break default: info_window_el.className = '' } info_window.open( map, marker ) }) } gmap.updateInfoWindow = updateInfoWindow function closeInfoWindow () { // Clear timer clearTimeout( slideshow_handle ) // Close it. info_window.close() } gmap.closeInfoWindow = closeInfoWindow //! Fires also when the info_window is not visualized google.maps.event.addListener( info_window, 'content_changed', function () { //console.warn( 'the infoWindow content did change' ) }) //! Do not use to update the content. google.maps.event.addListener( info_window, 'domready', function () { //console.warn( "the info_window\'s DOM is ready! (executed each time the info_window is displayed)" ) }) //! This event is not triggered when I programmatically close the infowindow. google.maps.event.addListener( info_window, 'closeclick', function () { // Invoke the cleanup routine. closeInfoWindow() window.history.replaceState( null, '', location.pathname + location.search + '#mappa' ) }) marker_bounds = new google.maps.LatLngBounds() vf.app.data.puntivendita.forEach( function ( pv, i ) { var latlng var marker latlng = new google.maps.LatLng( +pv.latitude, +pv.longitude ) marker_bounds.extend( latlng ) marker = new google.maps.Marker( { position: latlng, title: pv.name, zIndex: i }) // Store the information of the pv directly into the marker. // Still missing the details about the "volantini" to be shown in the infoWindow marker.data = pv // Setup some listener on the marker google.maps.event.addListener( marker, 'click', function () { // Close the infowindow if already opened. if ( info_window.map === map ) { closeInfoWindow() } var log = 'Click sul punto vendita ID: ' + pv.id +', Nome: ' + pv.name + ', Catena: ' + vf.app.data.catena.name; ga('send', 'event', 'Apertura mappa su punto vendita', 'Click', log); // rewrite history window.history.replaceState( null, '', location.pathname + location.search + '#mappa-' + pv.id ) updateInfoWindow( this ) }) // Make it front-most on rollover, only if the info_window is not visualized. google.maps.event.addListener( marker, 'mouseover', function () { if ( info_window.map == null ) marker.setZIndex( markers.length ) }) markers.push( marker ) }) map_center = marker_bounds.getCenter() mapOptions = { zoom: 8, center: map_center, scrollwheel: true, panControl: false, zoomControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.LARGE, position: google.maps.ControlPosition.LEFT_CENTER }, mapTypeControl: false, scaleControl: true, streetViewControl: false, overviewMapControl: false } map = gmap.map = new google.maps.Map( gmap.el, mapOptions ) //console.log('new google maps') // Process each marker ad assign to the map markers.forEach( function ( marker ) { marker.setMap( map ) marker.setIcon( vf.app.data.catena.logo.pin ) }) // marker Tu sei qui var latlng var whereIAm var vfLocation = decodeURIComponent(getCookie("vf_location")); if (vfLocation) { var locationCookie = JSON.parse(vfLocation); latlng = new google.maps.LatLng(+locationCookie.lat , +locationCookie.lng) marker_bounds.extend( latlng ) whereIAm = new google.maps.Marker( { position: latlng, icon: null, title: "Tu sei qui!", zIndex: markers.length + 1 }) var infoWhere = new google.maps.InfoWindow({ content: 'Tu sei qui!' }) google.maps.event.addListener( whereIAm, 'click', function () { // Close the infowindow if already opened. if ( info_window.map === map ) { closeInfoWindow() } infoWhere.open( map, this ) }) // Make it front-most on rollover, only if the info_window is not visualized. google.maps.event.addListener( whereIAm, 'mouseover', function () { if ( infoWhere.map == null ) whereIAm.setZIndex( markers.length + 1 ) }) whereIAm.setIcon(null) whereIAm.setMap(map) } //console.warn('BEFORE FITBOUNDS') map.fitBounds( marker_bounds ) //console.warn('JUST AFTER FITBOUNDS') JUST_INITIALIZED = true // Close the infoWindow if it is open when clicking on the map. google.maps.event.addListener( map, 'click', function () { if ( info_window.map == null ) { //console.warn('not open') } else { closeInfoWindow() window.history.replaceState( null, '', location.pathname + location.search + '#mappa' ) } }) // Do something only the first time the map is loaded google.maps.event.addListenerOnce( map, 'idle', function() { gmap.container.setAttribute( 'data-zoom', 14 ) last_center = map.getCenter() }) // Too costly. do it on "idle" google.maps.event.addListener( map, 'idle', function() { //console.warn( Date.now(), 'updating last known center' ) last_center = map.getCenter() }) // Is this really necessary? window.addEventListener( 'resize', function () { google.maps.event.trigger( map, 'resize' ) // Lock position on resize to the last known center... map.setCenter( last_center ) } , false ) // √ Done (hopefully) gmap.INITIALIZED = true // ! call the callback if set if ( __cb__ ) { __cb__() __cb__ = null } } // Async script loading function loadScript() { var script = document.createElement('script') script.type = 'text/javascript' script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp' + '&callback=initializeGoogleMaps&key=AIzaSyABlhIDEeZ-GiU9XfFYcQMAcePg1LCz0qQ' document.body.appendChild( script ) } // Lazy initialization... (script callback) // Definiamolo global con nome randomico e cancelliamolo subito dopo creazione. console.warn('Random callback name:', (+Math.random().toFixed( 16 ).slice( 2 )).toString(16) ) // function initializeGoogleMaps() { if ( gmap.INITIALIZED ) { //console.warn( '(initializeGoogleMaps) Google Maps already initialized' ) return } // Preload the icons and initialize the map. preloadMarkerIcons( initializeMap ) // Mark it as initialized //gmap.INITIALIZED = true } gmap.initialize = function( cb ) { if ( gmap.INITIALIZED ) { //console.warn( '(initializeGoogleMapsLazy) Google Maps already initialized' ) cb && cb() return } __cb__ = cb loadScript() } gmap.gotoPuntoVendita = function ( pv ) { //console.log(marker); //console.log(pv); // Find the marker. var marker = markers.filter( function ( marker ) { return marker.data === pv })[0] // Center the map on the marker... map.setCenter( marker.position ) google.maps.event.trigger( marker, 'click' ) } // Invoked from the ctrl when closing via the logo/close gmap.close = function () { gmap.closeInfoWindow() } gmap.markers = markers vf.app.gmap = gmap -->