Une erreur s'est produite en traitant le modèle.
The following has evaluated to null or missing:
==> MonBulletinActualis  [in template "20099#20136#1323725" at line 371, column 14]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if MonBulletinActualis.data != ""  [in template "20099#20136#1323725" at line 371, column 9]
----
1<#if locale == "fr_CA" > 
2    <#assign CoordoneesTexte = "Coordonnées" > 
3    <#assign siteConseillerTexte = "Site web du conseiller" > 
4    <#assign inscriptionActualisTexte = "S'inscrire à mon bulletin Actualis" > 
5    <#assign siteActualisTexte = "Bulletin Actualis" > 
6    <#assign mediasSociauxTexte = "Suivez-moi"> 
7    <#assign boutonVcard = "Télécharger l’information en tant que vCard " > 
8<#else> 
9    <#assign CoordoneesTexte = "Contact information" > 
10    <#assign siteConseillerTexte = "Advisor website" > 
11    <#assign inscriptionActualisTexte = "Subcribe to Actualis newsletter" > 
12    <#assign siteActualisTexte = "Actualis newsletter" > 
13    <#assign mediasSociauxTexte = "Follow me" > 
14    <#assign boutonVcard = "Download information as a vCard " > 
15</#if> 
16 
17<script type="text/javascript"> 
18 
19(function(context) { 
20    var version = { 
21        "TWO": "2.1", 
22        "THREE": "3.0", 
23        "FOUR": "4.0" 
24
25 
26    var vCard = { 
27        Version: version, 
28        Entry: { 
29            "ADDRESS": {"version": [version.TWO, version.THREE, version.FOUR], "key": "ADR", "format": ";;{0};{2};{4};{1};{3}", "@comment": "usage: addAdr(street, code, city, country, state)"}, 
30            "AGENT": {"version": [version.TWO, version.THREE], "key": "AGENT"}, 
31            "ANNIVERSARY": {"version": [version.FOUR], "key": "ANNIVERSARY"}, 
32            "BIRTHDAY": {"version": [version.TWO, version.THREE, version.FOUR], "key": "BDAY"}, 
33            "CALENDARADDURI": {"version": [version.FOUR], "key": "CALADRURI"}, 
34            "CALENDARURI": {"version": [version.FOUR], "key": "CALURI"}, 
35            "CATEGORIES": {"version": [version.TWO, version.THREE, version.FOUR], "key": "CATEGORIES"}, 
36            "CLASS": {"version": [version.THREE], "key": "CLASS"}, 
37            "CLIENTPIDMAP": {"version": [version.FOUR], "key": "CLIENTPIDMAP"}, 
38            "EMAIL": {"version": [version.TWO, version.THREE, version.FOUR], "key": "EMAIL"}, 
39            "FBURL": {"version": [version.FOUR], "key": "FBURL"}, 
40            "FORMATTEDNAME": {"version": [version.TWO, version.THREE, version.FOUR], "key": "FN"}, 
41            "GENDER": {"version": [version.FOUR], "key": "GENDER"}, 
42            "GEO": {"version": [version.TWO, version.THREE, version.FOUR], "key": "GEO"}, // FIXME two differents formats 
43            "IMPP": {"version": [version.THREE, version.FOUR], "key": "IMPP"}, 
44            // TODO: KEY 
45            "KIND": {"version": [version.FOUR], "key": "KIND"}, 
46            "LABEL": {"version": [version.TWO, version.THREE], "key": "LABEL"}, 
47            // TODO: LOGO 
48            "MAILER": {"version": [version.TWO, version.THREE], "key": "MAILER"}, 
49            "MEMBER": {"version": [version.FOUR], "key": "MEMBER"}, 
50            "NAME": {"version": [version.TWO, version.THREE, version.FOUR], "key": "N", "format": "{1};{0};;{2}", "@comment": "usage: addName(firstname, lastname, title)"}, 
51            "NICKNAME": {"version": [version.THREE, version.FOUR], "key": "NICKNAME"}, 
52            "NOTE": {"version": [version.TWO, version.THREE, version.FOUR], "key": "NOTE"}, 
53            "ORGANIZATION": {"version": [version.TWO, version.THREE, version.FOUR], "key": "ORG"}, 
54            // TODO: PHOTO 
55            "PRODID": {"version": [version.THREE, version.FOUR], "key": "PRODID"}, 
56            "PROFILE": {"version": [version.TWO, version.THREE], "key": "PROFILE"}, 
57            "RELATED": {"version": [version.FOUR], "key": "RELATED"}, 
58            "REVISION": {"version": [version.TWO, version.THREE, version.FOUR], "key": "REV"}, 
59            "ROLE": {"version": [version.TWO, version.THREE, version.FOUR], "key": "ROLE"}, 
60            "SORTSTRING": {"version": [version.TWO, version.THREE, version.FOUR], "key": "SORT-STRING"}, 
61            // TODO: SOUND 
62            "SOURCE": {"version": [version.TWO, version.THREE, version.FOUR], "key": "SOURCE"}, 
63            "PHONE": {"version": [version.TWO, version.THREE, version.FOUR], "key": "TEL"}, 
64            "TITLE": {"version": [version.TWO, version.THREE, version.FOUR], "key": "TITLE"}, 
65            "TIMEZONE": {"version": [version.TWO, version.THREE, version.FOUR], "key": "TZ"}, // FIXME: two differents formats 
66            "UID": {"version": [version.TWO, version.THREE, version.FOUR], "key": "UID"}, 
67            "URL": {"version": [version.TWO, version.THREE, version.FOUR], "key": "URL"}, 
68            "XML": {"version": [version.FOUR], "key": "XML"} 
69        }, 
70        Type: { 
71            "HOME": "HOME", 
72            "WORK": "WORK", 
73            "CELL": "CELL", 
74            "MAIN": "MAIN", 
75            "OTHER":"OTHER" 
76        }, 
77        create: function(version) { 
78            for(var key in this.Version) { 
79                if(this.Version[key] === version) 
80                    return new Card(version) 
81
82            throw new Error("Unknown vCard version") 
83        }, 
84        dump: function(card) { 
85            var str = "BEGIN:VCARD\n" 
86 
87            for(var key in card) { 
88                var entry = card[key] 
89 
90                if(typeof entry === "function") 
91                    continue 
92 
93                if(Object.prototype.toString.call(entry) === "[object Array]") { 
94                    for(var i = 0, l = entry.length; i < l; i++) { 
95                        var e = entry[i] 
96                        str += key.toUpperCase() + (e.type ? ";TYPE=" + e.type.toUpperCase() + ":" : ":") + e.value + "\n" 
97
98                } else if(typeof entry === "object") { 
99                    str += key.toUpperCase() + (entry.type ? ";TYPE=" + entry.type.toUpperCase() + ":" : ":") + entry.value + "\n" 
100                } else { 
101                    str += key.toUpperCase() + ":" + entry + "\n" 
102
103
104 
105            str += "END:VCARD" 
106 
107            return str 
108        }, 
109        export: function(card, name, force) { 
110            var a = document.createElement('li'); 
111            var b = document.createElement('a'); 
112            b.download = name + ".vcf"; 
113            b.textContent = '${boutonVcard}'; 
114 
115 
116            if(Blob) { 
117                var blob = new Blob([this.dump(card)], {"type": "text/vcard"}); 
118                b.href = URL.createObjectURL(blob) 
119            } else { 
120                b.href = "data:text/vcard;base64," + this.btoa(this.dump(card)); 
121
122 
123            force && a.click() 
124 
125            a.append(b); 
126 
127            return a; 
128        }, 
129        btoa: function(str) { 
130            str = unescape(encodeURIComponent(str)) 
131 
132            if(!btoa) { 
133                var b64c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 
134 
135                var i, res = "", length = str.length; 
136                for (i = 0; i < length - 2; i += 3) { 
137                    res += b64c[str.charCodeAt(i) >>> 2]; 
138                    res += b64c[((str.charCodeAt(i) & 3) << 4) | (str.charCodeAt(i + 1) >>> 4)]; 
139                    res += b64c[((str.charCodeAt(i + 1) & 15) << 2) | (str.charCodeAt(i + 2) >>> 6)]; 
140                    res += b64c[str.charCodeAt(i + 2) & 63]; 
141
142 
143                if (length % 3 === 2) { 
144                    res += b64c[str.charCodeAt(i) >>> 2]; 
145                    res += b64c[((str.charCodeAt(i) & 3) << 4) | (str.charCodeAt(i + 1) >>> 4)]; 
146                    res += b64c[((str.charCodeAt(i + 1) & 15) << 2)]; 
147                    res += "="; 
148                } else if (length % 3 === 1) { 
149                    res += b64c[str.charCodeAt(i) >>> 2]; 
150                    res += b64c[((str.charCodeAt(i) & 3) << 4)]; 
151                    res += "=="; 
152
153 
154                return res; 
155            } else { 
156                return btoa(str) 
157
158
159
160 
161    var Card = function(version) { 
162        this.version = version 
163 
164        for(var key in vCard.Entry) { 
165            var property = vCard.Entry[key] 
166 
167            if(!property.version || property.version.indexOf(version) < 0) 
168                continue 
169 
170            var fn = "add" + key[0].toUpperCase() + key.slice(1).toLowerCase() 
171 
172            Card.prototype[fn] = (function(key, format) { 
173                return (function() { 
174                    var args = Array.prototype.slice.call(arguments) 
175                    var lastArg = args.length > 0 ? args[args.length - 1] : undefined 
176 
177                    var model = vCard.Type.hasOwnProperty(lastArg) ? args.slice(0, args.length - 1) : args 
178                    var value = format && format.replace(/\{([0-9]*)\}/g, function(match, parameter) { 
179                        return model[parseInt(parameter)] || '' 
180                    }) || model[0] 
181 
182                    this.add(key, value, vCard.Type.hasOwnProperty(lastArg) && lastArg) 
183                }) 
184            })(property.key, property.format) 
185
186 
187        this.add = function(entry, value, type) { 
188            var key = (typeof entry === "object" && entry.key) ? entry.key : entry 
189 
190            !this[key] && (this[key] = []) 
191            var e = {"value": value} 
192            type && (e.type = type) 
193 
194            this[key].push(e) 
195
196
197 
198    context.vCard = vCard 
199})(this) 
200 
201 
202        </script> 
203 
204 
205 
206<div class="advisor-content"> 
207    <#if (biblioDoc.getData())!?has_content > 
208        <div id="advisorPicturePlaceholder" class="container"> 
209            <img src="${biblioDoc.getData()}" alt="${NomRepresentant.getData()!}" class="img-responsive"> 
210        </div> 
211    </#if> 
212    <div class="advisor-body"> 
213        <h1 class="advisor-title">${NomRepresentant.getData()!}</h1> 
214 
215        <div class="advisor-professional-title"> 
216            ${Intro.getData()!} 
217        </div> 
218        <div id="advisorContentPlaceHolder"></div> 
219        <div class="advisor-biography"> 
220            ${Biographie.getData()!} 
221        </div> 
222 
223        <#if (Titre.getSiblings()[0].data)!?has_content > 
224            <div class="panel-group" role="tablist" aria-multiselectable="true"> 
225                <#assign portletDisplay = themeDisplay.getPortletDisplay() /> 
226                <#assign portletInstanceId = portletDisplay.instanceId /> 
227 
228                <#assign headingID = "heading${portletInstanceId}" > 
229                <#assign contentID = "content${portletInstanceId}" > 
230 
231                <#list Titre.getSiblings() as cur_Titre > 
232                    <#assign curIndex = cur_Titre_index > 
233                    <#assign panelStateClass = '' > 
234                    <#assign ariaExpand = 'false' > 
235                    <#if cur_Titre.getChild('Ouvert').getData() == 'true' > 
236                        <#assign panelStateClass = 'in' > 
237                        <#assign ariaExpand = 'true' > 
238                    </#if> 
239                    <div class="panel panel-tiroir"> 
240                        <div class="panel-heading collapsed" role="tab" id="${headingID}${curIndex}"> 
241                            <h2 class="panel-title"> 
242                                <a 
243                                    class="collapsed" 
244                                    role="button" 
245                                    data-toggle="collapse" 
246                                    href="#${contentID}${curIndex}" 
247                                    aria-expanded="${ariaExpand}" 
248                                    aria-controls="${contentID}${curIndex}"> 
249                                    ${cur_Titre.getData()} 
250                                </a> 
251                            </h2> 
252                        </div> 
253                        <div 
254                            id="${contentID}${curIndex}" 
255                            class="panel-collapse collapse ${panelStateClass}" 
256                            role="tabpanel" 
257                            aria-labelledby="${headingID}${curIndex}"> 
258                            <div class="panel-body"> 
259                                ${cur_Titre.getChild('Contenu_panneau').getData()} 
260                            </div> 
261                        </div> 
262                    </div> 
263                </#list> 
264            </div> 
265        </#if> 
266 <#assign hasCoordonneesSiblings=false> 
267        <#if Coordonnees?has_content> 
268            <#if Coordonnees.getSiblings()[0].data?has_content> 
269                 <#assign hasCoordonneesSiblings=true> 
270            </#if> 
271        </#if> 
272        <#assign infoCommSiblings=false> 
273        <#if infoComm?has_content> 
274            <#if infoComm.getSiblings()[0].data?has_content> 
275                 <#assign infoCommSiblings=true> 
276            </#if> 
277        </#if> 
278         <#assign courrielHasData=false> 
279        <#if Courriel?has_content> 
280            <#if Courriel.data?has_content> 
281                 <#assign courrielHasData=true> 
282            </#if> 
283        </#if> 
284 
285        <#if hasCoordonneesSiblings || infoCommSiblings || courrielHasData > 
286            <div id="CoordinatesPanel" class="panel-group" role="tablist" aria-multiselectable="true"> 
287                <div class="panel panel-tiroir"> 
288                    <div class="panel-heading collapsed" role="tab" id="CoordonneesTab"> 
289                        <h2 class="panel-title"> 
290                            <a 
291                                class="collapsed" 
292                                role="button" 
293                                data-toggle="collapse" 
294                                href="#CoordonneesPanel" 
295                                aria-expanded="false" 
296                                aria-controls="CoordonneesPanel"> 
297                                ${CoordoneesTexte} 
298                            </a> 
299                        </h2> 
300                    </div> 
301 
302                    <div 
303                        id="CoordonneesPanel" 
304                        class="panel-collapse collapse" 
305                        role="tabpanel" 
306                        aria-labelledby="CoordonneesTab"> 
307                        <div class="panel-body"> 
308                            ${Coordonnees.data!} 
309 
310                            <#if (Rep_epargne_collective.data)!?has_content > 
311                            <div class="finCenterAddress"> 
312                                <span id="finCenterContentPlaceHolder"> 
313                                </span> 
314                            </div> 
315                            </#if> 
316 
317                            <#if (infoComm.getSiblings()[0].data)!?has_content > 
318 
319                                <#list infoComm.getSiblings() as cur_infoComm > 
320                                    <span class="label-phone">${cur_infoComm.getData()}</span> 
321                                    <span class="phone-number">${cur_infoComm.getChild('Numero').getData()}</span><br> 
322                                </#list> 
323                            </#if> 
324 
325 
326                            <#if (Courriel.data)!?has_content > 
327                                <a href="mailto:${Courriel.getData()}">${Courriel.getData()}</a> 
328                            </#if> 
329                        </div> 
330                    </div> 
331                </div> 
332            </div> 
333        </#if> 
334 
335        <#if (Note_de_bas_de_page.data)!?has_content > 
336            <div class="panel panel-tiroir note note-primary"> 
337                <div class="panel-heading collapsed"> 
338                    <h2 class="panel-title"> 
339                        <a class="collapsed" href="#noteBasPageConseiller" data-toggle="collapse" role="button" aria-expanded="false" aria-controls="noteBasPageConseiller">Notes</a> 
340                    </h2> 
341                </div> 
342 
343                <div id="noteBasPageConseiller" class="panel-collapse collapse"> 
344                    <div class="note-bas-page"> 
345                        <#list Note_de_bas_de_page.getSiblings() as cur_Note_de_bas_de_page > 
346                            ${cur_Note_de_bas_de_page.getData()} 
347                        </#list> 
348                    </div> 
349                </div> 
350            </div> 
351        </#if> 
352    </div> 
353</div> 
354 
355 
356<div id="advisorOtherLinks" style="display:none"> 
357    <ul class="list-unstyled "> 
358 
359        <#if (SiteWeb.getData())!?has_content > 
360            <li> 
361                <a href="${SiteWeb.getData()!}" target="_blank">${siteConseillerTexte}</a> 
362            </li> 
363        </#if> 
364 
365        <#if (InscriptionBulletinActualis.getData())!?has_content > 
366            <li> 
367                <a href="${InscriptionBulletinActualis.getData()!}" target="_blank">${inscriptionActualisTexte}</a> 
368            </li> 
369        </#if> 
370 
371        <#if MonBulletinActualis.data != "" > 
372            <li> 
373                <a href="${MonBulletinActualis.getData()!}" target="_blank">${siteActualisTexte!}</a> 
374            </li> 
375        </#if> 
376 <#if (LienAdditionnel)!?has_content > 
377        <#if (LienAdditionnel.getSiblings()!)?has_content > 
378            <#list LienAdditionnel.getSiblings() as cur_LienAdditionnel > 
379                <#if cur_LienAdditionnel.UrlLienAdditionnel.getData() != "" > 
380                    <li> 
381                        <#if cur_LienAdditionnel.TexteAide.getData() != "" > 
382                            <a href="${cur_LienAdditionnel.UrlLienAdditionnel.getData()!}" data-trigger="hover focus" 
383                                data-placement="bottom" data-toggle="tooltip" role="button" data-content="${cur_LienAdditionnel.TexteAide.getData()}" 
384                                target="_blank" data-original-title="" title="">${cur_LienAdditionnel.getData()} 
385                            </a> 
386                        <#else> 
387                            <a href="${cur_LienAdditionnel.UrlLienAdditionnel.getData()!}" target="_blank">${cur_LienAdditionnel.getData()}</a> 
388                        </#if> 
389                    </li> 
390                </#if> 
391            </#list> 
392        </#if> 
393</#if> 
394    </ul> 
395</div> 
396<div id="advisorMediasLinks" style="display:none"> 
397    <ul class="list-unstyled "> 
398        <#if (Facebook.getData())!?has_content || (LinkedIn.getData())!?has_content || (Twitter.getData())!?has_content > 
399 
400            <li class="liste-suivre-medias-sociaux"><span class="liste-suivre-medias-sociaux-texte">${mediasSociauxTexte}</span> 
401                <ul class="list-unstyled list-inline"> 
402                    <#if (Facebook.getData())!?has_content > 
403                        <li> 
404                            <a href="${Facebook.getData()!}" class="facebook btn-media-sociaux" target="_blank"> 
405                                <span class="sr-only">Facebook</span> 
406                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="32" width="32" aria-hidden="true" focusable="false"> 
407                                    <path d="M288 176v-64c0-17.664 14.336-32 32-32h32V0h-64c-53.024 0-96 42.976-96 96v80h-64v80h64v256h96V256h64l32-80h-96z"/> 
408                                </svg> 
409                            </a> 
410                        </li> 
411                    </#if> 
412                    <#if (LinkedIn.getData())!?has_content > 
413                        <li> 
414                            <a href="${LinkedIn.getData()!}" class="linkedin btn-media-sociaux" target="_blank"> 
415                            <span class="sr-only">LinkedIn</span> 
416                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="32" width="32" aria-hidden="true" focusable="false"> 
417                                    <path d="M0 160h114.496v352H0zM426.368 164.128c-1.216-.384-2.368-.8-3.648-1.152a74.218 74.218 0 0 0-4.64-.896c-6.08-1.216-12.736-2.08-20.544-2.08-66.752 0-109.088 48.544-123.04 67.296V160H160v352h114.496V320s86.528-120.512 123.04-32v224H512V274.464c0-53.184-36.448-97.504-85.632-110.336z"/> 
418                                    <circle cx="56" cy="56" r="56"/> 
419                                </svg> 
420                            </a> 
421                        </li> 
422                    </#if> 
423                    <#if (Twitter.getData())!?has_content > 
424                        <li> 
425                            <a href="${Twitter.getData()!}" class="twitter btn-media-sociaux" target="_blank"> 
426                            <span class="sr-only">Twitter</span> 
427                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="32" width="32" aria-hidden="true" focusable="false"> 
428                                    <path d="M512 97.248c-19.04 8.352-39.328 13.888-60.48 16.576 21.76-12.992 38.368-33.408 46.176-58.016-20.288 12.096-42.688 20.64-66.56 25.408C411.872 60.704 384.416 48 354.464 48c-58.112 0-104.896 47.168-104.896 104.992 0 8.32.704 16.32 2.432 23.936-87.264-4.256-164.48-46.08-216.352-109.792-9.056 15.712-14.368 33.696-14.368 53.056 0 36.352 18.72 68.576 46.624 87.232-16.864-.32-33.408-5.216-47.424-12.928v1.152c0 51.008 36.384 93.376 84.096 103.136-8.544 2.336-17.856 3.456-27.52 3.456-6.72 0-13.504-.384-19.872-1.792 13.6 41.568 52.192 72.128 98.08 73.12-35.712 27.936-81.056 44.768-130.144 44.768-8.608 0-16.864-.384-25.12-1.44C46.496 446.88 101.6 464 161.024 464c193.152 0 298.752-160 298.752-298.688 0-4.64-.16-9.12-.384-13.568 20.832-14.784 38.336-33.248 52.608-54.496z"/> 
429                                </svg> 
430                            </a> 
431                        </li> 
432                    </#if> 
433                </ul> 
434            </li> 
435        </#if> 
436    </ul> 
437</div> 
438 
439<#if (Rep_epargne_collective.data)!?has_content > 
440    <span class="advisorEpargnePlaceHolder"></span> 
441</#if> 
442<#if (Rep_epargne_collective.data)!?has_content > 
443<span class="advisorEpargnePlaceHolder"></span> 
444</#if> 
445 
446<script> 
447 
448    var phoneRes = window.matchMedia("(max-width: 767px)"); 
449 
450    function moveAdvisorOtherLinksContent() { 
451        const linkList = document.querySelectorAll("#advisorOtherLinks > ul > li"); 
452        const linkListTarget = document.querySelector("#advisor-links > ul"); 
453 
454        for (i = 0; i < linkList.length; i++) { 
455            linkListTarget.appendChild(linkList[i]); 
456
457 
458        const sectionLinkList = document.querySelector('#advisorOtherLinks'); 
459        sectionLinkList 
460            .parentNode 
461            .removeChild(sectionLinkList); 
462
463 
464    function moveAdvisorMediasLinksContent() { 
465        const linkList = document.querySelectorAll("#advisorMediasLinks > ul > li"); 
466        const linkListTarget = document.querySelector("#advisor-medias > ul"); 
467 
468        for (i = 0; i < linkList.length; i++) { 
469            linkListTarget.appendChild(linkList[i]); 
470
471 
472        const sectionLinkList = document.querySelector('#advisorMediasLinks'); 
473        sectionLinkList 
474            .parentNode 
475            .removeChild(sectionLinkList); 
476
477 
478    function moveAdvisorPhoneContent() { 
479 
480        const divTargetPlaceHolder = document.getElementById("column-2"); 
481        const divTarget = document.getElementById("advisorContentPlaceHolder"); 
482        const divSource = document.getElementById("advisorLocalisation"); 
483 
484        if (phoneRes.matches) { // If media query matches 
485            divTarget.appendChild(divSource) 
486        } else { 
487            if (divSource.parentElement.id == "advisorContentPlaceHolder") { 
488                divTargetPlaceHolder.appendChild(divSource) 
489
490
491
492 
493    function moveCoordinatesPanel() { 
494 
495        const divTargetPlaceHolder = document.getElementById("CoordinatesPanelPlaceHolder"); 
496        const divSource = document.getElementById("CoordinatesPanel"); 
497 
498        if (divTargetPlaceHolder) { 
499            divTargetPlaceHolder.appendChild(divSource); 
500
501
502 
503    function moveFcCoordinates() { 
504 
505        var finCenterAddress = document.getElementById("finCenterAddress"); 
506 
507        if (finCenterAddress != null) 
508            finCenterAddress.classList.add("hide"); 
509 
510        /** 
511        /* Si le conseiller n'est pas Représentant en épargne collective 
512        /* On retire le second logo 
513        **/ 
514        if (document.getElementsByClassName("advisorEpargnePlaceHolder").length != 2){ 
515            document.querySelectorAll(".logos .logo")[1].style.display = "none"; 
516
517
518 
519    function moveProfilPicture() { 
520 
521        const divTarget = document.querySelector("#pageConseiller > .banner"); 
522        const divSource = document.getElementById("advisorPicturePlaceholder"); 
523        if(divSource){ 
524            divTarget.appendChild(divSource); 
525
526
527 
528    function setVcardInfo(event) { 
529 
530        if (document.getElementById("phoneNumber") != null) { 
531            var name = "${NomRepresentant.getData()!}"; 
532 
533            // Without helper methods 
534            var infoAdvisor = vCard.create(vCard.Version.FOUR) 
535            infoAdvisor.add(vCard.Entry.NAME, '${NomRepresentant.getData()!};;') 
536            infoAdvisor.add(vCard.Entry.FORMATTEDNAME, "${NomRepresentant.getData()!}"); 
537            infoAdvisor.add(vCard.Entry.PHONE, document.getElementsByClassName("phone-number")[0].textContent, vCard.Type.CELL); 
538            infoAdvisor.add(vCard.Entry.EMAIL, document.getElementById("repEmail").dataset.email, vCard.Type.WORK); 
539            infoAdvisor.add(vCard.Entry.ADDRESS, ";;" + document.getElementById("finCenterAddress").textContent, vCard.Type.HOME); 
540            infoAdvisor.add(vCard.Entry.URL, "${SiteWeb.getData()!}"); 
541            var link = vCard.export(infoAdvisor, "${NomRepresentant.getData()!}", false); // use parameter true to force download 
542        document.getElementById("phoneNumber").insertAdjacentElement("afterend", link); 
543
544
545 
546    var advisorInit = function() { 
547        moveAdvisorOtherLinksContent(); 
548        moveAdvisorMediasLinksContent(); 
549        moveAdvisorPhoneContent(); 
550        moveCoordinatesPanel(); 
551        moveFcCoordinates(); 
552        moveProfilPicture(); 
553        setVcardInfo(event); 
554
555 
556    phoneRes.addListener(moveAdvisorPhoneContent); // Attach listener function on state changes 
557 
558    AUI().ready(function (A) { 
559        advisorInit(); 
560    }); 
561</script>