PageSourceSearch

https://www.cascioligroup.it/preferiti

html cascioligroup.it collected 2026-10-10 01:14:37 UTC 99,652 bytes, 2,059 lines download raw bytes

1
2
3
4
5
6<!DOCTYPE html>
7<html lang="it">
8<head>
9    
10    <!-- Google Tag Manager -->
11    
11<script>
vendor: 343 bytes, lines 11-15
11(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
12    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
13    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
14    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
15    })(window,document,'script','dataLayer','
15GTM-K5XQZ6B
vendor: 3 bytes, line 15
15');
15</script>
15
16    <!-- End Google Tag Manager -->
17
18            
18<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="ade33fea-8073-4d6a-b737-711ae215cb27" data-blockingmode="auto" type="text/javascript"></script>
18
19    
20    <meta charset="UTF-8">
21    <title>I miei preferiti</title>
22        <meta http-equiv="X-UA-Compatible" content="IE=edge">
23    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">
24    <meta name="format-detection" content="telephone=no"/>
25        <meta property="og:title" content="Preferiti"/>
26    <meta property="og:url" content="https://www.cascioligroup.it/preferiti"/>
27    <link rel="canonical" href="https://www.cascioligroup.it/preferiti"/>
28    <meta name="robots" content="noindex"/>
29    
30    <link rel="shortcut icon" href="/favicon.ico"/>
31    <link rel="apple-touch-icon" sizes="57x57" href="/favicon/apple-icon-57x57.png">
32    <link rel="apple-touch-icon" sizes="60x60" href="/favicon/apple-icon-60x60.png">
33    <link rel="apple-touch-icon" sizes="72x72" href="/favicon/apple-icon-72x72.png">
34    <link rel="apple-touch-icon" sizes="76x76" href="/favicon/apple-icon-76x76.png">
35    <link rel="apple-touch-icon" sizes="114x114" href="/favicon/apple-icon-114x114.png">
36    <link rel="apple-touch-icon" sizes="120x120" href="/favicon/apple-icon-120x120.png">
37    <link rel="apple-touch-icon" sizes="144x144" href="/favicon/apple-icon-144x144.png">
38    <link rel="apple-touch-icon" sizes="152x152" href="/favicon/apple-icon-152x152.png">
39    <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-icon-180x180.png">
40    <link rel="icon" type="image/png" sizes="192x192" href="/favicon/android-icon-192x192.png">
41    <link rel="icon" type="image/png" sizes="144x144" href="/favicon/android-icon-144x144.png">
42    <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
43    <link rel="icon" type="image/png" sizes="96x96" href="/favicon/favicon-96x96.png">
44    <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
45    <link rel="manifest" href="/favicon/manifest.json">
46    <meta name="msapplication-TileColor" content="#ffffff">
47    <meta name="msapplication-TileImage" content="/favicon/ms-icon-144x144.png">
48    <meta name="theme-color" content="#ffffff">
49
50    
51    
52    
53    
54    
55    
56    
57    <link rel="stylesheet" href="/minified-styles-base.css?827061c1">
58
59    <link rel="stylesheet" href="/build/397.fbe6f58e.css"><link rel="stylesheet" href="/build/app.1140991d.css">
60
61    
62    
63    
64    
65    
66    
67    
68    
69    
70    
71    
72            
73        
74    
75    
76    
76<script data-cookieconsent="ignore" type="text/javascript" src="/minified-scripts-base.js?827061c1"></script>
76
77
78        
78<script src="https://script.ekonsilio.com/5ef0c1620a516a00107eb737-5ef313338bacb300103e8c28.js" data-cookieconsent="ignore"></script>
78
79    
80        
80<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
80
81</head>
82
83<body itemscope itemtype="http://schema.org/WebPage">
84    <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 84-85
84
85    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
85GTM-K5XQZ6B
vendor: 91 bytes, lines 85-87
85"
86    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
87    
87<!-- End Google Tag Manager (noscript) -->
88
89    <header class="header-wrap ">
90        <div class="container header container-lg bottom-border">
91            <div class="header-logo-wrap">
92                <div class="d-flex align-items-center">
93                    <div class="header-nav-toggle" id="header-nav-toggle">
94                        <div></div>
95                        <div></div>
96                        <div></div>
97                    </div>
98                                    </div>
99                <div class="header-logo">
100                    <a href="/">
101                                                    <img src="/images/logo/cascioli_white.svg" alt="Cascioli Group" width="140" height="57" />
102                                            </a>
103                </div>
104                <div class="d-flex align-items-center justify-content-end">
105                                        <div class="header-favorites">
106                        <a href="/preferiti" class="btn-header-favorites">
107                            <img class="ico-heart ico-heart-empty" width="20" height="22" src="/images/vehicle/ico_preferiti.svg" onload="SVGInject(this)" alt="Preferiti"/>
108                            <img class="ico-heart ico-heart-full" width="20" height="22" src="/images/vehicle/ico_preferiti_full.svg" onload="SVGInject(this)" alt="Preferiti"/>
109                            <div class="favorites-count"></div>
110                        </a>
111                    </div>
112                </div>
113            </div>
114        </div>
115        <div class="container header-nav">
116            <ul>
117                                                            <li class="title">
118                            <a href="/usato" >Auto usate</a>
119                        </li>
120                                            <li class="title">
121                            <a href="/moto" >Moto</a>
122                        </li>
123                                            <li class="title">
124                            <a href="/ricerca-veicoli?archives=nuovo,km0,usato&amp;groupType=vic&amp;typePrice=price" >Veicoli commerciali</a>
125                        </li>
126                                                    <li class="title has-submenu">
127                    <span >NOLEGGIO</span>
128                    <ul class="sub">
129                        <li class="title">
130                            <a href="/noleggio/noleggio-breve-termine">Breve termine</a>
131                        </li>
132                        <li class="title">
133                            <a href="/noleggio/noleggio-lungo-termine">Lungo termine</a>
134                        </li>
135                                            </ul>
136                </li>
137                <li class="title">
138                    <a href="/promozioni?type=vendita" >PROMO</a>
139                </li>
140                <li class="title has-submenu">
141                    <span >SERVICE</span>
142                    <ul class="sub">
143                                                    <li class="title no-padding">
144                                <a href="/service/carrozzeria">
145                                    Carrozzeria Multibrand
146                                </a>
147                            </li>
148                                                    <li class="title no-padding">
149                                <a href="/service/assistenza-bmw">
150                                    Centro Assistenza BMW
151                                </a>
152                            </li>
153                                                    <li class="title no-padding">
154                                <a href="/service/assistenza-mini">
155                                    Centro Assistenza MINI
156                                </a>
157                            </li>
158                                                    <li class="title no-padding">
159                                <a href="/service/assistenza-bmw-motorrad">
160                                    Centro Assistenza BMW Motorrad
161                                </a>
162                            </li>
163                                                    <li class="title no-padding">
164                                <a href="/service/assistenza-mercedes-benz-vans">
165                                    Centro Assistenza Mercedes Vans
166                                </a>
167                            </li>
168                                                    <li class="title no-padding">
169                                <a href="/service/assistenza-mercedes-benz">
170                                    Centro Assistenza Mercedes-Benz
171                                </a>
172                            </li>
173                                                    <li class="title no-padding">
174                                <a href="/service/assistenza-smart">
175                                    Centro Assistenza Smart
176                                </a>
177                            </li>
178                                                    <li class="title no-padding">
179                                <a href="/service/assistenza-toyota">
180                                    Centro Assistenza Toyota
181                                </a>
182                            </li>
183                                            </ul>
184                </li>
185                <li class="title">
186                    <a href="/contatti" >SEDI E CONTATTI</a>
187                </li>
188                <li class="title">
189                    <a href="/pagina/lavora-con-noi" >LAVORA CON NOI</a>
190                </li>
191            </ul>
192        </div>
193    </header>
194
195            <nav class="header-nav-wrap" id="header-nav-wrap">
196            <div class="container header-nav">
197                <div class="row megamenu-cnt">
198
199                    <div class="col-md-4">
200                        <ul class="section-megamenu">
201                            <li class="title">
202                                <span>Cascioli Group</span>
203                            </li>
204                                                                                                <li>
205                                        <a href="/pagina/chi-siamo">Cascioli Group, una grande storia</a>
206                                    </li>
207                                                                                                                                <li>
208                                        <a href="/pagina/lavora-con-noi">Lavora con noi</a>
209                                    </li>
210                                                                                                                                <li>
211                                        <a href="/pagina/parita-di-genere">Parità di genere</a>
212                                    </li>
213                                                                                                                                                                                            <li>
214                                        <a href="/pagina/whistleblowing">Whistleblowing</a>
215                                    </li>
216                                                             
217                            <li>
218                                <a href="https://portal.teamsystemhr.com/000/025B9/replace/" rel="nofollow" target="_blank">Area dipendenti</a>
219                            </li>
220                        </ul>
221
222                        <ul class="section-megamenu" style="margin-top: 30px;">
223                            <li class="title">
224                                <span>Cascioli Rent</span>
225                            </li>
226                                                                                                <li>
227                                        <a href="/pagina/casciolirent">Noleggio Cascioli Rent</a>
228                                    </li>
229                                                                                                                                <li>
230                                        <a href="/pagina/informativa-cascioli-rent">Informativa Cascioli Rent</a>
231                                    </li>
232                                                                                                                                <li>
233                                        <a href="/pagina/condizioni-generali-cascioli-rent">Condizioni Generali Cascioli Rent</a>
234                                    </li>
235                                                                                                                                <li>
236                                        <a href="/pagina/tabella-danni-cascioli-rent">Tabella danni Cascioli Rent</a>
237                                    </li>
238                                                                                                                                                </ul>
239                    </div>
240
241
242                    <div class="col-md-4">
243                        <ul class="section-megamenu">
244                            <li class="title">
245                                <span>I nostri Brand</span>
246                            </li>
247                                                            <li>
248                                    <div class="subtitle">
249                                        <span>BMW</span>
250                                        <i class="fa fa-angle-right"></i>                                    </div>
251                                    <ul class="submenu">
252                                                                                    <li>
253                                                <a href="/bmw" >I modelli BMW</a>
254                                            </li>
255                                                                                    <li>
256                                                <a href="/bmw-premium-selection" >BMW Premium Selection</a>
257                                            </li>
258                                                                            </ul>
259                                </li>
260                                                            <li>
261                                    <div class="subtitle">
262                                        <span>BMW M</span>
263                                        <i class="fa fa-angle-right"></i>                                    </div>
264                                    <ul class="submenu">
265                                                                                    <li>
266                                                <a href="/bmw-m" >I modelli BMW M</a>
267                                            </li>
268                                                                            </ul>
269                                </li>
270                                                            <li>
271                                    <div class="subtitle">
272                                        <span>BMW Motorrad</span>
273                                        <i class="fa fa-angle-right"></i>                                    </div>
274                                    <ul class="submenu">
275                                                                                    <li>
276                                                <a href="/" >Moto</a>
277                                            </li>
278                                                                                    <li>
279                                                <a href="/bmw-motorrad" >I modelli BMW Motorrad</a>
280                                            </li>
281                                                                            </ul>
282                                </li>
283                                                            <li>
284                                    <div class="subtitle">
285                                        <span>Maserati</span>
286                                        <i class="fa fa-angle-right"></i>                                    </div>
287                                    <ul class="submenu">
288                                                                                    <li>
289                                                <a href="/maserati" target="_blank">I modelli Maserati</a>
290                                            </li>
291                                                                            </ul>
292                                </li>
293                                                            <li>
294                                    <div class="subtitle">
295                                        <span>Mercedes AMG</span>
296                                        <i class="fa fa-angle-right"></i>                                    </div>
297                                    <ul class="submenu">
298                                                                                    <li>
299                                                <a href="/amg" >Gamma Auto AMG</a>
300                                            </li>
301                                                                                    <li>
302                                                <a href="/" >Usato garantito</a>
303                                            </li>
304                                                                            </ul>
305                                </li>
306                                                            <li>
307                                    <div class="subtitle">
308                                        <span>Mercedes-Benz Vans</span>
309                                        <i class="fa fa-angle-right"></i>                                    </div>
310                                    <ul class="submenu">
311                                                                                    <li>
312                                                <a href="/mercedes-vans" >I modelli Mercedes-Benz Vans</a>
313                                            </li>
314                                                                                    <li>
315                                                <a href="/pagina/mercedes-benz-veicoli-commerciali" target="_blank">Gamma Elettrica</a>
316                                            </li>
317                                                                                    <li>
318                                                <a href="/pagina/van-pro" target="_blank">Van ProCenter</a>
319                                            </li>
320                                                                            </ul>
321                                </li>
322                                                            <li>
323                                    <div class="subtitle">
324                                        <span>Mercedes-Benz</span>
325                                        <i class="fa fa-angle-right"></i>                                    </div>
326                                    <ul class="submenu">
327                                                                                    <li>
328                                                <a href="/mercedes-benz-certified" >Mercedes Benz Certified</a>
329                                            </li>
330                                                                                    <li>
331                                                <a href="/mercedes" >I modelli Mercedes-Benz</a>
332                                            </li>
333                                                                            </ul>
334                                </li>
335                                                            <li>
336                                    <div class="subtitle">
337                                        <span>MINI</span>
338                                        <i class="fa fa-angle-right"></i>                                    </div>
339                                    <ul class="submenu">
340                                                                                    <li>
341                                                <a href="/mini" >I modelli MINI</a>
342                                            </li>
343                                                                                    <li>
344                                                <a href="/mini-next" >MINI Next</a>
345                                            </li>
346                                                                            </ul>
347                                </li>
348                                                            <li>
349                                    <div class="subtitle">
350                                        <span>smart</span>
351                                        <i class="fa fa-angle-right"></i>                                    </div>
352                                    <ul class="submenu">
353                                                                                    <li>
354                                                <a href="/smart" >I modelli smart</a>
355                                            </li>
356                                                                                    <li>
357                                                <a href="/smart-certified" >smart Certified</a>
358                                            </li>
359                                                                            </ul>
360                                </li>
361                                                            <li>
362                                    <div class="subtitle">
363                                        <span>Toyota</span>
364                                        <i class="fa fa-angle-right"></i>                                    </div>
365                                    <ul class="submenu">
366                                                                                    <li>
367                                                <a href="/toyota" >I modelli Toyota</a>
368                                            </li>
369                                                                                    <li>
370                                                <a href="/toyota-approved" >Toyota Approved</a>
371                                            </li>
372                                                                            </ul>
373                                </li>
374                                                            <li>
375                                    <div class="subtitle">
376                                        <span>Toyota GR Sport</span>
377                                        <i class="fa fa-angle-right"></i>                                    </div>
378                                    <ul class="submenu">
379                                                                                    <li>
380                                                <a href="/toyota-gr-sport" >
380I modelli GR Sport</a>
381                                            </li>
382                                                                            </ul>
383                                </li>
384                                                            <li>
385                                    <div class="subtitle">
386                                        <span>Toyota Professional</span>
387                                        <i class="fa fa-angle-right"></i>                                    </div>
388                                    <ul class="submenu">
389                                                                                    <li>
390                                                <a href="/toyota-professional" >I modelli Toyota Professional</a>
391                                            </li>
392                                                                            </ul>
393                                </li>
394                                                    </ul>
395                    </div>
396
397
398                    <div class="col-md-4">
399                        <ul class="section-megamenu">
400                            <li class="title">
401                                <span>Contatti</span>
402                            </li>
403                            <li>
404                                <a href="/contatti">Le nostre sedi</a>
405                            </li>
406                        </ul>
407                    </div>
408
409                </div>
410            </div>
411        </nav>
412    
413
414<main class="main-wrap">
415        <div class="favorites-list-page" id="favorites-app">
416        <section class="breadcrumbs-section">
417            <div class="container">
418                <div class="breadcrumbs upper">
419                    <ul itemscope itemprop="breadcrumb" itemtype="http://schema.org/BreadcrumbList">
420                        <li itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">
421                            <a href="/" itemprop="item">Home <i class="fa fa-angle-right"></i></a>
422                            <meta itemprop="name" content="Homepage"/>
423                            <meta itemprop="position" content="1"/>
424                        </li>
425                        <li itemscope itemprop="itemListElement" itemtype="http://schema.org/ListItem">
426                            <span itemprop="name">Preferiti</span>
427                            <meta itemprop="position" content="2"/>
428                        </li>
429                    </ul>
430                </div>
431            </div>
432        </section>
433        <section class="section-favorites-list">
434            <div class="container">
435                <h1 class="favorites-list-title">I miei preferiti</h1>
436                <div class="favorites-list" v-cloak>
437                    <div class="favorites-loader" v-if="!!loading">
438                        <div class="loader"></div>
439                    </div>
440                    <div class="col-md-12 text-center my-4" v-if="!loading && vehicleList.length == 0"><strong>Nessun veicolo tra i preferiti</strong></div>
441                    <div class="row">
442                        <div class="col-md-3" v-cloak v-for="vehicle in vehicleList">
443                            <div class="vehicle-favorite-controls">
444    <div>
445        <div data-ico="svg" class="custom-checkbox checkbox-blue">
446            <input type="checkbox" :id="'vehicle-' + vehicle.id" :value="vehicle.id" v-model="vehicle.selected">
447            <label :for="'vehicle-'+ vehicle.id">Richiedi info</label>
448        </div>
449    </div>
450    <div>
451        <div class="btn-remove-favorite" @click="removeFavoritedVehicle(vehicle)">
452            <i class="fa fa-trash-alt"></i>
453        </div>
454    </div>
455</div>
456<div class="vehicle-card card-vertical">
457    <div class="card-images-wrap">
458        <a :href="vehicle.urlName" v-if="vehicle.imagesUrlSmall && vehicle.imagesUrlSmall.length" class="bg-v">
459                <img
460                    :alt="vehicle.erpId + ' ' + vehicle.brand + ' ' + vehicle.model + ' Cascioli Group'"
461                    :src="vehicle.imagesUrlSmall[0]"
462                    class="img-fluid"
463                    loading="lazy"
464                />
465        </a>
466
467        <a :href="vehicle.urlName" v-else>
468            <img alt="Cascioli Group" class="img-fluid" src="/images/vehicle/placeholder.jpg" loading="lazy">
469        </a>
470
471    </div>
472    <div class="vehicle-card-body">
473        <a :href="vehicle.urlName">
474            <div>
475                <h4 class="vehicle-card-model">{{ vehicle.brand }} {{ vehicle.model }}</h4>
476                <div class="vehicle-card-version">{{ vehicle.version }}</div>
477            </div>
478            <div class="vehicle-card-data">
479                <div style="width: 100%;">
480                    <div class="vehicle-card-rate" v-if="vehicle.monthlyFee">
481                        <strong>{{ numberFormat(vehicle.monthlyFee,'.','.') }} &euro;</strong> /mese
482                    </div>
483
484                    <div v-if="vehicle.listPrice > vehicle.finalPrice" class="d-flex align-items-end" style="margin-bottom: 10px;">
485                        <div class="vehicle-card-price-striked">
486                            {{ numberFormat(vehicle.listPrice,'.','.') }} &euro;
487                        </div>
488                        <div class="discount">-{{vehicle.discount}}%</div>
489                    </div>
490
491                    <div class="vehicle-card-price">
492                        <strong>{{ numberFormat(vehicle.finalPrice,'.','.') }} &euro;</strong>
493                    </div>
494
495                    <div class="vehicle-card-saving" v-if="vehicle.listPrice > vehicle.finalPrice">
496                        <strong>{{ numberFormat((vehicle.listPrice - vehicle.finalPrice),'.','.') }} &euro;</strong> di risparmio
497                    </div>
498                </div>
499                <div>
500                    <div class="d-flex align-items-center">
501                        <div class="vehicle-card-archive">
502                            {{ vehicle.archive }}
503                        </div>
504                        <div class="vehicle-card-warranty" v-if="vehicle.warrantyName ">
505                            {{ vehicle.warrantyName }} {{ vehicle.warrantyMonth ? vehicle.warrantyMonth+" mesi" : "" }}
506                        </div>
507                    </div>
508                    <div class="vehicle-card-people" v-if="vehicle.counterClickedTotal">
509                        <strong>{{ vehicle.counterClickedTotal }}</strong> persone interessate
510                    </div>
511                </div>
512                <div style="width: 100%;">
513                    <ul class="vehicle-card-list">
514                        <li v-if="vehicle.archive != 'nuovo' && !!vehicle.km">
515                            <img src="/images/vehicle/ico_chilometri.svg" alt="km" loading="lazy">
516                            {{ numberFormat(vehicle.km) }} km
517                        </li>
518                        <li v-if="vehicle.archive != 'nuovo' && !!vehicle.registrationDate">
519                            <img src="/images/vehicle/ico_immatricolazione.svg" alt="immatricolazione" loading="lazy">
520                            {{ vehicle.registrationDate }}
521                        </li>
522                        <li v-if="!!vehicle.fuel">
523                            <img src="/images/vehicle/ico_alimentazione.svg" alt="alimentazione"  style="margin-left:2px" loading="lazy">
524                            {{ vehicle.fuel }}
525                        </li>
526                        <li v-if="!!vehicle.gear">
527                            <img src="/images/vehicle/ico_cambio.svg" alt="cambio" loading="lazy">
528                            {{ vehicle.gear }}
529                        </li>
530                    </ul>
531                </div>
532            </div>
533            <div v-if="vehicle.groupType == 'vic'" class="vatExposed">IVA esclusa</div>
534            <div class="vehicle-card-optionals"  v-if="vehicle.optionals && vehicle.optionals.length > 0">
535                <h4 class="optionals-title">Optional di valore</h4>
536                <ul class="optionals-list">
537                    <li v-for="(optional,index) in vehicle.optionals" v-show="index < 4 || vehicle.moreOptionals">
538                        <i class="fa fa-check"></i>
539                        {{ optional.label }}
540                    </li>
541                </ul>
542                <div class="optionals-more" @click.prevent="toggleMoreOptionals(vehicle)" v-if="vehicle.optionals && vehicle.optionals.length > 4">
543                    <span v-show="!vehicle.moreOptionals"><i class="fa fa-plus"></i> mostra tutti</span>
544                    <span v-show="vehicle.moreOptionals"><i class="fa fa-minus"></i> chiudi</span>
545                </div>
546            </div>
547        </a>
548    </div>
549</div>
550                        </div>
551                    </div>
552                </div>
553            </div>
554        </section>
555        <section class="form-section bg-lightgray" id="bottom-form">
556            <div class="container">
557                <div class="form-title">Richiedi informazioni</div>
558                <div class="row favorites-selected-list" v-show="selectedVehicles.length > 0">
559                    <div class="col-md-4" v-for="vehicle in selectedVehicles">
560                        <div class="selected-vehicle-wrap">
561                            <div v-if="vehicle.imagesUrlSmall && vehicle.imagesUrlSmall.length" class="selected-vehicle-img">
562                                <img :alt="vehicle.erpId + ' ' + vehicle.brand + ' ' + vehicle.model + ' Cascioli Group'" :src="vehicle.imagesUrlSmall[0]" loading="lazy"/>
563                            </div>
564                            <div class="selected-vehicle-img" v-if="!vehicle.imagesUrlSmall || vehicle.imagesUrlSmall.length == 0">
565                                <img alt="Cascioli Group" class="img-fluid" src="/images/vehicle/placeholder.jpg" loading="lazy">
566                            </div>
567                            <div class="selected-vehicle-data">
568                                <div>
569                                    <h4 class="selected-vehicle-model">{{ vehicle.brand }} {{ vehicle.model }}</h4>
570                                    <div class="selected-vehicle-version">{{ vehicle.version }}</div>
571                                </div>
572                                <div class="selected-vehicle-id">cod. {{ vehicle.erpId }}</div>
573                            </div>
574                            <div class="btn-deselect" @click="vehicle.selected = false"></div>
575                        </div>
576                    </div>
577                </div>
578                <form method="POST" accept-charset="UTF-8" class="contact-form info-request-form">
579    <input type="hidden" name="formType" value="WISHLIST">
580    <input type="hidden" name="" value="">
581    <input type="hidden" name="queryParams" value=""/>
582
583                    <input type="hidden" name="vehicleIds" v-model="selectedVehiclesIds" v-if="selectedVehiclesIds" required>
584    
585    <div class="row">
586        <div class="col-md-3 form-group">
587            <div class="floating-label floating-label-blue">
588                <input type="text" class="form-control" name="name" required placeholder=" ">
589                <label>NOME*</label>
590            </div>
591        </div>
592        <div class="col-md-3 form-group">
593            <div class="floating-label floating-label-blue">
594                <input type="text" class="form-control" name="surname" required placeholder=" ">
595                <label>COGNOME*</label>
596            </div>
597        </div>
598                <div class="col-md-3 form-group">
599            <div class="floating-label floating-label-blue">
600                <input type="text" class="form-control" name="email" required placeholder=" ">
601                <label>EMAIL*</label>
602            </div>
603        </div>
604        <div class="col-md-3 form-group">
605            <div class="floating-label floating-label-blue">
606                <input type="text" class="form-control" name="phone" required placeholder=" ">
607                <label>TELEFONO*</label>
608            </div>
609        </div>
610
611            </div>
612
613    
614    <div class="form-group">
615        <label>MESSAGGIO</label>
616        <div class="floating-label floating-label-blue">
617                            <textarea name="message" class="form-control" rows="4" placeholder=""></textarea>
618                    </div>
619    </div>
620    <div class="privacyCnt">
621        <div class="row">
622            <div class="col-md-12">
623                <div class="form-group">
624                    <div class="custom-checkbox checkbox-blue" data-ico="svg">
625                        <input type="checkbox" id="privacy-379464108" name="privacy" required/>
626                        <label for="privacy-379464108">Acconsento al&nbsp;<a href="/pagina/privacy-policy" target="_blank">trattamento dei dati personali</a>* </label>
627                    </div>
628                </div>
629                <div class="form-group">
630                    <div class="custom-checkbox checkbox-blue" data-ico="svg">
631                        <input type="checkbox" id="marketing-379464108" name="marketing"/>
632                        <label for="marketing-379464108">Per attività di marketing diretto e indiretto e ricerche di mercato</label>
633                    </div>
634                </div>
635                <div class="form-group">
636                    <div class="custom-checkbox checkbox-blue" data-ico="svg">
637                        <input type="checkbox" id="profiling-379464108" name="profiling"/>
638                        <label for="profiling-379464108">Per attività di profilazione al fine di migliorare l'offerta di prodotti e servizi</label>
639                    </div>
640                </div>
641            </div>
642        </div>
643    </div>
644    <div class="mb-2">
645        <div class="cf-turnstile" data-sitekey="0x4AAAAAAB_PV7341dzACHcl"></div>
646    </div>
647    <div class="row">
648        <div class="col-md-3 offset-md-9">
649            <div class="button-box" style="margin-top:10px">
650                <button type="submit" class="btn-submit ">
651                                            Invia richiesta
652                                    </button>
653            </div>
654        </div>
655    </div>
656
657</form>
658            </div>
659        </section>
660    </div>
661</main>
662
663    <aside class="aside-nav" id="aside-nav">
664    <ul class="aside-nav-list">
665                    <li>
666                <a href="tel:+390858075906" class="aside-btn">
667                    <img src="/images/icon/ico_telefono.png" loading="lazy" alt="phone">
668                </a>
669            </li>
670                            <li>
671                <a href="https://web.whatsapp.com/send/?phone=+393486342803" target="_blank" class="aside-btn">
672                    <img src="/images/icon/ico_chat.png" loading="lazy" alt="chat">
673                </a>
674            </li>
675                <li>
676            <div class="aside-btn btn-aside-form
677            goto-bottom-form                        " id="aside-form-toggle">
678                <img src="/images/icon/ico_mail.png" loading="lazy" alt="mail">
679            </div>
680        </li>
681
682                    <li>
683                <a href="/contatti" class="aside-btn">
684                    <img src="/images/icon/ico_pinmap.png" loading="lazy" alt="pinmap">
685                </a>
686            </li>
687            </ul>
688</aside>
689    <aside class="aside-form-wrap" id="aside-form">
690    <div class="aside-form-btn-close" id="aside-form-btn-close"></div>
691    <div class="inner">
692
693                    <form method="POST" accept-charset="UTF-8" class="info-request-form contact-form">
694    <input type="hidden" name="formType" value="INFO">
695    <input type="hidden" name="" value="">
696    <input type="hidden" name="queryParams" value=""/>
697
698    <h3 class="title">Richiedi informazioni</h3>
699        <div class="form-group">
700        <div class="floating-label floating-label-blue">
701            <input type="text" class="form-control" name="name" required placeholder=" ">
702            <label for="name">NOME*</label>
703        </div>
704    </div>
705    <div class="form-group">
706        <div class="floating-label floating-label-blue">
707            <input type="text" class="form-control" name="surname" required placeholder=" ">
708            <label for="surname">COGNOME*</label>
709        </div>
710    </div>
711    <div class="form-group">
712        <div class="floating-label floating-label-blue">
713            <input type="email" class="form-control" name="email" required placeholder=" ">
714            <label for="email">EMAIL*</label>
715        </div>
716    </div>
717    <div class="form-group">
718        <div class="floating-label floating-label-blue">
719            <input type="text" class="form-control" name="phone" required placeholder=" ">
720            <label for="phone">TELEFONO*</label>
721        </div>
722    </div>
723
724    
725    <div class="form-group">
726        <label for="message">MESSAGGIO</label>
727        <div class="floating-label floating-label-blue">
728            <textarea name="message" class="form-control" rows="4" placeholder=" "></textarea>
729        </div>
730    </div>
731
732    
733    
734
735    <div class="privacyCnt">
736        <div class="form-group">
737            Privacy Policy (<a href="/pagina/privacy-policy" target="_blank">leggi</a>)
738        </div>
739        <div class="form-group">
740            <div class="custom-checkbox checkbox-blue label-wrap" data-ico="svg">
741                <input type="checkbox" name="privacy" id="privacy-aside" required>
742                <label for="privacy-aside">
743                    <span>* Acconsento al&nbsp;<a href="/pagina/privacy-policy" target="_blank">trattamento dei dati personali</a></span>
744                </label>
745            </div>
746        </div>
747        <div class="form-group">
748            <div class="custom-checkbox checkbox-blue label-wrap" data-ico="svg">
749                <input type="checkbox" name="marketing" id="marketing-aside">
750                <label for="marketing-aside">
751                    <span>Per attività di marketing diretto e indiretto e ricerche di mercato</span>
752                </label>
753            </div>
754        </div>
755        <div class="form-group">
756            <div class="custom-checkbox checkbox-blue label-wrap" data-ico="svg">
757                <input type="checkbox" name="profiling" id="profiling-aside">
758                <label for="profiling-aside">
759                    <span>Per attività di profilazione al fine di migliorare l'offerta di prodotti e servizi</span>
760                </label>
761            </div>
762        </div>
763    </div>
764
765    <div class="mb-2">
766        <div class="cf-turnstile" data-sitekey="0x4AAAAAAB_PV7341dzACHcl"></div>
767    </div>
768
769    <div>
770        <button type="submit" class="btn-submit">
771                            Invia richiesta
772                    </button>
773    </div>
774</form>
775
776        
777    </div>
778</aside>
779
780
781<footer class="footer-wrap">
782
783            <div id="location_footer_app">
784            <div class="container" v-if="locationList.length > 0">
785                <div class="d-flex align-items-center justify-content-start">
786                    <img src="/images/icon/ondina_blu.svg" width="34" height="15" alt="ondina" loading="lazy">
787                    <h3 class="light ml-2 kerning text-uppercase ">Le nostre sedi</h3>
788                </div>
789                <p style="padding:15px 0">Seleziona una marca o un tipo di servizio e trova la sede desiderata nelle Marche e Abruzzo</p>
790
791                <div class="sedi-section">
792                    <div class="row">
793                        <div class="col-md-3">
794                            <select v-model="filterLocation.type" class="form-control select-white" :class="{'active': filterLocation.type}">
795                                <option value="">Tipologia di servizio</option>
796                                <option :value="item.type" v-for="item in $_items(locationList).unique('type').orderBy('type').data()" v-html="item.type"></option>
797                            </select>
798                        </div>
799                        <div class="col-md-2">
800                            <select v-model="filterLocation.brand" class="form-control text-capitalize select-white" :class="{'active': filterLocation.brand}">
801                                <option value="">Marca</option>
802                                <option :value="item.id" v-for="item in $_items(uniqueBrands).orderBy('name').data()" v-html="item.name"></option>
803                            </select>
804                        </div>
805                    </div>
806                </div>
807
808                <div class="row" v-if="filterLocation.brand || filterLocation.type">
809                    <div class="col-md-3 box-sede" v-for="location in filteredLocation(locationList)">
810                        <div v-if="location.brands">
811                            <img :src="'/images/brand/'+(brand.code).toLowerCase()+'.png'" :alt="brand.name" v-for="brand in location.brands" loading="lazy">
812                        </div>
813                        <div class="light">
814                            <span class="semibold">{{ location.name }}</span><br/>
815                            {{ location.company }}<br/>
816                            {{ location.address }}<br/>
817                            {{ location.city }} ({{ location.province }})<br/>
818                            {{ location.phone }}<br/>
819
820                            <a :href="location.url" class="next m-0">Contatta la sede</a>
821
822                        </div>
823                    </div>
824                </div>
825            </div>
826        </div>
827        
828<script defer data-cookieconsent="ignore">
829    if(document.getElementById('location_footer_app')){
830        const locationFooterApp = new Vue({
831            el: '#location_footer_app',
832            data: {
833                filterLocation: {
834                    type: '',
835                    brand: '',
836                },
837                uniqueBrands: [],
838                locationList: []
839            },
840            methods: {
841                getLocationList: function () {
842                    var self = this;
843                    var _url = "/api/location-list";
844                    axios.get(_url).then(function (response) {
845                        self.locationList = response.data;
846                        self.locationList.forEach(function(location){
847                            location.brands.forEach(function(brand){
848                                let ub = self.uniqueBrands.find(b => b.id === brand.id);
849                                if(!ub){
850                                    self.uniqueBrands.push(brand)
851                                }
852                            })
853                        })
854                    }).catch(function (e) {
855                        console.log('err', e)
856                        Swal.fire("Attenzione", 'Caricamento sedi non riuscito', "warning")
857                    }) 
858                },
859                filteredLocation:function(list){
860                    if (list === undefined) return [];
861                    var filtered = [];
862                    var _filter = this.filterLocation;
863
864                    for (var i = 0; i < list.length; i++) {
865                        var item = list[i];
866
867                        if (
868                            (_filter.type == null || _filter.type == '' || (item.type.toLowerCase() == _filter.type.toLowerCase() || item.secondType.toLowerCase() == _filter.type.toLowerCase()))
869                            && (_filter.brand == null || _filter.brand == '' || item.brands.find(b => b.id === _filter.brand))
870                        ) {
871                            filtered.push(item);
872                        }
873                    }
874
875                    return filtered;
876                },
877                resetFilter: function() {
878                    this.filterLocation = {
879                        type: '',
880                        brand: '',
881                    };
882                },
883            },
884            mounted() {
885                var self = this;
886                self.getLocationList();
887            },
888        });
889    }
890
891
892
893
894
895</script>
895
896    
897    <div class="bg-gradient-blue-2 foot py-4">
898        <div class="container">
899            <div class="topDealerLogos">
900                <a href="https://www.quintegia.it" target="_blank" rel="nofollow">
901                    <img src="/images/logo/topdealernetwork.webp" alt="topdealernetwork" width="80" height="109" class="img-fluid" loading="lazy">
902                </a>
903                <a href="https://www.infomotori.com/concessionari/cascioli-group/cascioli-group-riceve-il-riconoscimento-di-top-dealers-da-infomotori-com_324557/" target="_blank" rel="nofollow">
904                    <img src="/images/logo/topdealers.webp" alt="topdealer" width="75" height="60" class="img-fluid" loading="lazy">
905                </a>
906                                <span class="social">
907                    <a href="https://it.linkedin.com/company/cascioligroup" target="_blank">
908                        <img src="/images/social/linkedin.svg" width="30" height="30" alt="linkedin" loading="lazy">
909                    </a>
910                    <a href="https://www.instagram.com/cascioli.group" target="_blank">
911                        <img src="/images/social/instagram.svg" width="30" height="30" alt="instagram" loading="lazy">
912                    </a>
913                    <a href="https://www.facebook.com/cascioligroup" target="_blank">
914                        <img src="/images/social/facebook.svg" width="30" height="30" alt="facebook" loading="lazy">
915                    </a>
916                    <a href="https://www.youtube.com/channel/UCPWuiiuCYViwiBEc9WddX6Q" target="_blank">
917                        <img src="/images/social/youtube.svg" width="30" height="30" alt="youtube" loading="lazy">
918                    </a>
919                    <a href="https://www.tiktok.com/@cascioligroup" target="_blank">
920                        <img src="/images/social/tiktok.svg" width="30" height="30" alt="tiktok" loading="lazy">
921                    </a>
922                </span>
923            </div>
924            <div>
925                &copy; 2026 Cascioli - All contents copyright 2026 Cascioli spa - Rea TE100609 - capitale sociale 2.000.000,00 - Via Liberazione, 194 San Benedetto del Tronto - P.I. 00855510673
926                <br/>&copy; 2026 Cascioli - All contents copyright 2026 Sirio srl - Rea TE104676 - capitale sociale 2.040.000,00 - Via Italia, c.da Rovano, Mosciano Sant’Angelo - P.I. 00915910673
927            </div>
928            <div>
929                <a href="/pagina/privacy-policy">Privacy policy</a> -
930                <a href="/pagina/cookie-policy">Cookie policy</a> -
931                <a href="/pagina/whistleblowing">Whistleblowing</a>
932            </div>
933        </div>
934    </div>
935    <div class="bg-blue-1 foot ">
936        <div class="container">
937            <a href="https://www.webindustry.it" target="_blank">Made in Web Industry</a>
938        </div>
939    </div>
940</footer>
941
942
943<script data-cookieconsent="ignore">
944    let vue_filters = {
945        methods: {
946            numberFormat: function (num) {
947                return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.");
948            },
949        },
950    }
951</script>
951
952
953<script data-cookieconsent="ignore">
954
955    let rental_vehicle_filter_list = {
956        data: {
957            loaderOn: false,
958            dayPriceFromList: [50,100,150,200,250,300,500,700],
959            dayPriceToList: [100,150,200,250,300,500,700,900],
960            companyRentList: [
961                {code: 'ALD', label: 'Garanzia Ayvens 24 mesi'},
962                {code: 'ARVAL', label: 'Arval'},
963                {code: 'KINTO', label: 'Kinto'},
964                {code: 'UNIPOL', label: 'Unipol rental'},
965                {code: 'ALPHABET', label: 'Alphabet'},
966                {code: 'MB', label: 'Mercedes-Benz Lease'},
967            ],
968            rentalFilter: {
969                rentalType: 'nlt',
970                brand: '',
971                model: '',
972                fuel: '',
973                rateFrom: '',
974                rateTo: '',
975                priceFrom: '',
976                priceTo: '',
977                companyRent: '',
978                orderby: 'PRICE_ASC'
979            },
980            rentalTypesOptions: [
981                {
982                    value: 'privati',
983                    label: 'Privati',
984                },
985                {
986                    value: 'business',
987                    label: 'Aziendali',
988                },
989            ],
990            rentalVehicleList: []
991        },
992        methods: {
993            getRentalVehicleList: function(){
994                var self = this;
995                var _url = "/api/rental-vehicle-list";
996                self.loaderOn = true;
997                axios.get(_url).then(function (response) {
998                    self.rentalVehicleList = response.data;
999                                        if(getParameterByName('brand')){
1000                        self.rentalFilter.brand = getParameterByName('brand');
1001                    }
1002                    if(getParameterByName('model')){
1003                        self.rentalFilter.model = getParameterByName('model');
1004                    }
1005                    if(getParameterByName('fuel')){
1006                        self.rentalFilter.fuel = getParameterByName('fuel');
1007                    }
1008                    if(getParameterByName('rateFrom')){
1009                        self.rentalFilter.rateFrom = getParameterByName('rateFrom');
1010                    }
1011                    if(getParameterByName('rateTo')){
1012                        self.rentalFilter.rateTo = getParameterByName('rateTo');
1013                    }
1014                    if(getParameterByName('priceFrom')){
1015                        self.rentalFilter.priceFrom = getParameterByName('priceFrom');
1016                    }
1017                    if(getParameterByName('priceTo')){
1018                        self.rentalFilter.priceTo = getParameterByName('priceTo');
1019                    }
1020                    if(getParameterByName('companyRent')){
1021                        self.rentalFilter.companyRent = getParameterByName('companyRent');
1022                    }
1023
1024                    self.updateRentalFilters();
1025                    self.loaderOn = false;
1026
1027                }).catch(function (e) {
1028                    self.loaderOn = false;
1029                    console.log('err', e)
1030                })
1031            },
1032            filteredRentalVehicles: function (list) {
1033                if (list === undefined) return [];
1034                var filtered = [];
1035                var _vfilter = this.rentalFilter;
1036
1037                for (var i = 0; i < list.length; i++) {
1038                    var item = list[i];
1039
1040                    if (
1041                        (_vfilter.rentalType == null || _vfilter.rentalType == '' || item.rentalType.toLowerCase() == _vfilter.rentalType.toLowerCase())
1042                        && (_vfilter.brand == null || _vfilter.brand == '' || item.brand.toLowerCase() == _vfilter.brand.toLowerCase())
1043                        && (_vfilter.model == null || _vfilter.model == '' || item.model.toLowerCase() == _vfilter.model.toLowerCase())
1044                        && (_vfilter.fuel == null || _vfilter.fuel == '' || (item.fuel && item.fuel.toLowerCase() == _vfilter.fuel.toLowerCase()))
1045                        && (_vfilter.companyRent == null || _vfilter.companyRent == '' || (item.companyRent && item.companyRent.toLowerCase() == _vfilter.companyRent.toLowerCase()))
1046                        && ((_vfilter.rateFrom == null || _vfilter.rateFrom == '' || item.fee >= _vfilter.rateFrom)
1047                        && (_vfilter.rateTo == null || _vfilter.rateTo == '' || item.fee <= _vfilter.rateTo))
1048                        && ((_vfilter.priceFrom == null || _vfilter.priceFrom == '' || item.priceFrom >= _vfilter.priceFrom)
1049                        && (_vfilter.priceTo == null || _vfilter.priceTo == '' || item.priceFrom <= _vfilter.priceTo))
1050                    ) {
1051                        filtered.push(item);
1052                    }
1053                }
1054
1055                return filtered;
1056            },
1057            resetRentalFilter: function(){
1058                this.rentalFilter.brand = '';
1059                this.rentalFilter.model = '';
1060                this.rentalFilter.fuel = '';
1061                this.rentalFilter.rateFrom = '';
1062                this.rentalFilter.rateTo = '';
1063                this.rentalFilter.priceFrom = '';
1064                this.rentalFilter.priceTo = '';
1065                this.rentalFilter.companyRent = '';
1066            },
1067            submitRentalFilter: function(){
1068                if(this.rentalFilter.rentalType == 'nlt'){
1069                    var _url = "/noleggio/noleggio-lungo-termine";
1070                }else{
1071                    var _url = "/noleggio/noleggio-breve-termine";
1072                }
1073                var _f = this.rentalFilter;
1074                var _filters = "?s=1";
1075
1076                if (_f.brand) _filters += "&brand=" + _f.brand;
1077                if (_f.model) _filters += "&model=" + _f.model;
1078                if (_f.fuel) _filters += "&fuel=" + _f.fuel;
1079                if (_f.rateFrom) _filters += "&rateFrom=" + _f.rateFrom;
1080                if (_f.rateTo) _filters += "&rateTo=" + _f.rateTo;
1081                if (_f.priceFrom) _filters += "&priceFrom=" + _f.priceFrom;
1082                if (_f.priceTo) _filters += "&priceTo=" + _f.priceTo;
1083                if (_f.companyRent) _filters += "&companyRent=" + _f.companyRent;
1084
1085                /*var _serializeValues = {
1086                    'brand': _f.brand,
1087                    'model': _f.model,
1088                    'fuel': _f.fuel,
1089                    'rateFrom': _f.rateFrom ? _f.rateFrom : null,
1090                    'rateTo': _f.rateTo ? _f.rateTo : null,
1091                    'priceFrom': _f.priceFrom ? _f.priceFrom : null,
1092                    'priceTo': _f.priceTo ? _f.priceTo : null,
1093                }
1094
1095                document.cookie = 'cookie_filtro_noleggio=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
1096                var _day = new Date();
1097                _day.setTime(_day.getTime() + (1 * 24 * 60 * 60 * 1000));
1098                var expires = "expires=" + _day.toUTCString();
1099                document.cookie = "cookie_filtro_noleggio=" + JSON.stringify(_serializeValues) + ";path=/;" + expires;*/
1100
1101                var _red = _url + _filters;
1102                location.href = _red;
1103            }
1104        },
1105        mounted() {
1106            var self = this;
1107                        self.getRentalVehicleList();
1108        },
1109    }
1110
1111
1112    let filtro_ricerca_noleggi = {
1113        data: {
1114            rentalOfficialBrandSelect: [],
1115            rentalUnofficialBrandSelect: [],
1116            rentalModelSelect: [],
1117            rentalFuelSelect: [],
1118        },
1119        methods: {
1120            changeRentalFilter: function(type){
1121                if(type == 'rentalType'){
1122                    this.rentalFilter.brand = '';
1123                    this.rentalFilter.model = '';
1124                    this.rentalFilter.fuel = '';
1125                    this.rentalFilter.rateFrom = '';
1126                    this.rentalFilter.rateTo = '';
1127                }
1128                this.updateRentalFilters();
1129            },
1130            updateRentalFilters: function(){
1131                var self = this;
1132                var rentalOfficialBrandSelect = [];
1133                var rentalUnofficialBrandSelect = [];
1134                var rentalModelSelect = [];
1135                var rentalFuelSelect = [];
1136
1137                self.rentalOfficialBrandSelect = [];
1138                self.rentalUnofficialBrandSelect = [];
1139                self.rentalModelSelect = [];
1140                self.rentalFuelSelect = [];
1141
1142                self.rentalVehicleList.forEach(function(item){
1143                    if(self.isActiveRentalBrand(item, self.rentalFilter)){
1144                        if(self.isRentalOfficialBrand(item.brand)){
1145                            rentalOfficialBrandSelect.push(item.brand);
1146                        }else{
1147                            rentalUnofficialBrandSelect.push(item.brand);
1148                        }
1149                    }
1150                    if(self.isActiveRentalModel(item, self.rentalFilter)){
1151                        rentalModelSelect.push(item.model);
1152                    }
1153                    if(self.isActiveRentalFuel(item, self.rentalFilter) && item.fuel){
1154                        rentalFuelSelect.push(item.fuel.toLowerCase());
1155                    }
1156                })
1157
1158                self.rentalOfficialBrandSelect = self.rentalRemoveDuplicates(rentalOfficialBrandSelect);
1159                self.rentalUnofficialBrandSelect = self.rentalRemoveDuplicates(rentalUnofficialBrandSelect);
1160                self.rentalModelSelect = self.rentalRemoveDuplicates(rentalModelSelect);
1161                self.rentalFuelSelect = self.rentalRemoveDuplicates(rentalFuelSelect);
1162            },
1163            isActiveRentalBrand: function(rentalVehicle, filters){
1164                var brand = rentalVehicle.brand;
1165                if(brand == filters.brand){
1166                    return true;
1167                }
1168                var filterNames = ['model', 'fuel', 'rentalType'];
1169                if(!this.filterMatchByArray(filterNames, filters, rentalVehicle)){
1170                    return false;
1171                }
1172                return true;
1173            },
1174            isActiveRentalModel: function(rentalVehicle, filters){
1175                var model = rentalVehicle.model;
1176                if(model == filters.model){
1177                    return true;
1178                }
1179                var filterNames = ['brand', 'fuel', 'rentalType'];
1180                if(!this.filterMatchByArray(filterNames, filters, rentalVehicle)){
1181                    return false;
1182                }
1183                return true;
1184            },
1185            isActiveRentalFuel: function(rentalVehicle, filters){
1186                var fuel = rentalVehicle.fuel;
1187                if(fuel == filters.fuel){
1188                    return true;
1189                }
1190                var filterNames = ['brand', 'model', 'rentalType'];
1191                if(!this.filterMatchByArray(filterNames, filters, rentalVehicle)){
1192                    return false;
1193                }
1194                return true;
1195            },
1196            filterMatchByArray: function(filterNames, filters, rentalVehicle){
1197                var self = this;
1198                var hasMatch = true;
1199                filterNames.forEach(function(filterName){
1200                    if(!self.filterMatch(filterName, filters, rentalVehicle)){
1201                        hasMatch = false;
1202                    }
1203                })
1204                return hasMatch;
1205            },
1206            filterMatch: function(filterName, filters, rentalVehicle){
1207                if(filters[filterName] && rentalVehicle[filterName]){
1208                    if(typeof rentalVehicle[filterName] == 'number'){
1209                        rentalVehicle[filterName] != filters[filterName];
1210                    }
1211                    else if(rentalVehicle[filterName].toLowerCase() != filters[filterName].toLowerCase()){
1212                        return false;
1213                    }
1214                }
1215                return true;
1216            },
1217            isRentalOfficialBrand: function(brand){
1218                var officialBrand = ['mercedes-benz', 'mercedes amg', 'bmw', 'bmw m', 'smart', 'mercedes van', 'mini', 'bmw motorrad', 'toyota', 'toyota professional', 'toyota gr', 'maserati'];
1219                return officialBrand.indexOf(brand.toLowerCase()) >= 0;
1220            },
1221            rentalRemoveDuplicates: function(itemsArray){
1222                var result = [];
1223                itemsArray.forEach(function(e){
1224                    if(result.indexOf(e) < 0){
1225                        result.push(e)
1226                    }
1227                })
1228                result.sort();
1229                return result;
1230            },
1231        }
1232    }
1233
1234
1235
1236    let filtro_ricerca_veicoli = {
1237        data: {
1238            groupTypeSelect: [],
1239            archivesSelect: [],
1240            warrantiesSelect: [],
1241            officialBrandSelect: [],
1242            unofficialBrandSelect: [],
1243            modelSelect: [],
1244            fuelSelect: [],
1245            gearTypeSelect: [],
1246            registrationYearSelect: [],
1247            frameTypeSelect: [],
1248            uniqueWarrantyList: [],
1249        },
1250        methods: {
1251            updateFilters: function(){
1252                var self = this;
1253                var warrantyList = [];
1254
1255                var groupTypeSelect = [];
1256                var archivesSelect = [];
1257                var officialBrandSelect = [];
1258                var unofficialBrandSelect = [];
1259                var modelSelect = [];
1260                var registrationYearSelect = [];
1261                var gearTypeSelect = [];
1262                var fuelSelect = [];
1263                var warrantiesSelect = [];
1264                var frameTypeSelect = [];
1265
1266                self.groupTypeSelect = [];
1267                self.archivesSelect = [];
1268                self.officialBrandSelect = [];
1269                self.unofficialBrandSelect = [];
1270                self.modelSelect = [];
1271                self.registrationYearSelect = [];
1272                self.gearTypeSelect = [];
1273                self.fuelSelect = [];
1274                self.warrantiesSelect = [];
1275                self.frameTypeSelect = [];
1276
1277                self.vehicleList.forEach(function(item){
1278                    if(item.warrantyType) warrantyList.push(item.warrantyType);
1279                    if(warrantyList.length){
1280                        self.uniqueWarrantyList = warrantyList.filter((v, i, a) => a.indexOf(v) === i);
1281                    }
1282
1283                    if(self.isActiveGroupType(item, self.vfilter)){
1284                        groupTypeSelect.push(item.groupType.toLowerCase());
1285                    }
1286                    if(self.isActiveArchive(item, self.vfilter)){
1287                        archivesSelect.push(item.archive.toLowerCase());
1288                    }
1289                    if(self.isActiveBrand(item, self.vfilter)){
1290                        if(self.isOfficialBrand(item.brand)){
1291                            officialBrandSelect.push(item.brand);
1292                        }else{
1293                            unofficialBrandSelect.push(item.brand);
1294                        }
1295                    }
1296                    if(self.isActiveModel(item, self.vfilter)){
1297                        modelSelect.push(item.model);
1298                    }
1299                    if(self.isActiveRegistrationYear(item, self.vfilter) && item.registrationYear){
1300                        registrationYearSelect.push(item.registrationYear);
1301                    }
1302                    if(self.isActiveGearType(item, self.vfilter) && item.gearType){
1303                        gearTypeSelect.push(item.gearType.toLowerCase());
1304                    }
1305                    if(self.isActiveFuel(item, self.vfilter) && item.fuel){
1306                        fuelSelect.push(item.fuel.toLowerCase());
1307                    }
1308                    if(self.isActiveFrameType(item, self.vfilter) && item.frameType){
1309                        frameTypeSelect.push(item.frameType.toLowerCase());
1310                    }
1311                    if(self.isActiveWarranty(item, self.vfilter) && item.warrantyType){
1312                        warrantiesSelect.push(item.warrantyType.toLowerCase());
1313                    }
1314                })
1315
1316                archivesSelect = self.removeDuplicates(archivesSelect);
1317                self.archiveOptions.forEach(function(archive, index){
1318                    if(archivesSelect.indexOf(archive.value) >= 0){
1319                        self.archiveOptions[index].disabled = false;
1320                    }else{
1321                        self.archiveOptions[index].disabled = true;
1322                    }
1323                })
1324                self.groupTypeSelect = self.removeDuplicates(groupTypeSelect);
1325                self.officialBrandSelect = self.removeDuplicates(officialBrandSelect);
1326                self.unofficialBrandSelect = self.removeDuplicates(unofficialBrandSelect);
1327                self.modelSelect = self.removeDuplicates(modelSelect);
1328                self.registrationYearSelect = self.removeDuplicates(registrationYearSelect);
1329                self.gearTypeSelect = self.removeDuplicates(gearTypeSelect);
1330                self.fuelSelect = self.removeDuplicates(fuelSelect);
1331                self.frameTypeSelect = self.removeDuplicates(frameTypeSelect);
1332                warrantiesSelect = self.removeDuplicates(warrantiesSelect);
1333                if(self.warrantyOptions){
1334                    self.warrantyOptions.forEach(function(warranty, index){
1335                        if(warrantiesSelect.indexOf(warranty.value) >= 0){
1336                            self.warrantyOptions[index].disabled = false;
1337                        }else{
1338                            self.warrantyOptions[index].disabled = true;
1339                        }
1340                    })
1341                }
1342
1343            },
1344            isActiveGroupType: function(vehicle, filters){
1345                var groupType = vehicle.groupType;
1346                if(groupType == filters.groupType){
1347                    return true;
1348                }
1349                if(!this.archiveMatch(vehicle, filters.archives)){
1350                    return false;
1351                }
1352                if(!this.registrationYearMatch(vehicle, filters.registrationYear)){
1353                    return false;
1354                }
1355                var filterNames = ['groupType', 'model', 'gearType', 'fuel', 'frameType'];
1356                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1357                    return false;
1358                }
1359                return true;
1360            },
1361            isActiveBrand: function(vehicle, filters){
1362                var brand = vehicle.brand;
1363                if(brand == filters.brand){
1364                    return true;
1365                }
1366                if(!this.archiveMatch(vehicle, filters.archives)){
1367                    return false;
1368                }
1369                if(!this.registrationYearMatch(vehicle, filters.registrationYear)){
1370                    return false;
1371                }
1372                var filterNames = ['groupType', 'model', 'gearType', 'fuel', 'frameType'];
1373                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1374                    return false;
1375                }
1376                return true;
1377            },
1378            isActiveModel: function(vehicle, filters){
1379                var model = vehicle.model;
1380                if(model == filters.model){
1381                    return true;
1382                }
1383                if(!this.archiveMatch(vehicle, filters.archives)){
1384                    return false;
1385                }
1386                if(!this.registrationYearMatch(vehicle, filters.registrationYear)){
1387                    return false;
1388                }
1389                var filterNames = ['groupType', 'brand', 'fuel', 'gearType', 'frameType'];
1390                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1391                    return false;
1392                }
1393                return true;
1394            },
1395            isActiveRegistrationYear: function(vehicle, filters){
1396                var registrationYear = vehicle.registrationYear;
1397                if(registrationYear == filters.registrationYear){
1398                    return true;
1399                }
1400                if(!this.archiveMatch(vehicle, filters.archives)){
1401                    return false;
1402                }
1403                var filterNames = ['groupType', 'brand', 'fuel', 'gearType', 'model', 'frameType'];
1404                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1405                    return false;
1406                }
1407                return true;
1408            },
1409            isActiveGearType: function(vehicle, filters){
1410                var gearType = vehicle.gearType;
1411                if(gearType == filters.gearType){
1412                    return true;
1413                }
1414                if(!this.archiveMatch(vehicle, filters.archives)){
1415                    return false;
1416                }
1417                if(!this.registrationYearMatch(vehicle, filters.registrationYear)){
1418                    return false;
1419                }
1420                var filterNames = ['groupType', 'model', 'brand', 'fuel', 'frameType'];
1421                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1422                    return false;
1423                }
1424                return true;
1425            },
1426            isActiveFuel: function(vehicle, filters){
1427                var fuel = vehicle.fuel;
1428                if(fuel == filters.fuel){
1429                    return true;
1430                }
1431                if(!this.archiveMatch(vehicle, filters.archives)){
1432                    return false;
1433                }
1434                if(!this.registrationYearMatch(vehicle, filters.registrationYear)){
1435                    return false;
1436                }
1437                var filterNames = ['groupType', 'brand', 'gearType', 'model', 'frameType'];
1438                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1439                    return false;
1440                }
1441                return true;
1442            },
1443            isActiveFrameType: function(vehicle, filters){
1444                var frameType = vehicle.frameType;
1445                if(frameType == filters.frameType){
1446                    return true;
1447                }
1448                if(!this.archiveMatch(vehicle, filters.archives)){
1449                    return false;
1450                }
1451                if(!this.registrationYearMatch(vehicle, filters.registrationYear)){
1452                    return false;
1453                }
1454                var filterNames = ['groupType', 'brand', 'gearType', 'model', 'fuel'];
1455                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1456                    return false;
1457                }
1458                return true;
1459            },
1460            isActiveArchive: function(vehicle, filters){
1461                var archive = vehicle.archive;
1462                if(filters.archives.indexOf(archive) >= 0){
1463                    return true;
1464                }
1465                if(!this.registrationYearMatch(vehicle, filters.registrationYear)){
1466                    return false;
1467                }
1468                var filterNames = ['groupType', 'model', 'brand', 'fuel', 'gearType', 'frameType'];
1469                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1470                    return false;
1471                }
1472                return true;
1473            },
1474            isActiveWarranty: function(vehicle, filters){
1475                var warranty = vehicle.warrantyType;
1476                if(filters.warranties.indexOf(warranty) >= 0){
1477                    return true;
1478                }
1479                if(!this.registrationYearMatch(vehicle, filters.registrationYear)){
1480                    return false;
1481                }
1482                var filterNames = ['groupType', 'model', 'brand', 'fuel', 'gearType', 'frameType'];
1483                if(!this.filterMatchByArray(filterNames, filters, vehicle)){
1484                    return false;
1485                }
1486                return true;
1487            },
1488            registrationYearMatch: function(vehicle, registrationYear){
1489                if(registrationYear){
1490                    if(vehicle.registrationYear < registrationYear){
1491                        return false;
1492                    }
1493                }
1494                return true;
1495            },
1496            archiveMatch: function(vehicle, archives){
1497                if(archives.length){
1498                    if(archives.indexOf(vehicle.archive) < 0){
1499                        return false;
1500                    }
1501                }
1502                return true;
1503            },
1504            filterMatchByArray: function(filterNames, filters, vehicle){
1505                var self = this;
1506                var hasMatch = true;
1507                filterNames.forEach(function(filterName){
1508                    if(!self.filterMatch(filterName, filters, vehicle)){
1509                        hasMatch = false;
1510                    }
1511                })
1512                return hasMatch;
1513            },
1514            filterMatch: function(filterName, filters, vehicle){
1515                if(filters[filterName] && vehicle[filterName]){
1516                    if(typeof vehicle[filterName] == 'number'){
1517                        vehicle[filterName] != filters[filterName];
1518                    }
1519                    else if(vehicle[filterName].toLowerCase() != filters[filterName].toLowerCase()){
1520                        return false;
1521                    }
1522                }
1523                return true;
1524            },
1525            isOfficialBrand: function(brand){
1526                var officialBrand = ['mercedes-benz', 'mercedes amg', 'bmw', 'bmw m', 'smart', 'mercedes vans', 'mini', 'bmw motorrad', 'toyota', 'toyota professional', 'toyota gr', 'maserati'];
1527                return officialBrand.indexOf(brand.toLowerCase()) >= 0;
1528            },
1529            removeDuplicates: function(itemsArray){
1530                let uniqueValues = [];
1531                let seen = new Set();
1532                itemsArray.forEach(function(e){
1533                    let lowerCaseItem = String(e).toLowerCase();
1534                    if (!seen.has(lowerCaseItem)) {
1535                        seen.add(lowerCaseItem);
1536                        uniqueValues.push(String(e));
1537                    }
1538                })
1539                uniqueValues.sort();
1540                return uniqueValues;
1541            },
1542        }
1543    }
1544
1545
1546</script>
1546
1547
1548<script defer data-cookieconsent="ignore">
1549    if(document.getElementById('search-app')){
1550        const searchApp = new Vue({
1551            el: '#search-app',
1552            mixins: [filtro_ricerca_veicoli, vue_filters, rental_vehicle_filter_list, filtro_ricerca_noleggi],
1553            data: {
1554                filterBox: 'auto',
1555                rentalType: null,
1556                isOneBrand: false,
1557                warrantyOptions:[
1558                    {value: 'ayvens', label: 'Garanzia Ayvens 24 mesi', sortIndex: 10},
1559                    {value: 'maserati_approved', label: 'Maserati Approved', sortIndex: 15},
1560                    {value: 'bmw_premium', label: 'BMW Premium Selection', sortIndex: 20},
1561                    {value: 'mercedes_certified', label: 'Mercedes-Benz Certified', sortIndex: 30},
1562                    {value: 'toyota_plus', label: 'Toyota Approved', sortIndex: 50},
1563                    {value: 'mini_next', label: 'MINI Next', sortIndex: 60}
1564                ],
1565                archiveOptions: [
1566                    {
1567                        value: 'nuovo',
1568                        label: 'NUOVO',
1569                    },
1570                    {
1571                        value: 'km0',
1572                        label: 'KM ZERO',
1573                    },
1574                    {
1575                        value: 'usato',
1576                        label: 'USATO',
1577                    },
1578                ],
1579                priceFromList: [1000, 5000, 10000, 15000, 20000, 30000, 40000, 50000, 70000],
1580                priceToList: [5000, 10000, 15000, 20000, 30000, 40000, 50000, 70000, 100000],
1581                rateFromList: [100, 200, 300, 400, 500, 700, 900, 1200],
1582                rateToList: [200, 300, 400, 500, 700, 900, 1200, 1500],
1583                kmList: [10000, 20000, 30000, 50000, 70000, 100000, 120000, 150000],
1584                vehicleList: [],
1585                filteredVehiclesList: [],
1586                vfilter: {
1587                    archives: [],
1588                    warranties: [],
1589                    brand: '',
1590                    model: '',
1591                    fuel: '',
1592                    gearType: '',
1593                    groupType: 'auto',
1594                    typePrice: 'price',
1595                    priceFrom: '',
1596                    priceTo: '',
1597                    rateFrom: '',
1598                    rateTo: '',
1599                    frameType: '',
1600                    registrationYearFrom: '',
1601                    registrationYearTo: '',
1602                    kmFrom: '',
1603                    kmTo: '',
1604                    youngDriver: '',
1605                },
1606                loaderOn: false
1607            },
1608            methods: {
1609                toggleRangeType: function () {
1610                    this.vfilter.typePrice = this.vfilter.typePrice === 'price' ? 'rate' : 'price';
1611                },
1612                numberFormat: function (num) {
1613                    return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.");
1614                },
1615                getVehicleList: function () {
1616                    var self = this;
1617                    var _url = "/api/vehicle-list";
1618                                        
1619                    self.loaderOn = true;
1620                    axios.get(_url).then(function (response) {
1621                        self.vehicleList = response.data;
1622                        if(!self.vehicleList.length){
1623                            $('#search-app').hide();
1624                        }
1625
1626                        
1627                        self.updateFilters();
1628                        self.loaderOn = false;
1629
1630                    }).catch(function (e) {
1631                        console.log('err', e)
1632                        self.loaderOn = false;
1633                        Swal.fire("Attenzione", 'Caricamento veicoli non riuscito', "warning")
1634                    }) 
1635                },
1636                getFilteredModel: function (list) {
1637                    var self = this;
1638                    var _newlist = [];
1639
1640                    var obj = null;
1641                    list.forEach(function (item) {
1642                        if (self.vfilter.brand == item.brand && (self.vfilter.archives.length == 0 || self.vfilter.archives.indexOf(item.archive) > -1)) {
1643                            obj = {model: item.model}
1644                            _newlist.push(obj)
1645                        }
1646                    })
1647                    return _newlist;
1648                },
1649                filteredVehicles: function (list) {
1650                    if (list === undefined) return [];
1651                    var filtered = [];
1652                    var _vfilter = this.vfilter;
1653                    var _kmTo = (_vfilter.kmTo == undefined || _vfilter.kmTo == '') ? 1000000 : parseInt(_vfilter.kmTo);
1654                    var _kmFrom = (_vfilter.kmFrom == undefined || _vfilter.kmFrom == '') ? 1000000 : parseInt(_vfilter.kmFrom);
1655
1656                    for (var i = 0; i < list.length; i++) {
1657                        var item = list[i];
1658
1659                        if (
1660                            (_vfilter.groupType == null || _vfilter.groupType == '' || item.groupType.toLowerCase() == _vfilter.groupType.toLowerCase())
1661                            && (_vfilter.brand == null || _vfilter.brand == '' || item.brand.toLowerCase() == _vfilter.brand.toLowerCase())
1662                            && (_vfilter.model == null || _vfilter.model == '' || item.model.toLowerCase() == _vfilter.model.toLowerCase())
1663                            && (_vfilter.fuel == null || _vfilter.fuel == '' || (item.fuel && item.fuel.toLowerCase() == _vfilter.fuel.toLowerCase()))
1664                            && (_vfilter.warranties.length == 0 || _vfilter.warranties.indexOf(item.warrantyType) > -1)
1665                            && (_vfilter.archives.length == 0 || _vfilter.archives.indexOf(item.archive) > -1)
1666                            && (_vfilter.kmFrom == null || _vfilter.kmFrom == '' || parseInt(item.km) >= _kmFrom)
1667                            && (_vfilter.kmTo == null || _vfilter.kmTo == '' || parseInt(item.km) <= _kmTo)
1668                            && (_vfilter.gearType == null || _vfilter.gearType == '' || item.gearType.toLowerCase() == _vfilter.gearType.toLowerCase())
1669                            && (_vfilter.frameType == null || _vfilter.frameType == '' || (item.frameType && item.frameType.toLowerCase() == _vfilter.frameType.toLowerCase()))
1670                            && (_vfilter.youngDriver == null || _vfilter.youngDriver == '' || (item.youngDriver && _vfilter.youngDriver))
1671                            && (_vfilter.registrationYearFrom == null || _vfilter.registrationYearFrom == '' || (item.registrationYear >= _vfilter.registrationYearFrom))
1672                            && (_vfilter.registrationYearTo == null || _vfilter.registrationYearTo == '' || (item.registrationYear <= _vfilter.registrationYearTo))
1673                            && (
1674                                (_vfilter.typePrice == 'price'
1675                                    && (_vfilter.priceFrom == null || _vfilter.priceFrom == '' || item.finalPrice >= _vfilter.priceFrom)
1676                                    && (_vfilter.priceTo == null || _vfilter.priceTo == '' || item.finalPrice <= _vfilter.priceTo))
1677                                ||
1678                                (_vfilter.typePrice == 'rate' && item.monthlyFee
1679                                    && (_vfilter.rateFrom == null || _vfilter.rateFrom == '' || item.monthlyFee >= _vfilter.rateFrom)
1680                                    && (_vfilter.rateTo == null || _vfilter.rateTo == '' || item.monthlyFee <= _vfilter.rateTo))
1681                            )
1682
1683                        ) {
1684                            filtered.push(item);
1685                        }
1686                    }
1687
1688                    return filtered;
1689                },
1690                resetFilter: function() {
1691                    this.vfilter = {
1692                        archives: [],
1693                        brand: '',
1694                        frameType: '',
1695                        fuel: '',
1696                        gearType: '',
1697                        groupType: this.vfilter.groupType,
1698                        model: '',
1699                        priceFrom: '',
1700                        priceTo: '',
1701                        rateFrom: '',
1702                        rateTo: '',
1703                        registrationYearFrom: '',
1704                        registrationYearTo: '',
1705                        kmFrom: '',
1706                        kmTo: '',
1707                        typePrice: 'price',
1708                        warranties: [],
1709                        youngDriver: false,
1710                    };
1711                    this.updateFilters()
1712                },
1713                changeFilter: function (field) {
1714
1715                    if (field == 'brand') {
1716                        this.vfilter.model = '';
1717                    }
1718                    if (field == 'groupType') {
1719                        this.vfilter.brand = '';
1720                        this.vfilter.model = '';
1721                    }
1722                    if (field == 'archives' && this.vfilter.archives.indexOf('usato') < 0) {
1723                        this.vfilter.warranties = [];
1724                    }
1725                    this.updateFilters();
1726                },
1727                changeRentalType: function(rentalType){
1728                    this.rentalType = rentalType;
1729                },
1730                submitFilter: function () {
1731                    var _url = "/ricerca-veicoli";
1732                    var _filters = "";
1733                    var _f = this.vfilter;
1734                    if (_f.archives && _f.archives.length) _filters += "?archives=" + _f.archives;
1735                    else _filters += "?archives=nuovo,km0,usato";
1736
1737                    if (_f.groupType) _filters += "&groupType=" + _f.groupType;
1738                    if (_f.brand) _filters += "&brand=" + _f.brand;
1739                    if (_f.model) _filters += "&model=" + encodeURIComponent(_f.model);
1740                    if (_f.fuel) _filters += "&fuel=" + _f.fuel;
1741                    if (_f.gearType) _filters += "&gearType=" + _f.gearType;
1742                    if (_f.frameType) _filters += "&frameType=" + _f.frameType;
1743                    if (_f.registrationYearFrom) _filters += "&registrationYearFrom=" + _f.registrationYearFrom;
1744                    if (_f.registrationYearTo) _filters += "&registrationYearTo=" + _f.registrationYearTo;
1745                    if (_f.kmFrom) _filters += "&kmFrom=" + _f.kmFrom;
1746                    if (_f.kmTo) _filters += "&kmTo=" + _f.kmTo;
1747                    if (_f.priceFrom && _f.typePrice == 'price') _filters += "&priceFrom=" + _f.priceFrom;
1748                    if (_f.priceTo && _f.typePrice == 'price') _filters += "&priceTo=" + _f.priceTo;
1749                    if (_f.rateFrom && _f.typePrice == 'rate') _filters += "&rateFrom=" + _f.rateFrom;
1750                    if (_f.rateTo && _f.typePrice == 'rate') _filters += "&rateTo=" + _f.rateTo;
1751                    if (_f.typePrice) _filters += "&typePrice=" + _f.typePrice;
1752                    if (_f.warranties && _f.warranties.length) _filters += "&warranties=" + _f.warranties;
1753                    if (_f.youngDriver) _filters += "&youngDriver=" + _f.youngDriver;
1754
1755                    /*var _serializeValues = {
1756                        'groupType': _f.groupType,
1757                        'archives': _f.archives,
1758                        'brand': _f.brand,
1759                        'model': _f.model,
1760                        'fuel': _f.fuel,
1761                        'gearType': _f.gearType,
1762                        'frameType': _f.frameType,
1763                        'registrationYearFrom': _f.registrationYearFrom,
1764                        'registrationYearTo': _f.registrationYearTo,
1765                        'kmFrom': _f.kmFrom,
1766                        'kmTo': _f.kmTo,
1767                        'warranties': _f.warranties,
1768                        'km': _f.km && _f.archives.indexOf('usato') >= 0 ? _f.km : null,
1769                        'typePrice': _f.typePrice,
1770                        'youngDriver': _f.youngDriver,
1771                        'priceFrom': _f.priceFrom && _f.typePrice == 'price' ? _f.priceFrom : null,
1772                        'priceTo': _f.priceTo && _f.typePrice == 'price' ? _f.priceTo : null,
1773                        'rateFrom': _f.rateFrom && _f.typePrice == 'rate' ? _f.rateFrom : null,
1774                        'rateTo': _f.rateTo && _f.typePrice == 'rate' ? _f.rateTo : null,
1775                    }
1776
1777                    document.cookie = 'cookie_filtro=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
1778                    var _day = new Date();
1779                    _day.setTime(_day.getTime() + (1 * 24 * 60 * 60 * 1000));
1780                    var expires = "expires=" + _day.toUTCString();
1781                    document.cookie = "cookie_filtro=" + JSON.stringify(_serializeValues) + ";path=/;" + expires;*/
1782
1783                    var _red = _url + _filters;
1784                    location.href = _red;
1785                },
1786            },
1787            mounted() {
1788                var self = this;
1789                self.getVehicleList();
1790            },
1791        });
1792    }
1793
1794
1795
1796
1797
1798</script>
1798
1799
1800    
1800<script data-cookieconsent="ignore" defer>
1801
1802    const favoritesApp = new Vue({
1803        el: '#favorites-app',
1804        data: {
1805            wishlist: [],
1806            vehicleListNum: 0,
1807            loading: true,
1808            vehicleList: [],
1809        },
1810        methods: {
1811            initList: function () {
1812                const t = this;
1813
1814                t.wishlist = getCookie('cookie_wishlist') ? JSON.parse(getCookie('cookie_wishlist')) : [];
1815                if (t.wishlist.length > 0) {
1816                    t.getWishlistVehicles();
1817                }else{
1818                    t.loading = false;
1819                }
1820            },
1821            getWishlistVehicles() {
1822                const t = this;
1823
1824                axios.post("/api/wishlist", t.wishlist)
1825                    .then(function (response) {
1826                        t.vehicleList = response.data.vehicleList;
1827                        t.vehicleListNum = response.data.totalItems;
1828
1829                        //aggiunge flag per mostrare più optionals e selezione
1830                        t.vehicleList.forEach(function (vehicle) {
1831                            t.$set(vehicle, 'moreOptionals', false);
1832                            t.$set(vehicle, 'selected', false);
1833                        });
1834
1835                        t.loading = false;
1836                    })
1837                    .catch(function (e) {
1838                        console.log(e);
1839                        t.loading = false;
1840                    });
1841
1842            },
1843            toggleMoreOptionals(vehicle) {
1844                vehicle.moreOptionals = !vehicle.moreOptionals;
1845            },
1846            numberFormat: function (num) {
1847                return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.");
1848            },
1849            removeFavoritedVehicle(vehicle) {
1850                const t = this;
1851
1852                Swal.fire({
1853                    title: 'Conferma eliminazione',
1854                    text: 'Stai per eliminare il veicolo dalla lista dei preferiti, continuare?',
1855                    type: 'warning',
1856                    showCancelButton: true,
1857                    reverseButtons: true,
1858                    confirmButtonText: 'Elimina',
1859                    cancelButtonText: 'Annulla',
1860                }).then(function (result) {
1861                    if (result.value) {
1862
1863                        //elimina da lista
1864                        let idx = t.vehicleList.findIndex(function (item) {
1865                            return item.id == vehicle.id;
1866                        })
1867                        t.vehicleList.splice(idx, 1);
1868
1869                        //aggiorna cookie preferiti
1870                        idx = t.wishlist.indexOf(vehicle.id);
1871                        if (idx >= 0) {
1872                            t.wishlist.splice(idx, 1);
1873                            setCookie('cookie_wishlist', JSON.stringify(t.wishlist), 30);
1874                        }
1875
1876                        //aggiorna contatore header
1877                        t.updateFavouriteCounter();
1878                    }
1879                });
1880            },
1881            updateFavouriteCounter() {
1882                if (this.wishlist.length > 0) {
1883                    $('.btn-header-favorites .ico-heart-empty').hide();
1884                    $('.btn-header-favorites .ico-heart-full').show();
1885                    $('.btn-header-favorites .favorites-count').html(this.wishlist.length).show();
1886                } else {
1887                    $('.btn-header-favorites .ico-heart-empty').show();
1888                    $('.btn-header-favorites .ico-heart-full').hide();
1889                    $('.btn-header-favorites .favorites-count').hide();
1890                }
1891            },
1892        },
1893        computed: {
1894            selectedVehicles() {
1895                return this.vehicleList.filter(function (item) {
1896                    return item.selected == true;
1897                })
1898            },
1899            selectedVehiclesIds() {
1900                let s = this.vehicleList.filter(function (item) {
1901                    return item.selected == true;
1902                })
1903                return s.map(item => item.id);
1904            },
1905        },
1906        mounted() {
1907            this.initList();
1908        },
1909    });
1910</script>
1910
1911
1912
1913
1914<script data-cookieconsent="ignore">
1915
1916    function submitInfoForm($frm){
1917        let _form = $frm.closest('form');
1918        if (_form.smkValidate()) {
1919            $frm.prop('disabled', true)
1920            let _data = new FormData(_form[0]);
1921            axios.post("/api/send-request-info", _data)
1922                .then(function (response) {
1923                    if (typeof dataLayer !== 'undefined') {
1924                        let _nomeClasse = _form.find('input[name="formType"]').val();
1925                                                let _obj = {
1926                            nomeClasse: _nomeClasse,
1927                            pagePath: 'https://www.cascioligroup.it/preferiti',
1928                            event: 'invioForm',
1929                        }
1930                        
1931                        if (response.data.formId) {
1932                            _obj.eventID = 'conversion.' + response.data.formId;
1933                        }
1934
1935                        dataLayer.push(_obj);
1936                    }
1937
1938                    Swal.fire({
1939                        title: "Richiesta inviata",
1940                        text: "La tua richiesta è stata spedita correttamente",
1941                        type: "success",
1942                        showCancelButton: false,
1943                    }).then(function (result) {
1944                        if (result.value) {
1945                            location.reload()
1946                        }
1947                    });
1948                })
1949                .catch(function (e) {
1950                    $frm.prop('disabled', false)
1951                    Swal.fire("Errore", "Invio richiesta non riuscito", "error")
1952                })
1953        }
1954    }
1955
1956    $(document).ready(function(){
1957        initImageCarousels();
1958
1959        if ($(window).width() < 992) {
1960            $(window).scroll(function (event) {
1961                if (event.currentTarget.pageYOffset) {
1962                    $('.header-logo').css({
1963                        'width': event.currentTarget.pageYOffset <= 40 ? 110 - event.currentTarget.pageYOffset / 2 : 90,
1964                    });
1965                }
1966            })
1967        }
1968
1969        if ($('#header-nav-wrap')) {
1970            $('.subtitle').click(function (e) {
1971                $(this).toggleClass('open').next('.submenu').toggle(100);
1972            });
1973        }
1974
1975        $('.info-request-form button[type="submit"]').on('click', function (e) {
1976            e.preventDefault();
1977            submitInfoForm($(this));
1978        })
1979
1980    })
1981
1982    var carouselCounter = function (e) {
1983        if (!e.namespace) {
1984            return;
1985        }
1986        var slides = e.relatedTarget;
1987        var current = slides.relative(slides.current()) + 1;
1988        var total = slides.items().length;
1989
1990        $('#owl-numbers-' + e.target.id + ' .slider-current').text(current);
1991        $('#owl-numbers-' + e.target.id + ' .slider-total').text(total);
1992    }
1993
1994    var initImageCarousels = function () {
1995        var cardImagesCarousel = $('.card-images-carousel');
1996        if (cardImagesCarousel.length > 0) {
1997            cardImagesCarousel.owlCarousel({
1998                center: true,
1999                items: 1,
2000                nav: true,
2001                dots: false,
2002                lazyLoad: true,
2003                navText: ['<img src="/images/icon/freccia_sx.png" width="24" height="24">', '<img src="/images/icon/freccia_dx.png" width="24" height="24">'],
2004                onInitialized: carouselCounter,
2005                onChanged: carouselCounter,
2006            });
2007            cardImagesCarousel.on('mousedown.owl.core', function (e) {
2008                e.preventDefault();
2009                e.stopPropagation();
2010            });
2011        }
2012    }
2013
2014</script>
2014
2015
2016<script type="application/ld+json">
2017    {
2018        "@context": "https://schema.org",
2019        "@type": "Organization",
2020        "name": "Cascioli Group",
2021        "url": "https://www.cascioligroup.it",
2022        "logo":"https://www.cascioligroup.it/images/logo/cascioli_black_2.jpg",
2023        "description": "Cascioli Group è uno dei maggiori Dealer del settore automotive nel centro-sud Italia, attraverso la commercializzazione dei marchi Bmw, Mini, BMWi, BMW Motorrad, Mercedes-Benz, Mercedes-Benz Veicoli Commerciali, Smart, Toyota e Toyota Veicoli Commerciali. Rappresenta l’eccellenza nelle regioni Marche e Abruzzo con i suoi 12 punti vendita distribuiti nelle province di Macerata, Fermo, Ascoli-Piceno, Teramo e L’Aquila. È un punto di riferimento anche per il settore usato disponendo di una vastissima scelta di vetture, anche aziendali e km zero, sulle quali effettua numerosi controlli che ne garantiscono la qualità e l’affidabilità. Crediamo, infatti, che il valore di un’azienda all’avanguardia sia quello di porre il cliente al centro, attraverso una consulenza personalizzata che va dalla scelta del prodotto alla successiva gestione della vettura con il miglior servizio post-vendita. Uno standard elevato volto ad assicurare ai nostri clienti un trattamento esclusivo ed un’ampia assistenza garantita da un personale tecnico e commerciale altamente qualificato e certificato.",
2024        "address": {
2025            "@type": "PostalAddress",
2026            "addressCountry": "Italia",
2027            "addressLocality": "San Benedetto del Tronto",
2028            "streetAddress": "Via Liberazione, 194",
2029            "addressRegion": "AP",
2030            "postalCode": "63074"
2031        },
2032        "sameAs":[
2033            "https://www.linkedin.com/company/cascioligroup/",
2034            "https://www.instagram.com/cascioli.group/",
2035            "https://www.facebook.com/cascioligroup",
2036            "https://www.youtube.com/@CascioliGroup/videos",
2037            "https://www.tiktok.com/@cascioligroup",
2038            "https://www.autoscout24.it/concessionari/cascioli-spa",
2039            "https://it.trustpilot.com/review/cascioligroup.it"
2040        ],
2041        "areaServed":[
2042            {
2043                "@type": "Place",
2044                "name": "Italia"
2045            },
2046            {
2047                "@type": "AdministrativeArea",
2048                "name": "Marche"
2049            },
2050            {
2051                "@type": "AdministrativeArea",
2052                "name": "Abruzzo"
2053            }
2054        ]
2055    }
2056</script>
2056
2057
2058</body>
2059</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.