San Tomas: Bilboko 73. edizioa
Errorea gertatu da txantiloia prozesatzerakoan.
The following has evaluated to null or missing:
==> getFileEntry(documento1,groupIdAsLong)  [in template "1369164#1369202#1381193" at line 380, column 102]

----
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#1381193" at line 380, column 81]
----
1<#-- SERVICIOS --> 
2<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
3<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
4 
5<#assign urlEncoder = staticUtil["java.net.URLEncoder"]> 
6 
7<!-- SERVICES --> 
8<#assign fileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") > 
9 
10<#assign textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]> 
11 
12<#assign assetCategoryPropertyLocalService  = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService")> 
13 
14<#-- servicios related asset subhome --> 
15<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
16<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
17<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")> 
18 
19 
20<#-- VARIABLES --> 
21<#assign articleId = .vars['reserved-article-id'].data > 
22<#if request?has_content> 
23	<#assign portletNamespace = request['theme-display']['portlet-display']['id'] + '_' > 
24	<#--  <#assign completeCurrentUrl = urlEncoder.encode((request["attributes"]["CURRENT_COMPLETE_URL"])?string?split("?")[0]?string, "UTF-8")>  --> 
25    	<#assign completeCurrentUrl = urlEncoder.encode((themeDisplay.getPortalURL()+themeDisplay.getURLCurrent())?string?split("?")[0]?string, "UTF-8")> 
26<#else> 
27    <#assign portletNamespace = articleId + '_'> 
28    <#assign completeCurrentUrl = themeDisplay.getPortalURL()> 
29</#if> 
30 
31<#assign articleTitle = .vars['reserved-article-title'].data > 
32 
33<#assign encodedTitle = urlEncoder.encode(articleTitle, "UTF-8")> 
34 
35<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
36<#assign layout = themeDisplay.getLayout() /> 
37 
38<#assign vocabularyCategories = themeDisplay.getThemeSetting("vocabulary-id") > 
39 
40<#-- obtener subhome enlazada como related assets --> 
41<#assign journalArticleClassName = "com.liferay.journal.model.JournalArticle"> 
42 
43<#assign introSubhomeStructureId = themeDisplay.getThemeSetting("structure-introsubhome-id") > 
44 
45<#assign reportajeArticle = journalArticleLocalService.getArticle(groupId, articleId) > 
46<#assign reportajeEntry = assetEntryLocalService.getEntry(journalArticleClassName, reportajeArticle.getResourcePrimKey()) > 
47 
48<#-- recoger título, entradilla y color del contenido subhome relacionado--> 
49<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(introSubhomeStructureId), reportajeEntry.getEntryId(), "publishDate", "ASC")> 
50<#assign subhomeEntries = assetEntryLocalService.getEntries(assetEntryQuery)> 
51 
52<#assign colorSubhome ="#00e78d"> 
53<#assign tituloSubhome = ""> 
54<#assign entradillaSubhome =""> 
55 
56<#if 1 == subhomeEntries?size> 
57	<#list subhomeEntries as e> 
58		<#assign journalArticleResource = journalArticleResourceLocalService.fetchJournalArticleResource(getterUtil.getLong(e.getClassPK())) > 
59		<#assign renderer = e.getAssetRenderer()> 
60		<#assign subhomeArticle = renderer.getArticle() > 
61		<#assign document = saxReaderUtil.read(subhomeArticle.getContentByLocale(locale)) > 
62		<#assign rootElement = document.getRootElement() > 
63		<#assign tituloSubhome = saxReaderUtil.createXPath("dynamic-element[@name='titulo']/dynamic-content").selectSingleNode(rootElement).getStringValue() > 
64		<#assign entradillaSubhome = saxReaderUtil.createXPath("dynamic-element[@name='entradilla']/dynamic-content").selectSingleNode(rootElement).getStringValue()  > 
65		<#assign colorSubhome = saxReaderUtil.createXPath("dynamic-element[@name='color']/dynamic-content").selectSingleNode(rootElement).getStringValue() > 
66	</#list> 
67</#if> 
68 
69<#-- recoger eventos relacionados--> 
70<#assign eventStructureId = themeDisplay.getThemeSetting("structure-event-id") > 
71<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(eventStructureId), reportajeEntry.getEntryId(), "publishDate", "ASC")> 
72<#assign eventEntries = assetEntryLocalService.getEntries(assetEntryQuery)> 
73 
74<#-- recoger descuentos relacionados--> 
75<#assign descuentoStructureId = themeDisplay.getThemeSetting("structure-descuento-id") > 
76<#assign assetEntryQuery = getAssetEntryQuery(reportajeEntry.getClassNameId(), getterUtil.getLong(descuentoStructureId), reportajeEntry.getEntryId(), "publishDate", "ASC")> 
77<#assign descuentosEntries = assetEntryLocalService.getEntries(assetEntryQuery)> 
78 
79<div class="container-fluid bgcolor p-0" id="turi-contenedor-anclas">    	 
80	<div class="container p-0"> 
81			<div class="row"> 
82				<div class="col-md-10 col-md-offset-1 visible-md visible-lg"> 
83					<nav class="anclas"> 
84						<ul class="nav"> 
85							<#if !validator.equals("", textoPrincipalPrograma.data)> 
86								<li><a href="#programa"><@liferay.language key="iytu.evento.programa" /></a></li> 
87							</#if> 
88							<#if imagenSlider.getSiblings()?has_content> 
89								<li><a href="#HugeSliderMultimedia"><@liferay.language key="multimedia" /></a></li> 
90							</#if>						 
91							<#if !validator.equals("", textoComoLlegar.data)> 
92								<li><a href="#llegar"><@liferay.language key="iytu.reportaje.como-llegar" /></a></li> 
93							</#if>		 
94							<#if !validator.equals("", textoDondeComer.data)> 
95								<li><a href="#comer"><@liferay.language key="iytu.reportaje.donde-comer" /></a></li> 
96							</#if>		 
97							<#if !validator.equals("", textoDondeDormir.data)> 
98								<li><a href="#dormir"><@liferay.language key="iytu.reportaje.donde-alojarse" /></a></li> 
99							</#if>															 
100							<li><a href="#bloqueDescuentos"><@liferay.language key="downloads" /></a></li>						 
101						</ul> 
102					</nav> 
103				</div> 
104				<div class="col-xs-12 col-sm-12 hidden-md hidden-lg p-0"> 
105					<nav class="anclas"> 
106					<div class="bootstrap-select btn-group"> 
107						<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> 
108                </button> 
109                <div class="dropdown-menu open"> 
110					<ul class="dropdown-menu inner nav" id="tab_selector1" aria-expanded="false"> 
111							<#if !validator.equals("", textoPrincipalPrograma.data)> 
112								<li><a href="#programa"><@liferay.language key="iytu.evento.programa" /></a></li> 
113							</#if>		 
114							<#if imagenSlider.getSiblings()?has_content> 
115								<li><a href="#HugeSliderMultimedia"><@liferay.language key="multimedia" /></a></li> 
116							</#if>		 
117							<#if !validator.equals("", textoComoLlegar.data)> 
118								<li><a href="#llegar"><@liferay.language key="iytu.reportaje.como-llegar" /></a></li> 
119							</#if> 
120							<#if !validator.equals("", textoDondeComer.data)> 
121								<li><a href="#comer"><@liferay.language key="iytu.reportaje.donde-comer" /></a></li> 
122							</#if> 
123							<#if !validator.equals("", textoDondeDormir.data)> 
124								<li><a href="#dormir"><@liferay.language key="iytu.reportaje.donde-alojarse" /></a></li> 
125							</#if>               
126            				<li><a href="#bloqueDescuentos"><@liferay.language key="downloads" /></a></li>			 
127			            </ul> 
128			        </div> 
129					</nav> 
130				</div> 
131			</div> 
132    </div>	 
133</div> 
134		 
135<div class="container-fluid reportaje evento"> 
136	<div class="container"> 
137		<div class="row">		 
138		 
139			<div class="col-sm-10 col-sm-offset-1 col-md-7 col-md-offset-1"> 
140				<div class="row"> 
141					<div class="col-md-12 reportaje_principal"> 
142						<hr class="cuadrado bgcolor" /> 
143						<div class="textorepo" id="programa"> 
144							<#if !validator.equals("", textoDestacadoPrograma.data)> 
145								<p class="entradilla">${textoDestacadoPrograma.getData()}</p> 
146							</#if> 
147							<#if !validator.equals("", textoPrincipalPrograma.data)>	 
148								${textoPrincipalPrograma.getData()} 
149							</#if> 
150							<#if !validator.equals("",imagenPrograma.data) > 
151								<p><img src="${imagenPrograma.getData()}" alt=""></p> 
152							</#if> 
153							<#if !validator.equals("", textoBajoImagen.data)>	 
154								${textoBajoImagen.getData()} 
155							</#if> 
156						</div>						  
157					</div> 
158				</div>	  
159	            <#if imagenSlider.getSiblings()?has_content> 
160					<div class="reportaje_slider"> 
161						<section id="HugeSliderMultimedia" class="huge-slider"> 
162							<div class="container_fluid"> 
163							    <div class="row"> 
164							        <div class="col-xs-12 col-sm-12 col-md-12 slider-container"> 
165							            <ul class="slider"> 
166							            	<#list imagenSlider.getSiblings() as cur_img> 
167								                <li> 
168								                    <div class="imagen_fondo_slider" style="background-image:url('${cur_img.getData()}');"></div> 
169								                </li> 
170								            </#list>			                 
171							            </ul> 
172							        </div> 
173							    </div> 
174							</div> 
175						</section>  
176						<script> 
177						 	$("#HugeSliderMultimedia .slider").lightSlider({ 
178					            item: 1, 
179					            loop: false, 
180					            keyPress: true, 
181					            controls:true, 
182					            pager: false, 
183					            enableDrag: true, 
184					            prevHtml: '<span class="sr-only"><@liferay.language key="previous" /></span>', 
185                                nextHtml: '<span class="sr-only"><@liferay.language key="next" /></span>',  
186					            responsive : [ 
187
188					                breakpoint:993, 
189					                settings: { 
190					                    pager: true 
191
192
193					             
194
195				        }); 
196						</script> 
197					</div> 
198            	</#if> 
199				<div class="row"> 
200					<div class="col-md-12 reportaje_principal reportaje-separador"> 
201						<#if !validator.equals("", textoComoLlegar.data)>                        
202				            <div class="textorepo" id="llegar"> 
203				                <h2><@liferay.language key="iytu.reportaje.como-llegar" /></h2> 
204				                ${textoComoLlegar.getData()} 
205 
206				                <#if !validator.equals("",imagenComoLlegar.data) > 
207									<p><img src="${imagenComoLlegar.getData()}" alt=""></p> 
208								</#if> 
209				            </div> 
210				        </#if> 
211            <#if !stringUtil.equalsIgnoreCase("", textoDondeComer.data)> 
212	        	<#if !stringUtil.equalsIgnoreCase("", imagenFondoDondeComer.data)> 
213				            <div class="textorepo-auxiliar" id="comer"> 
214				            	<div class="textorepo-auxiliar-imagen"> 
215				            		<p><img src="${imagenFondoDondeComer.getData()}" alt=""> 
216				            		<span class="categoria"><@liferay.language key="iytu.reportaje.gastronomia" /></span></p> 
217				            		<h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-comer" /></h2> 
218				            	</div> 
219				            	<div class="textorepo-auxiliar-texto"> 
220				            	${textoDondeComer.getData()} 
221				            	</div> 
222				            </div> 
223	            <#else> 
224		            <div class="textorepo-auxiliar" id="comer"> 
225				            	<div class="textorepo-auxiliar-imagen sin-img"> 
226				            		<p><span class="categoria"><@liferay.language key="iytu.reportaje.gastronomia" /></span></p> 
227							<h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-comer" /></h2> 
228				            	</div> 
229				            	<div class="textorepo-auxiliar-texto"> 
230				            	${textoDondeComer.getData()} 
231				            	</div> 
232				            </div>    
233				        </#if> 
234	        </#if> 
235			<#if !stringUtil.equalsIgnoreCase("", textoDondeDormir.data)> 
236	        	<#if !stringUtil.equalsIgnoreCase("", imagenFondoDondeDormir.data)> 
237				            <div class="textorepo-auxiliar" id="dormir"> 
238				            	<div class="textorepo-auxiliar-imagen"> 
239				            		<p><img src="${imagenFondoDondeDormir.getData()}" alt=""> 
240				            		<span class="categoria"><@liferay.language key="iytu.reportaje.alojamiento" /></span></p> 
241				            		<h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-dormir" /></h2> 
242				            	</div> 
243				            	<div class="textorepo-auxiliar-texto"> 
244				            	${textoDondeDormir.getData()} 
245				            	</div> 
246				            </div> 
247                <#else> 
248		            <div class="textorepo-auxiliar" id="dormir"> 
249				            	<div class="textorepo-auxiliar-imagen sin-img"> 
250				            		<p><span class="categoria"><@liferay.language key="iytu.reportaje.alojamiento" /></span></p> 
251							<h2 class="titulo"><@liferay.language key="iytu.reportaje.donde-dormir" /></h2> 
252				            	</div> 
253				            	<div class="textorepo-auxiliar-texto"> 
254				            	${textoDondeDormir.getData()} 
255				            	</div> 
256				            </div> 
257				 </#if> 
258	        </#if>            
259					</div>			 
260				</div>			 
261			</div> 
262 
263			<div class="col-sm-12 col-md-3 col-md-offset-1 reportaje_secundario"> 
264				<div class="reportaje_sidebar"> 
265					<ul class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> 
266					    <#if !validator.equals("", textoComprarEntradas.data)> 
267						    <li class="panel panel-default"> 
268						        <div class="panel-heading entradas" role="tab" id="heading1"> 
269						            <h2 class="panel-title"> 
270										<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse1" aria-expanded="false" aria-controls="collapse1" class="collapsed bgcolor entradas"> 
271											<@liferay.language key="iytu.evento.comprar-entradas" /> 
272											<span class="iytuicon icon-entradas"></span> 
273										</a> 
274									</h2> 
275						        </div> 
276						        <div id="collapse1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading1"> 
277						            <div class="panel-body"> 
278						                ${appendTag(textoComprarEntradas.getData())}			                 
279						            </div> 
280						        </div> 
281						    </li> 
282						</#if> 
283						<li class="panel panel-default"> 
284					        <div class="panel-heading compartir" role="tab" id="heading2"> 
285					            <h2 class="panel-title"> 
286								<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse2" aria-expanded="false" aria-controls="collapse2"  class="collapsed compartir">										        
287									<@liferay.language key="iytu.reportaje.compartir" />  
288									<span class="iytuicon icon-share"></span>			    
289								</a> 
290								 </h2> 
291					        </div> 
292					        <div id="collapse2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading2"> 
293					            <div class="panel-body blanco"> 
294					                <ul class="redes-sociales">					   
295				  						<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> 
296				  						<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> 
297				  						<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>			   
298				  						<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> 
299									</ul> 
300					            </div> 
301					        </div> 
302					    </li> 
303					    <#if !validator.equals("",URLVerMapa.data)> 
304						   	<li class="panel panel-default"> 
305						        <div class="panel-heading" role="tab" id="heading3"> 
306						            <p class="panel-title"> 
307							        	<a href="${URLVerMapa.getData()}" target="_blank" title="<@liferay.language key="opens-new-window" />">									       
308							            	<@liferay.language key="iytu.evento.ver-mapa" /> <span class="iytuicon icon-ver_mapa"></span> 
309							        	</a> 
310							      	</p> 
311						        </div>					         
312						    </li> 
313					    </#if> 
314					    <#if !validator.equals("",URLWeb.data)> 
315						   	<li class="panel panel-default"> 
316						        <div class="panel-heading" role="tab" id="heading4"> 
317						            <p class="panel-title"> 
318							        	<a href="${URLWeb.getData()}" target="_blank" title="<@liferay.language key="opens-new-window" />">									       
319							            	<@liferay.language key="iytu.evento.ver-pagina-web" /> <span class="iytuicon icon-ver_web"></span> 
320							        	</a> 
321							      	</p> 
322						        </div>					         
323						    </li> 
324					    </#if> 
325						<#if !validator.equals("",textoInformacionPractica.data)> 
326							<li class="panel panel-default"> 
327								<div class="panel-heading" role="tab" id="heading5"> 
328									<h2 class="panel-title"> 
329										<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse5" aria-expanded="true" aria-controls="collapse5"> 
330											<@liferay.language key="iytu.reportaje.info-practica" />  
331										<span class="icon-flecha_acordeon"></span></a> 
332									</h2> 
333								</div> 
334								<div id="collapse5" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading5"> 
335									<div class="panel-body"> 
336										${appendTag(textoInformacionPractica.getData())} 
337									</div> 
338								</div> 
339							</li> 
340						</#if> 
341					</ul> 
342				</div> 
343			</div> 
344		</div> 
345	</div> 
346	<div id="bloqueDescuentos"> 
347<#-- DESCUENTOS --> 
348	<#if 0 lt descuentosEntries?size>	 
349		<#list descuentosEntries as curEntry>			 
350			<#assign renderer = curEntry.getAssetRenderer() > 
351	    	<#assign className = renderer.getClassName() > 
352			<#assign journalArticle = renderer.getArticle() > 
353			<#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) > 
354	        <#assign rootElement = document.getRootElement() > 
355 
356	        <#assign documento1 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_1']/dynamic-element[@name='documento1']").selectSingleNode(rootElement).getStringValue()?trim/> 
357	        <#assign documento2 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_2']/dynamic-element[@name='documento2']").selectSingleNode(rootElement).getStringValue()?trim/> 
358	        <#assign documento3 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_3']/dynamic-element[@name='documento3']").selectSingleNode(rootElement).getStringValue()?trim/> 
359	        <#assign documento4 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_4']/dynamic-element[@name='documento4']").selectSingleNode(rootElement).getStringValue()?trim/> 
360 
361	        <#assign titulo1 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_1']/dynamic-element[@name='titulo1']").selectSingleNode(rootElement).getStringValue()/> 
362	        <#assign titulo2 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_2']/dynamic-element[@name='titulo2']").selectSingleNode(rootElement).getStringValue()/> 
363	        <#assign titulo3 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_3']/dynamic-element[@name='titulo3']").selectSingleNode(rootElement).getStringValue()/> 
364	        <#assign titulo4 = saxReaderUtil.createXPath("dynamic-element[@name='Documento_4']/dynamic-element[@name='titulo4']").selectSingleNode(rootElement).getStringValue()/> 
365	   <#assign groupIdAsLong  =  getterUtil.getLong(groupId)/> 
366				<div class="container-fluid descuentos">	 
367					<div class="container p-0"> 
368						<div class="row mr-0"> 
369							<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">											 
370								<p class="categoria"> 
371									<@liferay.language key="iytu.descuentos.descuentos" /> 
372								</p> 
373								<h3><@liferay.language key="iytu.descuentos.dtosBBCard" /></h3>						 
374								<a href="/bilbao-bizkaia-card" class="boton blanco"><@liferay.language key="iytu.descuentos.comprar" /></a>					 
375							</div> 
376							 
377							<div class="col-xs-12 col-md-6 descargas"> 
378								<ul class="row"> 
379									<#if documento1?? && documento1?length != 0> 
380	   									<#assign fileEntry = getFileEntry(documento1,groupIdAsLong)/> 
381			                        	<#assign size = textFormatter.formatStorageSize(fileEntry.size, locale) /> 
382										<li class="col-xxs-6 col-xs-6"> 
383											<a href="${documento1}" target="_blank" title="<@liferay.language key='opens-new-window' />"> 
384												<h4 class="colour">${titulo1}</h4> 
385												<p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p> 
386											</a> 
387										</li>					 
388									</#if> 
389									<#if documento2?? && documento2?length != 0> 
390										<#assign fileEntry = getFileEntry(documento2,groupIdAsLong) > 
391			                        	<#assign size = textFormatter.formatStorageSize(fileEntry.size, locale) > 
392										<li class="col-xxs-6 col-xs-6"> 
393											<a href="${documento2}" target="_blank" title="<@liferay.language key='opens-new-window' />"> 
394												<h4 class="colour">${titulo2}</h4> 
395												<p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download"/></span> ${size}</p> 
396											</a> 
397										</li> 
398									</#if> 
399									<#if documento3?? && documento3?length != 0> 
400										<#assign fileEntry = getFileEntry(documento3,groupIdAsLong) > 
401			                        	<#assign size = textFormatter.formatStorageSize(fileEntry.size, locale) > 
402										<li class="col-xxs-6 col-xs-6"> 
403											<a href="${documento3}" target="_blank" title="<@liferay.language key='opens-new-window' />"> 
404												<h4 class="colour">${titulo3}</h4> 
405												<p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p> 
406											</a> 
407										</li> 
408									</#if> 
409									<#if documento4?? && documento4?length != 0> 
410										<#assign fileEntry = getFileEntry(documento4,groupIdAsLong) > 
411			                        	<#assign size = textFormatter.formatStorageSize(fileEntry.size, locale) > 
412										<li class="col-xxs-6 col-xs-6"> 
413											<a href="${documento4}" target="_blank" title="<@liferay.language key='opens-new-window' />"> 
414												<h4 class="colour">${titulo4}</h4> 
415												<p class="archivoDescarga"><span class="iytuicon icon-descargar"></span> <span><@liferay.language key="download" /></span> ${size}</p> 
416											</a> 
417										</li> 
418									</#if>		 
419								</ul> 
420							</div> 
421						</div> 
422 
423					</div> 
424				</div>	 
425 
426		</#list> 
427	</#if> 
428	</div> 
429	<span id="lugaresInteres"></span> 
430	<script> 
431	/* $( document ).ready(function() { 
432 
433	    $('#turi-contenedor-anclas a').click(function(e) { 
434	        e.preventDefault(); 
435	        var $target = $(this.hash); 
436	        var destino = this.hash; 
437	        $target = $target.length && $target || $(this.hash); 
438	        if ($target.length) { 
439	            var targetOffset = $target.offset().top; 
440	            var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height(); 
441	            targetOffset = targetOffset - topSpace; 
442	            $('html,body').animate({scrollTop: targetOffset}, 1500); 
443
444 
445	    }); 
446	     
447	    $('body').scrollspy({  		   
448	    	target: '.anclas', 
449	        offset: function() { 
450	        	var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height() + 10; 
451	        	console.log(topSpace);  
452	        	return topSpace; 
453	        }() 
454	    }) 
455	     
456	}); */ 
457	</script> 
458	<script> 
459$( document ).ready(function() { 
460 
461 
462    /** menu responsive convertier a ul **/ 
463	/* 
464	$('#turi-contenedor-anclas .selectpicker').selectpicker({ 
465      maxOptions: 1 
466    }); 
467     
468    $('.anclas .selectpicker').on('change', function () { 
469        //window.location = $(this).val(); 
470        var $target = $(this).val(); 
471        console.log($target + 't'); 
472        var destino = $(this).val(); 
473        console.log(destino + 't'); 
474        $target = $target.length && $target || $(this).val(); 
475        if ($target.length) { 
476            var targetOffset = $target.offset().top; 
477            var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height(); 
478            targetOffset = targetOffset - topSpace; 
479            $('html,body').animate({scrollTop: targetOffset}, 1500); 
480
481	});*/ 
482     
483    /*** animación anclas en menú con fondo color ***/ 
484      
485 
486    $('#turi-contenedor-anclas .visible-md a').click(function(e) { 
487        e.preventDefault(); 
488        var $target = $(this.hash); 
489        var destino = this.hash; 
490        $target = $target.length && $target || $(this.hash); 
491        if ($target.length) { 
492            var targetOffset = $target.offset().top; 
493            var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height(); 
494            targetOffset = targetOffset - topSpace; 
495            $('html,body').animate({scrollTop: targetOffset}, 1500); 
496
497 
498    }); 
499     
500    $('#turi-contenedor-anclas .hidden-md a').click(function(e) { 
501        e.preventDefault(); 
502        var $target = $(this.hash); 
503        var destino = this.hash; 
504        $target = $target.length && $target || $(this.hash); 
505        if ($target.length) { 
506            var targetOffset = $target.offset().top; 
507            var topSpace = $('#heading').height() + $('#turi-contenedor-anclas button').height() + 40; 
508            targetOffset = targetOffset - topSpace; 
509            $('html,body').animate({scrollTop: targetOffset}, 1500); 
510
511 
512    }); 
513 
514    /*** scroll spy para el menú ***/ 
515    $('body').scrollspy({          
516        target: '.anclas', 
517        offset: function() { 
518            var topSpace = $('#heading').height() + $('#turi-contenedor-anclas').height() + 20; 
519            return topSpace; 
520        }() 
521    }) 
522 
523     /****** scroll to fixed de menú de anclas *****/ 
524    if ($(window).width() > 992) { 
525 
526        $('#turi-contenedor-anclas').scrollToFixed({ 
527            marginTop: function() { 
528            var marginTop = $('#heading').height(); 
529             
530             return marginTop; 
531            }, 
532            limit: function() { 
533            var bloque = $('#bloqueDescuentos').offset().top; 
534            var menus = $('#turi-contenedor-anclas').outerHeight(); 
535            var limit =  bloque - menus; 
536            return limit; 
537            }, 
538            removeOffsets: true, 
539            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
540            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
541            }); 
542        $('.reportaje_secundario').scrollToFixed({ 
543            marginTop: 180, 
544            limit: function() { 
545            var limit = $('#bloqueDescuentos').offset().top - $('.reportaje_secundario').height() - 60; 
546            return limit; 
547            }, 
548            removeOffsets: true, 
549            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
550            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
551 
552            }); 
553         
554    }else{ 
555        $('#turi-contenedor-anclas').scrollToFixed({ 
556            marginTop: function() { 
557            var marginTop = $('#heading').height(); 
558             
559             return marginTop; 
560            }, 
561            limit: function() { 
562            var limit = $('#bloqueDescuentos').offset().top - $('#turi-contenedor-anclas').outerHeight(); 
563            console.log(limit); 
564            return limit; 
565            }, 
566            removeOffsets: true, 
567            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
568            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
569            }); 
570        $('.reportaje_secundario').scrollToFixed({ 
571            marginTop: 192, 
572            limit: function() { 
573            var limit = $('#bloqueDescuentos').offset().top - $('.reportaje_secundario').height() - 135; 
574            return limit; 
575            }, 
576            removeOffsets: true, 
577            preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
578            preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
579 
580        }); 
581
582     
583    $(window).bind('resize',function(){ 
584        clearTimeout(this.timeout); 
585        this.timeout = setTimeout(function () {    
586 
587        var windowWidth = $(window).width(); 
588        if(windowWidth > 992){ 
589			 
590 
591            $('#turi-contenedor-anclas').trigger('detach.ScrollToFixed'); 
592            $('#turi-contenedor-anclas').scrollToFixed({ 
593               marginTop: function() { 
594                var marginTop = $('#heading').height(); 
595                 
596                 return marginTop; 
597                }, 
598                limit: function() { 
599                var limit = $('#bloqueDescuentos').offset().top - $('#turi-contenedor-anclas').outerHeight(); 
600                console.log(limit); 
601                return limit; 
602                }, 
603                removeOffsets: true, 
604                preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
605                preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
606                }); 
607            $('.reportaje_secundario').trigger('detach.ScrollToFixed'); 
608            $('.reportaje_secundario').scrollToFixed({ 
609                marginTop: 180, 
610                limit: function() { 
611                var limit = $('#bloqueDescuentos').offset().top - $('.reportaje_secundario').height() - 135; 
612                return limit; 
613                }, 
614                removeOffsets: true, 
615                preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
616                preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
617 
618            }); 
619 
620              
621 
622             
623 
624        }else{ 
625             
626 
627            $('#turi-contenedor-anclas').trigger('detach.ScrollToFixed'); 
628            $('#turi-contenedor-anclas').scrollToFixed({ 
629                marginTop: function() { 
630                var marginTop = $('#heading').height(); 
631                 
632                 return marginTop; 
633                }, 
634                limit: function() { 
635                var limit = $('#bloqueDescuentos').offset().top - $('#turi-contenedor-anclas').outerHeight(); 
636                console.log(limit); 
637                return limit; 
638                }, 
639                removeOffsets: true, 
640                preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
641                preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
642            }); 
643            $('.reportaje_secundario').trigger('detach.ScrollToFixed'); 
644            $('.reportaje_secundario').scrollToFixed({ 
645                marginTop: 192, 
646                limit: function() { 
647                var limit = $('#bloqueDescuentos').offset().top - $('.reportaje_secundario').height() - 135; 
648                return limit; 
649                }, 
650                removeOffsets: true, 
651                preFixed: function() { $(this).removeClass('scroll-to-fixed-fixed-end'); }, 
652                preAbsolute: function() { $(this).addClass('scroll-to-fixed-fixed-end'); } 
653 
654            }); 
655 
656
657 
658 
659             
660        }, 0); 
661 
662    }); 
663 
664     
665}); 
666</script> 
667 
668<#-- FUNCIONES --> 
669 
670<#function getAssetEntryQuery classNameId structureId linkedAssetEntryId order orderType> 
671    <#assign assetEntryQuery = objectUtil("com.liferay.asset.kernel.service.persistence.AssetEntryQuery") > 
672	 
673	<#assign classNameIds = [classNameId] > 
674	${assetEntryQuery.setClassNameIds(classNameIds)} 
675 
676	<#if !validator.equals("", structureId?string) > 
677		<#assign classTypeIds = [structureId] > 
678		${assetEntryQuery.setClassTypeIds(classTypeIds)} 
679		 
680		<#if !validator.equals("", order) > 
681			${assetEntryQuery.setOrderByCol1(order)} 
682			${assetEntryQuery.setOrderByType1(orderType)} 
683		</#if> 
684	</#if> 
685 
686	<#if !validator.equals("0", linkedAssetEntryId?string) > 
687		${assetEntryQuery.setLinkedAssetEntryId(linkedAssetEntryId)} 
688	</#if> 
689 
690	<#return assetEntryQuery > 
691</#function> 
692 
693<#function getFileEntry url groupId> 
694     
695	 
696	<#if url?? && url?length != 0> 
697    	<#list documento1?split("/") as element> 
698			<#assign uuid = element> 
699		</#list> 
700    </#if> 
701    <#assign uuidString = getterUtil.getString(uuid)/> 
702	<#return fileEntryService.fetchDLFileEntryByUuidAndGroupId(uuidString, groupId) /> 
703     
704</#function> 
705 
706<#function replaceSpecialCharacters url> 
707    <#return htmlUtil.escapeHREF(url?replace("|","%7C")) /> 
708</#function> 
709 
710<#function appendTag(element) > 
711  <#if !(element?starts_with("<p>")||element?starts_with("<ul>")||element?starts_with("<ol>")||element?starts_with("<table>"))> 
712    <#assign corrected = "<p>" + element > 
713  <#else> 
714    <#assign corrected = element > 
715  </#if>   
716 
717  <#if !(element?ends_with("</p>")||element?ends_with("</ul>")||element?ends_with("</ol>")||element?ends_with("</table>"))> 
718  <#assign corrected = corrected + "</p>">   
719  </#if>   
720   
721  <#return corrected> 
722</#function>