¡Cae la noche en San Juan de Gaztelugatxe bajo la mirada de Itziar Ituño!
Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing:
==> getFileEntry(documento4,groupIdAsLong)  [in template "1369164#1369202#1381196" at line 664, column 94]

----
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: #assign fileEntry = getFileEntry(docu...  [in template "1369164#1369202#1381196" at line 664, column 73]
----
1<#-- SERVICIOS --> 
2<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
3 
4<#assign searcher = serviceLocator.findService("net.iytu.bizkaia.turismo.filterservices.service.BizkaiaTurismoFilterService")>  
5 
6<#assign ddmTemplateLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMTemplateLocalService")> 
7 
8<#assign dynamicQueryFactoryUtil = serviceLocator.findService("com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil")> 
9<#assign propertyFactoryUtil = staticUtil["com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil"]> 
10 
11<#assign urlEncoder = staticUtil["java.net.URLEncoder"]> 
12 
13<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
14 
15<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") > 
16 
17<#assign textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]> 
18 
19<#assign assetCategoryPropertyLocalService  = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService")> 
20 
21<#-- servicios related asset subhome --> 
22<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
23 
24<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
25<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")> 
26 
27 
28<#-- VARIABLES --> 
29<#assign articleId = .vars['reserved-article-id'].data > 
30<#if request?has_content> 
31	<#assign portletNamespace = request['theme-display']['portlet-display']['id'] + '_' > 
32	<#--  <#assign completeCurrentUrl = urlEncoder.encode((request["attributes"]["CURRENT_COMPLETE_URL"])?string?split("?")[0]?string, "UTF-8")>  --> 
33	<#assign completeCurrentUrl = urlEncoder.encode((themeDisplay.getPortalURL()+themeDisplay.getURLCurrent())?string?split("?")[0]?string, "UTF-8")> 
34<#else> 
35    <#assign portletNamespace = articleId + '_'> 
36    <#assign completeCurrentUrl = themeDisplay.getPortalURL()> 
37</#if> 
38 
39<#assign articleTitle = .vars['reserved-article-title'].data > 
40 
41<#assign encodedTitle = urlEncoder.encode(articleTitle, "UTF-8")> 
42 
43<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
44<#assign languageId = themeDisplay.getLanguageId() > 
45<#assign layout = themeDisplay.getLayout() /> 
46 
47<#assign vocabularyCategories = themeDisplay.getThemeSetting("vocabulary-id") > 
48 
49<#-- obtener subhome enlazada como related assets --> 
50<#assign journalArticleClassName = "com.liferay.journal.model.JournalArticle"> 
51 
52<#assign introSubhomeStructureId = themeDisplay.getThemeSetting("structure-introsubhome-id") > 
53 
54<#assign reportajeArticle = journalArticleLocalService.getArticle(groupId, articleId) > 
55<#assign reportajeEntry = assetEntryLocalService.getEntry(journalArticleClassName, reportajeArticle.getResourcePrimKey()) > 
56 
57<#-- recoger título, entradilla y color del contenido subhome relacionado--> 
58<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(introSubhomeStructureId), reportajeEntry.getEntryId(), "publishDate", "ASC")> 
59<#assign subhomeEntries = assetEntryLocalService.getEntries(assetEntryQuery)> 
60 
61<#assign colorSubhome ="#00e78d"> 
62<#assign tituloSubhome = ""> 
63<#assign entradillaSubhome =""> 
64 
65<#if 1 == subhomeEntries?size> 
66	<#list subhomeEntries as e> 
67		<#assign journalArticleResource = journalArticleResourceLocalService.fetchJournalArticleResource(getterUtil.getLong(e.getClassPK())) > 
68		<#assign renderer = e.getAssetRenderer()> 
69		<#assign subhomeArticle = renderer.getArticle() > 
70		<#assign document = saxReaderUtil.read(subhomeArticle.getContentByLocale(locale)) > 
71		<#assign rootElement = document.getRootElement() > 
72		<#assign tituloSubhome = saxReaderUtil.createXPath("dynamic-element[@name='titulo']/dynamic-content").selectSingleNode(rootElement).getStringValue() > 
73		<#assign entradillaSubhome = saxReaderUtil.createXPath("dynamic-element[@name='entradilla']/dynamic-content").selectSingleNode(rootElement).getStringValue()  > 
74		<#assign colorSubhome = saxReaderUtil.createXPath("dynamic-element[@name='color']/dynamic-content").selectSingleNode(rootElement).getStringValue() > 
75	</#list> 
76</#if> 
77 
78<#-- recoger eventos relacionados--> 
79<#assign eventStructureId = themeDisplay.getThemeSetting("structure-event-id") > 
80 
81<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(eventStructureId), "0", "publishDate", "ASC")> 
82<#assign eventEntries = assetEntryLocalService.getEntries(assetEntryQuery)> 
83 
84<#if searcher?exists> 
85    <#assign eventFinalEntries = searcher.getDestacadoEventoByLocale(eventEntries, locale)> 
86    <!-- eventFinalEntries?size = ${eventFinalEntries?size} --> 
87<#else> 
88    <#assign eventFinalEntries = ""> 
89    <!-- no hay eventFinalEntries --> 
90</#if> 
91 
92<#-- recoger descuentos relacionados--> 
93<#assign descuentoStructureId = themeDisplay.getThemeSetting("structure-descuento-id") > 
94<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(descuentoStructureId), reportajeEntry.getEntryId(), "publishDate", "ASC")> 
95<#assign descuentosEntries = assetEntryLocalService.getEntries(assetEntryQuery)> 
96 
97 
98<#if slider.getSiblings()?has_content> 
99    <#assign arraySlider=[]> 
100	<#list slider.imagenSlider.getSiblings() as cur_img> 
101		<#if !validator.equals("",cur_img.data)> 
102		    <#assign arraySlider = arraySlider + [cur_img.getData()]> 
103		</#if> 
104	</#list> 
105	<#if 0 < arraySlider?size> 
106        <section id="HugeSlider" class="huge-slider"> 
107    		<div class="container_fluid"> 
108    		    <div class="row"> 
109    		        <div class="col-xs-12 col-sm-12 col-md-12 slider-container"> 
110    		            <ul class="slider"> 
111    		                <#list arraySlider as cur_slide> 
112				                <li> 
113				                    <div class="imagen_fondo_slider" style="background-image:url('${cur_slide}');"></div> 
114				                </li> 
115    			            </#list> 
116    		            </ul> 
117    		        </div> 
118    		    </div> 
119    		</div> 
120        </section>  
121    	<script> 
122    	$(document).ready(function() { 
123    	 	$("#HugeSlider .slider").lightSlider({ 
124                item: 1, 
125                loop: false, 
126                keyPress: true, 
127                controls:true, 
128                pager: false, 
129                enableDrag: true, 
130                prevHtml: '<span class="sr-only"><@liferay.language key="previous" /></span>', 
131                nextHtml: '<span class="sr-only"><@liferay.language key="next" /></span>',  
132                responsive : [ 
133
134                    breakpoint:993, 
135                    settings: { 
136                        pager: true 
137
138
139                 
140
141            }); 
142    	}); 
143        </script> 
144    </#if> 
145 </#if> 
146<!-- <div class="container-fluid bgcolor" id="turi-contenedor-anclas"> --> 
147<div class="container-fluid bgcolor p-0" id="turi-contenedor-anclas">    	 
148	<div class="container p-0"> 
149			<div class="row"> 
150				<div class="col-md-10 col-md-offset-1 visible-md visible-lg"> 
151					<nav class="anclas"> 
152					<ul class="nav">						 
153						<#if !validator.equals("", rutas.parrafoRutas1.data)> 
154							<li><a href="#rutas"> 
155								<#if rutas.tituloAlternativoRutas?? && !validator.equals("", rutas.tituloAlternativoRutas.data)> 
156									${rutas.tituloAlternativoRutas.getData()} 
157								<#else> 
158									<@liferay.language key="iytu.reportaje.rutas" /> 
159								</#if> 
160							</a></li> 
161						</#if>						 
162						<#if !validator.equals("", comoLlegar.tituloLlegar.data)> 
163							<li><a href="#llegar"><@liferay.language key="iytu.reportaje.como-llegar" /></a></li> 
164						</#if>		 
165						<#if !validator.equals("", dondeComer.textoComer.data)> 
166							<li><a href="#comer"><@liferay.language key="iytu.reportaje.donde-comer" /></a></li> 
167						</#if>		 
168						<#if !validator.equals("", dondeDormir.textoDormir.data)> 
169							<li><a href="#dormir"><@liferay.language key="iytu.reportaje.donde-alojarse" /></a></li> 
170						</#if>									 
171						<li><a href="#sliderEventos"><@liferay.language key="iytu.reportaje.eventos" /></a></li> 
172						<li><a href="#bloqueDescuentos"><@liferay.language key="iytu.reportaje.downloads" /></a></li> 
173						<li><a href="#lugaresInteres"><@liferay.language key="iytu.reportaje.lugares-interes" /></a></li> 
174					</ul> 
175					</nav> 
176				</div> 
177				<div class="col-xs-12 col-sm-12 hidden-md hidden-lg p-0"> 
178	<nav class="anclas"> 
179		<div class="bootstrap-select btn-group"> 
180				<button type="button" class="btn dropdown-toggle btn-default, btn-filtro" data-toggle="dropdown" aria-owns="tab_selector1" aria-expanded="false" id="dropdown_anclas"><@liferay.language key="iytu.reportaje.ir-a" /><span class="bs-caret"><span class="caret"></span></span> 
181                </button> 
182                <div class="dropdown-menu open"> 
183					<ul class="dropdown-menu inner nav" id="tab_selector1" aria-expanded="false"> 
184							<#if !validator.equals("", rutas.parrafoRutas1.data)> 
185								<li><a href="#rutas"> 
186									<#if rutas.tituloAlternativoRutas?? && !validator.equals("", rutas.tituloAlternativoRutas.data)> 
187										${rutas.tituloAlternativoRutas.getData()} 
188									<#else> 
189										<@liferay.language key="iytu.reportaje.rutas" /> 
190									</#if> 
191								</a></li> 
192							</#if>	 
193							<#if !validator.equals("", comoLlegar.tituloLlegar.data)> 
194								<li><a href="#llegar"><@liferay.language key="iytu.reportaje.como-llegar" /></a></li> 
195							</#if> 
196							<#if !validator.equals("", dondeComer.textoComer.data)> 
197								<li><a href="#comer"><@liferay.language key="iytu.reportaje.donde-comer" /></a></li> 
198							</#if> 
199							<#if !validator.equals("", dondeDormir.textoDormir.data)> 
200								<li><a href="#dormir"><@liferay.language key="iytu.reportaje.donde-alojarse" /></a></li> 
201							</#if> 
202                            <li><a href="#sliderEventos"><@liferay.language key="iytu.reportaje.eventos" /></a></li> 
203                            <li><a href="#bloqueDescuentos"><@liferay.language key="iytu.reportaje.downloads" /></a></li> 
204							<li><a href="#lugaresInteres"><@liferay.language key="iytu.reportaje.lugares-interes" /></a></li> 
205					</ul> 
206                </div> 
207        </div> 
208	</nav> 
209</div> 
210			</div> 
211    </div>	 
212</div> 
213		 
214	<div class="container-fluid reportaje"> 
215		<div class="container"> 
216			<div class="row"> 
217 
218				<div class="col-sm-10 col-sm-offset-1 col-md-7 col-md-offset-1"> 
219					<div class="row"> 
220						<div class="col-md-12 reportaje_principal"> 
221					<hr class="cuadrado bgcolor"> 
222					<div class="textorepo"> 
223						<#if contenidoPrincipal.getSiblings()?has_content> 
224							<#list contenidoPrincipal.getSiblings() as contenidoPpal> 
225								<p class="entradilla">${contenidoPpal.textoDestacado.getData()}</p> 
226								 
227								${contenidoPpal.contenidoGeneral.getData()} 
228								<#if (!validator.equals("", contenidoPpal.imagenPrincipal.data) || !validator.equals("", contenidoPpal.videoPrincipal.data) || !validator.equals("", contenidoPpal.linkVideoExterno.data))> 
229									<div>										 
230										<div class="turismo_video embed-responsive embed-responsive-16by9"> 
231											<#if !validator.equals("", contenidoPpal.imagenPrincipal.data)> 
232												<img class="embed-responsive-item" src="${contenidoPpal.imagenPrincipal.getData()}" alt=""> 
233											<#elseif !validator.equals("", contenidoPpal.videoPrincipal.data)> 
234												<video class="embed-responsive-item" controls="" preload="none" src="contenidoPpal.videoPrincipal.getData()"></video> 
235											<#elseif !validator.equals("", contenidoPpal.linkVideoExterno.data)>												 
236												<video class="embed-responsive-item" controls="" preload="none" src="${contenidoPpal.linkVideoExterno.getData()}"></video>											 
237											</#if>									 
238										</div> 
239										<div class="pie_foto"><p>${contenidoPpal.pieFoto.getData()}</p></div> 
240									</div> 
241								</#if> 
242							</#list> 
243						</#if>						 
244						<#if !validator.equals("", rutas.parrafoRutas1.data)> 
245						    <span id="rutas"></span> 
246						    <#if rutas.tituloAlternativoRutas?? && !validator.equals("", rutas.tituloAlternativoRutas.data)> 
247								<h2>${rutas.tituloAlternativoRutas.getData()}</h2> 
248							<#else> 
249								<h2><@liferay.language key="iytu.reportaje.rutas" /></h2> 
250							</#if>							 
251							<p>${rutas.parrafoRutas1.getData()}</p> 
252						</#if> 
253						<#if !validator.equals("", rutas.destacadoRutas.data)> 
254							<p class="miquote">${rutas.destacadoRutas.getData()}</p> 
255						</#if> 
256						<#if !validator.equals("", rutas.parrafoRutas2.data)> 
257							<p>${rutas.parrafoRutas2.getData()}</p> 
258						</#if> 
259						<#if !validator.equals("", rutas.contenidoRutas.data)> 
260							<p>${rutas.contenidoRutas.getData()}</p> 
261						</#if>													 
262					</div>						  
263				</div> 
264			</div>	  
265		 
266 
267<#if !validator.equals("",imagenDestacada.data) > 
268 
269		<div class="row reportaje_foto"> 
270			<div class="col-md-12">                   
271				<p><img src="${imagenDestacada.getData()}" alt=""></p> 
272			</div> 
273		</div> 
274 
275</#if> 
276 
277	<div class="row"> 
278		<div class="col-md-12 reportaje_principal reportaje-separador"> 
279			<#if !validator.equals("", comoLlegar.tituloLlegar.data)>                        
280	            <div class="textorepo" id="llegar"> 
281	                <h2>${comoLlegar.tituloLlegar.getData()}</h2> 
282	                <#if !validator.equals("",comoLlegar.textoLlegar.data)> 
283	                	${comoLlegar.textoLlegar.getData()} 
284									</#if> 
285	                <ul class="lista"> 
286	                	<#if !validator.equals("",comoLlegar.trenLlegar.data)>	                    	 
287	                        <li class="row m-0"> 
288	                        	<div class="col-xs-12 col-sm-2 col-md-2 icono"> 
289	                        		<span class="iytuicon icon-tren" aria-hidden="true"></span> 
290	                        	</div> 
291	                        	<div class="col-xs-12 col-sm-10 col-md-9"> 
292		                            <h3><@liferay.language key="iytu.reportaje.tren" /></h3> 
293		                            <p>${comoLlegar.trenLlegar.getData()}</p> 
294	                        	</div> 
295	                        </li> 
296	                   	</#if> 
297	                   	<#if !validator.equals("",comoLlegar.metroLlegar.data)> 
298	                        <li class="row m-0"> 
299	                        	<div class="col-xs-12 col-sm-2 col-md-2 icono"> 
300	                        		<span class="iytuicon icon-metro" aria-hidden="true"></span> 
301	                        	</div> 
302	                        	<div class="col-xs-12 col-sm-10 col-md-9"> 
303	                            	<h3><@liferay.language key="iytu.reportaje.metro" /></h3> 
304	                            	<p>${comoLlegar.metroLlegar.getData()}</p> 
305	                        	</div> 
306	                        </li> 
307	                    </#if> 
308	                   	<#if !validator.equals("",comoLlegar.tranviaLlegar.data)> 
309	                        <li class="row m-0"> 
310	                        	<div class="col-xs-12 col-sm-2 col-md-2 icono"> 
311	                        		<span class="iytuicon icon-tranvia" aria-hidden="true"></span> 
312	                        	</div> 
313	                        	<div class="col-xs-12 col-sm-10 col-md-9"> 
314	                            <h3><@liferay.language key="iytu.reportaje.tranvia" /></h3> 
315	                            <p>${comoLlegar.tranviaLlegar.getData()}</p> 
316	                        	</div> 
317	                        </li> 
318	                    </#if> 
319	                   	<#if !validator.equals("",comoLlegar.busLlegar.data)> 
320	                        <li class="row m-0"> 
321	                        	<div class="col-xs-12 col-sm-2 col-md-2 icono"> 
322	                        		<span class="iytuicon icon-bus" aria-hidden="true"></span> 
323	                        	</div> 
324	                        	<div class="col-xs-12 col-sm-10 col-md-9"> 
325	                            <h3><@liferay.language key="iytu.reportaje.autobus" /></h3> 
326	                            <p>${comoLlegar.busLlegar.getData()}</p> 
327	                        	</div> 
328	                        </li> 
329	                    </#if> 
330	                   	<#if !validator.equals("",comoLlegar.cocheLlegar.data)> 
331	                        <li class="row m-0"> 
332	                        	<div class="col-xs-12 col-sm-2 col-md-2 icono"> 
333	                        		<span class="iytuicon icon-coche" aria-hidden="true"></span> 
334	                        	</div> 
335	                        	<div class="col-xs-12 col-sm-10 col-md-9"> 
336	                            <h3><@liferay.language key="iytu.reportaje.coche" /></h3> 
337	                            <p>${comoLlegar.cocheLlegar.getData()}</p> 
338	                        	</div> 
339	                        </li> 
340	                    </#if> 
341	                   	<#if !validator.equals("",comoLlegar.biciLlegar.data)> 
342	                        <li class="row m-0"> 
343	                        	<div class="col-xs-12 col-sm-2 col-md-2 icono"> 
344	                        		<span class="iytuicon icon-bici" aria-hidden="true"></span> 
345	                        	</div> 
346	                        	<div class="col-xs-12 col-sm-10 col-md-9"> 
347	                            <h3><@liferay.language key="iytu.reportaje.bicicleta" /></h3> 
348	                            <p>${comoLlegar.biciLlegar.getData()}</p> 
349	                        	</div> 
350	                        </li> 
351	                    </#if> 
352	                </ul> 
353	                <#if !validator.equals("",comoLlegar.latitud.data) && !validator.equals("",comoLlegar.longitud.data)> 
354	            		<div id="mapa"></div> 
355	            		<@mapScript /> 
356	            	</#if> 
357	            </div> 
358	        </#if> 
359	        <#if !stringUtil.equalsIgnoreCase("", dondeComer.textoComer.data)> 
360	        	<#if !stringUtil.equalsIgnoreCase("", dondeComer.imagenComer.data)> 
361		            <div class="textorepo-auxiliar" id="comer"> 
362		            	<div class="textorepo-auxiliar-imagen"> 
363		            		<p><img src="${dondeComer.imagenComer.getData()}"  alt=""/> 
364		            		<span class="categoria"><@liferay.language key="iytu.reportaje.gastronomia" /></span></p> 
365		            		<h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-comer" /></h2> 
366		            	</div> 
367		            	<div class="textorepo-auxiliar-texto"> 
368		            	${dondeComer.textoComer.getData()} 
369		            	</div> 
370		            </div> 
371	            <#else> 
372		            <div class="textorepo-auxiliar" id="comer"> 
373		            	<div class="textorepo-auxiliar-imagen sin-img"> 
374		            		<p><span class="categoria"><@liferay.language key="iytu.reportaje.gastronomia" /></span></p> 
375		            		<h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-comer" /></h2> 
376		            	</div> 
377		            	<div class="textorepo-auxiliar-texto"> 
378		            	${dondeComer.textoComer.getData()} 
379		            	</div> 
380		            </div>            
381	            </#if>   
382	        </#if> 
383	        <#if !stringUtil.equalsIgnoreCase("", dondeDormir.textoDormir.data)> 
384	        	<#if !stringUtil.equalsIgnoreCase("", dondeDormir.imagenDormir.data)> 
385		            <div class="textorepo-auxiliar" id="dormir"> 
386		            	<div class="textorepo-auxiliar-imagen"> 
387		            		<p><img src="${dondeDormir.imagenDormir.getData()}"  alt=""/> 
388		            		<span class="categoria"><@liferay.language key="iytu.reportaje.alojamiento" /></span></p> 
389		            		<h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-dormir" /></h2> 
390		            	</div> 
391		            	<div class="textorepo-auxiliar-texto"> 
392		            		${dondeDormir.textoDormir.getData()} 
393		            	</div> 
394		            </div> 
395	            <#else> 
396		            <div class="textorepo-auxiliar" id="dormir"> 
397		            	<div class="textorepo-auxiliar-imagen sin-img"> 
398		            		<p><span class="categoria"><@liferay.language key="iytu.reportaje.alojamiento" /></span></p> 
399		            		<h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-dormir" /></h2> 
400		            	</div> 
401		            	<div class="textorepo-auxiliar-texto"> 
402		            		${dondeDormir.textoDormir.getData()} 
403		            	</div> 
404		            </div>	             
405	            </#if>    
406	        </#if>           
407		</div>			 
408	</div>			 
409</div> 
410 
411<div class="col-sm-12 col-md-3 col-md-offset-1 reportaje_secundario"> 
412	<div class="reportaje_sidebar"> 
413		<ul class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> 
414		    <li class="panel panel-default"> 
415		        <div class="panel-heading" role="tab" id="heading1"> 
416		            <h2 class="panel-title"> 
417					<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse1" aria-expanded="false" aria-controls="collapse1" class="collapsed recomendaciones"> 
418					<@liferay.language key="iytu.reportaje.info-practica" /> 
419					<span class="icon-flecha_acordeon"></span> 
420					</a> 
421					</h2> 
422		        </div> 
423		        <div id="collapse1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading1"> 
424		            <div class="panel-body"> 
425		                ${appendTag(menuDesplegable.infoPractica.textoPractica.getData())} 
426		                <ul> 
427		                    <#if !validator.equals("", menuDesplegable.infoPractica.horarioPractica.data)> 
428			                    <li class="row m-0"> 
429			                    	<div class="col-xs-2 col-sm-1 col-md-1 icono"> 
430			                        	<span class="iytuicon icon-horario" aria-hidden="true"></span> 
431									</div> 
432									<div class="col-xs-9 col-sm-10 col-md-10"> 
433			                        <h3><@liferay.language key="iytu.reportaje.horario" /></h3> 
434			                        ${appendTag(menuDesplegable.infoPractica.horarioPractica.getData())} 
435			                    	</div> 
436			                    </li> 
437		                    </#if> 
438		                    <#if !validator.equals("", menuDesplegable.infoPractica.precioPractica.data)> 
439			                    <li class="row m-0"> 
440			                    	<div class="col-xs-2 col-sm-1 col-md-1 icono"> 
441			                        	<span class="iytuicon icon-entradas" aria-hidden="true"></span> 
442									</div> 
443									<div class="col-xs-9 col-sm-10 col-md-10"> 
444			                        <h3><@liferay.language key="iytu.reportaje.precio" /></h3> 
445			                        ${appendTag(menuDesplegable.infoPractica.precioPractica.getData())} 
446			                    	</div> 
447			                    </li> 
448		                    </#if> 
449		                    <#if !validator.equals("", menuDesplegable.infoPractica.localizacionPractica.data)> 
450			                    <li class="row m-0"> 
451			                    	<div class="col-xs-2 col-sm-1 col-md-1 icono"> 
452			                        	<span class="iytuicon icon-location" aria-hidden="true"></span> 
453									</div> 
454									<div class="col-xs-9 col-sm-10 col-md-10"> 
455			                        <h3><@liferay.language key="iytu.reportaje.localizacion" /></h3> 
456			                        ${appendTag(menuDesplegable.infoPractica.localizacionPractica.getData())} 
457			                    	</div> 
458			                    </li> 
459							</#if> 
460		                </ul> 
461		            </div> 
462		        </div> 
463		    </li> 
464		    <#if !validator.equals("", menuDesplegable.recomendaciones.data)> 
465			    <li class="panel panel-default"> 
466			        <div class="panel-heading" role="tab" id="heading2"> 
467			            <h2 class="panel-title"> 
468							<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse2" aria-expanded="false" aria-controls="collapse2" class="collapsed recomendaciones">	 
469								<@liferay.language key="iytu.reportaje.recomendaciones" />			 
470								<span class="icon-flecha_acordeon"></span>						 
471							</a></h2> 
472			        </div> 
473			        <div id="collapse2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading2"> 
474			            <div class="panel-body"> 
475			               ${appendTag(menuDesplegable.recomendaciones.getData())} 
476			            </div> 
477			        </div> 
478			    </li> 
479		    </#if> 
480		    <#if menuDesplegable.DesplegablesOpcionales.getSiblings()?has_content> 
481		    	<#assign contador = 3> 
482		    	<#list menuDesplegable.DesplegablesOpcionales.getSiblings() as cur_menu> 
483		    		<#if !validator.equals("",cur_menu.tituloDesplegable.data)> 
484					    <li class="panel panel-default"> 
485					        <div class="panel-heading" role="tab" id="heading${contador}"> 
486					            <h2 class="panel-title"> 
487									<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse${contador}" aria-expanded="false" aria-controls="collapse${contador}" class="collapsed recomendaciones">	 
488										${cur_menu.tituloDesplegable.getData()} 
489										<span class="icon-flecha_acordeon"></span> 
490									</a></h2> 
491					        </div> 
492					        <#if !validator.equals("",cur_menu.textoDesplegable.data)> 
493						        <div id="collapse${contador}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading${contador}"> 
494						            <div class="panel-body"> 
495						                ${appendTag(cur_menu.textoDesplegable.getData())} 
496						            </div> 
497						        </div> 
498						    </#if> 
499					    </li> 
500				    	<#assign contador = contador + 1> 
501					</#if> 
502				</#list> 
503		    </#if> 
504		    <#if !validator.equals("", menuDesplegable.urlEntradas.data)> 
505			    <li class="panel panel-default"> 
506			        <div class="panel-heading entradas" role="tab" id="heading6"> 
507			            <p class="panel-title"> 
508				        <a href="${menuDesplegable.urlEntradas.getData()}" class="entradas bgcolor" target="_blank" title="<@liferay.language key='opens-new-window'/>">									       
509 
510				            <@liferay.language key="iytu.reportaje.entradas" /> <span class="iytuicon icon-entradas"></span> 
511				        </a> 
512				      </p> 
513			        </div>			         
514 
515 
516			    </li> 
517			</#if> 
518		    <li class="panel panel-default"> 
519		        <div class="panel-heading compartir" role="tab" id="heading7"> 
520		            <h2 class="panel-title"> 
521					<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse7" aria-expanded="false" aria-controls="collapse7" class="compartir">										        
522						<@liferay.language key="iytu.reportaje.compartir" />  
523						<span class="iytuicon icon-share"></span>			    
524					</a> 
525					 </h2> 
526		        </div> 
527		        <div id="collapse7" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading7"> 
528		            <div class="panel-body blanco"> 
529		                <ul class="redes-sociales">					   
530	  						<li class="mt-3"> <a href="https://www.facebook.com/sharer/sharer.php?u=${completeCurrentUrl}" target="_blank" title="<@liferay.language key='opens-new-window' />" > <span class="iytuicon circulo icon-facebook" aria-hidden="true"></span> <span class="sr-only"><@liferay.language key="iytu.reportaje.facebook" /></span> </a> </li> 
531	  						<li class="mt-3"> <a href="https://twitter.com/intent/tweet?url=${completeCurrentUrl}&text=${encodedTitle}" target="_blank" title="<@liferay.language key='opens-new-window' />" data-size="large"><span class="iytuicon circulo icon-twitter" aria-hidden="true"></span> <span class="sr-only"><@liferay.language key="iytu.reportaje.twitter" /></span> </a> </li> 
532	  						<li class="mt-3"> <a href="whatsapp://send?text=${completeCurrentUrl}" target="_blank" title="<@liferay.language key='opens-new-window' />" > <span class="iytuicon icon-whatsaap"></span> <span class="sr-only"><@liferay.language key="iytu.reportaje.whatsapp" /></span> </a> </li>					   
533	  						<li class="mt-3"> <a href="mailto:?Subject=${articleTitle}&Body=${articleTitle} ${completeCurrentUrl}" > <span class="iytuicon circulo icon-mail"></span> <span class="sr-only"><@liferay.language key="iytu.reportaje.email" /></span> </a> </li> 
534						</ul> 
535		            </div> 
536		        </div> 
537		    </li> 
538		</ul> 
539	</div> 
540</div> 
541		</div> 
542	</div> 
543<#-- EVENTOS --> 
544<#--   ******************* DE MOMENTO IGNORAR EL CHECK DE MOSTRAR EVENTOS, PONERLOS SIEMPRE **************** 
545 
546<#if eventos?? && eventos.mostrarEventos?? && stringUtil.equalsIgnoreCase("true", eventos.mostrarEventos.data) && 0 lt eventFinalEntries?size>	 
547--> 
548 <#if 0 lt eventFinalEntries?size> 
549	<section id="sliderEventos" class="slider-eventos">	 
550 
551		<div class="slider-container">		    
552			<ul class="slider"> 
553				<#list eventFinalEntries as curEntry>					 
554					<#assign renderer = curEntry.getAssetRenderer() > 
555    	            <#assign journalArticle = renderer.getArticle() > 
556    	             
557    	            <#-- 
558    	            <#assign templateKey = getTemplateKey("iytu-evento-slider") > 
559    	            --> 
560    	            <#assign templateKey = "1520787" > 
561    	             
562					<#assign journalArticleDisplay = journalContentUtil.getDisplay(journalArticle.getGroupId(), journalArticle.getArticleId(), templateKey, "view", languageId, themeDisplay)> 
563                 
564                <li>${journalArticleDisplay.getContent()}</li> 
565				</#list> 
566			</ul> 
567		</div>		 
568	</section> 
569	 
570     
571 
572	<script> 
573		$(document).ready(function() { 
574			   $("#sliderEventos .slider").lightSlider({ 
575			       item: 1, 
576			       loop: false, 
577			       keyPress: true, 
578			       controls:true, 
579			       pager: false, 
580			       enableDrag: true,      
581			       prevHtml: '<span class="sr-only"><@liferay.language key="previous" /></span>', 
582                   nextHtml: '<span class="sr-only"><@liferay.language key="next" /></span>',  
583			       responsive : [ 
584
585				           breakpoint:993, 
586				           settings: { 
587				               pager: true 
588
589				       }         
590
591			   }); 
592		});       
593	</script> 
594 <#else> 
595 	<div id="sliderEventos"></div> 
596</#if> 
597 
598<#-- DESCUENTOS --> 
599 
600<#if 0 lt descuentosEntries?size>	 
601	<#list descuentosEntries as curEntry>			 
602		<#assign renderer = curEntry.getAssetRenderer() > 
603    	<#assign className = renderer.getClassName() > 
604		<#assign journalArticle = renderer.getArticle() > 
605		<#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) > 
606        <#assign rootElement = document.getRootElement() > 
607 
608        <#assign documento1 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_1']/dynamic-element[@name='documento1']").selectSingleNode(rootElement).getStringValue()?trim/> 
609        <#assign documento2 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_2']/dynamic-element[@name='documento2']").selectSingleNode(rootElement).getStringValue()?trim/> 
610        <#assign documento3 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_3']/dynamic-element[@name='documento3']").selectSingleNode(rootElement).getStringValue()?trim/> 
611        <#assign documento4 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_4']/dynamic-element[@name='documento4']").selectSingleNode(rootElement).getStringValue()?trim/> 
612 
613        <#assign titulo1 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_1']/dynamic-element[@name='titulo1']").selectSingleNode(rootElement).getStringValue()/> 
614        <#assign titulo2 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_2']/dynamic-element[@name='titulo2']").selectSingleNode(rootElement).getStringValue()/> 
615        <#assign titulo3 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_3']/dynamic-element[@name='titulo3']").selectSingleNode(rootElement).getStringValue()/> 
616        <#assign titulo4 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_4']/dynamic-element[@name='titulo4']").selectSingleNode(rootElement).getStringValue()/> 
617   <#assign groupIdAsLong  =  getterUtil.getLong(groupId)/> 
618 
619		<div id="bloqueDescuentos"> 
620			<div class="container-fluid descuentos">	 
621				<div class="container p-0"> 
622					<div class="row mr-0"> 
623						<div class="col-xs-12 col-xs-offset-0 col-sm-6 col-sm-offset-1 col-md-5 col-md-offset-1 p-0 contenido">											 
624							<p class="categoria"> 
625								<@liferay.language key="iytu.descuentos.descuentos" /> 
626							</p> 
627							<h3><@liferay.language key="iytu.descuentos.dtosBBCard" /></h3>						 
628							<a href="/bilbao-bizkaia-card" class="boton blanco"><@liferay.language key="iytu.descuentos.comprar" /></a>					 
629						</div> 
630						 
631						<div class="col-xs-12 col-md-6 descargas"> 
632							<ul class="row"> 
633								<#if documento1?? && documento1?length != 0> 
634   									<#assign fileEntry = getFileEntry(documento1,groupIdAsLong)/> 
635		                        	<#assign size = textFormatter.formatStorageSize(fileEntry.size, locale) /> 
636									<li class="col-xxs-6 col-xs-6"> 
637										<a href="${documento1}" target="_blank" title="<@liferay.language key='opens-new-window' />"> 
638											<h4 class="colour">${titulo1}</h4> 
639											<p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p> 
640										</a> 
641									</li>					 
642								</#if> 
643								<#if documento2?? && documento2?length != 0> 
644									<#assign fileEntry = getFileEntry(documento2,groupIdAsLong) > 
645		                        	<#assign size = textFormatter.formatStorageSize(fileEntry.size, locale) > 
646									<li class="col-xxs-6 col-xs-6"> 
647										<a href="${documento2}" target="_blank" title="<@liferay.language key='opens-new-window' />"> 
648											<h4 class="colour">${titulo2}</h4> 
649											<p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download"/></span> ${size}</p> 
650										</a> 
651									</li> 
652								</#if> 
653								<#if documento3?? && documento3?length != 0> 
654									<#assign fileEntry = getFileEntry(documento3,groupIdAsLong) > 
655		                        	<#assign size = textFormatter.formatStorageSize(fileEntry.size, locale) > 
656									<li class="col-xxs-6 col-xs-6"> 
657										<a href="${documento3}" target="_blank" title="<@liferay.language key='opens-new-window' />"> 
658											<h4 class="colour">${titulo3}</h4> 
659											<p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p> 
660										</a> 
661									</li> 
662								</#if> 
663								<#if documento4?? && documento4?length != 0> 
664									<#assign fileEntry = getFileEntry(documento4,groupIdAsLong) > 
665		                        	<#assign size = textFormatter.formatStorageSize(fileEntry.size, locale) > 
666									<li class="col-xxs-6 col-xs-6"> 
667										<a href="${documento4}" target="_blank" title="<@liferay.language key='opens-new-window' />"> 
668											<h4 class="colour">${titulo4}</h4> 
669											<p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p> 
670										</a> 
671									</li> 
672								</#if>		 
673							</ul> 
674						</div> 
675					</div> 
676 
677				</div> 
678			</div>	 
679		</div> 
680 
681	</#list> 
682</#if> 
683<span id="lugaresInteres"></span> 
684 
685<script> 
686$( document ).ready(function() { 
687     
688     /*** animación anclas en menú con fondo color ***/ 
689 
690    $('#turi-contenedor-anclas .visible-md a').click(function(e) { 
691        e.preventDefault(); 
692        var $target = $(this.hash); 
693        var destino = this.hash; 
694        $target = $target.length && $target || $(this.hash); 
695        if ($target.length) { 
696            var targetOffset = $target.offset().top; 
697            var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height(); 
698            targetOffset = targetOffset - topSpace; 
699            $('html,body').animate({scrollTop: targetOffset}, 1500); 
700
701 
702    }); 
703     
704    $('#turi-contenedor-anclas .hidden-md a').click(function(e) { 
705        e.preventDefault(); 
706        var $target = $(this.hash); 
707        var destino = this.hash; 
708        $target = $target.length && $target || $(this.hash); 
709        if ($target.length) { 
710            var targetOffset = $target.offset().top; 
711            var topSpace = $('#heading').height() + $('#turi-contenedor-anclas button').height() + 40; 
712            targetOffset = targetOffset - topSpace; 
713            $('html,body').animate({scrollTop: targetOffset}, 1500); 
714
715 
716    }); 
717 
718    /*** scroll spy para el menú ***/ 
719    $('body').scrollspy({          
720        target: '.anclas', 
721        offset: function() { 
722            var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height() + 20; 
723            return topSpace; 
724        }() 
725    }) 
726 
727     /****** scroll to fixed de menú de anclas *****/ 
728    if ($(window).width() > 992) { 
729 
730        $('#turi-contenedor-anclas').scrollToFixed({ 
731            marginTop: function() { 
732            var marginTop = $('#heading').height(); 
733             return marginTop; 
734            }, 
735            limit: function() { 
736            var limit = $('#lugaresInteres').offset().top; 
737            return limit; 
738            }, 
739            removeOffsets: true, 
740            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
741            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
742            }); 
743        $('.reportaje_secundario').scrollToFixed({ 
744            marginTop: function() { 
745            var marginTop = $(window).height() - $('.reportaje_secundario').outerHeight(true) - 140; 
746            if (marginTop >= 0) return 140; 
747            return marginTop; 
748            }, 
749            limit: function() { 
750            var limit = $('#sliderEventos').offset().top - $('.reportaje_secundario').height() - 135; 
751            return limit; 
752            }, 
753            removeOffsets: true, 
754            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
755            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
756 
757            }); 
758        $(".reportaje_sidebar .panel-collapse").on("shown.bs.collapse", function () { 
759            var myEl = $(this).closest('.panel');             
760            $('html, body').animate({ 
761               scrollTop: $(myEl).offset().top 
762            }, 0); 
763            $('.reportaje_secundario').trigger('detach.ScrollToFixed'); 
764            $('.reportaje_secundario').scrollToFixed({ 
765            marginTop: function() { 
766            var marginTop = $(window).height() - $('.reportaje_secundario').outerHeight(true) - 140; 
767            if (marginTop >= 0) return 140; 
768            return marginTop; 
769            }, 
770            limit: function() { 
771            var limit = $('#sliderEventos').offset().top - $('.reportaje_secundario').height() - 135; 
772            return limit; 
773            }, 
774            removeOffsets: true, 
775            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
776            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
777 
778            }); 
779 
780        });  
781 
782            
783    }else{ 
784        $('#turi-contenedor-anclas').scrollToFixed({ 
785            marginTop: function() { 
786            var marginTop = $('#heading').height(); 
787             return marginTop; 
788            }, 
789            limit: function() { 
790            var limit = $('#lugaresInteres').offset().top; 
791            return limit; 
792            }, 
793            removeOffsets: true, 
794            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
795            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
796            }); 
797        $('.reportaje_secundario').scrollToFixed({ 
798            marginTop: 192, 
799            limit: function() { 
800            var limit = $('#sliderEventos').offset().top - $('.reportaje_secundario').height() - 135; 
801            return limit; 
802            }, 
803            removeOffsets: true, 
804            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
805            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
806 
807        }); 
808        $(".reportaje_sidebar .panel-collapse").on("shown.bs.collapse", function () { 
809            var myEl = $(this).closest('.panel');             
810            $('html, body').animate({ 
811               scrollTop: $(myEl).offset().top - 192 
812            }, 0); 
813        });  
814
815     
816    $(window).bind('resize',function(){ 
817        clearTimeout(this.timeout); 
818        this.timeout = setTimeout(function () {    
819 
820        var windowWidth = $(window).width(); 
821        if(windowWidth > 992){ 
822			 
823 
824            $('#turi-contenedor-anclas').trigger('detach.ScrollToFixed'); 
825            $('#turi-contenedor-anclas').scrollToFixed({ 
826                marginTop: function() { 
827                var marginTop = $('#heading').height(); 
828                 return marginTop; 
829                }, 
830                limit: function() { 
831                var limit = $('#lugaresInteres').offset().top; 
832                return limit; 
833                }, 
834                removeOffsets: true, 
835                preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
836                preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
837                }); 
838            $('.reportaje_secundario').trigger('detach.ScrollToFixed'); 
839            $('.reportaje_secundario').scrollToFixed({ 
840            marginTop: function() { 
841            var marginTop = $(window).height() - $('.reportaje_secundario').outerHeight(true) - 140; 
842            if (marginTop >= 0) return 140; 
843            return marginTop; 
844            }, 
845            limit: function() { 
846            var limit = $('#sliderEventos').offset().top - $('.reportaje_secundario').height() - 135; 
847            return limit; 
848            }, 
849            removeOffsets: true, 
850            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
851            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
852 
853            }); 
854        $(".reportaje_sidebar .panel-collapse").on("shown.bs.collapse", function () { 
855            var myEl = $(this).closest('.panel');             
856            $('html, body').animate({ 
857               scrollTop: $(myEl).offset().top 
858            }, 0); 
859            $('.reportaje_secundario').trigger('detach.ScrollToFixed'); 
860            $('.reportaje_secundario').scrollToFixed({ 
861            marginTop: function() { 
862            var marginTop = $(window).height() - $('.reportaje_secundario').outerHeight(true) - 140; 
863            if (marginTop >= 0) return 140; 
864            return marginTop; 
865            }, 
866            limit: function() { 
867            var limit = $('#sliderEventos').offset().top - $('.reportaje_secundario').height() - 135; 
868            return limit; 
869            }, 
870            removeOffsets: true, 
871            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
872            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
873 
874            }); 
875 
876        });  
877 
878 
879              
880 
881             
882 
883        }else{ 
884             
885 
886            $('#turi-contenedor-anclas').trigger('detach.ScrollToFixed'); 
887            $('#turi-contenedor-anclas').scrollToFixed({ 
888                marginTop: function() { 
889                var marginTop = $('#heading').height(); 
890                 return marginTop; 
891                }, 
892                limit: function() { 
893                var limit = $('#lugaresInteres').offset().top; 
894                return limit; 
895                }, 
896                removeOffsets: true, 
897                preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
898                preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
899            }); 
900            $('.reportaje_secundario').trigger('detach.ScrollToFixed'); 
901            $('.reportaje_secundario').scrollToFixed({ 
902            marginTop: 192, 
903            limit: function() { 
904            var limit = $('#sliderEventos').offset().top - $('.reportaje_secundario').height() - 135; 
905            return limit; 
906            }, 
907            removeOffsets: true, 
908            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
909            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
910 
911        }); 
912        $(".reportaje_sidebar .panel-collapse").on("shown.bs.collapse", function () { 
913            var myEl = $(this).closest('.panel');             
914            $('html, body').animate({ 
915               scrollTop: $(myEl).offset().top - 192 
916            }, 0); 
917        });  
918 
919
920 
921 
922             
923        }, 0); 
924 
925    }); 
926 
927     
928}); 
929</script> 
930<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBMctVq13ErDz69AxaIHMb93TR4DA4qioU&callback=initMap"></script> 
931 
932<#-- MACROS --> 
933<#macro mapScript > 
934  <script> 
935  	function initMap(){  		 
936	     
937	    var latitude = ${comoLlegar.latitud.getData()}; 
938	    var longitude = ${comoLlegar.longitud.getData()}; 
939	    var centroMapa = {lat: latitude, lng: longitude}; 
940        var mapOptions = { 
941            zoom: 12, 
942            center: centroMapa, 
943            disableDoubleClickZoom: false, 
944            draggable: true, 
945            zoomControl:true, 
946            mapTypeControl: false, 
947            rotateControl: false, 
948            scaleControl: true, 
949            scrollwheel: false, 
950            streetViewControl: false           
951        }; 
952	    var map = new google.maps.Map(document.getElementById("mapa"), mapOptions);     
953        var marker = new google.maps.Marker({ 
954            position: centroMapa, 
955            map: map 
956        }); 
957	  }      
958  </script> 
959</#macro> 
960<#-- FUNCIONES --> 
961<#function getAssetEntryQuery classNameId structureId linkedAssetEntryId order orderType> 
962    <#assign assetEntryQuery = objectUtil("com.liferay.asset.kernel.service.persistence.AssetEntryQuery") > 
963	 
964	<#assign classNameIds = [classNameId] > 
965	${assetEntryQuery.setClassNameIds(classNameIds)} 
966 
967	<#if !stringUtil.equalsIgnoreCase("", structureId?string) > 
968		<#assign classTypeIds = [structureId] > 
969		${assetEntryQuery.setClassTypeIds(classTypeIds)} 
970		 
971		<#if !stringUtil.equalsIgnoreCase("", order) > 
972			${assetEntryQuery.setOrderByCol1(order)} 
973			${assetEntryQuery.setOrderByType1(orderType)} 
974		</#if> 
975	</#if> 
976 
977	<#if !stringUtil.equalsIgnoreCase("0", linkedAssetEntryId?string) > 
978		${assetEntryQuery.setLinkedAssetEntryId(linkedAssetEntryId)} 
979	</#if> 
980 
981	<#return assetEntryQuery > 
982</#function> 
983 
984<#function getFileEntry url groupId> 
985     
986	 
987	<#if url?? && url?length != 0> 
988    	<#assign uuid = url?split("/")?last?split("?")?first> 
989    </#if> 
990    <#assign uuidString = getterUtil.getString(uuid)/> 
991	<#return fileEntryService.fetchDLFileEntryByUuidAndGroupId(uuidString, groupId) /> 
992     
993</#function> 
994 
995<#function replaceSpecialCharacters url> 
996    <#return htmlUtil.escapeHREF(url?replace("|","%7C")) /> 
997</#function> 
998 
999 
1000<#function appendTag(element) > 
1001  <#if !(element?starts_with("<p>")||element?starts_with("<ul>")||element?starts_with("<ol>")||element?starts_with("<table>"))> 
1002    <#assign corrected = "<p>" + element > 
1003  <#else> 
1004    <#assign corrected = element > 
1005  </#if>   
1006 
1007  <#if !(element?ends_with("</p>")||element?ends_with("</ul>")||element?ends_with("</ol>")||element?ends_with("</table>"))> 
1008  <#assign corrected = corrected + "</p>">   
1009  </#if>   
1010   
1011  <#return corrected> 
1012</#function> 
1013 
1014<#function getTemplateKey templateName > 
1015    <#assign templateKey = "0" > 
1016     
1017    <#attempt> 
1018        <#assign templateClass = staticUtil["com.liferay.portal.kernel.util.ClassResolverUtil"].resolveByPortalClassLoader("com.liferay.dynamic.data.mapping.model.DDMTemplate") /> 
1019 
1020        <#assign dynamicQuery = staticUtil["com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil"].forClass(templateClass) /> 
1021	     
1022	    <#assign VOID = dynamicQuery.add(propertyFactoryUtil.forName("name").like("%" + templateName + "%")) > 
1023	     
1024	    <#if validator.isNotNull(ddmTemplateLocalService.dynamicQuery(dynamicQuery)) > 
1025	        <#assign template = ddmTemplateLocalService.dynamicQuery(dynamicQuery)?first > 
1026	        <#assign templateKey = template.getTemplateKey() > 
1027	    </#if> 
1028	<#recover> 
1029	</#attempt> 
1030     
1031	<#return templateKey > 
1032</#function>