PageSourceSearch

https://mairie-grazac31.fr/fr/formulaire-de-contact-mairie-de-grazac.html

html mairie-grazac31.fr collected 2026-10-03 02:46:45 UTC 65,018 bytes, 838 lines download raw bytes

1
2<!DOCTYPE html>
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta content="Ametys CMS Open source (http://www.ametys.org)" name="generator" /><link href="/skins/grazac-site-modele-3/resources/img/favicon.png" rel="shortcut icon" /><meta content="IE=edge" http-equiv="X-UA-Compatible" /><meta content="width=device-width, initial-scale=1" name="viewport" /><title>Formulaire de contact mairie de Grazac - Grazac</title><meta content="Ametys V3" name="author" /><meta content="Ametys V3" name="copyright" /><meta content="fr" name="language" /><meta content="15 days" name="revisit-after" /><meta content="Formulaire de contac mairie de Grazac 31190 -Haute Garonne" name="DC.title" /><meta content="bertrand#personnel-admin_atd" name="DC.contributor" /><meta content="2024-12-27" name="DC.date" /><meta content="Text" name="DC.type" /><meta content="text/html" name="DC.format" /><meta content="defaultWebContent://311910ef-8406-45cc-b9ee-eb680f417b44" name="DC.identifier" /><meta content="fr" name="DC.language" /><meta content="fr" name="DC.coverage" /><meta content="Formulaire de contac mairie de Grazac 31190 -Haute Garonne" property="og:title" /><meta content="article" property="og:type" /><meta property="og:image" content="/skins/grazac-site-modele-3/resources/img/header-logo-md-lg.png" /><link href="/_plugins/web/grazac/fr/filter/events/rss.xml" title="Flux RSS des actualit&eacute;s" type="application/rss+xml" rel="alternate" /><link href="/_plugins/web/grazac/fr/filter/org.ametys.web.article.RSS/rss.xml" title="Flux RSS des articles" type="application/rss+xml" rel="alternate" /><link href="/plugins/cms/dublincore/content.rdf?contentId=defaultWebContent://311910ef-8406-45cc-b9ee-eb680f417b44" rel="meta" /><link type="text/css" rel="stylesheet" href="/_plugins/web/resources-minimized/LTY3NzUyODgyOA.css" /><link type="text/css" rel="stylesheet" href="/_plugins/web/resources-minimized/NDQ3NDA5OTU4.css" media="screen" /><style><!--
4
5      /* latin-ext */
6      @font-face {
7        font-family: 'webfont1';
8        font-style: normal;
9        font-weight: 400;
10        src: local('Oswald Regular'), local('Oswald-Regular'), url(https://fonts.gstatic.com/s/oswald/v11/yg0glPPxXUISnKUejCX4qfesZW2xOQ-xsNqO47m55DA.woff2) format('woff2');
11        unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
12      }
13      /* latin */
14      @font-face {
15        font-family: 'webfont1';
16        font-style: normal;
17        font-weight: 400;
18        src: local('Oswald Regular'), local('Oswald-Regular'), url(https://fonts.gstatic.com/s/oswald/v11/pEobIV_lL25TKBpqVI_a2w.woff2) format('woff2');
19        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
20      }
21      
22--></style><style><!--
23
24/* latin-ext */
25@font-face {
26  font-family: 'webfont2';
27  font-style: normal;
28  font-weight: 400;
29  src: local('PT Sans Narrow'), local('PTSans-Narrow'), url(https://fonts.gstatic.com/s/ptsansnarrow/v7/UyYrYy3ltEffJV9QueSi4T3sPXe5Q4a3bCZMR7ryN4o.woff2) format('woff2');
30  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
31}
32/* latin */
33@font-face {
34  font-family: 'webfont2';
35  font-style: normal;
36  font-weight: 400;
37  src: local('PT Sans Narrow'), local('PTSans-Narrow'), url(https://fonts.gstatic.com/s/ptsansnarrow/v7/UyYrYy3ltEffJV9QueSi4UU-p1xzoRgkupcXIqgYFBc.woff2) format('woff2');
38  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
39}
40      
41--></style><style><!--
42
43/* latin-ext */
44@font-face {
45  font-family: 'webfont3';
46  font-style: normal;
47  font-weight: 400;
48  src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v12/gFXtEMCp1m_YzxsBpKl68iEAvth_LlrfE80CYdSH47w.woff2) format('woff2');
49  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
50}
51/* latin */
52@font-face {
53  font-family: 'webfont3';
54  font-style: normal;
55  font-weight: 400;
56  src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.
56com/s/montserrat/v12/zhcz-_WihjSQC0oHJ9TCYPk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
57  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
58}
59      
60--></style><link type="text/css" rel="stylesheet" href="/_plugins/web/resources-minimized/MTg3MDYxNzM1Ng.css" media="screen" /><link type="text/css" rel="stylesheet" href="/_plugins/web/resources-minimized/LTE1MDI4MzgwNjQ.css" /><link type="text/css" rel="stylesheet" href="/_plugins/web/resources-minimized/MzMzMzE3MjY5.css" media="screen" /><link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" /><link type="text/css" rel="stylesheet" href="/_plugins/web/resources-minimized/LTk3MDM2MTE0NQ.css" media="screen" /><style><!--
61.nav-stacked > li + li {border-top:solid 1px #f2f4fa;margin-top: 0px;}
62--></style><style><!--
63@media (min-width: 992px) {.navbar-right {float: right !important; margin-bottom: 20px;}
64--></style><style><!--
65.navbar-right form div{margin-top:-80px;}
66--></style><style><!--
67.header-texture .row{padding:0px !important;}div.banner-logo{padding:0px !important;}.sidebar .ametys-cms-content > p,.sidebar .ametys-cms-content > h3 + div p{background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=) !important;} .linkdirectory-thumbnails ul.links > li.link span.text{ display: block !important; font-size: 11pt !important; overflow: unset !important; text-overflow: unset !important; white-space: normal !important;}.linkdirectory-thumbnails ul.links > li.link{padding: 5px !important;}
68--></style><style><!--
69div.banner-logo{margin-left:0px;}
70--></style><style><!--
71.thumbnails{display:flex;flex-wrap:wrap}
72--></style><link type="text/css" rel="stylesheet" href="/_plugins/web/resources-minimized/MTUwODkxNjk0Mw.css" media="print,handheld,screen" />
72<script type="text/javascript" src="/_plugins/web/resources-minimized/LTEzMjM5MTYwOTA.js"></script>
72<script type="text/javascript"><!--
73
74            $ = $j = jQuery.noConflict();
75        
76// --></script>
76<script type="text/javascript" src="/_plugins/web/resources-minimized/MTA3OTM1MTM0OA.js"></script>
76<script type="text/javascript"><!--
77
78                $j(document).ready(function() {
79                    $j().piroBox_ext({
80                        piro_speed: 600,
81                        bg_alpha: 0.5,
82                        piro_scroll: true,
83                        prev_label: 'Précédent',
84                        next_label: 'Suivant',
85                        close_label: 'Fermer'
86                    });
87                });
88	        
89// --></script>
89<script type="text/javascript" src="/_plugins/web/resources-minimized/MTk1MDAzMjA1NA.js"></script>
89<script type="text/javascript"><!--
90
91            mejs.i18n.language('fr');
92        
93// --></script>
93<script type="text/javascript"><!--
94
95            ametysUser = null;
96            
97            var _ametysUserCallbacks = [];
98            var _ametysUserRunning = false;
99            
100            var _fillUserInputs = function(id, field, callback)
101            {
102                if (this[field])
103                {
104                    var input = document.getElementById(id);
105                    if (!input.value)
106                    {
107                        input.value = this[field];
108                        if (typeof callback == "function")
109                        {
110                           callback(id, input, this[field]);
111                        }
112                    }
113                }
114            }
115            
116            
117            
118            function getAmetysUser(callback)
119            {
120                if (ametysUser && typeof(callback) == "function")
121                {
122                    callback(ametysUser);
123                }
124                else
125                {
126                    if (typeof(callback) == "function")
127                    {
128                        _ametysUserCallbacks.push(callback);
129                    }
130                    
131                    if (!_ametysUserRunning)
132                    {
133                        _ametysUserRunning = true;
134                        
135                        $j.ajax({
136                            url: "/_plugins/cms/current-user",
137                            dataType: "json",
138                            error: function(result, status, error) {
139                                console.log(error);
140                                ametysUser = null;
141                                _ametysUserRunning = false;
142                            },
143                            success: function(user) {
144                                ametysUser = user;
145                                
146                                if (ametysUser)
147                                {
148                                    ametysUser.fill = _fillUserInputs;
149                                }
150                                
151                                for (var i=0; i < _ametysUserCallbacks.length; i++)
152                                {
153                                    try 
154                                    {
155                                        _ametysUserCallbacks[i](ametysUser);
156                                    } 
157                                    catch(e) 
158                                    {
159                                        console.error("Failed to invoked callback function " + _ametysUserCallbacks[i].name + ":", e);
160                                    }
161                                }
162                                
163                                _ametysUserRunning = false;
164                            }
165                        });
166                    }
167                }
168            }
169        
170// --></script>
170<script type="text/javascript" src="/_plugins/web/resources-minimized/LTUxODAzNjY1MQ.js"></script>
170<script type="text/javascript"><!--
171
172            
173            var configuration = {
174              "hashtag": "#tarteaucitron", /* Open the panel with this hashtag */
175              "cookieName": "tarteaucitron", /* Cookie name */
176        
177              "orientation": "middle", /* Banner position (top - bottom) */
178           
179              "groupServices": false, /* Group services by category */
180                               
181              "showAlertSmall": true, /* Show the small banner on bottom right */
182              "cookieslist": true, /* Show the cookie list */
183                               
184              "closePopup": false, /* Show a close X on the banner */
185    
186              "showIcon": false, /* Show cookie icon to manage cookies */
187              //"iconSrc": "", /* Optionnal: URL or base64 encoded image */
188              "iconPosition": "BottomRight", /* BottomRight, BottomLeft, TopRight and TopLeft */
189    
190              "adblocker": false, /* Show a Warning if an adblocker is detected */
191                               
192              "DenyAllCta" : true, /* Show the deny all button */
193              "AcceptAllCta" : true, /* Show the accept all button when highPrivacy on */
194              "highPrivacy": true, /* HIGHLY RECOMMANDED Disable auto consent */
195                               
196              "handleBrowserDNTRequest": true, /* If Do Not Track == 1, disallow all */
197    
198              "removeCredit": false, /* Remove credit link */
199              "moreInfoLink": true, /* Show more info link */
200    
201              "useExternalCss": true, /* If false, the tarteaucitron.css file will be loaded */
202              "useExternalJs": true, /* If false, the tarteaucitron.js file will be loaded */
203    
204              //"cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for multisite */
205                              
206              "readmoreLink": "", /* Change the default readmore link */
207    
208              "mandatory": true, /* Show a message about mandatory cookies */
209            }
210            
211            
212            var overridenConfiguration = JSON.parse("{}");
213            for (var key in overridenConfiguration)
214            {
215              configuration[key] =  overridenConfiguration[key];  
216            }
217            
218            
219            
220
221            
222            tarteaucitron.init(configuration);
223            
224            
225            
226            tarteaucitron.services.gagenda = {
227                "key": "gagenda",
228                "type": "other",
229                "name": "Google Agenda",
230                "needConsent": true,
231                "cookies": ["CONSENT", "NID"],
232                "uri": "https://policies.google.com/privacy",
233                "js": function() {
234                    "use strict";
235                    tarteaucitron.fallback(['gagenda_embed'], function (x) {
236                        var calendar_data = x.getAttribute('data'),
237                        width = x.getAttribute('width'),
238                        height = x.getAttribute('height');
239                        return `<iframe loading="lazy" width="${width}" height="${height}" src="https://www.google.com/calendar/embed?${calendar_data}" frameborder="0" scrolling="no" style="border-width:0"></iframe>`;
240                    });
241                },
242                "fallback": function() {
243                    "use strict";
244                    var id = "gagenda";
245                    tarteaucitron.fallback(["gagenda_embed"], tarteaucitron.engage(id));
246                }
247            };
248            
249            
250            tarteaucitron.services.youtubeplaylist = {
251                "key": "youtubeplaylist",
252                "type": "video",
253                "name": "YouTube (playlist)",
254                "uri": "https://policies.google.com/privacy",
255                "needConsent": true,
256                "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'],
257                "js": function () {
258                    "use strict";
259                    tarteaucitron.fallback(['youtube_playlist_player'], function (x) {
260                        var width = x.getAttribute('widthInfo'),
261                        height = x.getAttribute('heightInfo'),
262                        uniqueId = x.getAttribute('id');
263                        
264                        var html = `<div id="player_${uniqueId}" class="video-player" style="width: ${width}px; height: ${height}px"></div>`;
265                        html += `<ul id="playlist_${uniqueId}" class="video-playlist"  style="display:none; height: ${height}px"></ul>`;
266                        html += `<div style="clear: both"></div>`;
267                        
268                        return html;
269                    });
270                    
271                    if (tarteaucitron.user.youtubePlaylistCallback !== undefined) {
272			            tarteaucitron.user.youtubePlaylistCallback();
273			        }
274                },
275                "fallback": function () {
276                    "use strict";
277                    var id = 'youtubeplaylist';
278                    tarteaucitron.fallback(["youtube_playlist_player"], tarteaucitron.engage(id));
279                }
280            };
281            
282            
283            window.timeExpire = 15768000000;
284            
285            
286            window.tarteaucitronForceLanguage = "fr";
287            
288            
289            tarteaucitron.lang.allow = "Accepter";
290            tarteaucitron.lang.deny = "Refuser";
291            tarteaucitron.lang.allowed = "accepté";
292            tarteaucitron.lang.disallowed = "refusé";
293            
294            
295               (tarteaucitron.job = tarteaucitron.job || []).push('sharethis');
296            
297               (tarteaucitron.job = tarteaucitron.job || []).push('youtube');
298            
299               (tarteaucitron.job = tarteaucitron.job || []).push('gajs');
300            
301               (tarteaucitron.job = tarteaucitron.job || []).push('dailymotion');
302            
303               (tarteaucitron.job = tarteaucitron.job || []).push('gagenda');
304            
305               (tarteaucitron.job = tarteaucitron.job || []).push('youtubeplaylist');
306            
307               (tarteaucitron.job = tarteaucitron.job || []).push('matomocloud');
308            
309               (tarteaucitron.job = tarteaucitron.job || []).push('googlemaps');
310            
311// --></script>
311<script type="text/javascript" src="/_plugins/web/resources-minimized/LTczMzA2MTM1MA.js"></script>
311<script type="text/javascript"><!--
312
313            AmetysFront.CONTEXT_PATH = '';
314            AmetysFront.ABSOLUTE_CONTEXT_PATH = 'https://mairie-grazac31.fr';
315            AmetysFront.URI_PREFIX = '';
316            AmetysFront.ABSOLUTE_URI_PREFIX = 'https://mairie-grazac31.fr';
317            AmetysFront.MAX_UPLOAD_SIZE = 10485760 - 1000; // 1000 for request overhead
318                
319            AmetysFront.setAppParameter('siteName', 'grazac');
320            AmetysFront.setAppParameter('sitemapLanguage', 'fr');
321            AmetysFront.setAppParameter('locale', 'fr');
322        
323// --></script>
323<script type="text/javascript" src="/_plugins/web/resources-minimized/MTg2NTI0OTAxMA.js"></script>
323<script type="text/javascript"><!--
324
325            $j().ready(function()
326            {
327                var hlRegexp = new RegExp('[\?\&]search-keywords=([^\?\&#;]+)', 'i');
328                var result = hlRegexp.exec(location.search);
329                if (result != null && result.length > 1)
330                {
331                    var keywords = result[1].split(',');
332                    for (var x = 0; x < keywords.length; x++)
333                    {
334                        if (keywords[x] != '')
335                        {
336                        
337                            $j('#ametys-cms-zone-default').highlight($j.trim(decodeURIComponent(keywords[x])));
338                        
339                            $j('#ametys-cms-zone-zone-1').highlight($j.trim(decodeURIComponent(keywords[x])));
340                        
341                            $j('#ametys-cms-zone-zone-2').highlight($j.trim(decodeURIComponent(keywords[x])));
342                        
343                            $j('#ametys-cms-zone-zone-3').highlight($j.trim(decodeURIComponent(keywords[x])));
344                        
345                            $j('#ametys-cms-zone-zone-4').highlight($j.trim(decodeURIComponent(keywords[x])));
346                        
347                            $j('#ametys-cms-zone-zone-5').highlight($j.trim(decodeURIComponent(keywords[x])));
348                         
349                        }
350                    }
351                }
352            });
353        
354// --></script>
354<script type="text/javascript"><!--
355
356   tarteaucitron.user.matomoId = 115;
357   (tarteaucitron.job = tarteaucitron.job || []).push('matomo');
358
359// --></script>
359<script><!--
360tarteaucitron.user.matomoHost = 'https://matomo.atd31.fr/';
361// --></script>
361</head><body class="large  " data-spy="scroll"><div class="texture"><h1 class="hidden-L">Formulaire de contact mairie de Grazac</h1><div class="art-page-wai-links" id="art-page-wai-links"><a href="#content">Aller au contenu</a><a href="#search">Aller &agrave; la recherche</a><a href="#menu">Aller au menu</a></div><div class="container-fluid"><div class="row banner"><div class="header-texture"><div class="col-md-12"><div class="container"><div class="row"><div class="col-xs-2 banner-logo"><a aria-label="Retour &agrave; la page d&#039;accueil du site" href="/fr/index.html"><div class="logo-xs visible-xs-block"></div><div class="logo-sm visible-sm-block"></div><div class="logo-md-lg visible-md-block visible-lg-block"></div></a></div><div class="col-xs-10 banner-title"><p class="banner-title-name title-shadow"><a aria-label="Retour &agrave; la page d&#039;accueil du site" href="/fr/index.html">Grazac</a></p><p class="banner-title-text subtitle-shadow"></p></div><div class="hidden"><div data-ametys-zone="zone-5" id="ametys-cms-zone-zone-5"></div></div></div></div></div></div></div></div><a name="menu"></a><div role="navigation" class="navbar navbar-default navbar-static-top marginBottom-0 container-menu menu-colore-1"><div class="container"><div class="navbar-header"><button data-target="#navbar-collapse-1" data-toggle="collapse" class="navbar-toggle" type="button"><span class="sr-only">Menu</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a href="/fr/index.html" class="navbar-brand hmenu item" title="(Rubrique active)">Accueil</a></div><div id="navbar-collapse-1" class="collapse navbar-collapse"><ul class="nav navbar-nav navbar-right"><li><a name="search"></a><form method="post" action="/fr/rechercher.html" role="search" class="navbar-form navbar-left"><div><label class="hidden-L" for="search-field-4275106714953698">Rechercher</label><input title="Saisissez le mots-clefs pour lancer la recherche" id="search-field-4275106714953698" name="textfield" class="input-text form-control" type="text" />
361<script type="text/javascript"><!--
362
363               $j('#search-field-4275106714953698').attr('placeholder', "Rechercher");
364            
365// --></script>
365<input name="submit-form" type="hidden" /><input type="submit" name="" class="btn btn-default" value="" style="font-family:FontAwesome;" /></div></form></li></ul><ul class="nav navbar-nav"><li class="hmenu item dropdown hoves color1"><a href="/fr/bienvenue.html">Bienvenue</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/bienvenue/presentation-et-situation-geographique.html">Pr&eacute;sentation et situation g&eacute;ographique</a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/bienvenue/histoire-et-patrimoine.html" class="dropdown-toggle" data-hover="dropdown">Histoire et patrimoine</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/bienvenue/histoire-et-patrimoine/eglise-de-grazac.html">Eglise de Grazac</a></li><li class="hmenu subitem"><a href="/fr/bienvenue/histoire-et-patrimoine/grazac-le-village.html">Grazac le village</a></li></ul></li></ul></li><li class="hmenu item dropdown hoves color2"><a href="/fr/vie-municipale.html">Vie municipale</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-municipale/le-conseil-municipal.html">Le conseil municipal</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/comptes-rendus-du-conseil-municipal.html">Comptes-rendus du conseil municipal</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/bulletin-municipal.html">Bulletin municipal</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/services-municipaux.html">Services municipaux</a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-municipale/travaux.html" class="dropdown-toggle" data-hover="dropdown">Travaux</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-municipale/travaux/city-stade.html">City stade</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/travaux/enfouissement-des-reseaux-a-bernadou-et-bezinat.html">Enfouissement des r&eacute;seaux &agrave; Bernadou et B&eacute;zinat</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/travaux/fin-des-travaux-de-l-aire-de-loisir.html">Fin des travaux de l&#039;aire de loisirs</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/travaux/travaux-d-assainissements.html">Travaux d&#039;assainissements</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/travaux/ateliers-compostage.html">Ateliers Compostage</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/travaux/plantation-aire-de-loisirs.html">Plantation aire de loisirs</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/travaux/rehabilitation-maison-de-village.html">R&eacute;habilitation Maison de village</a></li></ul></li><li class="hmenu subitem"><a href="/fr/vie-municipale/salles-communales.html">Salles communales </a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-municipale/etat-civil.html" class="dropdown-toggle" data-hover="dropdown">Etat civil</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-municipale/etat-civil/mariages.html">Mariages</a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/etat-civil/deces.html">D&eacute;c&egrave;s </a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/etat-civil/pacs.html">PACS </a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/etat-civil/naissances.html">Naissances </a></li></ul></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-municipale/finances.html" class="dropdown-toggle" data-hover="dropdown">Budget</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-municipale/finances/taux-d-imposition.html">Taux d&#039;imposition </a></li><li class="hmenu subitem"><a href="/fr/vie-municipale/finances/budget-general-2023.html">Budget g&eacute;n&eacute;ral</a></li></ul></li></ul></li><li class="hmenu item dropdown hoves color3"><a href="/fr/vie-locale.html">Vie locale</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-locale/hebergement-1.html" class="dropdown-toggle" data-hover="dropdown">Les Associations de Grazac</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-locale/hebergement-1/acca-chasse-de-grazac.html">ACCA (chasse) de Grazac</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/hebergement-1/association-patrimoniale-et-culturelle-de-grazac.html">Association patrimoniale et culturelle de grazac</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/hebergement-1/a-v-e.html">A.V.E.</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/hebergement-1/comite-des-fetes.html">Comit&eacute; des f&ecirc;tes </a></li><li class="hmenu subitem"><a href="/fr/vie-locale/hebergement-1/falkany.html">Fakany</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/hebergement-1/association-des-parents-d-eleves.html">Pegace - Association des parents d&#039;&eacute;l&egrave;ves</a></li></ul></li><li class="hmenu subitem"><a href="/fr/vie-locale/hebergement.html">H&eacute;bergement</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/revue-de-presse.html">Revue de presse</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/artisans-commercants-services.html">Artisans, commer&ccedil;ants, services</a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-locale/archives.html" class="dropdown-toggle" data-hover="dropdown">Festivit&eacute;s</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-locale/archives/annee-2025-2.html">Ann&eacute;e 2026</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives/annee-2025.html">Ann&eacute;e 2025</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives/annee-2024.html">Ann&eacute;e  2024</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives/annee-2023.html">Ann&eacute;e 2023</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives/annee-2022.html">Ann&eacute;e 2022</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives/annee-2021.html">Ann&eacute;e 2021</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives/annee-2020.html">Ann&eacute;e 2020</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives/annee-2019.html">Ann&eacute;e 2019</a></li></ul></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-locale/archives-1.html" class="dropdown-toggle" data-hover="dropdown">Archives</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-locale/archives-1/nouvelle-page.html">Soir&eacute;e Andalouse</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives-1/nouvelle-page-2.html">C&eacute;r&eacute;monie du Centenaire de l&#039;Armistice le 11 Novembre 1918</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives-1/renovation-de-la-salle-du-conseil.html">R&eacute;novation de la salle du conseil</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/archives-1/renovation-du-lavoir-communal.html">RENOVATION DU LAVOIR COMMUNAL .....</a></li></ul></li><li class="hmenu subitem"><a href="/fr/vie-locale/nouvelle-page.html">Biblioth&egrave;que Associative</a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-locale/intercommunalite.html" class="dropdown-toggle" data-hover="dropdown">Intercommunalit&eacute; </a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-locale/intercommunalite/office-du-tourisme-ccba.html">
365Office du Tourisme CCBA</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/intercommunalite/transport-a-la-demande-tad.html">Transport &agrave; la Demande (TAD)</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/intercommunalite/annee-2024.html">Evenements autour de Grazac</a></li><li class="hmenu subitem"><a href="/fr/vie-locale/intercommunalite/centre-aquatique-ccba.html">Centre Aquatique CCBA</a></li></ul></li></ul></li><li class="hmenu item dropdown hoves color4"><a href="/fr/vie-pratique.html">Vie pratique</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-pratique/demarches-administratives.html">D&eacute;marches administratives</a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-pratique/france-service.html" class="dropdown-toggle" data-hover="dropdown">Permanences &agrave; Grazac</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-pratique/france-service/permanences-france-service.html">Permanences France Service</a></li><li class="hmenu subitem"><a href="/fr/vie-pratique/france-service/permanences-habitat.html">Permanences Habitat</a></li></ul></li><li class="hmenu subitem"><a href="/fr/vie-pratique/numeros-utiles.html">Num&eacute;ros utiles</a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-pratique/transports.html" class="dropdown-toggle" data-hover="dropdown">Transports</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-pratique/transports/itineraires-horaires-transports-scolaires-grazac.html">Itin&eacute;raires &amp; Horaires - Transports scolaires Grazac</a></li></ul></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/vie-pratique/dechets-verts-et-menagers.html" class="dropdown-toggle" data-hover="dropdown">D&eacute;chets verts et m&eacute;nagers</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/vie-pratique/dechets-verts-et-menagers/calcul-de-la-teomi.html">Calcul de la TEOMI</a></li></ul></li><li class="hmenu subitem"><a href="/fr/vie-pratique/nuisances.html">Nuisances</a></li><li class="hmenu subitem"><a href="/fr/vie-pratique/risques-majeurs.html">Risques majeurs</a></li><li class="hmenu subitem"><a href="/fr/vie-pratique/aides-a-l-habitat.html">Aides &agrave; l&#039;habitat</a></li><li class="hmenu subitem"><a href="/fr/vie-pratique/aides-a-la-personne.html">Aides &agrave; la personne</a></li><li class="hmenu subitem"><a href="/fr/vie-pratique/renov-occitanie.html">Pays Sud Toulousain (SCOT)</a></li><li class="hmenu subitem"><a href="/fr/vie-pratique/maison-departementale-de-proximite-cintegabelle.html">Maison D&eacute;partementale de Proximit&eacute; Cintegabelle</a></li></ul></li><li class="hmenu item dropdown hoves color5"><a href="/fr/jeunesse.html">Jeunesse</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/jeunesse/petite-enfance-assistantes-maternelles-et-relais.html">Petite enfance - Assistantes Maternelles et Relais</a></li><li class="hmenu subitem"><a href="/fr/jeunesse/mam-les-p-tites-crapouilles.html">MAM de Grazac - Les P&#039;tites Crapouilles</a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/jeunesse/syndicat-du-rieutarel.html" class="dropdown-toggle" data-hover="dropdown">RPI Grazac- Caujac - Esperce</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/jeunesse/syndicat-du-rieutarel/ecole-de-grazac.html">Les &eacute;coles</a></li><li class="hmenu subitem"><a href="/fr/jeunesse/syndicat-du-rieutarel/garderie-et-cantine.html">Garderie et cantine</a></li><li class="hmenu subitem"><a href="/fr/jeunesse/syndicat-du-rieutarel/le-reglement-interieur.html">Le r&egrave;glement int&eacute;rieur </a></li><li class="hmenu subitem"><a href="/fr/jeunesse/syndicat-du-rieutarel/association-des-parents-d-eleves.html">Association des parents d&#039;&eacute;l&egrave;ves </a></li><li class="hmenu subitem"><a href="/fr/jeunesse/syndicat-du-rieutarel/listes-fournitures-scolaires-rentree-2026.html">Listes fournitures scolaires - Rentr&eacute;e 2026</a></li></ul></li><li class="hmenu subitem"><a href="/fr/jeunesse/college-de-cintegabelle.html">Coll&egrave;ge de Cintegabelle</a></li><li class="hmenu subitem"><a href="/fr/jeunesse/centres-de-loisirs.html">Centres de loisirs</a></li><li class="hmenu subitem dropdown dropdown-submenu"><a href="/fr/jeunesse/lycee-a-auterive.html" class="dropdown-toggle" data-hover="dropdown">Lyc&eacute;e &agrave;
365 Auterive</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/jeunesse/lycee-a-auterive/pose-de-la-1ere-pierre.html">Pose de la 1ere pierre</a></li><li class="hmenu subitem"><a href="/fr/jeunesse/lycee-a-auterive/ouverture-le-1er-septembre.html">Inauguration le 2 septembre</a></li></ul></li></ul></li><li class="hmenu item dropdown hoves last color6"><a href="/fr/urbanisme.html">Urbanisme</a><ul class="dropdown-menu multi-level"><li class="hmenu subitem"><a href="/fr/urbanisme/plan-local-d-urbanisme.html">Plan local d&#039;urbanisme</a></li><li class="hmenu subitem"><a href="/fr/urbanisme/formulaires.html">Formulaires</a></li></ul></li></ul></div></div></div><div class="container contents"><div class="row"><div class="col-md-12 main-content"><a name="breadcrumb"></a><ol class="breadcrumb bg-primary"><li class="first"><a href="/fr/index.html">Accueil</a></li><li class="active">Formulaire de contact mairie de Grazac</li></ol><div class="content-tools">
365<script type="text/javascript"><!--
366
367			document.write("<div class='art-print'><a href=\"javascript:window.print();\" title=\"Imprimer la page\"><img alt=\"Imprimer la page\" src=\"/skins/grazac-site-modele-3/resources/img/Print.png\"/></a></div>");
368		
369// --></script>
369<div id="pdf-icon" class="content-pdf"><a title="T&eacute;l&eacute;charger le contenu au format PDF" onclick="window.open(this.href); return false;" href="/_content/formulaire-de-contac-mairie-de-grazac-article.pdf"><img alt="PDF" src="/skins/grazac-site-modele-3/resources/img/PDF.png" /></a></div><div class="sharethis"><div class="sharethis-wrapper">
369<script type="text/javascript"><!--
370
371          tarteaucitron.user.sharethisPublisher = '7fcfec1e-16ef-41a0-8902-67b9f511c6ba';
372        
373// --></script>
373<script type="text/javascript"><!--
374document.write("<span class='st_twitter'></span>");document.write("<span class='st_facebook'></span>");document.write("<span class='st_linkedin'></span>");document.write("<span class='st_pinterest'></span>");document.write("<span class='st_sharethis'></span>");
375// --></script>
375</div></div><div class="sendbymail"><div class="sendbymail-wrapper"><div class="sendByMail"><p id="sendByMailHeader-4275106714953698"><a aria-label="Envoyer par mail" title="Envoyer par mail" href="javascript: sendByMail_form_popup_4275106714953698()" aria-haspopup="dialog" role="button" class="mailto" id="sendByMail-btn-4275106714953698"><img alt="Envoyer par mail" title="Envoyer par mail" src="/skins/grazac-site-modele-3/resources/img/mailto.png" /></a></p><div style="display: none" id="sendByMail-4275106714953698"><form class="sendByMail-form" method="post" action="/fr/_plugins/socialnetworking/page/send-mail" id="sendByMail-form-4275106714953698"><div><input value="page://e23f5303-fa89-4796-b39d-5ba438b05ebc" id="sendByMail-4275106714953698-id" name="page-id" type="hidden" /><p class="hint">Les champs suivis d&#039;un ast&eacute;risque * sont obligatoires</p><div class="field"><div class="label"><label for="sendByMail-4275106714953698-name">Votre nom<span class="mandatory"> *</span></label></div><div class="input"><input aria-required="true" id="sendByMail-4275106714953698-name" name="name" type="text" /></div><div class="field-end"></div>
375<script type="text/javascript"><!--
376
377                getAmetysUser(function(user) {
378                    if (user && user.fill)
379                    {
380                        user.fill("sendByMail-4275106714953698-name", "fullname");
381                    }
382                });
383            
384// --></script>
384</div><div class="field"><div class="label"><label for="sendByMail-4275106714953698-email-by">Votre email<span class="mandatory"> *</span></label></div><div class="input"><input aria-required="true" id="sendByMail-4275106714953698-email-by" name="email" type="text" /></div><div class="field-end"></div>
384<script type="text/javascript"><!--
385
386                getAmetysUser(function(user) {
387                    if (user && user.fill)
388                    {
389                        user.fill("sendByMail-4275106714953698-email-by", "email");
390                    }
391                });
392            
393// --></script>
393</div><div class="field"><div class="label"><label for="sendByMail-4275106714953698-email-to">Destinataire(s)<span class="mandatory"> *</span></label></div><div class="input"><input aria-describedby="sendByMail-4275106714953698-email-to-hint" aria-required="true" id="sendByMail-4275106714953698-email-to" name="emailTo" type="text" /><br /><span id="sendByMail-4275106714953698-email-to-hint" class="hint">S&eacute;par&eacute;s par des virgules</span></div><div class="field-end"></div></div><div class="field"><div class="label"><label for="sendByMail-4275106714953698-text">Message</label></div><div class="input"><textarea rows="3" cols="20" id="sendByMail-4275106714953698-text" name="text"></textarea></div><div class="field-end"></div></div><div class="field"><div class="label"><label for="sendByMail-4275106714953698-captcha">Texte de l&#039;image<span class="mandatory"> *</span></label></div><div class="input captcha-jcaptcha"><input id="sendByMail-4275106714953698-captcha-key" name="captcha-key" type="hidden" /><input class="" style="" id="sendByMail-4275106714953698-captcha" maxlength="6" name="captcha-value" type="text" /><div class="captcha"><img id="id23033390228654427" src="" class="" style="" alt="" /><button onclick="refresh_sendByMail_4275106714953698(this, false); return false;" class="captcha-refresh-btn" title="Cliquez ici pour rafra&icirc;chir l&#039;image de v&eacute;rification" type="button"><span>Rafraichir l&#039;image</span></button><div class="captcha-end"></div></div>
393<script type="text/javascript"><!--
394     
395            function refresh_sendByMail_4275106714953698(focusNow)
396            {
397                var newId = "DYNAMIC-" + new Date().getTime() + (''+Math.random()).replace(/\./g, '');
398            
399                var oldId = document.getElementById("sendByMail-4275106714953698-captcha-key").value;
400                document.getElementById("sendByMail-4275106714953698-captcha-key").value = newId;
401                document.getElementById("sendByMail-4275106714953698-captcha").value = "";
402                document.getElementById("id23033390228654427").src = "/plugins/cms/captcha/core-impl/jcaptcha/" + newId + "/image.png?cancelledKey=" + oldId + "&width=200" + "&height=50" + "&color=#000000";
403                
404                if (focusNow == true)
405                {
406                    try
407                    {
408                        document.getElementById("sendByMail-4275106714953698-captcha").focus();
409                    }
410                    catch(e)
411                    {
412                    }
413                } 
414            }
415        
416// --></script>
416<!--Those 2 scripts are separated to ensure write is done and flushed before the getElementId occures-->
416<script type="text/javascript"><!--
417refresh_sendByMail_4275106714953698(false);
418        
419// --></script>
419</div><div class="field-end"></div></div></div></form></div>
419<script type="text/javascript"><!--
420
421                sendByMail_captchaRequired_4275106714953698 = true;
422                
423				function sendByMail_form_popup_4275106714953698()
424				{
425                    if (sendByMail_captchaRequired_4275106714953698)
426                    {
427					   refresh_sendByMail_4275106714953698();
428                    }
429                    
430					$j("#sendByMail-form-4275106714953698 script").remove();
431					$j("#sendByMail-4275106714953698").dialog({
432				      resizable: false,
433				      height:'auto',
434				      width: 'auto',
435				      modal: true,
436				      title: 'Envoyer par mail',
437				      buttons: {
438				        Envoyer: function() {
439				          sendByMail_form_submit_4275106714953698();
440				        },
441				        Annuler: function() {
442				          $j(this).dialog( "close" );
443                          $j("#sendByMail-btn-4275106714953698").focus();
444				        }
445				      }
446				    });
447				    
448					$j('#sendByMail-4275106714953698-email-to').val('');
449					$j('#sendByMail-4275106714953698-text').val('');
450					$j('#sendByMail-4275106714953698-captcha').val('');
451				}
452                
453				function sendByMail_form_submit_4275106714953698()
454				{
455                    function markAsInvalid($input, msg)
456                    {
457                        $input.closest('.field').addClass('error');
458                        $input.attr("aria-invalid", true);
459                        let describedBy = $input.attr("aria-describedby") || '';
460                        $input.attr("aria-describedby", describedBy.length ? describedBy + " " + $input.attr('id') + "-error" : $input.attr('id') + "-error");
461                        $input.closest('.input').append(`<span class="error-msg" id="${$input.attr('id')}-error">${msg}</span>`);
462                    }
463                
464                    var $dialog = $j('#sendByMail-4275106714953698');
465					var $form = $j('#sendByMail-form-4275106714953698');
466					
467					var pageId =  $j('#sendByMail-4275106714953698-id');
468					var nameInput = $j('#sendByMail-4275106714953698-name');
469					var emailInputBy = $j('#sendByMail-4275106714953698-email-by');
470					var emailInputTo = $j('#sendByMail-4275106714953698-email-to');
471					var contentInput = $j('#sendByMail-4275106714953698-text');
472					var captchaKey = $j('#sendByMail-4275106714953698-captcha-key');
473                    var captchaInput = $j('#sendByMail-4275106714953698-captcha');
474                    
475                    // Reset errors
476                    $form.find(".field.error").removeClass('error');
477                    $form.find(".input .error-msg").remove();
478                    $form.find("[aria-invalid]").each(function() {
479                        let describedBy = ($j(this).attr("aria-describedby") || '').split(' ');
480                        let newDescribedBy = []
481                        $j.each(describedBy, function(i, descId){
482                            if (descId.indexOf("-error") == -1)
483                            {
484                                newDescribedBy.push(descId);
485                            }
486                        })
487                        if (newDescribedBy.length)
488                        {
489                            $j(this).attr("aria-describedby", newDescribedBy.join(' '));
490                        }
491                        else
492                        {
493                            $j(this).removeAttr("aria-describedby");
494                        }
495                        $j(this).removeAttr("aria-invalid");
496                    });
497                    
498                    
499					var errors = false;
500					
501					if (/^\s*$/.test(nameInput.val()))
502					{
503						errors = true;
504                        markAsInvalid(nameInput, "Ce champ est obligatoire");
505					}
506                    
507                    if (/^\s*$/.test(emailInputBy.val()))
508                    {
509                        errors = true;
510                        markAsInvalid(emailInputBy, "Ce champ est obligatoire");
511                    }
512					else if (!/^([a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,})?$/i.test(emailInputBy.val()))
513					{
514						errors = true;
515                        markAsInvalid(emailInputBy, "L'adresse saisie n'est pas une adresse mail valide");
516					}
517					
518                    if (/^\s*$/.test(emailInputTo.val()))
519                    {
520                        errors = true;
521                        markAsInvalid(emailInputTo, "Ce champ est obligatoire");
522                    }
523					else if (!/^([a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,})?(\s*,\s*([a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,})?)*$/i.test(emailInputTo.val()))
524					{
525						errors = true;
526						markAsInvalid(emailInputTo, "L'adresse saisie n'est pas une adresse mail valide");
527					}
528					
529                    
530					if (!/^[a-z]{6}$/.test(captchaInput.val()))
531					{
532						errors = true;
533                        markAsInvalid(captchaInput, "Ce champ est obligatoire");
534					}
535                    
536                    
537                    if (errors)
538                    {
539                        // focus first invalid input
540                        $form.find('[aria-invalid]').first().focus();
541                    }
542					else
543					{
544						// send it in ajax
545						var data = {
546							"page-id": pageId.val(),
547							"name": nameInput.val(),
548							"email": emailInputBy.val(),
549							"emailTo": emailInputTo.val(),
550							"text": contentInput.val(),
551							"captcha-key": captchaKey.val(),
552							"captcha-value": captchaInput.val(),
553							"ajax": "true"
554						};
555
556						function result(data)
557						{
558                            $dialog.parent().find(".ui-dialog-buttonpane .ui-button").prop('disabled', false);
559                            
560							var s = "";
561							$j('errors error', data).each(function () { s += $j(this).text() + "\n"; });
562							
563							if (s == "")
564							{
565								var errors = $j('error > error', data);
566                                var mailErrors = $j('mailError > mailError', data);
567                                
568								if (errors.length == 0 && mailErrors.length == 0)
569								{
570									$dialog.dialog("close");
571                                    $j("#sendByMail-btn-4275106714953698").focus();
572                                    alert("Le mail a bien été envoyé");
573								}
574								else if (errors.length > 0)
575								{
576                                    var m = '';
577                                    $j('error > error', data).each(function () { 
578                                        m += "\n*" + $j(this).text();
579                                    });
580									alert("Votre formulaire contient les erreurs suivantes :" + m);
581                                    if (sendByMail_captchaRequired_4275106714953698)
582                                    {
583                                       refresh_sendByMail_4275106714953698();
584                                    }
585								}
586                                else if (mailErrors.length > 0)
587                                {
588                                    var m = '';
589                                    $j('mailError > mailError', data).each(function () { 
590                                        m += "\n" + $j(this).text();
591                                    });
592                                    
593                                    alert("L'envoi du mail a échoué pour les adresses email suivantes :" + m);
594                                    if (sendByMail_captchaRequired_4275106714953698)
595                                    {
596                                       refresh_sendByMail_4275106714953698();
597                                    }
598                                }
599							}
600							else
601							{
602                                // Could really append ??
603								alert(s);
604								if (sendByMail_captchaRequired_4275106714953698)
605                                {
606                                   refresh_sendByMail_4275106714953698();
607                                }
608							}
609						}
610                        
611                        
612                        function handleError(jqXHR, textStatus, errorThrown)
613                        {
614                            $dialog.parent().find(".ui-dialog-buttonpane .ui-button").prop('disabled', false);
615                            alert("Une erreur inattendue est survenue: l'envoi de mail a échoué.");
616                        }
617						
618                        // Disable buttons
619                        $dialog.parent().find(".ui-dialog-buttonpane .ui-button").prop('disabled', true);
620                        
621                        $j.ajax({
622                            url: "/fr/_plugins/socialnetworking/page/send-mail",
623                            data: data,
624                            type: 'post',
625                            success: result,
626                            error: handleError
627                        });
628					}
629
630					return false;
631				}
632			
633// --></script>
633</div></div></div></div><div data-ametys-zone="default" id="ametys-cms-zone-default"><div data-ametys-zone-level="3" id="ametys-cms-zone-default-item-N1002B" class="first last"><div class="ametys-cms-content article view-main wrapper"><h3><span class="content-title">Formulaire de contac mairie de Grazac 31190 -Haute Garonne</span></h3><div class="article-content">
633<script type="text/javascript" src="/_plugins/web/resources-minimized/OTM5ODg0NTU3.js"></script>
633<script type="text/javascript"><!--
634
635			function checkForm_form_606679971508160()
636			{
637				return checkForm("form_606679971508160", 
638                                 "form23099553371996473", 
639                                 function(reset, error) {
640                    // checking form informations
641                    
642		reset("Ametys_Gen_1", "text");
643		
644
645		var value_Ametys_Gen_1 = $j("#Ametys_Gen_1").prop('value');
646		
647		reset("Ametys_Gen_2", "text");
648		
649
650		var value_Ametys_Gen_2 = $j("#Ametys_Gen_2").prop('value');
651		
652		reset("Ametys_Gen_8", "checkbox");
653		
654		reset("Ametys_Gen_9", "checkbox");
655		
656		reset("Ametys_Gen_10", "checkbox");
657		
658		reset("Ametys_Gen_7", "file");
659		
660			var authorized_extensions_Ametys_Gen_7 = [];
661			
662			var file_Ametys_Gen_7 = $j("#Ametys_Gen_7").prop('value');
663			var file_extension_Ametys_Gen_7 = file_Ametys_Gen_7.substring(file_Ametys_Gen_7.lastIndexOf("."));
664
665			var isGood_Ametys_Gen_7 = file_extension_Ametys_Gen_7 == '' || authorized_extensions_Ametys_Gen_7.length == 0;
666			for (var i = 0; !isGood_Ametys_Gen_7 && i < authorized_extensions_Ametys_Gen_7.length; i++)
667			{
668				if (file_extension_Ametys_Gen_7.toLowerCase() == authorized_extensions_Ametys_Gen_7[i].toLowerCase())
669				{
670					isGood_Ametys_Gen_7 = true;
671				} 
672			}
673			
674			if (!isGood_Ametys_Gen_7)
675			{
676				error("Ametys_Gen_7", "file", "Le fichier joint n'est pas du type attendu (" + "".replace(/,/g, ' ').replace(/;/g, ' ').replace(/ +/g, ', ') + ")");
677			}
678		
679		reset("Ametys_Gen_4", "text");
680		
681
682		var value_Ametys_Gen_4 = $j("#Ametys_Gen_4").prop('value');
683		
684				if (value_Ametys_Gen_4 != '' && !/^(\+?\(?[0-9]{1,3}\)?([\s]?)(\(0\))?|0)([\s]?)([0-9\-\+\s]{4,})+$/.test(value_Ametys_Gen_4))
685				{
686					error("Ametys_Gen_4", "text", "Vous devez saisir un numéro de téléphone valide (par exemple +33 (0)6 00 00 00 00 ou 0600000000)");
687				}
688			
689		reset("Ametys_Gen_5", "text");
690		
691
692		var value_Ametys_Gen_5 = $j("#Ametys_Gen_5").prop('value');
693		
694				if (value_Ametys_Gen_5 != '' && !/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,})+$/.test(value_Ametys_Gen_5))
695				{
696					error("Ametys_Gen_5", "text", "Vous devez saisir une adresse email valide (par exemple [email protected])");
697				}
698			
699		reset("Ametys_Gen_6", "textarea");
700		
701		reset("Ametys_Gen_11", "text");
702		
703
704		var value_Ametys_Gen_11 = $j("#Ametys_Gen_11").prop('value');
705		
706				if (value_Ametys_Gen_11 != '')
707				{
708					if (!/^-?[0-9]+(\.[0-9]+)?$/.test(value_Ametys_Gen_11))
709					{
710						error("Ametys_Gen_11", "text", "La valeur doit être un nombre décimal");
711					}
712					else
713					{
714						
715					}
716				}
717			
718		reset("Ametys_Gen_12", "text");
719		
720
721		var value_Ametys_Gen_12 = $j("#Ametys_Gen_12").prop('value');
722		
723            reset("Ametys_Gen_m56sze1xy9t", "captcha");
724            if (!/^[a-z]{6}$/.test($j("#Ametys_Gen_m56sze1xy9t").prop('value')))
725            {
726                error("Ametys_Gen_m56sze1xy9t", "captcha", "Vous devez saisir les 6 lettres (en minuscules) que vous pouvez voir sur l'image");
727            }
728    
729                 });
730			}
731            
732            function alertNotAvailable_form_606679971508160()
733            {
734                parent.Ext.Msg.alert("Fonctionnalité indisponible",
735                                       "Il n'est pas possible d'utiliser cette fonctionnalité depuis l'environnement du CMS. Veuillez passer par le mode 'prévisualisation' ou 'version en ligne'.");
736                return false;
737            }
738		
739// --></script>
739<form id="form23099553371996473" method="post" class="table2col" enctype="multipart/form-data" action="/plugins/forms/submit.html" onsubmit=" return checkForm_form_606679971508160();"><div data-ametys-form="form"><input value="form_606679971508160" name="ametys-form-id" type="hidden" /><input value="defaultWebContent://311910ef-8406-45cc-b9ee-eb680f417b44" name="ametys-content-id" type="hidden" /><table style="width: 100%;" class="invisible"><tr class="odd first"><td>
740<div>&nbsp;</div>
741</td><td>
742<div>&nbsp;</div>
743</td></tr><tr class="even"><td style="text-align: right;vertical-align: middle;">
744<div>Nom</div>
745</td><td>
746<div><div style="width: 176px;" class="input input-text"><input id="Ametys_Gen_1" name="Nom" type="text" value="" placeholder="" style="width: 176px;" maxlength="" /></div><div class="field-end"></div></div>
747</td></tr><tr class="odd"><td style="text-align: right;vertical-align: middle;">
748<div>Pr&eacute;nom</div>
749</td><td>
750<div><div style="width: 174px;" class="input input-text"><input id="Ametys_Gen_2" name="prenom" type="text" value="" placeholder="" style="width: 174px;" maxlength="" /></div><div class="field-end"></div></div>
751</td></tr><tr class="even"><td style="text-align: right;vertical-align: middle;">
752<div style="text-align:right;"><div class="label"><label id="Ametys_Gen_8_label" for="Ametys_Gen_8">Demande de rendez-vous :</label></div></div>
753</td><td style="text-align: left;vertical-align: middle;">
754<div><div class="input input-checkbox"><input id="Ametys_Gen_8" name="checkbox1" type="checkbox" value="" /></div><div class="field-end"></div></div>
755</td></tr><tr class="odd"><td style="text-align: right;vertical-align: middle;">
756<div style="text-align:right;"><div class="label"><label id="Ametys_Gen_9_label" for="Ametys_Gen_9">Signalement :</label></div></div>
757</td><td style="text-align: left;vertical-align: middle;">
758<div style="text-align:left;"><div class="input input-checkbox"><input id="Ametys_Gen_9" name="checkbox2" type="checkbox" value="" /></div><div class="field-end"></div></div>
759</td></tr><tr class="even"><td style="text-align: right;vertical-align: middle;">
760<div><div class="label"><label id="Ametys_Gen_10_label" for="Ametys_Gen_10">D&eacute;marche administrative :</label></div></div>
761</td><td style="text-align: right;vertical-align: top;">
762<div style="text-align:left;"><div class="input input-checkbox"><input id="Ametys_Gen_10" name="checkbox3" type="checkbox" value="" /></div><div class="field-end"></div></div>
763</td></tr><tr class="odd"><td style="text-align: right;vertical-align: middle;">
764<div><div class="label"><label id="Ametys_Gen_3_label" for="Ametys_Gen_3">Objet de votre demande :</label></div></div>
765<div>&nbsp;</div>
766</td><td style="text-align: right;vertical-align: top;">
767<div style="text-align:left;"><div class="label"><label id="Ametys_Gen_3_label" for="Ametys_Gen_3"> </label></div></div>
768</td></tr><tr class="even"><td style="text-align: right;vertical-align: top;">
769<div style="text-align:right;">&nbsp;</div>
770</td><td>
771<div>&nbsp;</div>
772</td></tr><tr class="odd"><td style="text-align: right;vertical-align: top;">
773<div style="text-align:center;"><div class="label"><label id="Ametys_Gen_7_label" for="Ametys_Gen_7">Fichier joint (maximum 10 Mo)</label></div></div>
774</td><td style="text-align: left;vertical-align: top;">
775<div><div style="width: 340px;" class="input input-file"><input id="Ametys_Gen_7" name="file1" type="file" style="width: 340px;" size="40" /></div><div class="field-end"></div></div>
776</td></tr><tr class="even"><td style="text-align: right;vertical-align: middle;">
777<div><div class="label"><label id="Ametys_Gen_4_label" for="Ametys_Gen_4">T&eacute;l&eacute;phone :</label></div></div>
778</td><td>
779<div><div style="width: 131px;" class="input input-text"><input id="Ametys_Gen_4" name="text3" type="text" value="" placeholder="" style="width: 131px;" maxlength="" /></div><div class="field-end"></div></div>
780</td></tr><tr class="odd"><td style="text-align: right;vertical-align: middle;">
781<div>Adresse de courrier &eacute;lectronique<strong> :</strong></div>
782</td><td>
783<div><div style="width: 289px;" class="input input-text"><input id="Ametys_Gen_5" name="email" type="text" value="" placeholder="" style="width: 289px;" maxlength="" /></div><div class="field-end"></div></div>
784</td></tr><tr class="even"><td style="text-align: right;vertical-align: middle;">
785<div><div class="label"><label id="Ametys_Gen_6_label" for="Ametys_Gen_6">Adresse :</label></div></div>
786</td><td>
787<div>&nbsp;</div>
788<div><div style="width: 232px;" class="input input-textarea"><textarea rows="3" cols="10" style="width: 232px;height: 50px;" id="Ametys_Gen_6" name="textarea2" placeholder=""></textarea></div><div class="field-end"></div></div>
789</td></tr><tr class="odd"><td style="text-align: right;vertical-align: middle;">
790<div><div class="label"><label id="Ametys_Gen_11_label" for="Ametys_Gen_11">Code postal :</label></div></div>
791</td><td>
792<div><div style="width: 100px;" class="input input-text"><input id="Ametys_Gen_11" name="text5" type="text" value="" placeholder="" style="width: 100px;" /></div><div class="field-end"></div></div>
793</td></tr><tr class="even"><td style="text-align: right;vertical-align: middle;">
794<div style="text-align:right;"><div class="label"><label id="Ametys_Gen_12_label" for="Ametys_Gen_12">Commune :</label></div></div>
795</td><td>
796<div>&nbsp;</div>
797<div><div style="width: 100px;" class="input input-text"><input id="Ametys_Gen_12" name="text6" type="text" value="" placeholder="" style="width: 100px;" maxlength="" /></div><div class="field-end"></div></div>
798<div>&nbsp;</div>
799</td></tr><tr class="odd"><td style="text-align: right;vertical-align: top;">
800<div><div class="label"><label id="Ametys_Gen_m56sze1xy9t_label" for="Ametys_Gen_m56sze1xy9t">Captcha :<span class="mandatory-marker">*</span></label></div></div>
801</td><td>
802<div><div style="width: 450px" class="input"><input id="Ametys_Gen_m56sze1xy9t-key" name="defaultWebContent://311910ef-8406-45cc-b9ee-eb680f417b44%20form_606679971508160%20Ametys_Gen_m56sze1xy9t-key" type="hidden" /><input class="" style="float: left; width: 450px;" id="Ametys_Gen_m56sze1xy9t" maxlength="6" name="defaultWebContent://311910ef-8406-45cc-b9ee-eb680f417b44%20form_606679971508160%20Ametys_Gen_m56sze1xy9t" type="text" /><div class="captcha"><img id="id026336948103308" src="" class="" style="float: left; margin: 3px 0px 3px 10px; min-width: 100px; width: 408px; height: 95px;" alt="" /><button onclick="refresh_captcha_030494156568303676(this, false); return false;" class="captcha-refresh-btn" title="Cliquez ici pour rafra&icirc;chir l&#039;image de v&eacute;rification" type="button"><span>Rafraichir l&#039;image</span></button><div class="captcha-end"></div></div>
802<script type="text/javascript"><!--
803     
804            function refresh_captcha_030494156568303676(focusNow)
805            {
806                var newId = "DYNAMIC-" + new Date().getTime() + (''+Math.random()).replace(/\./g, '');
807            
808                var oldId = document.getElementById("Ametys_Gen_m56sze1xy9t-key").value;
809                document.getElementById("Ametys_Gen_m56sze1xy9t-key").value = newId;
810                document.getElementById("Ametys_Gen_m56sze1xy9t").value = "";
811                document.getElementById("id026336948103308").src = "/plugins/cms/captcha/core-impl/jcaptcha/" + newId + "/image.png?cancelledKey=" + oldId + "&width=200" + "&height=50" + "&color=#000000";
812                
813                if (focusNow == true)
814                {
815                    try
816                    {
817                        document.getElementById("Ametys_Gen_m56sze1xy9t").focus();
818                    }
819                    catch(e)
820                    {
821                    }
822                } 
823            }
824        
825// --></script>
825<!--Those 2 scripts are separated to ensure write is done and flushed before the getElementId occures-->
825<script type="text/javascript"><!--
826refresh_captcha_030494156568303676(false);
827        
828// --></script>
828</div><div class="field-end"></div></div>
829</td></tr><tr class="even last"><td colspan="2" style="text-align: center;vertical-align: top;"><br />
830<div><div class="button" id="Ametys_Gen_13-wrapper"><span class="art-button-wrapper"><span class="art-button-l"></span><span class="art-button-r"></span><input type="submit" class="art-button" value="Valider" name="submit1" id="Ametys_Gen_13" style="width: 100px;" title="" /></span></div></div>
831</td></tr></table></div></form>
831<script><!--
832
833            computeFormCost($j("#form23099553371996473 > *")[0]); // Do it now to avoid blinking if the page is long to load
834            $j(document).ready(function () {
835                computeFormCost($j("#form23099553371996473 > *")[0]); // Do it on load to handle 'back' brwoser after submit
836            });
837        
838// --></script>
838<p>&nbsp;</p><div class="content-richtext-end"><!--empty--></div></div></div></div></div></div></div><div class="row"><div class="col-md-12"><div data-ametys-zone="zone-1" id="ametys-cms-zone-zone-1"></div></div></div><div class="row"><div class="col-md-4"><div data-ametys-zone="zone-2" id="ametys-cms-zone-zone-2"></div></div><div class="col-md-4"><div data-ametys-zone="zone-3" id="ametys-cms-zone-zone-3"></div></div><div class="col-md-4"><div data-ametys-zone="zone-4" id="ametys-cms-zone-zone-4"></div></div></div></div><footer class="footer modern-large-3"><div class="container hidden-print"><div class="row"><div style="border-right:solid 1px rgba(255,255,255,0.3)" class="col-md-5 container footer-identite"><div class="row"><div class="col-md-4 footerlogo"></div><div class="col-md-8"><ul class="adresse-bottom"><li class="adresse1"><strong>Mairie de Grazac</strong></li><li class="adresse2"></li><li class="adresse3">31190 GRAZAC</li><li class="tel">T&eacute;l : 05.61.08.42.39</li><li class="fax"></li><li class="mail">[email protected]</li></ul></div></div></div><div class="col-md-7"><div class="row"><div class="col-md-5 footer-sitemap"><ul><li class="rubrique"><a href="/fr/bienvenue.html">Bienvenue</a></li><li class="rubrique"><a href="/fr/vie-municipale.html">Vie municipale</a></li><li class="rubrique"><a href="/fr/vie-locale.html">Vie locale</a></li><li class="rubrique"><a href="/fr/vie-pratique.html">Vie pratique</a></li><li class="rubrique"><a href="/fr/jeunesse.html">Jeunesse</a></li><li class="rubrique"><a href="/fr/urbanisme.html">Urbanisme</a></li></ul></div><div class="col-md-7"></div></div></div></div></div><hr style="border-style:solid;border-color:rgba(255,255,255,0.3);border-width:1px none none;margin-bottom:0px;" /><div class="container hidden-print"><div class="row"><div class="col-md-1"><a href="/_plugins/web/grazac/fr/filter/events/rss.xml" class="rss-icon"><img alt="Flux RSS des actualit&eacute;s" title="Flux RSS des actualit&eacute;s" src="/skins/grazac-site-modele-3/resources/img/rssicon.png" /></a></div><div class="col-md-10 liens-bas-de-page"><ul class="list-inline"><li class="first"><a href="/fr/formulaire-de-contact-mairie-de-grazac.html">Formulaire de contact mairie de Grazac</a>&nbsp;-&nbsp;</li><li><a href="/fr/mentions-legales.html">Mentions l&eacute;gales</a>&nbsp;-&nbsp;</li><li class="last"><a href="/fr/accessibilite-non-conforme.html">Accessibilit&eacute; : non conforme</a></li></ul></div></div></div><hr style="border-style:solid;border-color:rgba(255,255,255,0.3);border-width:1px none none;margin-bottom:0px;" /><div class="container hidden-print"><div class="row"><div class="col-md-12 realisation logo-bdp-blanc"><p>Site r&eacute;alis&eacute; dans le cadre du programme D&eacute;SID&eacute;31</p><a href="https://www.atd31.fr" class="logo-hgi-atd"><img alt="Logos HGI-ATD et CD31" title="Logos HGI-ATD et CD31" src="/skins/grazac-site-modele-3/resources/img/hgi-cd31-logo-blanc.png" /></a></div></div></div></footer></div></body></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.