BGF Global Oppurtunities - areapubblica

Rendimenti e quotazioni
Utile per te
null BGF Global Oppurtunities
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> impostaDataDefault  [in template "10154#10194#TEMPLATE_RENDIMENTI_E_QUOTAZIONI" at line 7, column 28]

----
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 getterUtil.getBoolean(impostaData...  [in template "10154#10194#TEMPLATE_RENDIMENTI_E_QUOTAZIONI" at line 7, column 1]
----
1<#-- Questo web content deve poter utilizzare CSS e JS di Intesa_Vita-theme7 o di ISPVita-theme, a seconda di come e' configurata la pagina --> 
2 
3<link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/dettaglio/jquery.jqplot.min.css" rel="stylesheet" /> 
4<link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/jquery-ui.css" rel="stylesheet" /> 
5<link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/dettaglio/rendimentoDettaglioValore.css" rel="stylesheet" /> 
6 
7<#if getterUtil.getBoolean(impostaDataDefault.getData())> 
8    <#assign data_inizio_default_grafico_Data = getterUtil.getBoolean(impostaDataDefault.data_inizio_default_grafico.getData())> 
9<#else> 
10    <#assign data_inizio_default_grafico_Data = 0> 
11</#if> 
12 
13<#assign _scopeThemplateNameSite = themeDisplay.getScopeGroup()> 
14<#assign groupId = themeDisplay.getScopeGroup().getGroupId()> 
15 
16<#if data_inizio_default_grafico_Data gt 0 > 
17    <#assign data_inizio_default_grafico_DateObj = dateUtil.newDate(data_inizio_default_grafico_Data)> 
18    <#assign dataDefaultVisualizzazione = dateUtil.getDate(data_inizio_default_grafico_DateObj, "yyyy/MM/dd", locale)> 
19    <div id="dataDefaultVisualizzazionediv" style="display:none;">${dataDefaultVisualizzazione}</div> 
20<#else> 
21    <div id="dataDefaultVisualizzazionediv" style="display:none;"></div> 
22</#if> 
23 
24<#assign logaritmica = getterUtil.getBoolean(Abilita_scala_logaritmica.getData())> 
25 
26<#if groupLocalService.getGroup(groupId).getName()?contains("areapubblica (Staging)") || groupLocalService.getGroup(groupId).getName()?contains("areapubblica")> 
27 
28    <#if Fondo_In_valuta?? && getterUtil.getBoolean(Fondo_In_valuta.getData())>  <#-- Se Fondo_In_valuta = true --> 
29	    <#-- INIZIO GS IN VALUTA --> 
30	    <#assign localeIT = localeUtil.fromLanguageId("it")> 
31        <#assign currentGroup = groupLocalService.getGroup(groupId)> 
32        <#assign checkDisplayDate = !currentGroup.isStagingGroup()> 
33        <#assign user = "">	 
34    	<#if request?has_content && request.getRemoteUser()?has_content && request.getRemoteUser()!=""> 
35            <#assign user = userLocalService.getUserById(getterUtil.getLong(request.getRemoteUser()))> 
36        <#else> 
37            <#assign user = userLocalService.getDefaultUser(getterUtil.getLong(companyId))> 
38        </#if> 
39         
40        <#assign current_url = request.getAttribute("CURRENT_URL")> 
41        <#assign catIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "catId", false))> 
42        <#assign catId = getterUtil.getLong(catIdStr)> 
43        <!-- catIdStr - catId --> 
44    	<#assign subcatIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "subcatId", false))> 
45    	<#assign subcatId = getterUtil.getLong(subcatIdStr)> 
46    	<!-- subcatIdStr - subcatId --> 
47    	<#assign categoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "categoria", false))> 
48    	<!-- categoria --> 
49    	<#assign sottoCategoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "sottocategoria", false))> 
50    	<!-- $sottoCategoria --> 
51         
52         
53        <!-- Take layout id --> 
54	    <#assign currentLayoutId = themeDisplay.getPlid()> 
55	    <#assign currentLayout = layoutLocalService.getLayout(currentLayoutId)> 
56	     
57	    <!-- parent layoutId --> 
58    	<#assign currentLayoutParentPlid = currentLayout.getParentPlid()> 
59    	<#assign currentLayoutParent = layoutLocalService.getLayout(currentLayoutParentPlid)> 
60	     
61		 
62	    <#assign catKey = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "chiave").getValue()> 
63	    <#if validator.isNull(catKey)> 
64    		<#assign catKey = assetCategoryLocalService.getAssetCategory(catId).getName()> 
65    	</#if> 
66		 
67    	<#assign catColor = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "colore").getValue()> 
68    	 
69        <#assign isOICR = false> 
70    	<!-- pretitolo --> 
71	    <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) || catKey?lower_case == "rivalutabili"> 
72	        <#assign pre_titolo_rendimento = "Gestione Separata"> 
73	    <#elseif categoria?lower_case == "index linked"> 
74	        <#assign pre_titolo_rendimento = "Indice"> 
75	    <#elseif categoria?lower_case == "oicr"> 
76	        <#assign pre_titolo_rendimento = "OICR"> 
77	        <#assign isOICR = true> 
78	    <#else> 
79	    	<#assign pre_titolo_rendimento = "Fondo"> 
80	    </#if> 
81         
82        <!-- valore dei fondi dal web content --> 
83    	<#assign valoreFondoUno =  confTool.getValoreFondoFromStr(valore_1.getData(), locale)> 
84    	 
85    	<#if getterUtil.getBoolean(Fondo_In_valuta.getData())>   
86    	    <!-- titolo --> 
87    	    <#assign titolo_rendimento = Titolo_rendimento.getData()> 
88    	     
89    		<#assign valutaFondoUno = valuta1.getData()> 
90    		<#assign ultimaDataCambio = dateUtil.getDate(confTool.getLatestTassoDiCambio().getDataCambio(), "dd/MM/yyyy", localeIT)> 
91    		 
92    	</#if> 
93    	 
94    	<!-- INIZIO PRIMO BLOCCO -->  
95 
96        <#assign titolo_gs_associata = label_gestione_separata_associata.getData()> 
97        <#assign titolo_da_visualizzare = titolo_rendimento> 
98         
99        <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) && validator.isNotNull(titolo_gs_associata)> 
100        	<#if categoria?lower_case == "previdenza"> 
101            	<#assign titolo_da_visualizzare = titolo_gs_associata> 
102 	        </#if>                     
103        </#if> 
104        <div class="boxesDettaglio togliMargin"> 
105             <div> 
106                <div class="supTitle capitalize">${pre_titolo_rendimento}</div>   
107                <h1 class="titoloRendimento">${titolo_da_visualizzare}</h1>   
108            </div> 
109 
110            <!-- blocco valore corrente valore protetto --> 
111             
112            <script type="text/javascript"> 
113                 
114            var divisaSimboloMap = { 
115            'EUR': '&#8364;', 
116            'USD': '$', 
117            '':'', 
118            '%':'%' 
119            }; 
120             
121                jQuery(document).ready(function(){ 
122                    var listaValuta=jQuery(".titoloValuta"); 
123                    if (listaValuta!=null){ 
124                        for (var i=0;i<listaValuta.length;i++){ 
125                            if (listaValuta.get(i).innerHTML.indexOf(',')!=-1){ 
126                                var listaValuta_split = listaValuta.get(i).innerHTML.split(','); 
127                                var parteIntera = listaValuta_split[0]; 
128                                if(listaValuta_split[1].indexOf(" ")){ 
129                                    var listaValuta1_split = listaValuta_split[1].split(" "); 
130                                    var parteDecimale = listaValuta1_split[0]; 
131                                    var parteValuta = listaValuta1_split[1]; 
132                                }else{ 
133                                    var parteDecimale = listaValuta_split[1]; 
134                                    var parteValuta = ""; 
135
136                                  
137                                var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
138                                console.log(parteValutaMap + "-" + parteValuta ); 
139                                                                var html = parteIntera + ",<span class='decimali'>" + parteDecimale + "</span>" + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
140                                listaValuta.get(i).innerHTML = html; 
141                            }else{ 
142                            console.log(listaValuta.get(i).innerHTML); 
143                                if(listaValuta.get(i).innerHTML.indexOf(" ")!=-1){ 
144                                var listaValuta_split = listaValuta.get(i).innerHTML.split(" "); 
145                                var parteIntera = listaValuta_split[0]; 
146                                var parteValuta = listaValuta_split[1]; 
147                                    var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
148                                    console.log(parteValutaMap + "-" + parteValuta ); 
149                                var html = parteIntera + " " + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
150                                        listaValuta.get(i).innerHTML = html; 
151
152
153
154
155                }); 
156            </script> 
157 
158            <!-- blocco a singola colonna --> 
159            <div class="bloccoValori" > 
160                <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
161                <div class="bloccoValuta"> 
162                    <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
163                    <h6 class="dataValuta">Aggiornato al ${ultimaDataCambio}</h6> 
164                </div> 
165            </div> 
166           
167        </div> 
168        <!-- FINE PRIMO BLOCCO --> 
169         
170        <div class="template_rendimenti_e_quotazioni"> 
171            <!-- INIZIO BLOCCO (GRAFICO STORICO) --> 
172            <div class="boxesDettaglio storicGraph"> 
173                <#assign _listaTassiDiCambio = confTool.getTassoDiCambio()> 
174                <div class="reset"> 
175                    <h5 class="titolo"> 
176                        Andamento del tasso di cambio Euro/Dollari rilevato alle 14:00 ora italiana. <small class="">Dati aggiornati al ${ultimaDataCambio}.</small> 
177                    </h5> 
178                    <#if _listaTassiDiCambio?size gt 0> 
179                        <div class="graficoRendimento" > 
180                            <div id="chartdiv"></div> 
181                        </div> 
182                        <div class="datePickers reset"> 
183                            <p class="inizio"> 
184                                <input type="text" class="datePicker" id="datepickerDa" value="" /> 
185                            </p> 
186                            <p class="fine"> 
187                                <input type="text" class="datePicker" id="datepickerA" value="" /> 
188                            </p> 
189                        </div> 
190                        <p class="reset">Visualizzazione andamento dal <span id="andamentoDa"></span> al <span id="andamentoA"></span></p> 
191                        <p class="reset" style="font-style:italic"> 
192                        	Attenzione: i valori passati non sono indicativi di quelli futuri. 
193                        </p> 
194                    </#if> 
195                </div> 
196            </div> 
197            <!-- FINE BLOCCO GRAFICO --> 
198             
199            <!-- BLOCCO PROSPETTO --> 
200    	    <#if !( 
201    	    !Colonna_prospetto.getSiblings()?has_content ||  
202    	    (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
203    	    (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
204    	    (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
205    	    )))>  
206    	        <div class="boxesDettaglio togliMargin"> 
207    	            <div class="reset">  
208    	                <h5 class="titolo prospetto">${label_prospetto.getData()}</h5> 
209    	                <p class="">${descrizione_prospetto.getData()}</p> 
210    	            </div> 
211    	 
212    	            <#if $Colonna_prospetto.getSiblings()?has_content> 
213    	            <div class="table"> 
214    	             
215    	                <div class="row theader"> 
216    	                    <div class="cell"> 
217    	                        <!-- prima colonnavuota --> 
218    	                    </div> 
219    	                     
220    	                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
221    	                        <div class="cell"> 
222    	                                ${cur_Colonna_prospetto.getData()} 
223    	                        </div> 
224    	                    </#list> 
225    	                     
226    	                </div> 
227    	 
228    	                <#if Tipo_generazione_righe_prospetto.getData()=="dinamico"> 
229    	  
230    	                    <#if $Nome_Riga_Prospetto.getSiblings()?has_content> 
231    	                        <#assign contatore_righe = 0> 
232    	                        <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Riga_Prospetto> 
233    	  
234    	                            <div class="row"> 
235    	                                <div class="cell"> 
236    	                                    <div class="">${cur_Nome_Riga_Prospetto.getData()}</div> 
237    	                                </div> 
238    	  
239    	                                <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1> 
240    	                                    <div class="cell"> 
241    	                                        <#assign contatore_allegati = 0> 
242    	                                        <#assign allegatoUrl = ''> 
243    	 
244    	                                        <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato>	 
245    	                                            <#if contatore_allegati == contatore_righe> 
246    	                                                <#assign allegatoUrl = allegato.getData()> 
247    	                                            </#if> 
248    	                                            <#assign contatore_allegati = contatore_allegati + 1> 
249    	                                        </#list>	                                 
250    									 
251    											<#assign dlFileVersion = ''> 
252    											<#if validator.isNotNull(allegatoUrl)> 
253    												<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
254    											</#if> 
255    											<#if validator.isNotNull(dlFileVersion)> 
256    		                                       	<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
257    		                                    <#else>    
258    		                                    	<div>&mdash;</div> 
259    	                                        </#if> 
260    	                                    </div> 
261    	                                </#list>                         
262    	                            </div> 
263    	 
264    	                            <#assign contatore_righe = contatore_righe + 1> 
265    	                        </#list> 
266    	                     
267    	                    </div> 
268    	  
269    	                    </#if> 
270    	  
271    	                </#if> 
272    	            </#if> 
273    	 
274    	 
275    	            <#if Tipo_generazione_righe_prospetto.getData()=="quadrimestrali">  
276    	                <div class="row"> 
277    	                    <div class="cell"> 
278    	                        <div class="">Composizione al 31/03</div> 
279    	                    </div> 
280    	                     
281    	                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1> 
282		                        <div class="cell"> 
283		                            <#assign contatore_allegati = 0> 
284		                            <#assign allegatoUrl = ''> 
285		                            <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
286		                                <#if contatore_allegati == 0> 
287		                                    <#assign allegatoUrl = allegato.getData()> 
288		                                </#if> 
289		                                <#assign contatore_allegati = contatore_allegati + 1> 
290		                            </#list> 
291		                             
292		                            <#assign dlFileVersion = ''> 
293									<#if validator.isNotNull(allegatoUrl)> 
294										<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
295									</#if> 
296									<#if validator.isNotNull(dlFileVersion)> 
297			                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
298		                            <#else>    
299		                                <div>&mdash;</div> 
300		                            </#if> 
301		                        </div> 
302		                    </#list> 
303    	                     
304    	                </div> 
305    	                 
306    	                 
307    	                <div class="row"> 
308    	                    <div class="cell"> 
309    	                        <div class="">Composizione al 30/06</div> 
310    	                    </div> 
311    	                     
312    	                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto2> 
313		                        <div class="cell"> 
314		                            <#assign contatore_allegati = 0> 
315		                            <#assign allegatoUrl = ''> 
316		                            <#list cur_Colonna_prospetto2.Allegato_prospetto.getSiblings() as allegato> 
317		                                <#if contatore_allegati == 1> 
318		                                    <#assign allegatoUrl = allegato.getData()> 
319		                                </#if> 
320		                                <#assign contatore_allegati = contatore_allegati + 1> 
321		                            </#list> 
322		                             
323		                            <#assign dlFileVersion = ''> 
324									<#if validator.isNotNull(allegatoUrl)> 
325										<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
326									</#if> 
327									<#if validator.isNotNull(dlFileVersion)> 
328			                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
329		                            <#else>    
330		                                <div>&mdash;</div> 
331		                            </#if> 
332		                        </div> 
333		                    </#list> 
334    	                     
335    	                </div> 
336    	                 
337    	                 
338    	                <div class="row"> 
339    	                    <div class="cell"> 
340    	                        <div class="">Composizione al 30/09</div> 
341    	                    </div> 
342    	                     
343    	                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto3> 
344		                        <div class="cell"> 
345		                            <#assign contatore_allegati = 0> 
346		                            <#assign allegatoUrl = ''> 
347		                            <#list cur_Colonna_prospetto3.Allegato_prospetto.getSiblings() as allegato> 
348		                                <#if contatore_allegati == 2> 
349		                                    <#assign allegatoUrl = allegato.getData()> 
350		                                </#if> 
351		                                <#assign contatore_allegati = contatore_allegati + 1> 
352		                            </#list> 
353		                             
354		                            <#assign dlFileVersion = ''> 
355									<#if validator.isNotNull(allegatoUrl)> 
356										<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
357									</#if> 
358									<#if validator.isNotNull(dlFileVersion)> 
359			                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
360		                            <#else>    
361		                                <div>&mdash;</div> 
362		                            </#if> 
363		                        </div> 
364		                    </#list> 
365    	                     
366    	                </div> 
367    	                 
368    	                <div class="row"> 
369    	                    <div class="cell"> 
370    	                        <div class="">Composizione al 31/12</div> 
371    	                    </div> 
372    	                     
373    	                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto4> 
374		                        <div class="cell"> 
375		                            <#assign contatore_allegati = 0> 
376		                            <#assign allegatoUrl = ''> 
377		                            <#list cur_Colonna_prospetto4.Allegato_prospetto.getSiblings() as allegato> 
378		                                <#if contatore_allegati == 3> 
379		                                    <#assign allegatoUrl = allegato.getData()> 
380		                                </#if> 
381		                                <#assign contatore_allegati = contatore_allegati + 1> 
382		                            </#list> 
383		                             
384		                            <#assign dlFileVersion = ''> 
385									<#if validator.isNotNull(allegatoUrl)> 
386										<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
387									</#if> 
388									<#if validator.isNotNull(dlFileVersion)> 
389			                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
390		                            <#else>    
391		                                <div>&mdash;</div> 
392		                            </#if> 
393		                        </div> 
394		                    </#list> 
395    	                     
396    	                </div> 
397    	            </#if> 
398    	             
399    	            ##</div> 
400    	        </div> 
401    	    </#if> 
402             
403            <!-- INIZIO BLOCCO SMARTPHONE PROSPETTO --> 
404    	    <#if !( 
405    	    !Colonna_prospetto.getSiblings()?has_content ||  
406    	    (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
407    	    (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
408    	    (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
409    	    )))>  
410    			<div class="table_smart secondaTab prospetto"> 
411    				<table> 
412    					<tbody>                                
413    						 
414    						<#assign tipo_colonne_prospetto = Tipo_generazione_righe_prospetto.getData() > <!-- in realta per gli smart le righe sono colonne --> 
415    						<#if tipo_colonne_prospetto == "dinamico">  
416    	 
417    							<tr class="intestazione_smart"> 
418    								<td colspan="1">Anno</td>    
419    								<#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Col_Prospetto> 
420    									<td colspan="1">${cur_Nome_Col_Prospetto.getData()}</td> 
421    								</#list> 
422    							</tr> 
423    	 
424    							<#if Colonna_prospetto.getSiblings()?has_content> 
425    								<#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>                             
426    									<#assign velocityCount = cur_Colonna_prospetto?index/> 
427    									<#if velocityCount % 2 == 0> 
428    										<tr class="pari"> 
429    									<#elseif velocityCount % 2 == 1> 
430    										<tr class="dispari"> 
431    									</#if> 
432    	 
433    											<td>${cur_Colonna_prospetto.getData()}</td> 
434    											<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>    
435    												<#assign allegatoUrl = ''>   
436    												<td>                                        
437    													<#assign allegatoUrl = allegato.getData()>  
438    													<#assign dlFileVersion = ''> 
439    													<#if validator.isNotNull(allegatoUrl)> 
440    														<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
441    													</#if> 
442    													<#if validator.isNotNull(dlFileVersion)> 
443    														<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
444    													<#else>   
445    														<div>&mdash;</div> 
446    													</#if> 
447    												</td> 
448    											</#list> 
449    										</tr> 
450    								</#list>                    
451    							</#if> 
452    	 
453    						<#elseif tipo_colonne_prospetto == "quadrimestrali"> 
454    	 
455    							<tr class="intestazione_smart"> 
456    								<td colspan="1">Anno</td>    
457    								<td colspan="1">31Mar</td> 
458    								<td colspan="1">30Giu</td> 
459    								<td colspan="1">30Set</td> 
460    								<td colspan="1">31Dic</td> 
461    							</tr> 
462    	 
463    							<#if Colonna_prospetto.getSiblings()?has_content> 
464    	 
465    								<#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>                             
466    									<#assign velocityCount = cur_Colonna_prospetto?index/> 
467    									<#if velocityCount % 2 == 0> 
468    										<tr class="pari"> 
469    									<#elseif velocityCount % 2 == 1> 
470    										<tr class="dispari"> 
471    									</#if> 
472    	 
473    											<td>${cur_Colonna_prospetto.getData()}</td> 
474    										  
475    											<#assign contatore_allegati = 0>                                         
476    											<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato> 
477    												<#assign allegatoUrl = ''> 
478    												 <td>    
479    													<#assign allegatoUrl = allegato.getData()> 
480    													<#assign dlFileVersion = ''> 
481    													<#if validator.isNotNull(allegatoUrl)> 
482    														<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
483    													</#if> 
484    													<#if validator.isNotNull(dlFileVersion)>                                            
485    														<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
486    													<#else>    
487    														<div>&mdash;</div> 
488    													</#if> 
489    												</td> 
490    											</#list>                                     
491    										</tr> 
492    								</#list>                    
493    							</#if> 
494    						</#if> 
495    					</tbody> 
496    				</table> 
497    			</div> 
498    		</#if> 
499    	    <!-- FINE BLOCCO SMARTPHONE PROSPETTO --> 
500 
501        </div> 
502        <!-- FINE SECONDO BLOCCO -->  
503            	 
504        <!-- BLOCCO (DOWNLOADS BOXES) --> 
505         
506        <#if !( Download_box_label?? && Download_box_label.getData()?has_content && 
507            !Download_box_label.getSiblings()?has_content ||  
508            (Download_box_label.getSiblings()?size==1 &&  
509            (!Download_box_label.getSiblings()[0].getData()?has_content || Download_box_label.getSiblings()[0].getData()=='') && 
510            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?has_content || 
511            (Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?size==1 && 
512            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings().getData()?has_content || Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()[0].getData()=='') 
513            ))))>            
514             
515            <#list Download_box_label.getSiblings() as cur_Download_box_label>	                 
516                <div class="boxesDettaglio togliMargin"> 
517                    <div class="reset download"> 
518    					<#if getterUtil.getBoolean(cur_Download_box_label.conteggio_file.getData())> 
519    						<#assign file_number = cur_Download_box_label.Nome_allegato.getSiblings()?size> 
520    						<h5 class="titolo">${cur_Download_box_label.getData()} ( ${file_number} file )</h5> 
521    					<#else> 
522    						<h5 class="titolo download">${cur_Download_box_label.getData()}</h5> 
523    					</#if> 
524    					<#if cur_Download_box_label.Nome_allegato.getSiblings()?has_content> 
525    						<div class="archivi"> 
526    							<#list cur_Download_box_label.Nome_allegato.getSiblings() as cur_Download_box> 
527    							 
528    								<#assign fileEntryPath = cur_Download_box.Allegato_url.getData()> 
529     
530    								<#assign dlFileVersion = ''>					 
531    								<#if validator.isNotNull(fileEntryPath)> 
532    									<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
533    								</#if> 
534    								<#if validator.isNotNull(dlFileVersion)> 
535    									<#if cur_Download_box.tipo_allegato.getData()=="excel"> 
536    										<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
537    											<h6> 
538    												<span class="icona icon-copy"></span> 
539    									<#else> 
540    										<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
541    											<h6> 
542    												<span class="icona icon-file"></span>                      
543    									</#if> 
544    												<div>${cur_Download_box.getData()}</div> 
545    											</h6> 
546    										</a> 
547    								</#if> 
548    							</#list> 
549    						</div> 
550    					</#if> 
551                    </div> 
552                </div> 
553            </#list> 
554    	</#if> 
555         
556    	<!-- FINE BLOCCO (DOWNLOADS BOXES) --> 
557         
558        <script type="text/javascript"> 
559        	jQuery(document).ready(function(){ 
560        	 
561        	        /* Nasconde, se presente lo span che contiene la pagina di dettaglio */ 
562        	        if(jQuery(".breadcrumbs .elementi span").length) { 
563        	            jQuery(".breadcrumbs .elementi span").hide();    
564
565        	         
566        	        if(jQuery("html").is(".smartphone")) 
567
568        	            convertTableToDivs(); 
569        	            swipeProspetto(); 
570        	            jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-menu'></div>"); 
571        	            jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-items'></div>"); 
572        	            jQuery(".boxesDettaglio.togliMargin .bloccoValori").appendTo(".boxesDettaglio.togliMargin .carousel-items"); 
573        	             
574        	            jQuery(".boxesDettaglio.togliMargin .bloccoValori").wrap("<div class='carousel-item'></div>"); 
575        	             
576        	            var bullet=jQuery('<span class="carousel-menu-index">&bull;</span>'); 
577        	             
578        	            /* creo l'elenco delle slide */ 
579        	            jQuery(".boxesDettaglio.togliMargin .carousel-item").each(function(){ 
580        	            bullet.clone().appendTo(".boxesDettaglio.togliMargin .carousel-menu"); 
581        	            }); 
582        	             
583        	            var car = ISP.carousel('.boxesDettaglio.togliMargin .carousel-items', '.boxesDettaglio.togliMargin .carousel-menu'); 
584        	            
585        	            car.play(); 
586
587        	    }); 
588        	  
589        	function updateAndamentoLabel(){ 
590        	jQuery("#andamentoDa").html(jQuery("#datepickerDa").val()); 
591        	jQuery("#andamentoA").html(jQuery("#datepickerA").val()); 
592
593        	  
594        	    function applyGradientOnPlot(){ 
595        	    var canvasSeries = jQuery(".jqplot-series-canvas")[0]; 
596        	    var ctx = canvasSeries.getContext("2d"); 
597        	    var my_gradient=ctx.createLinearGradient(0,0,0,300); 
598        	    my_gradient.addColorStop(0, "rgba(251,168,129,0.6)"); 
599        	    my_gradient.addColorStop(1, "rgba(251,168,129,0.1)"); 
600        	    ctx.fillStyle = my_gradient; 
601        	    ctx.fill(); 
602
603        	     
604        	    function updateDatePickers(){ 
605        	    //Aggiorniamo i datepicker con i reali valori visualizzati dal grafico. Necessario per via del padding. 
606        	      		    
607        		   var dataInizialeDefault = jQuery("#dataDefaultVisualizzazionediv").text(); 
608        		   	    
609        		   if(dataInizialeDefault.length>0){ 
610        			var dataNuova = new Date (dataInizialeDefault); 
611        		 
612        			jQuery("#datepickerDa").datepicker("setDate", new Date(dataInizialeDefault)); 
613        		   }else{ 
614        		 	jQuery("#datepickerDa").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
615
616        		    
617        		    
618        	      jQuery("#datepickerA").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
619        	      jQuery('#datepickerDa').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
620        	      jQuery('#datepickerDa').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
621        	      jQuery('#datepickerA').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
622        	      jQuery('#datepickerA').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
623
624        	     
625        	    function aggiornaPerformance(dataIniziale, dataFinale){ 
626        	    var dati = window.gestioneGrafico.datiTraLeDate(dataIniziale, dataFinale); 
627        	    
628        	    var valoreIniziale = dati[0][1]; 
629        	    var valoreFinale = dati[dati.length - 1][1]; 
630        	    
631        	    var performance = ((valoreFinale - valoreIniziale) / valoreIniziale) * 100; 
632        	    if(!isNumber(performance)){ 
633        	    performance = 0; 
634
635        	    var performance_rounded = +performance.toFixed(2); 
636        	    
637        	    var performance_split = []; 
638        	    if(performance_rounded.toString().indexOf(".")>0){ 
639        	    performance_split = performance_rounded.toString().split("."); 
640        	    }else{ 
641        	    performance_split[0] = performance_rounded; 
642        	    performance_split[1] = 0; 
643
644        	    jQuery(".bloccoValori.performance .titoloValuta").html(performance_split[0] + (performance_split[1]!=0?",<span class='decimali'>" + performance_split[1] + "</span>":"") + " %"); 
645
646        	     
647        	    function postDrawProcessing(){ 
648        	        console.log("postDrawHooks!"); 
649        	        applyGradientOnPlot(); 
650        	          
651        	        var dataIniziale = new Date(gestioneGrafico.plotter.axes.xaxis.min); 
652        	        var dataFinale = new Date(gestioneGrafico.plotter.axes.xaxis.max); 
653        	          
654        			aggiornaPerformance(dataIniziale, dataFinale); 
655        	  
656        	        var dataInizialeStr = jQuery.datepicker.formatDate('dd/mm/yy', dataIniziale) 
657        	        var dataFinaleStr = jQuery.datepicker.formatDate('dd/mm/yy', dataFinale); 
658         
659        	        //aggiorno solo se diverso per evitare di far scattare onchange 
660        	        //if (dataInizialeStr!=jQuery("#datepickerDa").val()) { 
661        	        	console.log('aggiorno data iniziale da ' + jQuery("#datepickerDa").val() + ' a ' + dataInizialeStr); 
662        	        	jQuery("#datepickerDa").datepicker("setDate", dataIniziale); 
663        	        //} 
664        	        //if (dataFinaleStr!=jQuery("#datepickerA").val()) { 
665        	       		console.log('aggiorno data finale da ' + jQuery("#datepickerA").val() + ' a ' + dataFinaleStr); 
666        				jQuery("#datepickerA").datepicker("setDate", dataFinale); 
667        			//} 
668        	          
669        	        updateAndamentoLabel(); 
670
671        	      
672        	    function isNumber(n) { 
673        	      return !isNaN(parseFloat(n)) && isFinite(n); 
674
675        	     
676        	    jQuery(document).ready(function() { 
677        	    	 
678        	    	//window.primavolta = true; 
679        	    
680        	        jQuery.jsDate.regional['it-IT'] = { 
681        	            monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], 
682        	            monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'], 
683        	            dayNames: ['Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'], 
684        	            dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], 
685        	            formatString: '%d-%m-%Y %H:%M:%S' 
686        	        }; 
687        	        jQuery.jsDate.regional.getLocale(); 
688        	    
689        		Date.prototype.sameDay = function(d) { 
690        			 
691        					 
692        		return (this.getFullYear() === d.getFullYear() 
693        	    		&& this.getMonth() === d.getMonth() 
694        				&& this.getDate() === d.getDate()); 
695        		 
696
697        		 
698        	        //Spostato qui perché voglio essere sicuro che gestioneGrafico sia inizializzato quando viene chiamato in questa funzione. 
699        	        //window.gestioneGrafico garantisce che è una variabile globale! -RC 
700        	    window.gestioneGrafico = { 
701        	  
702        	        //Gestione del pad manuale perché quando si impostano un minimo e un massimo per gli assi il pad è ignorato. -RC 
703        	        pad: 1.1,  
704        			 
705        	           tuttiIdatiDelGrafico : function() {  
706        	                 
707        	               var tuttiIDati =[]; 
708        				    
709        				   <#assign _listaTassiDiCambio = confTool.getTassoDiCambio()> 
710        	                    
711        	               <#list _listaTassiDiCambio as tassoDicambio> 
712        	                   tuttiIDati.push([this.getADate('${tassoDicambio.getDataCambioString()}'),'${tassoDicambio.getBfixAsk()}']); 
713        	               </#list> 
714        	                
715        	                //ritorno una copia dell'array che contiene tutti i dati 
716        	               return tuttiIDati.slice(); 
717        	           }, 
718        	            
719        	           getADate: function (dataStr) 
720
721        	               //console.log("getADate dataStr" + dataStr); 
722        	               if (dataStr == null) 
723        	                   return; 
724        	                var partiData = dataStr.split("/"); 
725        	                var day = partiData[0]; 
726        	                var month = partiData[1] - 1; 
727        	                var year = partiData[2]; 
728        	                //console.log("year " + year + " month" + month + " day " + day) 
729        	                var aDate = new Date(year, month, day, 0, 0, 0, 0); 
730        	                return aDate; 
731        	           }, 
732        	            
733        	           datiTraLeDate : function (dataDa, dataA){ 
734        	               //console.log("datiTraLeDate dataDa " + dataDa + " dataA " + dataA); 
735        	                
736        	               var tuttiIdati = this.tuttiIdatiDelGrafico(); 
737        	               //cerco l'elemento minimo superiore a dataDa  
738        	               //cerco l'elemnto massimo inferiore a dataA 
739        	               //l'array di dati originali è gia ordinato per data 
740        	               var indiceDellaDataMinore = -1; 
741        	               var indiceDellaDataMaggiore = -1; 
742        	               var currDate; 
743        	               //cerco la prima data subito superiore a dataDa 
744        	               for (var i=0; i< tuttiIdati.length; i++) { 
745        	                  currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
746        	                  if((currDate.isAfter(dataDa)||(currDate.isSame(dataDa))) && (currDate.isBefore(dataA)||currDate.isSame(dataA))) { 
747        	                      indiceDellaDataMinore = i; 
748        	                     break; 
749
750        	               }   
751        	                //cerco la prima data subito inveriore  a dataA 
752        	               for (var i=tuttiIdati.length -1; i>=0; i--) { 
753        	                  currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
754        	                  if((currDate.isBefore(dataA)|| currDate.isSame(dataA)) && (currDate.isAfter(dataDa)||currDate.isSame(dataDa))) { 
755        	                      indiceDellaDataMaggiore = i; 
756        	                     break; 
757
758
759        	               //a questo punto ho gli indici delle date minore e maggiore, taglio l'array 
760        	               var nDiElementi  = indiceDellaDataMaggiore - indiceDellaDataMinore + 1; 
761        	               console.log("nDiElementi" + nDiElementi); 
762        	               var nuovoRange = tuttiIdati.splice(indiceDellaDataMinore,nDiElementi); 
763        	               //se 0 risultati creo un array con dati [[dataIniziale, 0], [dataFinale, 0]] 
764        	               if (nuovoRange.length == 0){ 
765        	                   console.log("ritorno un range vuoto"); 
766
767        	               
768        	               return nuovoRange; 
769        	           }, 
770        	           getAxisBounds: function(dati, pad, dataDa, dataA){ 
771        	            var _pad = (pad==null||typeof pad == 'undefined')?0:pad; 
772        	            var _dataDa = typeof dataDa == 'undefined'?null:dataDa; 
773        	            var _dataA = typeof dataA == 'undefined'?null:dataA; 
774        				 
775        	            
776        	            var minXVal = null; 
777        	            var maxXVal = null; 
778        	            //Vogliamo che Y parta da 0 o dal minimo valore minore di 0 
779        	            var minYVal = null; 
780        	            var maxYVal = null; 
781        	            
782        	            for(var i=0; i<dati.length; i++){ 
783        					var valY = parseFloat(dati[i][1]); 
784        					if(_dataDa==null&&(minXVal==null||dati[i][0]<minXVal)){ 
785        					minXVal = dati[i][0]; 
786
787        					if(_dataA==null&&(maxXVal==null||dati[i][0]>maxXVal)){ 
788        					maxXVal = dati[i][0]; 
789
790        					if(minYVal==null||valY<minYVal){ 
791        					minYVal = valY; 
792
793        					if(maxYVal==null||valY>maxYVal){ 
794        					maxYVal = valY; 
795
796
797        	            
798        	            if(dataDa!=null){ 
799        	            minXVal = dataDa; 
800
801        	            if(dataA!=null){ 
802        	            maxXVal = dataA; 
803
804        	            
805        	            var padX = 0; 
806        	            var padY = 0; 
807        	            if(dati.length>1){ 
808        	            padX = ((maxXVal - minXVal)*(pad-1))/2; 
809        	//             padY = minYVal>0?((maxYVal - 0)*(pad-1))/2:((maxYVal - minYVal)*(pad-1))/2; 
810        	            padY = ((maxYVal - minYVal)*(pad-1))/2; 
811        	            }else{ 
812        	            padX = 86401000; 
813        	            padY = maxYVal*(pad-1); 
814
815        	            
816        	            if(padY<0){ 
817        	            padY=-padY; 
818        	            }else if(padY==0){ 
819        	            padY=2; 
820
821        	            
822        	            var bounds = { 
823        	            minX: dati.length>1?new Date(minXVal.getTime()):new Date(minXVal.getTime()-padX), 
824        	            maxX: dati.length>1?new Date(maxXVal.getTime()):new Date(maxXVal.getTime()+2*padX), 
825        	//             minY: minYVal>0?0:minYVal-padY, 
826        	            minY: (minYVal-padY), 
827        	            maxY: maxYVal+padY 
828
829        	            
830        	            return bounds; 
831        	           }, 
832        	            zoomHandler: function() { 
833        	              var c = this.plugins.cursor; 
834        	              console.log(c); 
835        	            }, 
836        	            
837        	           plotter: null, 
838        			visualizzaGrafico : function (dati, dataDa, dataA){ 
839        				var seriesToPlot; 
840        				 
841        				try{ 
842        					if (typeof dataDa === 'undefined') dataDa = new Date(gestore.plotter.axes.xaxis.min); 
843        					if (typeof dataA === 'undefined') dataA = new Date(gestore.plotter.axes.xaxis.max); 
844        				}catch(e){ 
845        					//console.log(e); 
846
847        				var minDate = jQuery("#datepickerDa").datepicker('getDate'),//.datepicker('option', 'minDate'), 
848        					maxDate = jQuery("#datepickerA").datepicker('getDate'),//.datepicker('option', 'maxDate'), 
849        					datiFondo = window.gestioneGrafico.tuttiIdatiDelGrafico().slice(); 
850        				datiFondo.sort(function(a,b){ 
851        						return a[0] - b[0]; 
852        					}); 
853        				 
854        				var minFondo = null;	 
855         
856        				for (var i = 0; i < datiFondo.length; i++){						 
857        					if (!isNaN(datiFondo[i][0])){ 
858        						datiFondo[i][0] = new Date(datiFondo[i][0]); 
859
860
861        				 
862        				for (var i = 0; i < datiFondo.length; i++){						 
863        					if (datiFondo[i][0].sameDay(minDate)){ 
864        						minFondo = datiFondo[i]; 
865        						break; 
866
867
868        				for (var i = 0; i < datiFondo.length; i++){						 
869        					if (datiFondo[i][0] >= minDate){ 
870        						minFondo = datiFondo[i]; 
871        						break; 
872
873
874        				if (minFondo == null) minFondo = datiFondo[0]; 
875        				 
876        				var maxFondo = null; 
877        				 
878        				for (var i = 0; i < datiFondo.length; i++){						 
879        					if (datiFondo[i][0].sameDay(maxDate)){ 
880        						maxFondo = datiFondo[i]; 
881        						break; 
882
883
884        				 
885        				if(maxFondo == null){ 
886        					for (var i = 0; i < datiFondo.length; i++){						 
887        						if (datiFondo[i][0] > maxDate){ 
888        							maxFondo = datiFondo[i]; 
889        							break; 
890
891
892
893        				var datiFiltrati=[]; 
894        				for(var i = 0; i < dati.length; i++){ 
895        					if (window.gestioneGrafico.checkData(dati[i][0], minFondo[0], maxFondo[0], datiFondo)){ 
896        						datiFiltrati.push(dati[i]); 
897
898
899        				seriesToPlot = [datiFiltrati]; 
900        				 
901        				var singlePoint = dati.length==1; 
902        	                var bounds = this.getAxisBounds(dati, this.pad, dataDa, dataA); 
903							var logaritmica = logaritmica; 
904        	                console.log("Axis Bounds: " + bounds); 
905        	                   if(this.plotter != null) 
906        	                       this.plotter.destroy(); 
907        	                   if(singlePoint){ 
908        	                    dati.push(dati[0]); 
909
910        	                   this.plotter = jQuery.jqplot('chartdiv',  seriesToPlot,  
911        	                       {  
912        	                           title:{ 
913        	                               text: '', 
914        	                               show: false 
915        	                           }, 
916        	                           axesDefaults: { 
917        	                           }, 
918        	                           cursor:{ 
919        	                                 show: false, 
920        	                                 showTooltip: false, 
921        	                                 zoom: false, 
922        	                                 constrainZoomTo: 'x' 
923        	                               }, 
924        	                           seriesDefaults: { 
925        	                                
926        	                                color: '#fba881',      // CSS color spec to use for the line.  Determined automatically. 
927        	                                showMarker: singlePoint,   // render the data point markers or not. 
928        	                                fill: true,        // fill under the line, 
929        	                                fillAndStroke: singlePoint,       // *stroke a line at top of fill area. 
930        	                                fillColor: '#fba881', 
931        	                                fillAlpha: 0.001,      // *custom alpha to apply to fillColor. 
932        	                                shadow: false   // show shadow or not. 
933        	                                 
934        	                            }, 
935        	                           axes:{ 
936        	                               xaxis:  { 
937        	                                   renderer:jQuery.jqplot.DateAxisRenderer, 
938        	                                   min: bounds.minX, 
939        	                                   max: bounds.maxX, 
940        	                                   //min:minimo, 
941        	                                   //max:maximo, 
942        	                                   tickOptions: {formatString: '%d/%m/%Y'} 
943        	                               }, 
944        	                               yaxis: { 
945        								    renderer:logaritmica==true?jQuery.jqplot.LogAxisRenderer:jQuery.jqplot.LinearAxisRenderer, 
946        	                                min: bounds.minY, 
947        	                                max: bounds.maxY, 
948        	                                tickOptions: {formatString: '%#.3f' +" "+ divisaSimboloMap['EUR'] } 
949
950        	                           }, 
951        	                           series:[{ 
952        	                               lineWidth:2,  
953        	                               markerOptions: 
954
955        	                                    style:'circle' 
956
957        	                                },{ 
958        	                                lineWidth: 1,  
959        	                                markerOptions: 
960
961        	                                    style:'circle' 
962        	                                   }, 
963            	                                color: '#0a4379',      // CSS color spec to use for the line.  Determined automatically. 
964        										linePattern: 'dashed', 
965        										lineWidth: 0.5, 
966            	                                showMarker: singlePoint,   // render the data point markers or not. 
967            	                                fill: false, 
968            	                                shadow: false, 
969            	                                rendererOptions: { 
970            	                                    smooth: true 
971
972        	                                }], 
973        	                            highlighter: { 
974        	                                   show: false, 
975        	                                   sizeAdjust: 7.5, 
976        									   formatString: "%s - %#.3f"  
977        	                                 }, 
978        	                                 grid: { 
979        	                                     drawGridLines: true,        // wether to draw lines across the grid or not. 
980        	                                     gridLineColor: '#f0f1f6',    // *Color of the grid lines. 
981        	                                     background: '#fff',      // CSS color spec for background color of grid. 
982        	                                     borderColor: '#f0f1f6',     // CSS color spec for border around grid. 
983        	                                     borderWidth: 1.0,           // pixel width of border around grid. 
984        	                                     shadow: false,               // draw a shadow for grid. 
985
986        	                       }); 
987        						    
988        						    
989        	               }, 
990         
991        		checkData: function(data, dStart, dEnd, datiFondo){ 
992        				   		var dStart = typeof dStart == 'undefined'?null:dStart; 
993        					    var dEnd = typeof dEnd == 'undefined'?null:dEnd;	            
994        				   		 
995        				   		if (dStart == null || dEnd == null){ 
996        								for(var i=0; i<datiFondo.length; i++){ 
997        								if(dStart == null || datiFondo[i][0] < dStart){ 
998        									dStart = datiFondo[i][0]; 
999
1000        								if(dEnd == null || datiFondo[i][0] > dEnd){ 
1001        									dEnd = datiFondo[i][0]; 
1002
1003
1004        			    	        }       		 
1005        					     if (data >= dStart && data <= dEnd){ 
1006        					    	return true; 
1007        					    }  
1008        				   		return false; 
1009
1010
1011        	        <#if getterUtil.getBoolean(Fondo_In_valuta.getData())> 
1012        				<#if _listaTassiDiCambio?size gt 0> 
1013        				 
1014        					jQuery.jqplot.sprintf.thousandsSeparator = ''; 
1015        					jQuery.jqplot.sprintf.decimalMark = ','; 
1016        					var gestore = gestioneGrafico; 
1017        					var datiDaVisualizzare = gestore.tuttiIdatiDelGrafico(); 
1018        					var bounds = gestioneGrafico.getAxisBounds(datiDaVisualizzare,this.pad); 
1019        					console.log('LIMITS'); 
1020        					console.log(bounds); 
1021        					// inizializzo i date picker con gli estremi delle date disponibili in base ai dati ricevuti 
1022        					jQuery("#datepickerDa").datepicker({ 
1023        						//showOtherMonths: false, 
1024        						//selectOtherMonths: false, 
1025        						changeMonth : true, 
1026        						changeYear : true, 
1027        						dateFormat : "dd/mm/yy", 
1028        						 
1029        						onSelect : function() { 
1030        							jQuery("#datepickerA").datepicker('option', { 
1031        								minDate : jQuery(this).datepicker('getDate') 
1032        							}); 
1033        							updateGraphDatesFromDatePickers(); 
1034        							//updateDatePickers(); 
1035        						}, 
1036        					}, jQuery.datepicker.regional['it']); 
1037        					jQuery("#datepickerDa").datepicker("setDate", bounds.minX); 
1038        				     
1039        					jQuery("#datepickerA").datepicker({ 
1040        						changeMonth : true, 
1041        						changeYear : true, 
1042        						dateFormat : "dd/mm/yy", 
1043        						defaultDate : bounds.maxX, 
1044        						minDate : bounds.minX, 
1045        						maxDate : bounds.maxX, 
1046        						onSelect : function() { 
1047        							jQuery("#datepickerDa").datepicker('option', { 
1048        								maxDate : jQuery(this).datepicker('getDate') 
1049        							}); 
1050        							updateGraphDatesFromDatePickers(); 
1051        						}, 
1052        						beforeShow : function(input, inst) { 
1053        							inst.dpDiv.css({marginLeft: -input.offsetWidth + 'px'}); 
1054
1055        					}, jQuery.datepicker.regional['it']); 
1056        					jQuery("#datepickerA").datepicker("setDate",bounds.maxX); 
1057        					function updateGraphDatesFromDatePickers() { 
1058        						var dataDaStr = jQuery("#datepickerDa").val(); 
1059        						var dataAStr = jQuery("#datepickerA").val(); 
1060        						console.log("date cambiate: da " + dataDaStr + " a " + dataAStr); 						 
1061        						var dataDa = gestore.getADate(dataDaStr); 
1062        						var dataA = gestore.getADate(dataAStr); 
1063        						// se la data è maggiore di data a non fare nulla 
1064        						if (dataDa >= dataA) 
1065        							return; 
1066         
1067        						gestore.plotter.axes.xaxis.min = dataDa; 
1068        						gestore.plotter.axes.xaxis.max = dataA; 
1069         
1070        						var interval = (dataA.getTime() - dataDa.getTime()) / 5; 
1071        						var ticks = []; 
1072        						var currTick = dataDa.getTime(); 
1073        						ticks.push(currTick); 
1074        						for (var i = 0; i < 5; i++) { 
1075        							currTick += interval; 
1076        							ticks.push(currTick); 
1077
1078         
1079        						gestore.plotter.axes.xaxis.ticks = ticks; 
1080        						//gestore.plotter.replot(); 
1081        						var datiDaVisualizzare = window.gestioneGrafico.tuttiIdatiDelGrafico(); 
1082        						window.gestioneGrafico.visualizzaGrafico(datiDaVisualizzare);	 
1083         
1084        						// Necessario per riabilitare zoom 
1085        						gestore.plotter.axes.xaxis.ticks = []; 
1086        					}; 
1087        	                if (Liferay.Browser.isIe() && Liferay.Browser.getVersion() < 9) 
1088
1089        						// carica script che emula il canvas poiché ie < 9 non lo supoporta 
1090        						var exCanvasScriptUrl = "${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/excanvas/excanvas.min.js"; 
1091        						jQuery.getScript(exCanvasScriptUrl, function(data, textStatus, jqxhr) { 
1092        							gestore.visualizzaGrafico(datiDaVisualizzare); 
1093        							 
1094        							applyGradientOnPlot(); 
1095        							jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
1096        							updateAndamentoLabel(); 
1097        						}); 
1098
1099        					else 
1100
1101        						gestore.visualizzaGrafico(datiDaVisualizzare); 
1102        						applyGradientOnPlot(); 
1103        						jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
1104        						updateAndamentoLabel(); 
1105
1106        	                updateDatePickers(); 
1107        					updateGraphDatesFromDatePickers(); 
1108        					aggiornaPerformance(datiDaVisualizzare[0][0], datiDaVisualizzare[datiDaVisualizzare.length - 1][0]); 
1109        					jQuery( ".datePicker" ).change(updateGraphDatesFromDatePickers); 
1110							jQuery('#datepickerDa').click(function(){ 
1111								jQuery('#datepickerDa').datepicker('show'); 
1112							}); 
1113							jQuery('#datepickerA').focus(function(){ 
1114								jQuery('#datepickerA').datepicker('show'); 
1115							}); 
1116 
1117							jQuery('#datepickerA').click(function(){ 
1118								jQuery('#datepickerA').datepicker('show'); 
1119							}); 
1120        				</#if> 
1121        	        </#if> 
1122        	    }); 
1123        </script> 
1124         
1125        <!-- FINE GS IN VALUTA -->	 
1126     
1127    <#else>  <!-- Se Fondo_In_valuta = false --> 
1128		 
1129		<div class="template_rendimenti_e_quotazioni"> 
1130		     
1131		    <link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/dettaglio/jquery.jqplot.min.css" rel="stylesheet" /> 
1132			<link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/jquery-ui.css" rel="stylesheet" /> 
1133			<link href="${themeDisplay.getPathThemeRoot()}/css/portlets/rendimentiequotazioni/dettaglio/rendimentoDettaglioValore.css" rel="stylesheet" /> 
1134		     
1135		     
1136		    <#assign localeIT = localeUtil.fromLanguageId('it')> 
1137					 
1138			<#assign currentGroup = groupLocalService.getGroup(groupId)> 
1139			 
1140			<#assign checkDisplayDate = !currentGroup.isStagingGroup()> 
1141			 
1142			<!-- assegnazione di una variabile con il tool custom, deployato sul portale --> 
1143			<!-- get user from request --> 
1144			 
1145			<#assign user = ""> 
1146			<#if request?has_content && request.getRemoteUser()?has_content && request.getRemoteUser()!=""> 
1147                <#assign user = userLocalService.getUserById(getterUtil.getLong(request.getRemoteUser()))> 
1148            <#else> 
1149                <#assign user = userLocalService.getDefaultUser(getterUtil.getLong(companyId))> 
1150            </#if> 
1151             
1152            <#assign current_url = request.getAttribute("CURRENT_URL")> 
1153			 
1154			<if getterUtil.getBoolean(request.getAttribute("isCustomFriendlyUrlFilter")) && request.getAttribute("originalFriendlyUrlFilterUrl") != ""> 
1155				<#assign current_url = request.getAttribute("originalFriendlyUrlFilterUrl") > 
1156			</if> 
1157			 
1158			<#assign catIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "catId", false))> 
1159            <#assign catId = getterUtil.getLong(catIdStr)> 
1160             
1161			<#assign subcatIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "subcatId", false))> 
1162        	<#assign subcatId = getterUtil.getLong(subcatIdStr)> 
1163        	 
1164			<#assign categoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "categoria", false))> 
1165        	<#assign sottoCategoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "sottocategoria", false))> 
1166			 
1167			<!-- Take layout id --> 
1168    	    <#assign currentLayoutId = themeDisplay.getPlid()> 
1169    	    <#assign currentLayout = layoutLocalService.getLayout(currentLayoutId)> 
1170    	     
1171    	    <!-- parent layoutId --> 
1172        	<#assign currentLayoutParentPlid = currentLayout.getParentPlid()> 
1173        	<#assign currentLayoutParent = layoutLocalService.getLayout(currentLayoutParentPlid)> 
1174    	     
1175			 
1176    	    <#assign catKey = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "chiave").getValue()> 
1177    	    <#if validator.isNull(catKey)> 
1178        		<#assign catKey = assetCategoryLocalService.getAssetCategory(catId).getName()> 
1179        	</#if> 
1180        	 
1181        	<#assign catColor = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "colore").getValue()> 
1182        	 
1183			 
1184            <#assign isOICR = false> 
1185            <!-- pretitolo --> 
1186    	    <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) || catKey?lower_case == "rivalutabili"> 
1187    	        <#assign pre_titolo_rendimento = "Gestione Separata"> 
1188    	    <#elseif categoria?lower_case == "index linked"> 
1189    	        <#assign pre_titolo_rendimento = "Indice"> 
1190    	    <#elseif categoria?lower_case == "oicr"> 
1191    	        <#assign pre_titolo_rendimento = "OICR"> 
1192    	        <#assign isOICR = true> 
1193    	    <#else> 
1194    	    	<#assign pre_titolo_rendimento = "Fondo"> 
1195    	    </#if> 
1196    	     
1197    	    <!-- valore dei fondi dal web content -->    
1198			<#assign valoreFondoUno =  confTool.getValoreFondoFromStr(valore_1.getData(), locale)> 
1199			<#assign valoreFondoDue =  confTool.getValoreFondoFromStr(valore_2.getData(), locale)> 
1200		     
1201		    <#if getterUtil.getBoolean(usa_valori_da_fondo.getData())> 
1202		        <#assign usaFondo = true> 
1203					     
1204			    <!-- titolo --> 
1205			    <#assign titolo_rendimento = Titolo_rendimento.getData()> 
1206			     
1207			    <#if titolo_rendimento==""> 
1208			        <#assign titolo_rendimento = Titolo_rendimento.getData()> 
1209			    </#if> 
1210			     
1211			    <!-- valore e valuta dei fondi dal db --> 
1212			    <#if validator.isNotNull(valoreFondoUno)> 
1213    		        <#if validator.isNull(valoreFondoDue) || valoreFondoDue == "0">	 
1214    		            <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)> 
1215    		            <#assign valoreFondoDue = "">	 
1216    		        <#else> 
1217    		            <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)> 
1218    		            <#assign valoreFondoDue =  confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(), locale)>	 
1219    		        </#if> 
1220    			<#else> 
1221    				 <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(),locale)> 
1222    		         <#assign valoreFondoDue =  confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(),locale)>	 
1223    			</#if>  
1224			     
1225			    <#if valoreFondoDue=="0" || valoreFondoDue == "0,000"> 
1226			        <#assign valoreFondoDue = ""> 
1227			    </#if> 
1228			 
1229			    <#assign valutaFondoUno =  confTool.getValutaFondoUnoFromDb(id_fondo.getData())> 
1230			    <#assign valutaFondoDue =  confTool.getValutaFondoDueFromDb(id_fondo.getData())> 
1231			     
1232			    <!-- data aggiornamento valore --> 
1233			    <#assign dataAggiornamentoValore = confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)> 
1234			     
1235			    <!-- rating --> 
1236			    <#assign ratings = confTool.getRatingsFromDb(id_fondo.getData())> 
1237			 
1238			<#else> 
1239                <#assign usaFondo = false>  
1240					             
1241			    <!-- titolo --> 
1242			    <#assign titolo_rendimento = Titolo_rendimento.getData()> 
1243			 
1244			    <!-- valuta dei fondi dal web content --> 
1245			    <#assign valutaFondoUno =  valuta1.getData()> 
1246			    <#assign valutaFondoDue =  valuta_2.getData()> 
1247			     
1248			    <!--  data aggiornamento valori --> 
1249				<#assign aggiornato_al_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(aggiornato_al.getData()), localeIT)> 
1250			    <#assign dataAggiornamentoValore = dateUtil.getDate(aggiornato_al_DateObj, "dd MMM yyyy", localeIT)> 
1251			     
1252			    <!-- rating --> 
1253			    <#assign ratings = Rating.getData()> 
1254			     
1255		    </#if> 
1256		     
1257		    <!-- PRIMO BLOCCO --> 
1258			<#assign breadCrumb = confTool.getBreadcrumb(themeDisplay.getLayout(),themeDisplay) > 
1259		    <div class="boxesDettaglio togliMargin"> 
1260		        <!-- briciole di pane --> 
1261				<div id="breadcrumbs" class="breadcrumbs"> 
1262				    <div class="elementi"> 
1263				         
1264				        <!-- Inizio creazione Breadcrumb --> 
1265						 
1266			        	<#assign titolo_gs_associata = label_gestione_separata_associata.getData()> 
1267				        <#assign titolo_da_visualizzare = titolo_rendimento> 
1268				         
1269				        <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) && validator.isNotNull(titolo_gs_associata)> 
1270				        	<#if categoria?lower_case == "previdenza"> 
1271				            	<#assign titolo_da_visualizzare = titolo_gs_associata> 
1272				 	        </#if>                     
1273						</#if> 
1274						 
1275						<!-- get article's primaryKey --> 
1276		                <#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(groupId), .vars['reserved-article-id'].data, getterUtil.getDouble(.vars['reserved-article-version'].data))> 
1277		                <#assign articlePrimKey = article.resourcePrimKey> 
1278		                <#assign resourcePrimKey = getterUtil.getLong(articlePrimKey)> 
1279		                <#assign categorie = confTool.getCategoriesByResourcePrimKey(resourcePrimKey)> 
1280		                <#assign categorieSize = categorie?size> 
1281						 
1282						<#list breadCrumb?keys as key>  
1283							<a href="${key}">${breadCrumb[key]}</a> 
1284						</#list> 
1285						<span>${themeDisplay.getLayout().getName()}</span> 
1286						 
1287						<#list categorie as cur_categoria> 
1288						    <#if cur_categoria.getCategoryId() == catId> 
1289		                        <!--  --> 
1290		                        <a href="/web${currentLayoutParent.getGroup().getFriendlyURL()}${currentLayoutParent.getFriendlyURL()}?selectedCategoryId=${cur_categoria.getCategoryId()}">${cur_categoria.getName()}</a> 
1291		                    </#if>   
1292						</#list> 
1293						 
1294						<#list categorie as cur_categoria> 
1295						    <#if cur_categoria.getCategoryId() == subcatId> 
1296		                        <!-- cur_categoria.getCategoryId() == catId --> 
1297		                        <a href="/web${currentLayoutParent.getGroup().getFriendlyURL()}${currentLayoutParent.getFriendlyURL()}?selectedCategoryId=${cur_categoria.getCategoryId()}">${cur_categoria.getName()}</a> 
1298		                    </#if>   
1299						</#list> 
1300						 
1301						${titolo_da_visualizzare} 
1302						 
1303						<!-- Fine creazione Breadcrumb --> 
1304						 
1305				    </div> 
1306		        </div> 
1307		        <div> 
1308		            <div class="supTitle capitalize">${pre_titolo_rendimento}</div> 
1309					<h1 class="titoloRendimento">${titolo_da_visualizzare}</h1> 
1310		             
1311		            <#if Notifica_alert?? && Notifica_alert.getData() != ""> 
1312								    	 
1313    			    	<div class="descrizioni notifica_alert">${Notifica_alert.getData()}</div> 
1314    			    	 
1315    			    	<#assign testoFascetta = confTool.getRendimentoParsed(article, themeDisplay.getLanguageId()).getTestoFascetta(article, themeDisplay.getLanguageId(), catId, subcatId)> 
1316    			    	<#if validator.isNotNull(testoFascetta)> 
1317    			    		<div class="fascetta_rendimento ${catColor}">${testoFascetta}</div> 
1318    			    	</#if> 
1319    			    	 
1320    			    </#if> 
1321		             
1322		            <#assign strippedHtmlDescrizione = confTool.stripHTML(Descrizione_rendimento_e_quotazione.getData())?trim> 
1323	                <#if validator.isNotNull(titolo_rendimento) && strippedHtmlDescrizione?lower_case != titolo_rendimento?trim?lower_case> 
1324	                    <div class="descrizioni">${Descrizione_rendimento_e_quotazione.getData()}</div> 
1325	                </#if> 
1326		             
1327		        </div> 
1328		         
1329		        <!-- blocco valore corrente valore protetto --> 
1330	            <!-- script da spostare in hook --> 
1331	            <script type="text/javascript"> 
1332	                 
1333	            var divisaSimboloMap = { 
1334	            'EUR': '&#8364;', 
1335	            'USD': '$', 
1336	            '':'', 
1337	            '%':'%' 
1338	            }; 
1339	             
1340	                jQuery(document).ready(function(){ 
1341	                    var listaValuta=jQuery(".titoloValuta"); 
1342	                    if (listaValuta!=null){ 
1343	                        for (var i=0;i<listaValuta.length;i++){ 
1344	                            if (listaValuta.get(i).innerHTML.indexOf(',')!=-1){ 
1345	                                //                                 var index=listaValuta.get(i).outerHTML.indexOf(','); 
1346	                                //                                 var html = listaValuta.get(i).outerHTML.substring(0,index+1) + "<span class='decimali'>" + listaValuta.get(i).outerHTML.substring(index+1,index+3) + "</span>" + listaValuta.get(i).outerHTML.substring(index+3,listaValuta.get(i).outerHTML.length); 
1347	                                //                                 listaValuta.get(i).outerHTML = html; 
1348	                                var listaValuta_split = listaValuta.get(i).innerHTML.split(','); 
1349	                                var parteIntera = listaValuta_split[0]; 
1350	                                if(listaValuta_split[1].indexOf(" ")){ 
1351	                                    var listaValuta1_split = listaValuta_split[1].split(" "); 
1352	                                    var parteDecimale = listaValuta1_split[0]; 
1353	                                    var parteValuta = listaValuta1_split[1]; 
1354	                                }else{ 
1355	                                    var parteDecimale = listaValuta_split[1]; 
1356	                                    var parteValuta = ""; 
1357
1358	                                  
1359	                                var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
1360	                                console.log(parteValutaMap + "-" + parteValuta ); 
1361	                                                                var html = parteIntera + ",<span class='decimali'>" + parteDecimale + "</span>" + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
1362	                                listaValuta.get(i).innerHTML = html; 
1363	                            }else{ 
1364	                            console.log(listaValuta.get(i).innerHTML); 
1365	                                if(listaValuta.get(i).innerHTML.indexOf(" ")!=-1){ 
1366	                                var listaValuta_split = listaValuta.get(i).innerHTML.split(" "); 
1367	                                var parteIntera = listaValuta_split[0]; 
1368	                                var parteValuta = listaValuta_split[1]; 
1369	                                    var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
1370	                                    console.log(parteValutaMap + "-" + parteValuta ); 
1371	                                var html = parteIntera + " " + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
1372	                                        listaValuta.get(i).innerHTML = html; 
1373
1374
1375
1376
1377	                }); 
1378	            </script> 
1379		         
1380		        <#if valoreFondoDue == "" > 
1381                    <!-- blocco a singola colonna 2--> 
1382                     
1383                    <div class="bloccoValori" > 
1384                        <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
1385                        <div class="bloccoValuta"> 
1386                            <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
1387                            <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
1388                        </div> 
1389                    </div> 
1390                 
1391                <#else> 
1392                 
1393                    <!-- blocco a doppia colonna --> 
1394	                <div class="valoriDoppioWrapper"> 
1395		                <div class="bloccoValori doppio first" > 
1396		                    <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
1397		                    <div class="bloccoValuta"> 
1398		                        <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
1399		                        <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
1400		                    </div> 
1401		                </div> 
1402		                <div class="bloccoValori doppio" > 
1403		                    <h4 class="titoloValori">${Label_valore_protetto.getData()} 
1404								<#if valore_1_min_garantito.getData()!=""> 
1405
1406								</#if> 
1407							</h4> 
1408		                    <div class="bloccoValuta"> 
1409		                        <h3 class="titoloValuta">${valoreFondoDue} ${valutaFondoDue}</h3> 
1410		                        <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
1411		                    </div> 
1412		                </div> 
1413	                </div> 
1414	                <#if validator.isNotNull(valore_1_min_garantito.getData())> 
1415		                <div class="caption"> 
1416							*&nbsp;${valore_1_min_garantito.getData()} 
1417						</div> 
1418					</#if> 
1419                </#if> 
1420		         
1421		        <div class="reset"> 
1422		         
1423		            <#if isOICR && validator.isNotNull(Societa_di_gestione.getData())> 
1424                		<#assign labelSocietaGestione = "Societ&agrave; di gestione"> 
1425                		<#if validator.isNotNull(Label_societa_di_gestione.getData())> 
1426                			<#assign labelSocietaGestione = Label_societa_di_gestione.getData()> 
1427                		</#if> 
1428                		<div class="gestione"> 
1429                			<h6 class="">${labelSocietaGestione}: <strong>&nbsp;${Societa_di_gestione.getData()}</strong></h6> 
1430                		</div>	                		 
1431                	</#if> 
1432                	 
1433                    <#if Istituto_emittente.getData() != ""> 
1434                        <h5 class="titolo">${Label_obbligazione_strutturata.getData()}</h5> 
1435                        <div class="istituto"> 
1436                            <h6 class="">${Label_istituto_emittente.getData()}: <strong>${Istituto_emittente.getData()}</strong></h6> 
1437                            <h6 class="">${Label_rating.getData()}: <strong>${Rating.getData()}</strong></h6> 
1438                        </div> 
1439                    </#if> 
1440     
1441    				<#assign Data_scadenza_to_show = ''> 
1442                    <#if validator.isNotNull(Data_scadenza.getData())> 
1443						<#assign Data_scadenza_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(Data_scadenza.getData()), localeIT)> 
1444    					<!-- 01/01/2100 --> 
1445    					<#if dateUtil.compareTo(Data_scadenza_DateObj,dateUtil.newDate(4102441200000)) lt 0 > 
1446    						<#assign Data_scadenza_to_show = 'Scadenza ' + dateUtil.getDate(Data_scadenza_DateObj, "dd/MM/yyyy", localeIT)> 
1447    					</#if> 
1448    				</#if> 
1449     
1450    				<#if validator.isNotNull(Data_scadenza_to_show)> 
1451    					<h6 class="scadenza nomobile"><strong>${Data_scadenza_to_show}</strong></h6> 
1452    				</#if> 
1453		        </div> 
1454		         
1455		        <!-- Da agganciare nel momento in cui caricano i contenuti derivati --> 
1456				<div class="reset"> 
1457                    <#if Istituto_emittente_derivata?? && Istituto_emittente_derivata.getData() != ""> 
1458	                    <h5 class="titolo">${Label_obbligazione_derivata.getData()}</h5> 
1459	                    <div class="istituto derivata"> 
1460	                        <h6 class="">${Label_istituto_emittente_derivata.getData()}:<strong>${Istituto_emittente_derivata.getData()}</strong></h6> 
1461	                        <h6 class="">${Label_rating_derivata.getData()}:<strong>${Rating_derivata.getData()}</strong></h6> 
1462	                    </div> 
1463                    </#if> 
1464                     
1465                    <#if validator.isNotNull(Data_scadenza_to_show)> 
1466                        <h6 class="scadenza onlymobile"><strong>$Data_scadenza_to_show</strong></h6> 
1467					</#if> 
1468 
1469                </div> 
1470		         
1471		    </div> 
1472		     
1473		    <!-- FINE PRIMO BLOCCO --> 
1474					 
1475					         
1476			<!-- SECONDO BLOCCO (GRAFICO STORICO) --> 
1477		     
1478			<#assign _listaRendimenti = []> 
1479		    <#assign hasBenchmark = false> 
1480            <#assign _benchmarkFondoMap = confTool.getBenchmarkFondo(id_fondo.id_benchmark_fondo.getData())> 
1481            <#if _benchmarkFondoMap?size gt 0> 
1482               <#assign hasBenchmark = true> 
1483            </#if> 
1484 
1485				<#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))> 
1486                <div class="boxesDettaglio storicGraph"> 
1487                    <#assign _datiStorico = confTool.getDatiStorico(id_fondo.getData())> 
1488                    <#assign _listaRendimenti = _datiStorico.getValoriRendimenti()> 
1489					 
1490                    <div class="reset"> 
1491                        <#if getterUtil.getBoolean(hasBenchmark)> 
1492                            <style type="text/css"> 
1493    	            			.legendaBenchmark span.fondo::before{ 
1494    	            				color: #fba881; 
1495    	            				background-color: #fba881; 
1496
1497    	            			.legendaBenchmark span.benchmark::before{ 
1498    	            				color: #0a4379; 
1499    	            				background-color: #0a4379; 
1500
1501    	            			.legendaBenchmark span::before{ 
1502    	            				display: inline-block; 
1503    	            				height: 12px; 
1504    	            				width: 12px; 
1505    	            				border-radius: 12px; 
1506    	            				border: 1px solid #eee; 
1507    	            				content: " "; 
1508    	            				margin-right: 8px; 
1509    							    margin-bottom: -3px; 
1510
1511    	            		</style> 
1512    	            	     
1513    	            	    <div class="legendaBenchmark" style="float: right; border: 1px solid #eee; padding: 10px; margin-right: 9px;"> 
1514		            			<span class="fondo"><i></i>Andamento Fondo</span><br/></br> 
1515		            			<span class="benchmark"><i></i>Andamento Benchmark</span> 
1516		            		</div> 
1517    	            	     
1518                        </#if> 
1519                         
1520                        <h5 class="titolo"> 
1521		                    Andamento performance  
1522		                    <#if getterUtil.getBoolean(hasBenchmark)> 
1523		                    	fondo e benchmark <br/> 
1524		                    </#if> 
1525		                    <small class="">Dati aggiornati al ${confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)}</small> 
1526		                </h5> 
1527		                <#if getterUtil.getBoolean(hasBenchmark)> 
1528		                	<div style="clear: right"></div> 
1529		                </#if> 
1530                         
1531                        <#if _listaRendimenti?size gt 0> 
1532                            <div class="graficoRendimento" > 
1533		                        <div id="chartdiv"></div> 
1534		                    </div> 
1535		                    <div class="datePickers reset"> 
1536		                        <p class="inizio"> 
1537		                            <input type="text" class="datePicker" id="datepickerDa" value="${_datiStorico.getDataInizialeString()}" /> 
1538		                        </p> 
1539		                        <p class="fine"> 
1540		                            <input type="text" class="datePicker" id="datepickerA" value="${_datiStorico.getDataFinaleString()}" /> 
1541		                        </p> 
1542		                    </div> 
1543		                    <p class="reset">Visualizzazione andamento dal <span id="andamentoDa"></span> al <span id="andamentoA"></span></p> 
1544		                    <p class="reset" style="font-style:italic"> 
1545		                    	Attenzione: i valori passati non sono indicativi di quelli futuri. 
1546		                    	<#if getterUtil.getBoolean(hasBenchmark)> 
1547		                    		Si evidenzia inoltre che la performance del Fondo risente dei costi gravanti sullo stesso, mentre il benchmark,  
1548		                    		in quanto indice teorico, non è gravato da costi. 
1549		                    	</#if> 
1550		                    </p> 
1551                        </#if> 
1552                    </div> 
1553                </div>		     
1554		    </#if> 
1555		     
1556		    <!-- FINE SECONDO BLOCCO --> 
1557		     
1558		    <!-- BLOCCO PROSPETTO --> 
1559		     
1560		    <#if !( 
1561    		    !Colonna_prospetto.getSiblings()?has_content ||  
1562    		    (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
1563    		    (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
1564    		    (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
1565    		    )))> 
1566    		     
1567    		    <div class="boxesDettaglio togliMargin"> 
1568    		        <div class="reset">            
1569		                <p class="">${descrizione_prospetto.getData()}</p> 
1570		            </div> 
1571    		        <#if Colonna_prospetto.getSiblings()?has_content> 
1572    		            <div class="table"> 
1573    		                <div class="row theader"> 
1574			                    <div class="cell"> 
1575			                        <!-- prima colonnavuota --> 
1576			                    </div> 
1577            		            <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>  
1578            		                <div class="cell"> 
1579            		                    ${cur_Colonna_prospetto.getData()} 
1580            		                </div> 
1581            		            </#list> 
1582                            </div> 
1583                             
1584                            <#if Tipo_generazione_righe_prospetto.getData()=="dinamico"> 
1585                                <#if Nome_Riga_Prospetto.getSiblings()?has_content> 
1586                                    <#assign contatore_righe = 0> 
1587                                    <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Riga_Prospetto> 
1588                                        <div class="row"> 
1589			                                <div class="cell"> 
1590			                                    <div class="">${cur_Nome_Riga_Prospetto.getData()}</div> 
1591			                                </div> 
1592			                                <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1>  
1593			                                    <div class="cell"> 
1594    		                                        <#assign contatore_allegati = 0> 
1595    		                                        <#assign allegatoUrl = ''> 
1596			                                         
1597			                                        <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
1598			                                         
1599			                                            <#if contatore_allegati == contatore_righe> 
1600			                                                <#assign allegatoUrl = allegato.getData()> 
1601			                                            </#if> 
1602			                                            <#assign contatore_allegati = contatore_allegati + 1> 
1603			                                        </#list> 
1604			                                         
1605			                                        <#assign dlFileVersion = ''> 
1606													<#if validator.isNotNull(allegatoUrl)> 
1607														<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1608													</#if> 
1609													<#if validator.isNotNull(dlFileVersion)> 
1610				                                       	<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1611				                                    <#else> 
1612				                                    	<div>&mdash;</div> 
1613			                                        </#if> 
1614			                                    </div> 
1615			                                </#list> 
1616			                            </div> 
1617                                        <#assign contatore_righe = contatore_righe + 1> 
1618                                    </#list> 
1619                                </#if> 
1620                            </#if> 
1621                             
1622                            <#if Tipo_generazione_righe_prospetto.getData()=="quadrimestrali"> 
1623                                <div class="row"> 
1624    			                    <div class="cell"> 
1625    			                        <div class="">Composizione al 31/03</div> 
1626    			                    </div> 
1627    			                     
1628    			                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1> 
1629    			                        <div class="cell"> 
1630    			                            <#assign contatore_allegati = 0> 
1631    			                            <#assign allegatoUrl = ''> 
1632    			                            <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
1633    			                                <#if contatore_allegati == 0> 
1634    			                                    <#assign allegatoUrl = allegato.getData()> 
1635    			                                </#if> 
1636    			                                <#assign contatore_allegati = contatore_allegati + 1> 
1637    			                            </#list> 
1638    			                             
1639    			                            <#assign dlFileVersion = ''> 
1640    										<#if validator.isNotNull(allegatoUrl)> 
1641    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1642    										</#if> 
1643    										<#if validator.isNotNull(dlFileVersion)> 
1644    				                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1645    			                            <#else>    
1646    			                                <div>&mdash;</div> 
1647    			                            </#if> 
1648    			                        </div> 
1649    			                    </#list> 
1650    			                </div> 
1651                                 
1652                                <div class="row"> 
1653    			                    <div class="cell"> 
1654    			                        <div class="">Composizione al 30/06</div> 
1655    			                    </div> 
1656    			                     
1657    			                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto2> 
1658    			                        <div class="cell"> 
1659    			                            <#assign contatore_allegati = 0> 
1660    			                            <#assign allegatoUrl = ''> 
1661    			                            <#list cur_Colonna_prospetto2.Allegato_prospetto.getSiblings() as allegato> 
1662    			                                <#if contatore_allegati == 1> 
1663    			                                    <#assign allegatoUrl = allegato.getData()> 
1664    			                                </#if> 
1665    			                                <#assign contatore_allegati = contatore_allegati + 1> 
1666    			                            </#list> 
1667    			                             
1668    			                            <#assign dlFileVersion = ''> 
1669    										<#if validator.isNotNull(allegatoUrl)> 
1670    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1671    										</#if> 
1672    										<#if validator.isNotNull(dlFileVersion)> 
1673    				                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1674    			                            <#else>    
1675    			                                <div>&mdash;</div> 
1676    			                            </#if> 
1677    			                        </div> 
1678    			                    </#list> 
1679    			                </div> 
1680    			                 
1681    			                <div class="row"> 
1682    			                    <div class="cell"> 
1683    			                        <div class="">Composizione al 30/09</div> 
1684    			                    </div> 
1685    			                     
1686    			                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto3> 
1687    			                        <div class="cell"> 
1688    			                            <#assign contatore_allegati = 0> 
1689    			                            <#assign allegatoUrl = ''> 
1690    			                            <#list cur_Colonna_prospetto3.Allegato_prospetto.getSiblings() as allegato> 
1691    			                                <#if contatore_allegati == 2> 
1692    			                                    <#assign allegatoUrl = allegato.getData()> 
1693    			                                </#if> 
1694    			                                <#assign contatore_allegati = contatore_allegati + 1> 
1695    			                            </#list> 
1696    			                             
1697    			                            <#assign dlFileVersion = ''> 
1698    										<#if validator.isNotNull(allegatoUrl)> 
1699    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1700    										</#if> 
1701    										<#if validator.isNotNull(dlFileVersion)> 
1702    				                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1703    			                            <#else>    
1704    			                                <div>&mdash;</div> 
1705    			                            </#if> 
1706    			                        </div> 
1707    			                    </#list> 
1708    			                </div> 
1709    			                 
1710    			                <div class="row"> 
1711    			                    <div class="cell"> 
1712    			                        <div class="">Composizione al 31/12</div> 
1713    			                    </div> 
1714    			                     
1715    			                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto4> 
1716    			                        <div class="cell"> 
1717    			                            <#assign contatore_allegati = 0> 
1718    			                            <#assign allegatoUrl = ''> 
1719    			                            <#list cur_Colonna_prospetto4.Allegato_prospetto.getSiblings() as allegato> 
1720    			                                <#if contatore_allegati == 3> 
1721    			                                    <#assign allegatoUrl = allegato.getData()> 
1722    			                                </#if> 
1723    			                                <#assign contatore_allegati = contatore_allegati + 1> 
1724    			                            </#list> 
1725    			                             
1726    			                            <#assign dlFileVersion = ''> 
1727    										<#if validator.isNotNull(allegatoUrl)> 
1728    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1729    										</#if> 
1730    										<#if validator.isNotNull(dlFileVersion)> 
1731    				                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1732    			                            <#else>    
1733    			                                <div>&mdash;</div> 
1734    			                            </#if> 
1735    			                        </div> 
1736    			                    </#list> 
1737    			                </div> 
1738                            </#if> 
1739    		            </div> 
1740    		        </#if> 
1741    		    </div> 
1742    		</#if> 
1743		     
1744		     
1745		    <!-- INIZIO BLOCCO SMARTPHONE PROSPETTO --> 
1746		     
1747		    <#if !( 
1748    		    !Colonna_prospetto.getSiblings()?has_content ||  
1749    		    (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
1750    		    (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
1751    		    (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
1752    		    )))> 
1753    		    <div class="table_smart secondaTab prospetto"> 
1754					<table> 
1755						<tbody> 
1756    		                <#assign tipo_colonne_prospetto = Tipo_generazione_righe_prospetto.getData()> <!-- in realta per gli smart le righe sono colonne --> 
1757    		                <#if tipo_colonne_prospetto == "dinamico"> 
1758    		                 
1759    		                    <tr class="intestazione_smart"> 
1760									<td colspan="1">Anno</td>    
1761									<#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Col_Prospetto> 
1762										<td colspan="1">${cur_Nome_Col_Prospetto.getData()}</td> 
1763									</#list> 
1764								</tr> 
1765								 
1766								<#if Colonna_prospetto.getSiblings()?has_content> 
1767								    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
1768								    	<#assign velocityCount = cur_Colonna_prospetto?index/> 
1769								        <#if velocityCount % 2 == 0> 
1770											<tr class="pari"> 
1771										<#elseif velocityCount % 2 == 1> 
1772											<tr class="dispari"> 
1773										</#if> 
1774										 
1775										        <td>${cur_Colonna_prospetto.getData()}</td> 
1776												<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>  
1777													<#assign allegatoUrl = ''>  
1778													<td>                                        
1779														<#assign allegatoUrl = allegato.getData()>  
1780														<#assign dlFileVersion = ''> 
1781														<#if validator.isNotNull(allegatoUrl)> 
1782															<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1783														</#if> 
1784														<#if validator.isNotNull(dlFileVersion)> 
1785															<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1786														<#else>    
1787															<div>&mdash;</div> 
1788														</#if> 
1789													</td> 
1790												</#list> 
1791											</tr> 
1792								    </#list> 
1793								</#if> 
1794    		     
1795    		                <#elseif tipo_colonne_prospetto == "quadrimestrali"> 
1796    		                 
1797    		                    <tr class="intestazione_smart"> 
1798									<td colspan="1">Anno</td>    
1799									<td colspan="1">31Mar</td> 
1800									<td colspan="1">30Giu</td> 
1801									<td colspan="1">30Set</td> 
1802									<td colspan="1">31Dic</td> 
1803								</tr> 
1804								 
1805								<#if Colonna_prospetto.getSiblings()?has_content> 
1806								    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
1807								    	<#assign velocityCount = cur_Colonna_prospetto?index/> 
1808								        <#if velocityCount % 2 == 0> 
1809											<tr class="pari"> 
1810										<#elseif velocityCount % 2 == 1> 
1811											<tr class="dispari"> 
1812										</#if> 
1813										 
1814										        <td>${cur_Colonna_prospetto.getData()}</td> 
1815														  
1816												<#assign contatore_allegati = 0>                                        
1817												<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato> 
1818													<#assign allegatoUrl = ''> 
1819													 <td>    
1820														<#assign allegatoUrl = allegato.getData()> 
1821														<#assign dlFileVersion = ''> 
1822														<#if validator.isNotNull(allegatoUrl)> 
1823															<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1824														</#if> 
1825														<#if validator.isNotNull(dlFileVersion)>                                           
1826															<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1827														<#else>    
1828															<div>&mdash;</div> 
1829														</#if> 
1830													</td> 
1831												</#list>                                     
1832											</tr> 
1833								    </#list> 
1834    		                    </#if> 
1835    		                </#if> 
1836    		            </tbody> 
1837    		        </table> 
1838    		    </div> 
1839    		</#if> 
1840		     
1841		    <!-- FINE BLOCCO SMARTPHONE PROSPETTO --> 
1842		     
1843		    <!-- BLOCCO INDICI --> 
1844		 
1845		    <#if !( 
1846    	        (!Indici_titolo_alto?has_content || Indici_titolo_alto.getData()=='') &&  
1847    	        (!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='') &&  
1848    	        (!Label_titolo_tabella_valore_iniziale_indici?has_content || Label_titolo_tabella_valore_iniziale_indici.getData()=='') &&  
1849    	        (!Label_titolo_tabella_prestazioni_annuali?has_content || Label_titolo_tabella_prestazioni_annuali.getData()=='') &&  
1850    	        (!Indici_titolo_basso?has_content || Indici_titolo_basso.getData()=='') &&  
1851    	(!titolo_box_tabella?has_content || titolo_box_tabella.getData()=='') 
1852    	        )> 
1853    	         
1854    	        <div class="boxesDettaglio togliMargin"> 
1855		            <div class="reset"> 
1856		                <h5 class="titolo">${Indici_titolo_alto.getData()}</h5> 
1857		                <p class="">${Indici_descrizione_alta.getData()}</p> 
1858		 
1859		                <#if !(!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='')> 
1860			                <#assign fileEntryPath = Nome_allegato_valore_iniziale_titoli.Allegato_valore_iniziale_titoli.getData()>		 
1861							<#assign dlFileVersion = ''>					 
1862							<#if validator.isNotNull(fileEntryPath)> 
1863								<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
1864							</#if> 
1865							 
1866							<#if validator.isNotNull(dlFileVersion)> 
1867			                	<h6 class="titolo">${Label_titolo_valore_iniziale_titoli.getData()}</h6> 
1868								<div class="archivi">					 
1869								   <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
1870										<h6> 
1871											<span class="icona icon-file"></span> 
1872											<div>${Nome_allegato_valore_iniziale_titoli.getData()}</div> 
1873										</h6> 
1874									</a> 
1875								</div> 
1876							</#if> 
1877		                </#if> 
1878		                 
1879		                <#if Label_titolo_tabella_valore_iniziale_indici.getData() != ""> 
1880			                <h6 class="titolo indici">${Label_titolo_tabella_valore_iniziale_indici.getData()}</h6> 
1881			            </div> 
1882			            <div class="table"> 
1883			                 
1884			                <#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content> 
1885			                     
1886			                    <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1> 
1887        		                    <div class="row"> 
1888        		                        <div class="cell"> 
1889        		                            ${cur_Riga_valore_iniziale_indici_colonna_1.getData()} 
1890        		                        </div> 
1891        		                         
1892        		                        <div class="cell"> 
1893        		                            ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()} 
1894        		                        </div> 
1895        		                         
1896        		                        <div class="cell"> 
1897        		                            ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()} 
1898        		                        </div> 
1899        		                    </div> 
1900			                    </#list> 
1901			                     
1902			                </#if> 
1903			            
1904			            </div> 
1905			             
1906			            <!-- INIZIO BLOCCO SMARTPHONE SECONDA TABELLA --> 
1907			            <div class="table_smart secondaTab"> 
1908                			<#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content> 
1909                			<table> 
1910                    			<tbody> 
1911                        			 <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1> 
1912                        			 	<#assign velocityCount = cur_Riga_valore_iniziale_indici_colonna_1?index/> 
1913                            			<#if velocityCount!=1> 
1914                                			<tr class="intestazione_smart"> 
1915                                			    <td colspan="2">${cur_Riga_valore_iniziale_indici_colonna_1.getData()}</td> 
1916                                			</tr> 
1917                                			<tr class="pari"> 
1918                                    			<td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_data_emissione.getData()}</td> 
1919                                			    <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()}</td> 
1920                                			</tr> 
1921                                			<tr class="dispari"> 
1922                                			    <td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_colonna_3.getData()}</td> 
1923                                			    <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()}</td> 
1924                                			</tr> 
1925                            			</#if> 
1926                        			 
1927                        			 </#list> 
1928                    			 </tbody> 
1929                			 </table> 
1930                			 </#if> 
1931			            </div> 
1932			            <!-- FINE BLOCCO SMARTPHONE SECONDA TABELLA --> 
1933			  
1934			  
1935			  
1936            			<div class="reset tab"> 
1937            				</#if> 
1938            				<#if Label_titolo_tabella_prestazioni_annuali.getData() != ""> 
1939            					<h6 class="titolo">${Label_titolo_tabella_prestazioni_annuali.getData()}</h6> 
1940            					<#if Prestazione_annuale_data_label.getSiblings()?has_content> 
1941            				</div> 
1942            				<div class="table"> 
1943            				 
1944            					<#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label> 
1945                					<div class="row"> 
1946                						<div class="cell"> 
1947                							${cur_Prestazione_annuale_data_label.getData()} 
1948                						</div> 
1949                						 
1950                						<div class="cell"> 
1951                							${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()} 
1952                						</div> 
1953                					</div> 
1954            					</#list> 
1955            				 
1956            				</div> 
1957            			  
1958            			  
1959            			  
1960            					<!-- INZIO BLOCCO SMARTPHONE --> 
1961            					<div class="table_smart terzaTab"> 
1962            						<table> 
1963            							<tbody> 
1964            								 <#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label> 
1965            								 <#assign velocityCount = cur_Prestazione_annuale_data_label?index/> 
1966            									<#if velocityCount==1> 
1967            										<tr class="intestazione_smart"> 
1968            											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
1969            											<td class="presta_ann">${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
1970            										</tr> 
1971            									<#elseif velocityCount%2==0> 
1972            										<tr class="pari"> 
1973            											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
1974            											<td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
1975            										</tr> 
1976            									<#elseif velocityCount%2==1> 
1977            										<tr class="dispari"> 
1978            											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
1979            											<td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
1980            										</tr> 
1981            									</#if> 
1982            								</#list> 
1983            							</tbody> 
1984            						</table> 
1985            					</div> 
1986            					  
1987            					<!-- FINE BLOCCO SMARTPHONE --> 
1988             
1989            				</#if> 
1990            			</#if> 
1991		                 
1992		                <!-- INIZIO BLOCCO TABELLA NxM --> 
1993    					<#list titolo_box_tabella.getSiblings() as cur_titolo_box_tabella> 
1994    						<div class="reset"> 
1995    					        <#assign tipoTabella = cur_titolo_box_tabella.tipo_tabella.getData()> 
1996    					        <#assign descrizioneTabella = cur_titolo_box_tabella.descrizione_tabella.getData()> 
1997    					        <#if descrizioneTabella!=''> 
1998    								<h5 class="titolo prospetto"> 
1999    									${cur_titolo_box_tabella.getData()} 
2000    								</h5> 
2001    								<p class="">${descrizioneTabella}</p> 
2002    					        <#else> 
2003    								<h6 class="titolo"> 
2004    									${cur_titolo_box_tabella.getData()} 
2005    								</h6> 
2006    					        </#if> 
2007    					    </div> 
2008    					        
2009    					    <!-- controllo che la prima riga sia valorizzata altrimenti non la stampo --> 
2010    						<#assign contTheaderVisible = 0> 
2011    						<#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella> 
2012    							<#if cur_th_tabella.getData()?has_content> 
2013    								<#assign contTheaderVisible = contTheaderVisible + 1> 
2014    								<#break> 
2015    							</#if> 
2016    						</#list> 
2017    						  
2018    						<#assign contRowVisible = 0> 
2019    						<#if cur_titolo_box_tabella.tr_tabella?has_content> 
2020    							<#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella> 
2021    								<#if cur_tr_tabella.getData()?has_content> 
2022    									<#assign contRowVisible = contRowVisible + 1> 
2023    									<#break> 
2024    								<#else> 
2025    								    <#if cur_tr_tabella.td_tabella?has_content> 
2026    										<#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella> 
2027    											<!-- se di tipo testo stampo il campo td_tabella --> 
2028    											<#if tipoTabella?lower_case == 'testo'> 
2029    												<#if cur_td_tabella.getData()?has_content> 
2030    													<#assign contRowVisible = contRowVisible + 1> 
2031    													<#break> 
2032    												</#if> 
2033    											</#if> 
2034    											<!-- se di tipo documento stampo il campo td_allegato_url --> 
2035    											<#if tipoTabella?lower_case == 'documento'> 
2036    												<#if cur_td_tabella.td_allegato_url.getData() && cur_td_tabella.td_allegato_url.getData() != ''> 
2037    													<#assign contRowVisible = contRowVisible + 1> 
2038    													<#break> 
2039    												</#if> 
2040    											</#if> 
2041    										</#list> 
2042    									</#if> 
2043    								</#if> 
2044    							</#list> 
2045    						</#if> 
2046    					  
2047    						<#if (contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content) || contRowVisible gt 0> 
2048    					        <div class="table"> 
2049    					  
2050    							<#if contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content> 
2051    							   <div class="row theader"> 
2052    							<#else> 
2053    					           <div class="row theader" style="display:none;"> 
2054    					        </#if> 
2055     
2056    					        <div class="cell"> 
2057    								${cur_titolo_box_tabella.intestazione_tabella.getData()} 
2058    					        </div> 
2059    					        
2060    					        <#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella> 
2061    								<div class="cell"> 
2062    									${cur_th_tabella.getData()} 
2063    								</div> 
2064    					        </#list> 
2065    					        
2066    					        </div> 
2067    							<#if cur_titolo_box_tabella.tr_tabella.isEmpty()?has_content> 
2068    								<#assign rowCount = 0> 
2069    								<#assign velocityCount = 0> 
2070    								<#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella> 
2071    									<#assign velocityCount = cur_tr_tabella?index/> 
2072    									<#assign rowCount = velocityCount> 
2073										<div class="row"> 
2074											<#if rowCount==1> 
2075												<div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;"> 
2076											<#else> 
2077												<div class="cell"> 
2078											</#if> 
2079											 
2080											<div class="">${cur_tr_tabella.getData()}</div> 
2081										</div> 
2082										 
2083										<#if cur_tr_tabella.td_tabella.isEmpty()?has_content> 
2084											<#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella>          
2085												<#if rowCount==1> 
2086													<div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;"> 
2087												<#else> 
2088													<div class="cell"> 
2089												</#if> 
2090												 
2091												<!-- se di tipo testo stampo il campo td_tabella --> 
2092												<#if tipoTabella?lower_case == 'testo'> 
2093													${cur_td_tabella.getData()} 
2094												</#if> 
2095												 
2096												<!-- se di tipo documento stampo il campo td_allegato_url --> 
2097												<#if tipoTabella?lower_case == 'documento'> 
2098													<#assign fileEntryPath = cur_td_tabella.td_allegato_url.getData()> 
2099 
2100													<#assign dlFileVersion = ''>					 
2101													<#if validator.isNotNull(fileEntryPath)> 
2102														<#assign dlFileVersion =$confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
2103													</#if> 
2104													<#if validator.isNotNull(dlFileVersion)> 
2105														<a class="icona icon-file" href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
2106													<#else>  
2107														<div>&mdash;</div> 
2108													</#if> 
2109												</#if> 
2110												</div> 
2111											</#list> 
2112										</#if> 
2113    									</div> 
2114    									<!-- end if in piu --> 
2115    								</#list> 
2116    								</div> 
2117    							</#if> 
2118    						</#if> 
2119						</#list> 
2120						<!-- FINE BLOCCO TABELLA NxM --> 
2121						  
2122						  
2123						<div class="reset"> 
2124							<h5 class="titolo">${Indici_titolo_basso.getData()}</h5> 
2125						 
2126							<p class="">${Indici_descrizione_bassa.getData()}</p> 
2127						</div> 
2128							 
2129					</div> 
2130				</div> <!-- boxesDettaglio togliMargin --> 
2131 
2132			</#if> 
2133    					         
2134    	             
2135    	     
2136		    <!-- FINE BLOCCO INDICI --> 
2137		     
2138		     
2139		     
2140		    <!-- BLOCCO (DOWNLOADS BOXES) --> 
2141					        
2142	        <#if !(Download_box_label?? && Download_box_label.getData()?has_content && (!Download_box_label.getSiblings()?has_content ||  
2143	            (Download_box_label.getSiblings()?size==1 &&  
2144	            (!Download_box_label.getSiblings()[0].getData()?has_content || Download_box_label.getSiblings()[0].getData()=='') && 
2145	            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?has_content || 
2146	            (Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?size==1 && 
2147	            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings().getData()?has_content || Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()[0].getData()=='') 
2148	            )))))>             
2149	             
2150	            <#list Download_box_label.getSiblings() as cur_Download_box_label>	                 
2151	                <div class="boxesDettaglio togliMargin"> 
2152	                    <div class="reset download"> 
2153							<#if getterUtil.getBoolean(cur_Download_box_label.conteggio_file.getData())> 
2154								<#assign file_number = cur_Download_box_label.Nome_allegato.getSiblings()?size> 
2155								<h5 class="titolo">${cur_Download_box_label.getData()} ( ${file_number} file )</h5> 
2156							<#else> 
2157								<h5 class="titolo download">${cur_Download_box_label.getData()}</h5> 
2158							</#if> 
2159							<#if cur_Download_box_label.Nome_allegato.getSiblings()?has_content> 
2160								<div class="archivi"> 
2161									<#list cur_Download_box_label.Nome_allegato.getSiblings() as cur_Download_box> 
2162									 
2163										<#assign fileEntryPath = cur_Download_box.Allegato_url.getData()> 
2164 
2165										<#assign dlFileVersion = ''>					 
2166										<#if validator.isNotNull(fileEntryPath)> 
2167											<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
2168										</#if> 
2169										<#if validator.isNotNull(dlFileVersion)> 
2170											<#if cur_Download_box.tipo_allegato.getData()=="excel"> 
2171												<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
2172													<h6> 
2173														<span class="icona icon-copy"></span> 
2174											<#else> 
2175												<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
2176													<h6> 
2177														<span class="icona icon-file"></span>                      
2178											</#if> 
2179														<div>${cur_Download_box.getData()}</div> 
2180													</h6> 
2181												</a> 
2182										</#if> 
2183									</#list> 
2184								</div> 
2185							</#if> 
2186	                    </div> 
2187	                </div> 
2188                </#list> 
2189        	</#if> 
2190	         
2191	    	<!-- FINE BLOCCO (DOWNLOADS BOXES) -->        
2192	 
2193	        <!-- BLOCCO DISCLAIMER --> 
2194	 
2195	        <footer > 
2196	         
2197	            <p class="caption disclaimer">${disclaimer.getData()}</p> 
2198	         
2199	        </footer> 
2200	         
2201	        <!-- FINE BLOCCO DISCLAIMER --> 
2202	         
2203	         
2204	        <!-- LINK AL TOP --> 
2205	        <a href="#Top" class="back-to-top" title="Torna a inizio pagina"> 
2206	            TORNA A INIZIO PAGINA <span class="icona icon-angle-up"></span> 
2207	        </a> 
2208	        <!-- FINE LINK AL TOP --> 
2209		 
2210			<script type="text/javascript"> 
2211					 
2212    			jQuery(document).ready(function(){ 
2213    			 
2214    			        /* Nasconde, se presente lo span che contiene la pagina di dettaglio */ 
2215    			        if(jQuery(".breadcrumbs .elementi span").length) { 
2216    			            jQuery(".breadcrumbs .elementi span").hide();    
2217
2218    			         
2219    			        if(jQuery("html").is(".smartphone")) 
2220
2221    			            convertTableToDivs(); 
2222    			            swipeProspetto(); 
2223    			            jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-menu'></div>"); 
2224    			            jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-items'></div>"); 
2225    			            jQuery(".boxesDettaglio.togliMargin .bloccoValori").appendTo(".boxesDettaglio.togliMargin .carousel-items"); 
2226    			             
2227    			            jQuery(".boxesDettaglio.togliMargin .bloccoValori").wrap("<div class='carousel-item'></div>"); 
2228    			             
2229    			            var bullet=jQuery('<span class="carousel-menu-index">&bull;</span>'); 
2230    			             
2231    			            /* creo l'elenco delle slide */ 
2232    			            jQuery(".boxesDettaglio.togliMargin .carousel-item").each(function(){ 
2233    			            bullet.clone().appendTo(".boxesDettaglio.togliMargin .carousel-menu"); 
2234    			            }); 
2235    			             
2236    			            var car = ISP.carousel('.boxesDettaglio.togliMargin .carousel-items', '.boxesDettaglio.togliMargin .carousel-menu'); 
2237    			            
2238    			            car.play(); 
2239
2240    			    }); 
2241    			  
2242    			function updateAndamentoLabel(){ 
2243    			jQuery("#andamentoDa").html(jQuery("#datepickerDa").val()); 
2244    			jQuery("#andamentoA").html(jQuery("#datepickerA").val()); 
2245
2246    			  
2247    			    function applyGradientOnPlot(){ 
2248    			    var canvasSeries = jQuery(".jqplot-series-canvas")[0]; 
2249    			    var ctx = canvasSeries.getContext("2d"); 
2250    			    var my_gradient=ctx.createLinearGradient(0,0,0,300); 
2251    			    my_gradient.addColorStop(0, "rgba(251,168,129,0.6)"); 
2252    			    my_gradient.addColorStop(1, "rgba(251,168,129,0.1)"); 
2253    			    ctx.fillStyle = my_gradient; 
2254    			    ctx.fill(); 
2255
2256    			     
2257    			    function updateDatePickers(){ 
2258    			    //Aggiorniamo i datepicker con i reali valori visualizzati dal grafico. Necessario per via del padding. 
2259    			      		    
2260    				   var dataInizialeDefault = jQuery("#dataDefaultVisualizzazionediv").text(); 
2261    				   	    
2262    				   if(dataInizialeDefault.length>0){ 
2263    					var dataNuova = new Date (dataInizialeDefault); 
2264    				 
2265    					jQuery("#datepickerDa").datepicker("setDate", new Date(dataInizialeDefault)); 
2266    				   }else{ 
2267    				 	jQuery("#datepickerDa").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
2268
2269    				    
2270    				    
2271    			      jQuery("#datepickerA").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
2272    			      jQuery('#datepickerDa').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
2273    			      jQuery('#datepickerDa').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
2274    			      jQuery('#datepickerA').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
2275    			      jQuery('#datepickerA').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
2276
2277    			     
2278    			    function aggiornaPerformance(dataIniziale, dataFinale){ 
2279    			    var dati = window.gestioneGrafico.datiTraLeDate(dataIniziale, dataFinale); 
2280    			    
2281    			    var valoreIniziale = dati[0][1]; 
2282    			    var valoreFinale = dati[dati.length - 1][1]; 
2283    			    
2284    			    var performance = ((valoreFinale - valoreIniziale) / valoreIniziale) * 100; 
2285    			    if(!isNumber(performance)){ 
2286    			    performance = 0; 
2287
2288    			    var performance_rounded = +performance.toFixed(2); 
2289    			    
2290    			    var performance_split = []; 
2291    			    if(performance_rounded.toString().indexOf(".")>0){ 
2292    			    performance_split = performance_rounded.toString().split("."); 
2293    			    }else{ 
2294    			    performance_split[0] = performance_rounded; 
2295    			    performance_split[1] = 0; 
2296
2297    			    jQuery(".bloccoValori.performance .titoloValuta").html(performance_split[0] + (performance_split[1]!=0?",<span class='decimali'>" + performance_split[1] + "</span>":"") + " %"); 
2298
2299    			     
2300    			    function postDrawProcessing(){ 
2301    			        console.log("postDrawHooks!"); 
2302    			        applyGradientOnPlot(); 
2303    			          
2304    			        var dataIniziale = new Date(gestioneGrafico.plotter.axes.xaxis.min); 
2305    			        var dataFinale = new Date(gestioneGrafico.plotter.axes.xaxis.max); 
2306    			          
2307    					aggiornaPerformance(dataIniziale, dataFinale); 
2308    			  
2309    			        var dataInizialeStr = jQuery.datepicker.formatDate('dd/mm/yy', dataIniziale) 
2310    			        var dataFinaleStr = jQuery.datepicker.formatDate('dd/mm/yy', dataFinale); 
2311     
2312    			        //aggiorno solo se diverso per evitare di far scattare onchange 
2313    			        //if (dataInizialeStr!=jQuery("#datepickerDa").val()) { 
2314    			        	console.log('aggiorno data iniziale da ' + jQuery("#datepickerDa").val() + ' a ' + dataInizialeStr); 
2315    			        	jQuery("#datepickerDa").datepicker("setDate", dataIniziale); 
2316    			        //} 
2317    			        //if (dataFinaleStr!=jQuery("#datepickerA").val()) { 
2318    			       		console.log('aggiorno data finale da ' + jQuery("#datepickerA").val() + ' a ' + dataFinaleStr); 
2319    						jQuery("#datepickerA").datepicker("setDate", dataFinale); 
2320    					//} 
2321    			          
2322    			        updateAndamentoLabel(); 
2323
2324    			      
2325    			    function isNumber(n) { 
2326    			      return !isNaN(parseFloat(n)) && isFinite(n); 
2327
2328    			     
2329    			    jQuery(document).ready(function() { 
2330    			    	 
2331    			    	//window.primavolta = true; 
2332    			    
2333    			        jQuery.jsDate.regional['it-IT'] = { 
2334    			            monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], 
2335    			            monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'], 
2336    			            dayNames: ['Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'], 
2337    			            dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], 
2338    			            formatString: '%d-%m-%Y %H:%M:%S' 
2339    			        }; 
2340    			        jQuery.jsDate.regional.getLocale(); 
2341    			    
2342    				Date.prototype.sameDay = function(d) { 
2343    					 
2344    							 
2345    				return (this.getFullYear() === d.getFullYear() 
2346    			    		&& this.getMonth() === d.getMonth() 
2347    						&& this.getDate() === d.getDate()); 
2348    				 
2349
2350    				 
2351    			        //Spostato qui perché voglio essere sicuro che gestioneGrafico sia inizializzato quando viene chiamato in questa funzione. 
2352    			        //window.gestioneGrafico garantisce che è una variabile globale! -RC 
2353    			    window.gestioneGrafico = { 
2354    			  
2355    			        //Gestione del pad manuale perché quando si impostano un minimo e un massimo per gli assi il pad è ignorato. -RC 
2356    			        pad: 1.1,  
2357    					 
2358    			           tuttiIdatiDelGrafico : function() {  
2359    			                 
2360    			               var tuttiIDati =[]; 
2361    			                  
2362    			               <#list _listaRendimenti as storicoBean> 
2363    			                   tuttiIDati.push([this.getADate('${storicoBean.getDataAggiornamentoStr()}'),'${storicoBean.getValoreFondoUno()}']); 
2364    			               </#list> 
2365    			                
2366    			                //ritorno una copia dell'array che contiene tutti i dati 
2367    			               return tuttiIDati.slice(); 
2368    			           }, 
2369    			           datiBenchmark : function(){ 
2370    				               var datiBenchmark = []; 
2371    		                   <#list _benchmarkFondoMap?keys as _benchmarkFondoKey> 
2372    		                       datiBenchmark.push([this.getADate('${_benchmarkFondoKey}'),'${_benchmarkFondoMap[_benchmarkFondoKey]}']); 
2373    		                   </#list> 
2374    		                   return datiBenchmark.slice(); 
2375    			           }, 
2376    			           getADate: function (dataStr) 
2377
2378    			               //console.log("getADate dataStr" + dataStr); 
2379    			               if (dataStr == null) 
2380    			                   return; 
2381    			                var partiData = dataStr.split("/"); 
2382    			                var day = partiData[0]; 
2383    			                var month = partiData[1] - 1; 
2384    			                var year = partiData[2]; 
2385    			                //console.log("year " + year + " month" + month + " day " + day) 
2386    			                var aDate = new Date(year, month, day, 0, 0, 0, 0); 
2387    			                return aDate; 
2388    			           }, 
2389    			            
2390    			           datiTraLeDate : function (dataDa, dataA){ 
2391    			               //console.log("datiTraLeDate dataDa " + dataDa + " dataA " + dataA); 
2392    			                
2393    			               var tuttiIdati = this.tuttiIdatiDelGrafico(); 
2394    			               //cerco l'elemento minimo superiore a dataDa  
2395    			               //cerco l'elemnto massimo inferiore a dataA 
2396    			               //l'array di dati originali è gia ordinato per data 
2397    			               var indiceDellaDataMinore = -1; 
2398    			               var indiceDellaDataMaggiore = -1; 
2399    			               var currDate; 
2400    			               //cerco la prima data subito superiore a dataDa 
2401    			               for (var i=0; i< tuttiIdati.length; i++) { 
2402    			                  currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
2403    			                  if((currDate.isAfter(dataDa)||(currDate.isSame(dataDa))) && (currDate.isBefore(dataA)||currDate.isSame(dataA))) { 
2404    			                      indiceDellaDataMinore = i; 
2405    			                     break; 
2406
2407    			               }   
2408    			                //cerco la prima data subito inveriore  a dataA 
2409    			               for (var i=tuttiIdati.length -1; i>=0; i--) { 
2410    			                  currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
2411    			                  if((currDate.isBefore(dataA)|| currDate.isSame(dataA)) && (currDate.isAfter(dataDa)||currDate.isSame(dataDa))) { 
2412    			                      indiceDellaDataMaggiore = i; 
2413    			                     break; 
2414
2415
2416    			               //a questo punto ho gli indici delle date minore e maggiore, taglio l'array 
2417    			               var nDiElementi  = indiceDellaDataMaggiore - indiceDellaDataMinore + 1; 
2418    			               console.log("nDiElementi" + nDiElementi); 
2419    			               var nuovoRange = tuttiIdati.splice(indiceDellaDataMinore,nDiElementi); 
2420    			               //se 0 risultati creo un array con dati [[dataIniziale, 0], [dataFinale, 0]] 
2421    			               if (nuovoRange.length == 0){ 
2422    			                   console.log("ritorno un range vuoto"); 
2423    			                   nuovoRange = [["{$_datiStorico.getDataInizialeString()}"][0],["{$_datiStorico.getDataFinaleString()}"][0]]; 
2424
2425    			               
2426    			               return nuovoRange; 
2427    			           }, 
2428    			           getAxisBounds: function(dati, pad, dataDa, dataA, datiBenchmark){ 
2429    			            var _pad = (pad==null||typeof pad == 'undefined')?0:pad; 
2430    			            var _dataDa = typeof dataDa == 'undefined'?null:dataDa; 
2431    			            var _dataA = typeof dataA == 'undefined'?null:dataA; 
2432    						var _datiBenchmark = typeof datiBenchmark == 'undefined'?null:datiBenchmark; 
2433    			            
2434    			            var minXVal = null; 
2435    			            var maxXVal = null; 
2436    			            //Vogliamo che Y parta da 0 o dal minimo valore minore di 0 
2437    			            var minYVal = null; 
2438    			            var maxYVal = null; 
2439    			            
2440    			            for(var i=0; i<dati.length; i++){ 
2441    							var valY = parseFloat(dati[i][1]); 
2442    							if(_dataDa==null&&(minXVal==null||dati[i][0]<minXVal)){ 
2443    							minXVal = dati[i][0]; 
2444
2445    							if(_dataA==null&&(maxXVal==null||dati[i][0]>maxXVal)){ 
2446    							maxXVal = dati[i][0]; 
2447
2448    							if(minYVal==null||valY<minYVal){ 
2449    							minYVal = valY; 
2450
2451    							if(maxYVal==null||valY>maxYVal){ 
2452    							maxYVal = valY; 
2453
2454
2455    						 
2456    						if(_datiBenchmark != null){ 
2457    							for(var l=0; l<_datiBenchmark.length; l++){ 
2458    								var valY = parseFloat(_datiBenchmark[l][1]); 
2459    								if(minYVal==null||valY<minYVal){ 
2460    								minYVal = valY; 
2461
2462    								if(maxYVal==null||valY>maxYVal){ 
2463    								maxYVal = valY; 
2464
2465
2466
2467    			            
2468    			            if(dataDa!=null){ 
2469    			            minXVal = dataDa; 
2470
2471    			            if(dataA!=null){ 
2472    			            maxXVal = dataA; 
2473
2474    			            
2475    			            var padX = 0; 
2476    			            var padY = 0; 
2477    			            if(dati.length>1){ 
2478    			            padX = ((maxXVal - minXVal)*(pad-1))/2; 
2479    			//             padY = minYVal>0?((maxYVal - 0)*(pad-1))/2:((maxYVal - minYVal)*(pad-1))/2; 
2480    			            padY = ((maxYVal - minYVal)*(pad-1))/2; 
2481    			            }else{ 
2482    			            padX = 86401000; 
2483    			            padY = maxYVal*(pad-1); 
2484
2485    			            
2486    			            if(padY<0){ 
2487    			            padY=-padY; 
2488    			            }else if(padY==0){ 
2489    			            padY=2; 
2490
2491    			            
2492    			            var bounds = { 
2493    			            minX: dati.length>1?new Date(minXVal.getTime()):new Date(minXVal.getTime()-padX), 
2494    			            maxX: dati.length>1?new Date(maxXVal.getTime()):new Date(maxXVal.getTime()+2*padX), 
2495    			//             minY: minYVal>0?0:minYVal-padY, 
2496    			            minY: (minYVal-padY), 
2497    			            maxY: maxYVal+padY 
2498
2499    			            
2500    			            return bounds; 
2501    			           }, 
2502    			            zoomHandler: function() { 
2503    			              var c = this.plugins.cursor; 
2504    			              console.log(c); 
2505    			            }, 
2506    			            
2507    			           plotter: null, 
2508    					visualizzaGrafico : function (dati, dataDa, dataA){ 
2509    						var seriesToPlot; 
2510    						var datiBenchmarkFiltered = []; 
2511    						try{ 
2512    							if (typeof dataDa === 'undefined') dataDa = new Date(gestore.plotter.axes.xaxis.min); 
2513    							if (typeof dataA === 'undefined') dataA = new Date(gestore.plotter.axes.xaxis.max); 
2514    						}catch(e){ 
2515    							//console.log(e); 
2516
2517    						var minDate = jQuery("#datepickerDa").datepicker('getDate'),//.datepicker('option', 'minDate'), 
2518    							maxDate = jQuery("#datepickerA").datepicker('getDate'),//.datepicker('option', 'maxDate'), 
2519    							datiFondo = window.gestioneGrafico.tuttiIdatiDelGrafico().slice(), 
2520    							benchmarkSerie = window.gestioneGrafico.datiBenchmark().slice(); 
2521    						datiFondo.sort(function(a,b){ 
2522    								return a[0] - b[0]; 
2523    							}); 
2524    						 
2525    						var datiBenchmarkRebased = []; 
2526    						var minFondo = null;	 
2527     
2528    						for (var i = 0; i < datiFondo.length; i++){						 
2529    							if (!isNaN(datiFondo[i][0])){ 
2530    								datiFondo[i][0] = new Date(datiFondo[i][0]); 
2531
2532
2533    						 
2534    						for (var i = 0; i < datiFondo.length; i++){						 
2535    							if (datiFondo[i][0].sameDay(minDate)){ 
2536    								minFondo = datiFondo[i]; 
2537    								break; 
2538
2539
2540    						for (var i = 0; i < datiFondo.length; i++){						 
2541    							if (datiFondo[i][0] >= minDate){ 
2542    								minFondo = datiFondo[i]; 
2543    								break; 
2544
2545
2546    						if (minFondo == null) minFondo = datiFondo[0]; 
2547    						 
2548    						var maxFondo = null; 
2549    						 
2550    						for (var i = 0; i < datiFondo.length; i++){						 
2551    							if (datiFondo[i][0].sameDay(maxDate)){ 
2552    								maxFondo = datiFondo[i]; 
2553    								break; 
2554
2555
2556    						 
2557    						if(maxFondo == null){ 
2558    							for (var i = 0; i < datiFondo.length; i++){						 
2559    								if (datiFondo[i][0] > maxDate){ 
2560    									maxFondo = datiFondo[i]; 
2561    									break; 
2562
2563
2564
2565    						var datiFiltrati=[]; 
2566    						for(var i = 0; i < dati.length; i++){ 
2567    							if (window.gestioneGrafico.checkData(dati[i][0], minFondo[0], maxFondo[0], datiFondo)){ 
2568    								datiFiltrati.push(dati[i]); 
2569
2570
2571    						seriesToPlot = [datiFiltrati]; 
2572    						if (window.gestioneGrafico.datiBenchmark().length > 0 ){ 
2573    								console.log("maxFondo[0] "+ maxFondo[0]); 
2574    								for(var i = 0; i < benchmarkSerie.length; i++){ 
2575    									if (window.gestioneGrafico.checkData(benchmarkSerie[i][0], minFondo[0], maxFondo[0], datiFondo)){ 
2576    										datiBenchmarkFiltered.push(benchmarkSerie[i]); 
2577
2578
2579    								//dati ordinati per data 
2580    								datiBenchmarkFiltered.sort(function(a,b){ 
2581    										return a[0] - b[0]; 
2582    									}); 
2583    									 
2584    								datiFiltrati.sort(function(a,b){ 
2585    										return a[0] - b[0]; 
2586    									}); 
2587    								 
2588    								if (datiBenchmarkFiltered.length > 1){ 
2589    									 
2590    									for(var i=0;i<datiBenchmarkFiltered.length; i++){ 
2591    										 
2592    											if(datiBenchmarkFiltered[i][0].getTime() === minFondo[0].getTime() && (datiBenchmarkRebased == null || datiBenchmarkRebased.length == 0 )){ 
2593    												 
2594    												var rebased = datiBenchmarkFiltered[i].slice(); 
2595    												rebased[0] = rebased[0]; 
2596    												rebased[1] = minFondo[1];																		 
2597    												 
2598    												datiBenchmarkRebased.push(rebased); 
2599    												 
2600    											}else{ 
2601    												 
2602													if(i<1){ 
2603														var benchValue = datiBenchmarkFiltered[i][1]; 
2604													}else{ 
2605														var benchValue = ((datiBenchmarkFiltered[i][1]/datiBenchmarkFiltered[i-1][1])*datiBenchmarkRebased[i-1][1]).toFixed(5); 
2606
2607    												 
2608    												var rebased = datiBenchmarkFiltered[i].slice(); 
2609    												 
2610    												rebased[0] = rebased[0]; 
2611    												rebased[1] = benchValue;	 
2612    												datiBenchmarkRebased.push(rebased); 
2613
2614
2615
2616    								seriesToPlot.push(datiBenchmarkRebased); 
2617
2618    						var singlePoint = dati.length==1; 
2619    			                var bounds = this.getAxisBounds(dati, this.pad, dataDa, dataA, datiBenchmarkRebased); 
2620								var logaritmica = logaritmica; 
2621    			                console.log("Axis Bounds: " + bounds); 
2622    			                   if(this.plotter != null) 
2623    			                       this.plotter.destroy(); 
2624    			                   if(singlePoint){ 
2625    			                    dati.push(dati[0]); 
2626
2627    			                   this.plotter = jQuery.jqplot('chartdiv',  seriesToPlot,  
2628    			                       {  
2629    			                           title:{ 
2630    			                               text: '', 
2631    			                               show: false 
2632    			                           }, 
2633    			                           axesDefaults: { 
2634    			                           }, 
2635    			                           cursor:{ 
2636    			                                 show: true, 
2637    			                                 showTooltip: false, 
2638    			                                 zoom: false, 
2639    			                                 constrainZoomTo: 'x' 
2640    			                               }, 
2641    			                           seriesDefaults: { 
2642    			                                
2643    			                                color: '#fba881',      // CSS color spec to use for the line.  Determined automatically. 
2644    			                                showMarker: singlePoint,   // render the data point markers or not. 
2645    			                                fill: true,        // fill under the line, 
2646    			                                fillAndStroke: singlePoint,       // *stroke a line at top of fill area. 
2647    			                                fillColor: '#fba881', 
2648    			                                fillAlpha: 0.001,      // *custom alpha to apply to fillColor. 
2649    			                                shadow: false   // show shadow or not. 
2650    			                                 
2651    			                            }, 
2652    			                           axes:{ 
2653    			                               xaxis:  { 
2654    			                                   renderer:jQuery.jqplot.DateAxisRenderer, 
2655    			                                   min: bounds.minX, 
2656    			                                   max: bounds.maxX, 
2657    			                                   //min:minimo, 
2658    			                                   //max:maximo, 
2659    			                                   tickOptions: {formatString: '%d/%m/%Y'} 
2660    			                               }, 
2661    			                               yaxis: { 
2662    										    renderer:logaritmica==true?jQuery.jqplot.LogAxisRenderer:jQuery.jqplot.LinearAxisRenderer, 
2663    			                                min: bounds.minY, 
2664    			                                max: bounds.maxY, 
2665    			                                tickOptions: {formatString: '%#.3f' +  (divisaSimboloMap['${valutaFondoUno}']!=null?" " + divisaSimboloMap['${valutaFondoUno}']:" " + '${valutaFondoUno}') } 
2666
2667    			                           }, 
2668    			                           series:[{ 
2669    			                               lineWidth:2,  
2670    			                               markerOptions: 
2671
2672    			                                    style:'circle' 
2673
2674    			                                },{ 
2675    			                                lineWidth: 1,  
2676    			                                markerOptions: 
2677
2678    			                                    style:'circle' 
2679    			                                   }, 
2680    		    	                                color: '#0a4379',      // CSS color spec to use for the line.  Determined automatically. 
2681    												linePattern: 'dashed', 
2682    												lineWidth: 0.5, 
2683    		    	                                showMarker: singlePoint,   // render the data point markers or not. 
2684    		    	                                fill: false, 
2685    		    	                                shadow: false, 
2686    		    	                                rendererOptions: { 
2687    		    	                                    smooth: true 
2688
2689    			                                }], 
2690    			                            highlighter: { 
2691    			                                   show: true, 
2692    			                                   sizeAdjust: 7.5, 
2693    											   formatString: "%s - %#.3f"  
2694    			                                 }, 
2695    			                                 grid: { 
2696    			                                     drawGridLines: true,        // wether to draw lines across the grid or not. 
2697    			                                     gridLineColor: '#f0f1f6',    // *Color of the grid lines. 
2698    			                                     background: '#fff',      // CSS color spec for background color of grid. 
2699    			                                     borderColor: '#f0f1f6',     // CSS color spec for border around grid. 
2700    			                                     borderWidth: 1.0,           // pixel width of border around grid. 
2701    			                                     shadow: false,               // draw a shadow for grid. 
2702
2703    			                       }); 
2704    								    
2705    								    
2706    			               }, 
2707     
2708    				checkData: function(data, dStart, dEnd, datiFondo){ 
2709    						   		var dStart = typeof dStart == 'undefined'?null:dStart; 
2710    							    var dEnd = typeof dEnd == 'undefined'?null:dEnd;	            
2711    						   		 
2712    						   		if (dStart == null || dEnd == null){ 
2713    										for(var i=0; i<datiFondo.length; i++){ 
2714    										if(dStart == null || datiFondo[i][0] < dStart){ 
2715    											dStart = datiFondo[i][0]; 
2716
2717    										if(dEnd == null || datiFondo[i][0] > dEnd){ 
2718    											dEnd = datiFondo[i][0]; 
2719
2720
2721    					    	        }       		 
2722    							     if (data >= dStart && data <= dEnd){ 
2723    							    	return true; 
2724    							    }  
2725    						   		return false; 
2726
2727
2728    			        <#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))> 
2729							 
2730    						<#if _listaRendimenti?size gt 0> 
2731    						 
2732    							jQuery.jqplot.sprintf.thousandsSeparator = ''; 
2733    							jQuery.jqplot.sprintf.decimalMark = ','; 
2734    							var gestore = gestioneGrafico; 
2735    							var datiDaVisualizzare = gestore.tuttiIdatiDelGrafico(); 
2736    							var bounds = gestioneGrafico.getAxisBounds(datiDaVisualizzare,this.pad); 
2737    							console.log('LIMITS'); 
2738    							console.log(bounds); 
2739    							// inizializzo i date picker con gli estremi delle date disponibili in base ai dati ricevuti 
2740    							jQuery("#datepickerDa").datepicker({ 
2741    								//showOtherMonths: false, 
2742    								//selectOtherMonths: false, 
2743    								changeMonth : true, 
2744    								changeYear : true, 
2745    								dateFormat : "dd/mm/yy", 
2746    								defaultDate : bounds.minX, 
2747    								minDate : bounds.minX, 
2748    								maxDate : bounds.maxX, 
2749    								onSelect : function() { 
2750    									jQuery("#datepickerA").datepicker('option', { 
2751    										minDate : jQuery(this).datepicker('getDate') 
2752    									}); 
2753    									updateGraphDatesFromDatePickers(); 
2754    									//updateDatePickers(); 
2755    								}, 
2756    							}, jQuery.datepicker.regional['it']); 
2757    							jQuery("#datepickerDa").datepicker("setDate", bounds.minX); 
2758    						     
2759    							jQuery("#datepickerA").datepicker({ 
2760    								changeMonth : true, 
2761    								changeYear : true, 
2762    								dateFormat : "dd/mm/yy", 
2763    								defaultDate : bounds.maxX, 
2764    								minDate : bounds.minX, 
2765    								maxDate : bounds.maxX, 
2766    								onSelect : function() { 
2767    									jQuery("#datepickerDa").datepicker('option', { 
2768    										maxDate : jQuery(this).datepicker('getDate') 
2769    									}); 
2770    									updateGraphDatesFromDatePickers(); 
2771    								}, 
2772    								beforeShow : function(input, inst) { 
2773    									inst.dpDiv.css({marginLeft: -input.offsetWidth + 'px'}); 
2774
2775    							}, jQuery.datepicker.regional['it']); 
2776    							jQuery("#datepickerA").datepicker("setDate",bounds.maxX); 
2777    							function updateGraphDatesFromDatePickers() { 
2778    								var dataDaStr = jQuery("#datepickerDa").val(); 
2779    								var dataAStr = jQuery("#datepickerA").val(); 
2780    								console.log("date cambiate: da " + dataDaStr + " a " + dataAStr); 
2781    								// Se date nulle usa gli estremi 
2782    								if (dataDaStr == '') 
2783    								{	 
2784    									dataDaStr = gestore.getADate("${_datiStorico.getDataInizialeString()}"); 
2785    									jQuery("#datepickerDa").val(dataDaStr); 
2786
2787    								if (dataAStr == '') 
2788
2789    									dataAStr = gestore.getADate("${_datiStorico.getDataFinaleString()}"); 
2790    									jQuery("#datepickerA").val(dataAStr); 
2791
2792    								var dataDa = gestore.getADate(dataDaStr); 
2793    								var dataA = gestore.getADate(dataAStr); 
2794    								// se la data è maggiore di data a non fare nulla 
2795    								if (dataDa >= dataA) 
2796    									return; 
2797     
2798    								gestore.plotter.axes.xaxis.min = dataDa; 
2799    								gestore.plotter.axes.xaxis.max = dataA; 
2800     
2801    								var interval = (dataA.getTime() - dataDa.getTime()) / 5; 
2802    								var ticks = []; 
2803    								var currTick = dataDa.getTime(); 
2804    								ticks.push(currTick); 
2805    								for (var i = 0; i < 5; i++) { 
2806    									currTick += interval; 
2807    									ticks.push(currTick); 
2808
2809     
2810    								gestore.plotter.axes.xaxis.ticks = ticks; 
2811    								//gestore.plotter.replot(); 
2812    								var datiDaVisualizzare = window.gestioneGrafico.tuttiIdatiDelGrafico(); 
2813    								window.gestioneGrafico.visualizzaGrafico(datiDaVisualizzare);	 
2814     
2815    								// Necessario per riabilitare zoom 
2816    								gestore.plotter.axes.xaxis.ticks = []; 
2817    							}; 
2818    			                if (Liferay.Browser.isIe() && Liferay.Browser.getVersion() < 9) 
2819
2820    								// carica script che emula il canvas poiché ie < 9 non lo supoporta 
2821    								var exCanvasScriptUrl = "${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/excanvas/excanvas.min.js"; 
2822    								jQuery.getScript(exCanvasScriptUrl, function(data, textStatus, jqxhr) { 
2823    									gestore.visualizzaGrafico(datiDaVisualizzare); 
2824    									 
2825    									applyGradientOnPlot(); 
2826    									jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
2827    									updateAndamentoLabel(); 
2828    								}); 
2829
2830    							else 
2831
2832    								gestore.visualizzaGrafico(datiDaVisualizzare); 
2833    								applyGradientOnPlot(); 
2834    								jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
2835    								updateAndamentoLabel(); 
2836
2837    			                updateDatePickers(); 
2838    							updateGraphDatesFromDatePickers(); 
2839    							aggiornaPerformance(datiDaVisualizzare[0][0], datiDaVisualizzare[datiDaVisualizzare.length - 1][0]); 
2840    							jQuery( ".datePicker" ).change(updateGraphDatesFromDatePickers); 
2841								$('#datepickerDa').focus(function(){ 
2842									$('#datepickerDa').datepicker('show'); 
2843								}); 
2844 
2845								jQuery('#datepickerDa').click(function(){ 
2846									jQuery('#datepickerDa').datepicker('show'); 
2847								}); 
2848								jQuery('#datepickerA').focus(function(){ 
2849									jQuery('#datepickerA').datepicker('show'); 
2850								}); 
2851 
2852								jQuery('#datepickerA').click(function(){ 
2853									jQuery('#datepickerA').datepicker('show'); 
2854								}); 
2855    						</#if> 
2856    			        </#if> 
2857    			    }); 
2858    			</script> 
2859		     
2860		         
2861		</div> 
2862 
2863    </#if>  <#-- Fine Fondo_In_valuta #IF --> 
2864 
2865<#else> 
2866 
2867    <div class="template_rendimenti_e_quotazioni"> 
2868    	 
2869    	<#assign localeIT = localeUtil.fromLanguageId("it")> 
2870    	<#assign currentGroup = groupLocalService.getGroup(groupId)> 
2871    	<#assign checkDisplayDate = !currentGroup.isStagingGroup()> 
2872    	<#assign user = "">	 
2873    	 
2874    	<#if request?has_content && request.getRemoteUser()?has_content && request.getRemoteUser()!=""> 
2875    		<#assign user = userLocalService.getUserById(getterUtil.getLong(request.getRemoteUser()))> 
2876    	<#else> 
2877    		<#assign user = userLocalService.getDefaultUser(getterUtil.getLong(companyId))> 
2878    	</#if> 
2879    	 
2880    	<#assign current_url = request.getAttribute("CURRENT_URL")> 
2881    	<#assign catIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "catId", false))> 
2882    	<#assign catId = getterUtil.getLong(catIdStr)> 
2883    	<!-- catIdStr - catId --> 
2884    	<#assign subcatIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "subcatId", false))> 
2885    	<#assign subcatId = getterUtil.getLong(subcatIdStr)> 
2886    	<!-- subcatIdStr - subcatId --> 
2887    	<#assign categoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "categoria", false))> 
2888    	<!-- categoria --> 
2889    	<#assign sottoCategoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "sottocategoria", false))> 
2890    	<!-- $sottoCategoria --> 
2891    	 
2892    	<!-- Take layout id --> 
2893    	<#assign currentLayoutId = themeDisplay.getPlid()> 
2894    	<#assign currentLayout = layoutLocalService.getLayout(currentLayoutId)> 
2895    	 
2896    	<!-- parent layoutId --> 
2897    	<#assign currentLayoutParentPlid = currentLayout.getParentPlid()> 
2898    	<#assign currentLayoutParent = layoutLocalService.getLayout(currentLayoutParentPlid?number)> 
2899    	<#assign catKey = 0> 
2900		<#if validator.isNotNull(catId) && catId!=0> 
2901			<#assign catKey = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "chiave").getValue()> 
2902		</#if> 
2903		 
2904    	<#if validator.isNotNull(catKey)> 
2905    		<#assign catKey = assetCategoryLocalService.getAssetCategory(catId).getName()> 
2906    	</#if> 
2907		 
2908    	<#if validator.isNotNull(catId) && catId!=0> 
2909			<#assign catColor = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "colore").getValue()> 
2910    	</#if> 
2911		 
2912    	<#assign isOICR = false> 
2913    	 
2914    	 
2915    	<!-- pretitolo --> 
2916    	<#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) || catKey?lower_case == "rivalutabili"> 
2917    		<#assign pre_titolo_rendimento = "Gestione Separata"> 
2918    	<#elseif categoria?lower_case == "index linked"> 
2919    		<#assign pre_titolo_rendimento = "Indice"> 
2920    	<#elseif categoria?lower_case == "oicr"> 
2921    		<#assign pre_titolo_rendimento = "OICR"> 
2922    		<#assign isOICR = true> 
2923    	<#else> 
2924    		<#assign pre_titolo_rendimento = "Fondo"> 
2925    	</#if> 
2926    	 
2927    	<!-- valore dei fondi dal web content --> 
2928        <#assign valoreFondoUno =  confTool.getValoreFondoFromStr(valore_1.getData(), locale)> 
2929        <#assign valoreFondoDue =  confTool.getValoreFondoFromStr(valore_2.getData(), locale)> 
2930    	 
2931    	<#if getterUtil.getBoolean(usa_valori_da_fondo.getData())>  
2932		 
2933    	    <#assign usaFondo = true> 
2934    	     
2935    	    <!-- titolo --> 
2936        	<#assign titolo_rendimento = Titolo_rendimento.getData()> 
2937    	     
2938    	    <#if titolo_rendimento==""> 
2939    	        <#assign titolo_rendimento = Titolo_rendimento.getData()> 
2940    	    </#if> 
2941    	     
2942    	    <!-- valore e valuta dai fondi dal db --> 
2943    	    <#if validator.isNotNull(valoreFondoUno)> 
2944			 
2945    	        <#if validator.isNull(valoreFondoDue) || valoreFondoDue == "0" || valoreFondoDue == "0,000"> 
2946    	            <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)> 
2947    	            <#assign valoreFondoDue = "">	 
2948    	        <#else> 
2949    	            <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)> 
2950    	            <#assign valoreFondoDue =  confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(), locale)>	 
2951    	        </#if> 
2952    	    <#else> 
2953    	        <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(),locale)> 
2954    	        <#assign valoreFondoDue =  confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(),locale)>	 
2955    	    </#if> 
2956    	     
2957    	    <#if valoreFondoDue=="0" || valoreFondoDue == "0,000"> 
2958    	        <#assign valoreFondoDue = ""> 
2959    	    </#if> 
2960    	     
2961    	    <#assign valutaFondoUno =  confTool.getValutaFondoUnoFromDb(id_fondo.getData())> 
2962    	    <#assign valutaFondoDue =  confTool.getValutaFondoDueFromDb(id_fondo.getData())> 
2963    	     
2964    	    <!-- data aggiornamento valore --> 
2965    	    <#assign dataAggiornamentoValore = confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)> 
2966    	     
2967    	    <!-- rating --> 
2968    	    <#assign ratings = confTool.getRatingsFromDb(id_fondo.getData())> 
2969    	 
2970    	<#else> 
2971		 
2972            <#assign usaFondo = false>  
2973    			             
2974    	    <!-- titolo --> 
2975    	    <#assign titolo_rendimento = Titolo_rendimento.getData()> 
2976    	 
2977    	    <!-- valuta dei fondi dal web content --> 
2978    	    <#assign valutaFondoUno =  valuta1.getData()> 
2979    	    <#assign valutaFondoDue =  valuta_2.getData()> 
2980    	     
2981    	    <!--  data aggiornamento valori --> 
2982			<#assign aggiornato_al_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(aggiornato_al.getData()), localeIT)> 
2983			<#assign dataAggiornamentoValore = dateUtil.getDate(aggiornato_al_DateObj, "dd MMM yyyy", localeIT)> 
2984    	     
2985    	    <!-- rating --> 
2986    	    <#assign ratings = Rating.getData()> 
2987    	     
2988    	</#if> 
2989    	         
2990        <!-- PRIMO BLOCCO --> 
2991        <#assign breadCrumb = confTool.getBreadcrumb(themeDisplay.getLayout(),themeDisplay) > 
2992		<#assign titolo_da_visualizzare = titolo_rendimento> 
2993        <div class="boxesDettaglio togliMargin"> 
2994            <div> 
2995                <div class="supTitle capitalize">${pre_titolo_rendimento}</div> 
2996    			<h1 class="titoloRendimento">${titolo_da_visualizzare}</h1> 
2997                 
2998                <#if Notifica_alert?? && Notifica_alert.getData() != ""> 
2999    						    	 
3000    		    	<div class="descrizioni notifica_alert">${Notifica_alert.getData()}</div> 
3001    		    	 
3002    		    	<#assign testoFascetta = confTool.getRendimentoParsed(article, themeDisplay.getLanguageId()).getTestoFascetta(article, themeDisplay.getLanguageId(), catId, subcatId)> 
3003    		    	<#if validator.isNotNull(testoFascetta)> 
3004    		    		<div class="fascetta_rendimento ${catColor}">${testoFascetta}</div> 
3005    		    	</#if> 
3006    		    	 
3007    		    </#if> 
3008                 
3009                <#assign strippedHtmlDescrizione = confTool.stripHTML(Descrizione_rendimento_e_quotazione.getData())?trim> 
3010                <#if validator.isNotNull(titolo_rendimento) && strippedHtmlDescrizione?lower_case != titolo_rendimento?trim?lower_case> 
3011                    <div class="descrizioni">${Descrizione_rendimento_e_quotazione.getData()}</div> 
3012                </#if> 
3013            </div> 
3014     
3015            <!-- blocco valore corrente valore protetto --> 
3016            <script type="text/javascript"> 
3017                 
3018            var divisaSimboloMap = { 
3019            'EUR': '&#8364;', 
3020            'USD': '$', 
3021            '':'', 
3022            '%':'%' 
3023            }; 
3024             
3025                jQuery(document).ready(function(){ 
3026                    var listaValuta=jQuery(".titoloValuta"); 
3027                    if (listaValuta!=null){ 
3028                        for (var i=0;i<listaValuta.length;i++){ 
3029                            if (listaValuta.get(i).innerHTML.indexOf(',')!=-1){ 
3030                                //                                 var index=listaValuta.get(i).outerHTML.indexOf(','); 
3031                                //                                 var html = listaValuta.get(i).outerHTML.substring(0,index+1) + "<span class='decimali'>" + listaValuta.get(i).outerHTML.substring(index+1,index+3) + "</span>" + listaValuta.get(i).outerHTML.substring(index+3,listaValuta.get(i).outerHTML.length); 
3032                                //                                 listaValuta.get(i).outerHTML = html; 
3033                                var listaValuta_split = listaValuta.get(i).innerHTML.split(','); 
3034                                var parteIntera = listaValuta_split[0]; 
3035                                if(listaValuta_split[1].indexOf(" ")){ 
3036                                    var listaValuta1_split = listaValuta_split[1].split(" "); 
3037                                    var parteDecimale = listaValuta1_split[0]; 
3038                                    var parteValuta = listaValuta1_split[1]; 
3039                                }else{ 
3040                                    var parteDecimale = listaValuta_split[1]; 
3041                                    var parteValuta = ""; 
3042
3043                                  
3044                                var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
3045                                console.log(parteValutaMap + "-" + parteValuta +" nicola" ); 
3046    							console.log (parteIntera + " parteIntera"); 
3047    							console.log (parteIntera + " parteIntera"); 
3048    							 
3049                                                                var html = parteIntera + ",<span class='decimali'>" + parteDecimale + "</span>" + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
3050                                listaValuta.get(i).innerHTML = html; 
3051                            }else{ 
3052                            console.log(listaValuta.get(i).innerHTML); 
3053                                if(listaValuta.get(i).innerHTML.indexOf(" ")!=-1){ 
3054                                var listaValuta_split = listaValuta.get(i).innerHTML.split(" "); 
3055                                var parteIntera = listaValuta_split[0]; 
3056                                var parteValuta = listaValuta_split[1]; 
3057                                    var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
3058                                    console.log(parteValutaMap + "-" + parteValuta ); 
3059                                var html = parteIntera + " " + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
3060                                        listaValuta.get(i).innerHTML = html; 
3061
3062
3063
3064
3065                }); 
3066            </script> 
3067			 
3068            <#if valoreFondoDue == "" > 
3069                <!-- blocco a singola colonna 3--> 
3070                 
3071                <div class="bloccoValori" > 
3072                    <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
3073                    <div class="bloccoValuta"> 
3074                        <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
3075                        <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
3076                    </div> 
3077                </div> 
3078             
3079            <#else> 
3080             
3081                <!-- blocco a doppia colonna --> 
3082                <div class="valoriDoppioWrapper"> 
3083                    <div class="bloccoValori doppio first" > 
3084                        <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
3085                        <div class="bloccoValuta"> 
3086                            <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
3087                            <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
3088                        </div> 
3089                    </div> 
3090                    <div class="bloccoValori doppio" > 
3091                        <h4 class="titoloValori">${Label_valore_protetto.getData()} 
3092    						<#if valore_1_min_garantito.getData()!=""> 
3093
3094    						</#if> 
3095    					</h4> 
3096                        <div class="bloccoValuta"> 
3097                            <h3 class="titoloValuta">${valoreFondoDue} ${valutaFondoDue}</h3> 
3098                            <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
3099                        </div> 
3100                    </div> 
3101                </div> 
3102                <#if validator.isNotNull(valore_1_min_garantito.getData())> 
3103                    <div class="caption"> 
3104    					*&nbsp;${valore_1_min_garantito.getData()} 
3105    				</div> 
3106    			</#if> 
3107            </#if> 
3108                 
3109            <div class="reset"> 
3110            	<#if isOICR && validator.isNotNull(Societa_di_gestione.getData())> 
3111            		<#assign labelSocietaGestione = "Societ&agrave; di gestione"> 
3112            		<#if validator.isNotNull(Label_societa_di_gestione.getData())> 
3113            			<#assign labelSocietaGestione = Label_societa_di_gestione.getData()> 
3114            		</#if> 
3115            		<div class="gestione"> 
3116            			<h6 class="">${labelSocietaGestione}: <strong>&nbsp;${Societa_di_gestione.getData()}</strong></h6> 
3117            		</div>	                		 
3118            	</#if> 
3119            	 
3120                <#if Istituto_emittente.getData() != ""> 
3121                    <h5 class="titolo">${Label_obbligazione_strutturata.getData()}</h5> 
3122                    <div class="istituto"> 
3123                        <h6 class="">${Label_istituto_emittente.getData()}: <strong>${Istituto_emittente.getData()}</strong></h6> 
3124                        <h6 class="">${Label_rating.getData()}: <strong>${Rating.getData()}</strong></h6> 
3125                    </div> 
3126                </#if> 
3127     
3128    			<#assign Data_scadenza_to_show = ''> 
3129                <#if validator.isNotNull(Data_scadenza.getData())> 
3130					<#assign Data_scadenza_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(Data_scadenza.getData()), localeIT)> 
3131    				<!-- 01/01/2100 --> 
3132    				<#if dateUtil.compareTo(Data_scadenza_DateObj, dateUtil.newDate(4102441200000)) lt 0 > 
3133    					<#assign Data_scadenza_to_show = 'Scadenza ' + dateUtil.getDate(Data_scadenza_DateObj, "dd/MM/yyyy", localeIT)> 
3134    				</#if> 
3135    			</#if> 
3136     
3137    			<#if validator.isNotNull(Data_scadenza_to_show)> 
3138    				<h6 class="scadenza nomobile"><strong>${Data_scadenza_to_show}</strong></h6> 
3139    			</#if> 
3140            </div> 
3141             
3142    		<!-- Da agganciare nel momento in cui caricano i contenuti derivati --> 
3143    		<div class="reset"> 
3144                <#if Istituto_emittente_derivata?? && Istituto_emittente_derivata.getData() != ""> 
3145                    <h5 class="titolo">${Label_obbligazione_derivata.getData()}</h5> 
3146                    <div class="istituto derivata"> 
3147                        <h6 class="">${Label_istituto_emittente_derivata.getData()}:<strong>${Istituto_emittente_derivata.getData()}</strong></h6> 
3148                        <h6 class="">${Label_rating_derivata.getData()}:<strong>${Rating_derivata.getData()}</strong></h6> 
3149                    </div> 
3150                </#if> 
3151                 
3152                <#if validator.isNotNull(Data_scadenza_to_show)> 
3153                    <h6 class="scadenza onlymobile"><strong>$Data_scadenza_to_show</strong></h6> 
3154    			</#if> 
3155     
3156            </div> 
3157                 
3158        </div> 
3159         
3160        <!-- FINE PRIMO BLOCCO --> 
3161    					 
3162    					         
3163    	<!-- SECONDO BLOCCO (GRAFICO STORICO) -->         
3164         
3165		<#assign _listaRendimenti = []> 
3166        <#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))> 
3167            <div class="boxesDettaglio storicGraph"> 
3168                <#assign _datiStorico = confTool.getDatiStorico(id_fondo.getData())> 
3169                <#assign _listaRendimenti = _datiStorico.getValoriRendimenti()> 
3170             
3171                <div class="reset"> 
3172                    <h5 class="titolo"> 
3173                        Andamento performance  
3174                        <small class="">Dati aggiornati al ${confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)}</small> 
3175                    </h5> 
3176     
3177                <#if _listaRendimenti?size gt 0> 
3178                    <div class="graficoRendimento" > 
3179                        <div id="chartdiv"></div> 
3180                    </div> 
3181                    <div class="datePickers reset"> 
3182                        <p class="inizio"> 
3183                            <input type="text" class="datePicker" id="datepickerDa" value="${_datiStorico.getDataInizialeString()}" /> 
3184                        </p> 
3185                        <p class="fine"> 
3186                            <input type="text" class="datePicker" id="datepickerA" value="${_datiStorico.getDataFinaleString()}" /> 
3187                        </p> 
3188                    </div> 
3189                    <p class="reset">Visualizzazione andamento dal <span id="andamentoDa"></span> al <span id="andamentoA"></span></p> 
3190                    <p class="reset" style="font-style:italic"> 
3191                    	Attenzione: i valori passati non sono indicativi di quelli futuri. 
3192                    </p> 
3193                </#if> 
3194                </div> 
3195            </div>		     
3196        </#if> 
3197         
3198        <!-- FINE SECONDO BLOCCO --> 
3199    		     
3200        <!-- BLOCCO PROSPETTO --> 
3201        <#if !( 
3202            !Colonna_prospetto.getSiblings()?has_content ||  
3203            (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
3204            (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
3205            (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
3206            )))>  
3207             
3208            <div class="boxesDettaglio togliMargin"> 
3209                <div class="reset">            
3210                 
3211                    <h5 class="titolo prospetto">${label_prospetto.getData()}</h5> 
3212                    <p class="">${descrizione_prospetto.getData()}</p> 
3213                 
3214                </div> 
3215         
3216                <#if Colonna_prospetto.getSiblings()?has_content> 
3217                <div class="table"> 
3218                 
3219                    <div class="row theader"> 
3220                        <div class="cell"> 
3221                            <!-- prima colonnavuota --> 
3222                        </div> 
3223    		            <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>  
3224    		                <div class="cell"> 
3225    		                    ${cur_Colonna_prospetto.getData()} 
3226    		                </div> 
3227    		            </#list> 
3228                    </div> 
3229         
3230                    <#if Tipo_generazione_righe_prospetto.getData()=="dinamico"> 
3231         
3232                        <#if Nome_Riga_Prospetto.getSiblings()?has_content> 
3233                            <#assign contatore_righe = 0> 
3234                             
3235                            <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Riga_Prospetto> 
3236                                <div class="row"> 
3237                                    <div class="cell"> 
3238                                        <div class="">${cur_Nome_Riga_Prospetto.getData()}</div> 
3239                                    </div> 
3240         
3241                                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1>  
3242                                        <div class="cell"> 
3243                                            <#assign contatore_allegati = 0> 
3244                                            <#assign allegatoUrl = ''> 
3245                                             
3246                                            <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
3247                                             
3248                                                <#if contatore_allegati == contatore_righe> 
3249                                                    <#assign allegatoUrl = allegato.getData()> 
3250                                                </#if> 
3251                                                <#assign contatore_allegati = contatore_allegati + 1> 
3252                                            </#list> 
3253                                             
3254                                            <#assign dlFileVersion = ''> 
3255    										<#if validator.isNotNull(allegatoUrl)> 
3256    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3257    										</#if> 
3258    										<#if validator.isNotNull(dlFileVersion)> 
3259    	                                       	<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3260    	                                    <#else> 
3261    	                                    	<div>&mdash;</div> 
3262                                            </#if> 
3263                                        </div> 
3264                                    </#list>                         
3265                                </div> 
3266         
3267                                <#assign contatore_righe = contatore_righe + 1> 
3268                            </#list> 
3269                         
3270                        </div> 
3271         
3272                        </#if> 
3273                    </#if> 
3274                </#if> 
3275         
3276         
3277                <#if Tipo_generazione_righe_prospetto.getData()=="quadrimestrali"> 
3278                    <div class="row"> 
3279                        <div class="cell"> 
3280                            <div class="">Composizione al 31/03</div> 
3281                        </div> 
3282                         
3283                        <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1> 
3284                            <div class="cell"> 
3285                                <#assign contatore_allegati = 0> 
3286                                <#assign allegatoUrl = ''> 
3287                                <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
3288                                    <#if contatore_allegati == 0> 
3289                                        <#assign allegatoUrl = allegato.getData()> 
3290                                    </#if> 
3291                                    <#assign contatore_allegati = contatore_allegati + 1> 
3292                                </#list> 
3293                                 
3294                                <#assign dlFileVersion = ''> 
3295    							<#if validator.isNotNull(allegatoUrl)> 
3296    								<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3297    							</#if> 
3298    							<#if validator.isNotNull(dlFileVersion)> 
3299    	                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3300                                <#else>    
3301                                    <div>&mdash;</div> 
3302                                </#if> 
3303                            </div> 
3304                        </#list> 
3305                    </div> 
3306                     
3307                    <div class="row"> 
3308                        <div class="cell"> 
3309                            <div class="">Composizione al 30/06</div> 
3310                        </div> 
3311                         
3312                        <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto2> 
3313                            <div class="cell"> 
3314                                <#assign contatore_allegati = 0> 
3315                                <#assign allegatoUrl = ''> 
3316                                <#list cur_Colonna_prospetto2.Allegato_prospetto.getSiblings() as allegato> 
3317                                    <#if contatore_allegati == 1> 
3318                                        <#assign allegatoUrl = allegato.getData()> 
3319                                    </#if> 
3320                                    <#assign contatore_allegati = contatore_allegati + 1> 
3321                                </#list> 
3322                                 
3323                                <#assign dlFileVersion = ''> 
3324    							<#if validator.isNotNull(allegatoUrl)> 
3325    								<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3326    							</#if> 
3327    							<#if validator.isNotNull(dlFileVersion)> 
3328    	                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3329                                <#else>    
3330                                    <div>&mdash;</div> 
3331                                </#if> 
3332                            </div> 
3333                        </#list> 
3334                    </div> 
3335                     
3336                    <div class="row"> 
3337                        <div class="cell"> 
3338                            <div class="">Composizione al 30/09</div> 
3339                        </div> 
3340                         
3341                        <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto3> 
3342                            <div class="cell"> 
3343                                <#assign contatore_allegati = 0> 
3344                                <#assign allegatoUrl = ''> 
3345                                <#list cur_Colonna_prospetto3.Allegato_prospetto.getSiblings() as allegato> 
3346                                    <#if contatore_allegati == 2> 
3347                                        <#assign allegatoUrl = allegato.getData()> 
3348                                    </#if> 
3349                                    <#assign contatore_allegati = contatore_allegati + 1> 
3350                                </#list> 
3351                                 
3352                                <#assign dlFileVersion = ''> 
3353    							<#if validator.isNotNull(allegatoUrl)> 
3354    								<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3355    							</#if> 
3356    							<#if validator.isNotNull(dlFileVersion)> 
3357    	                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3358                                <#else>    
3359                                    <div>&mdash;</div> 
3360                                </#if> 
3361                            </div> 
3362                        </#list> 
3363                    </div> 
3364                     
3365                    <div class="row"> 
3366                        <div class="cell"> 
3367                            <div class="">Composizione al 31/12</div> 
3368                        </div> 
3369                         
3370                        <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto4> 
3371                            <div class="cell"> 
3372                                <#assign contatore_allegati = 0> 
3373                                <#assign allegatoUrl = ''> 
3374                                <#list cur_Colonna_prospetto4.Allegato_prospetto.getSiblings() as allegato> 
3375                                    <#if contatore_allegati == 3> 
3376                                        <#assign allegatoUrl = allegato.getData()> 
3377                                    </#if> 
3378                                    <#assign contatore_allegati = contatore_allegati + 1> 
3379                                </#list> 
3380                                 
3381                                <#assign dlFileVersion = ''> 
3382    							<#if validator.isNotNull(allegatoUrl)> 
3383    								<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3384    							</#if> 
3385    							<#if validator.isNotNull(dlFileVersion)> 
3386    	                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3387                                <#else>    
3388                                    <div>&mdash;</div> 
3389                                </#if> 
3390                            </div> 
3391                        </#list> 
3392                    </div> 
3393                </#if> 
3394            </div> 
3395        </#if> 
3396             
3397        <!-- INIZIO BLOCCO SMARTPHONE PROSPETTO --> 
3398        <#if !( 
3399    	    !Colonna_prospetto.getSiblings()?has_content ||  
3400    	    (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
3401    	    (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
3402    	    (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
3403    	    )))>  
3404        	<div class="table_smart secondaTab prospetto" style="display:none"> 
3405        		<table> 
3406        			<tbody>                                
3407        				 
3408        				<#assign tipo_colonne_prospetto = Tipo_generazione_righe_prospetto.getData()> <!-- in realta per gli smart le righe sono colonne --> 
3409        				<#if tipo_colonne_prospetto == "dinamico">  
3410         
3411        					<tr class="intestazione_smart"> 
3412    							<td colspan="1">Anno</td>    
3413    							<#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Col_Prospetto> 
3414    								<td colspan="1">${cur_Nome_Col_Prospetto.getData()}</td> 
3415    							</#list> 
3416    						</tr> 
3417         
3418        					<#if Colonna_prospetto.getSiblings()?has_content> 
3419        						<#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
3420        							<#assign velocityCount = cur_Colonna_prospetto?index/> 
3421    						        <#if velocityCount % 2 == 0> 
3422    									<tr class="pari"> 
3423    								<#elseif velocityCount % 2 == 1> 
3424    									<tr class="dispari"> 
3425    								</#if> 
3426    								 
3427    								        <td>${cur_Colonna_prospetto.getData()}</td> 
3428    										<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>  
3429    											<#assign allegatoUrl = ''>  
3430    											<td>                                        
3431    												<#assign allegatoUrl = allegato.getData()>  
3432    												<#assign dlFileVersion = ''> 
3433    												<#if validator.isNotNull(allegatoUrl)> 
3434    													<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3435    												</#if> 
3436    												<#if validator.isNotNull(dlFileVersion)> 
3437    													<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3438    												<#else>    
3439    													<div>&mdash;</div> 
3440    												</#if> 
3441    											</td> 
3442    										</#list> 
3443    									</tr> 
3444    						    </#list> 
3445    						</#if> 
3446         
3447        				<#elseif tipo_colonne_prospetto == "quadrimestrali"> 
3448         
3449        					<tr class="intestazione_smart"> 
3450        						<td colspan="1">Anno</td>    
3451        						<td colspan="1">31Mar</td> 
3452        						<td colspan="1">30Giu</td> 
3453        						<td colspan="1">30Set</td> 
3454        						<td colspan="1">31Dic</td> 
3455        					</tr> 
3456         
3457        					<#if Colonna_prospetto.getSiblings()?has_content> 
3458         
3459        						<#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
3460        							<#assign velocityCount = cur_Colonna_prospetto?index/> 
3461    						        <#if velocityCount % 2 == 0> 
3462    									<tr class="pari"> 
3463    								<#elseif velocityCount % 2 == 1> 
3464    									<tr class="dispari"> 
3465    								</#if> 
3466    								 
3467    								        <td>${cur_Colonna_prospetto.getData()}</td> 
3468    												  
3469    										<#assign contatore_allegati = 0>                                        
3470    										<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato> 
3471    											<#assign allegatoUrl = ''> 
3472    											 <td>    
3473    												<#assign allegatoUrl = allegato.getData()> 
3474    												<#assign dlFileVersion = ''> 
3475    												<#if validator.isNotNull(allegatoUrl)> 
3476    													<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3477    												</#if> 
3478    												<#if validator.isNotNull(dlFileVersion)>                                           
3479    													<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3480    												<#else>    
3481    													<div>&mdash;</div> 
3482    												</#if> 
3483    											</td> 
3484    										</#list>                                     
3485    									</tr> 
3486    						    </#list> 
3487    	                    </#if> 
3488        				</#if> 
3489        			</tbody> 
3490        		</table> 
3491        	</div> 
3492        </#if> 
3493    		     
3494        <!-- FINE BLOCCO SMARTPHONE PROSPETTO --> 
3495         
3496        <!-- BLOCCO INDICI --> 
3497         
3498        <#if !( 
3499            (!Indici_titolo_alto?has_content || Indici_titolo_alto.getData()=='') &&  
3500            (!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='') &&  
3501            (!Label_titolo_tabella_valore_iniziale_indici?has_content || Label_titolo_tabella_valore_iniziale_indici.getData()=='') &&  
3502            (!Label_titolo_tabella_prestazioni_annuali?has_content || Label_titolo_tabella_prestazioni_annuali.getData()=='') &&  
3503            (!Indici_titolo_basso?has_content || Indici_titolo_basso.getData()=='') &&  
3504    (!titolo_box_tabella?has_content || titolo_box_tabella.getData()=='') 
3505            )> 
3506            <div class="boxesDettaglio togliMargin"> 
3507                <div class="reset"> 
3508                    <h5 class="titolo">${Indici_titolo_alto.getData()}</h5> 
3509                    <p class="">${Indici_descrizione_alta.getData()}</p> 
3510     
3511                    <#if !(!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='')> 
3512    	                <#assign fileEntryPath = Nome_allegato_valore_iniziale_titoli.Allegato_valore_iniziale_titoli.getData()>		 
3513    					<#assign dlFileVersion = ''>					 
3514    					<#if validator.isNotNull(fileEntryPath)> 
3515    						<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
3516    					</#if> 
3517    					 
3518    					<#if validator.isNotNull(dlFileVersion)> 
3519    	                	<h6 class="titolo">${Label_titolo_valore_iniziale_titoli.getData()}</h6> 
3520    						<div class="archivi">					 
3521    						   <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
3522    								<h6> 
3523    									<span class="icona icon-file"></span> 
3524    									<div>${Nome_allegato_valore_iniziale_titoli.getData()}</div> 
3525    								</h6> 
3526    							</a> 
3527    						</div> 
3528    					</#if> 
3529                    </#if> 
3530     
3531                    <#if Label_titolo_tabella_valore_iniziale_indici.getData() != ""> 
3532            			 <h6 class="titolo indici">${Label_titolo_tabella_valore_iniziale_indici.getData()}</h6> 
3533                    </div> 
3534                    <div class="table"> 
3535                         
3536                        <#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content> 
3537    			                     
3538    	                    <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1> 
3539    		                    <div class="row"> 
3540    		                        <div class="cell"> 
3541    		                            ${cur_Riga_valore_iniziale_indici_colonna_1.getData()} 
3542    		                        </div> 
3543    		                         
3544    		                        <div class="cell"> 
3545    		                            ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()} 
3546    		                        </div> 
3547    		                         
3548    		                        <div class="cell"> 
3549    		                            ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()} 
3550    		                        </div> 
3551    		                    </div> 
3552    	                    </#list> 
3553    	                     
3554    	                </#if> 
3555                    
3556                    </div> 
3557             
3558                    <!-- INIZIO BLOCCO SMARTPHONE SECONDA TABELLA --> 
3559                    <div class="table_smart secondaTab"> 
3560                        <#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content> 
3561                            <table> 
3562                                <tbody> 
3563                                    <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1> 
3564                                        <#assign velocityCount = cur_Riga_valore_iniziale_indici_colonna_1?index/> 
3565                                        <#if velocityCount!=1> 
3566                                			<tr class="intestazione_smart"> 
3567                                			    <td colspan="2">${cur_Riga_valore_iniziale_indici_colonna_1.getData()}</td> 
3568                                			</tr> 
3569                                			<tr class="pari"> 
3570                                    			<td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_data_emissione.getData()}</td> 
3571                                			    <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()}</td> 
3572                                			</tr> 
3573                                			<tr class="dispari"> 
3574                                			    <td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_colonna_3.getData()}</td> 
3575                                			    <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()}</td> 
3576                                			</tr> 
3577                            			</#if> 
3578                                    </#list> 
3579                                </tbody> 
3580                             </table> 
3581                        </#if> 
3582                    </div> 
3583                    <!-- FINE BLOCCO SMARTPHONE SECONDA TABELLA --> 
3584     
3585                    <div class="reset tab"> 
3586                        </#if> 
3587                        <#if Label_titolo_tabella_prestazioni_annuali.getData() != ""> 
3588        					<h6 class="titolo">${Label_titolo_tabella_prestazioni_annuali.getData()}</h6> 
3589        					<#if Prestazione_annuale_data_label.getSiblings()?has_content> 
3590        				</div> 
3591        				 
3592                        <div class="table"> 
3593                        	<#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label> 
3594            					<div class="row"> 
3595            						<div class="cell"> 
3596            							${cur_Prestazione_annuale_data_label.getData()} 
3597            						</div> 
3598            						 
3599            						<div class="cell"> 
3600            							${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()} 
3601            						</div> 
3602            					</div> 
3603        					</#list> 
3604        				 
3605        				</div> 
3606     
3607                    	<!-- INZIO BLOCCO SMARTPHONE --> 
3608                    	<div class="table_smart terzaTab"> 
3609                    		<table> 
3610                    			<tbody> 
3611                    				 <#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label> 
3612                    				 	<#assign velocityCount = cur_Prestazione_annuale_data_label?index/> 
3613    									<#if velocityCount==1> 
3614    										<tr class="intestazione_smart"> 
3615    											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
3616    											<td class="presta_ann">${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
3617    										</tr> 
3618    									<#elseif velocityCount%2==0> 
3619    										<tr class="pari"> 
3620    											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
3621    											<td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
3622    										</tr> 
3623    									<#elseif velocityCount%2==1> 
3624    										<tr class="dispari"> 
3625    											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
3626    											<td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
3627    										</tr> 
3628    									</#if> 
3629    								</#list> 
3630    							</tbody> 
3631    						</table> 
3632    					</div> 
3633    					  
3634                		<!-- FINE BLOCCO SMARTPHONE --> 
3635                    </#if> 
3636    			</#if> 
3637     
3638                <!-- INIZIO BLOCCO TABELLA NxM --> 
3639    			<#list titolo_box_tabella.getSiblings() as cur_titolo_box_tabella> 
3640    				<div class="reset"> 
3641    			        <#assign tipoTabella = cur_titolo_box_tabella.tipo_tabella.getData()> 
3642    			        <#assign descrizioneTabella = $cur_titolo_box_tabella.descrizione_tabella.getData()> 
3643    			        <#if descrizioneTabella!=''> 
3644    						<h5 class="titolo prospetto"> 
3645    							${cur_titolo_box_tabella.getData()} 
3646    						</h5> 
3647    						<p class="">${descrizioneTabella}</p> 
3648    			        <#else> 
3649    						<h6 class="titolo"> 
3650    							${cur_titolo_box_tabella.getData()} 
3651    						</h6> 
3652    			        </#if> 
3653    			    </div> 
3654        
3655                    <!-- controllo che la prima riga sia valorizzata altrimenti non la stampo --> 
3656    				<#assign contTheaderVisible = 0> 
3657    				<#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella> 
3658    					<#if cur_th_tabella.getData()?has_content> 
3659    						<#assign contTheaderVisible = contTheaderVisible + 1> 
3660    						<#break> 
3661    					</#if> 
3662    				</#list> 
3663      
3664                    <#assign contRowVisible = 0> 
3665    				<#if cur_titolo_box_tabella.tr_tabella?has_content> 
3666    					<#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella> 
3667    						<#if cur_tr_tabella.getData()?has_content> 
3668    							<#assign contRowVisible = contRowVisible + 1> 
3669    							<#break> 
3670    						<#else> 
3671    						    <#if cur_tr_tabella.td_tabella?has_content> 
3672    								<#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella> 
3673    									<!-- se di tipo testo stampo il campo td_tabella --> 
3674    									<#if tipoTabella?lower_case == 'testo'> 
3675    										<#if cur_td_tabella.getData()?has_content> 
3676    											<#assign contRowVisible = contRowVisible + 1> 
3677    											<#break> 
3678    										</#if> 
3679    									</#if> 
3680    									<!-- se di tipo documento stampo il campo td_allegato_url --> 
3681    									<#if tipoTabella?lower_case == 'documento'> 
3682    										<#if cur_td_tabella.td_allegato_url.getData() && cur_td_tabella.td_allegato_url.getData() != ''> 
3683    											<#assign contRowVisible = contRowVisible + 1> 
3684    											<#break> 
3685    										</#if> 
3686    									</#if> 
3687    								</#list> 
3688    							</#if> 
3689    						</#if> 
3690    					</#list> 
3691    				</#if> 
3692     
3693                    <#if (contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content) || contRowVisible gt 0> 
3694    			        <div class="table"> 
3695    			  
3696    					<#if contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content> 
3697    					   <div class="row theader"> 
3698    					<#else> 
3699    			           <div class="row theader" style="display:none;"> 
3700    			        </#if> 
3701     
3702    			        <div class="cell"> 
3703    						${cur_titolo_box_tabella.intestazione_tabella.getData()} 
3704    			        </div> 
3705    			        
3706    			        <#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella> 
3707    						<div class="cell"> 
3708    							${cur_th_tabella.getData()} 
3709    						</div> 
3710    			        </#list> 
3711    			        
3712    			        </div> 
3713    					<#if cur_titolo_box_tabella.tr_tabella.isEmpty()?has_content> 
3714    						<#assign rowCount = 0> 
3715    						<#assign velocityCount = 0> 
3716    						<#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella> 
3717    							<#assign velocityCount = cur_tr_tabella?index/> 
3718    							<#assign rowCount = velocityCount> 
3719    							<div class="row"> 
3720    								<#if rowCount==1> 
3721    									<div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;"> 
3722    								<#else> 
3723    									<div class="cell"> 
3724    								</#if> 
3725    								 
3726    								<div class="">${cur_tr_tabella.getData()}</div> 
3727    							</div> 
3728    							 
3729    							<#if cur_tr_tabella.td_tabella.isEmpty()?has_content> 
3730    								<#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella>          
3731    									<#if rowCount==1> 
3732    										<div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;"> 
3733    									<#else> 
3734    										<div class="cell"> 
3735    									</#if> 
3736    									 
3737    									<!-- se di tipo testo stampo il campo td_tabella --> 
3738    									<#if tipoTabella?lower_case == 'testo'> 
3739    										${cur_td_tabella.getData()} 
3740    									</#if> 
3741    									 
3742    									<!-- se di tipo documento stampo il campo td_allegato_url --> 
3743    									<#if tipoTabella?lower_case == 'documento'> 
3744    										<#assign fileEntryPath = cur_td_tabella.td_allegato_url.getData()> 
3745     
3746    										<#assign dlFileVersion = ''>					 
3747    										<#if validator.isNotNull(fileEntryPath)> 
3748    											<#assign dlFileVersion =$confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
3749    										</#if> 
3750    										<#if validator.isNotNull(dlFileVersion)> 
3751    											<a class="icona icon-file" href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3752    										<#else>  
3753    											<div>&mdash;</div> 
3754    										</#if> 
3755    									</#if> 
3756    									</div> 
3757    								</#list> 
3758    							</#if> 
3759    							</div> 
3760    							<!-- end if in piu --> 
3761    						</#list> 
3762    						</div> 
3763    					</#if> 
3764    				</#if> 
3765    			</#list> 
3766    			<!-- FINE BLOCCO TABELLA NxM --> 
3767    			  
3768    			  
3769    			<div class="reset"> 
3770    				<h5 class="titolo">${Indici_titolo_basso.getData()}</h5> 
3771    			 
3772    				<p class="">${Indici_descrizione_bassa.getData()}</p> 
3773    			</div> 
3774    				 
3775    		</div> 
3776    	</div> <!-- boxesDettaglio togliMargin --> 
3777     
3778        </#if>     
3779        <!-- FINE BLOCCO INDICI --> 
3780         
3781        <!-- BLOCCO (DOWNLOADS BOXES) --> 
3782        
3783        <#if !(Download_box_label?? && Download_box_label.getData()?has_content && (!Download_box_label.getSiblings()?has_content ||  
3784            (Download_box_label.getSiblings()?size==1 &&  
3785            (!Download_box_label.getSiblings()[0].getData()?has_content || Download_box_label.getSiblings()[0].getData()=='') && 
3786            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?has_content || 
3787            (Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?size==1 && 
3788            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings().getData()?has_content || Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()[0].getData()=='') 
3789            )))))>             
3790             
3791            <#list Download_box_label.getSiblings() as cur_Download_box_label>	                 
3792                <div class="boxesDettaglio togliMargin"> 
3793                    <div class="reset download"> 
3794    					<#if getterUtil.getBoolean(cur_Download_box_label.conteggio_file.getData())> 
3795    						<#assign file_number = cur_Download_box_label.Nome_allegato.getSiblings()?size> 
3796    						<h5 class="titolo">${cur_Download_box_label.getData()} ( ${file_number} file )</h5> 
3797    					<#else> 
3798    						<h5 class="titolo download">${cur_Download_box_label.getData()}</h5> 
3799    					</#if> 
3800    					<#if cur_Download_box_label.Nome_allegato.getSiblings()?has_content> 
3801    						<div class="archivi"> 
3802    							<#list cur_Download_box_label.Nome_allegato.getSiblings() as cur_Download_box> 
3803    							 
3804    								<#assign fileEntryPath = cur_Download_box.Allegato_url.getData()> 
3805     
3806    								<#assign dlFileVersion = ''>					 
3807    								<#if validator.isNotNull(fileEntryPath)> 
3808    									<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
3809    								</#if> 
3810    								<#if validator.isNotNull(dlFileVersion)> 
3811    									<#if cur_Download_box.tipo_allegato.getData()=="excel"> 
3812    										<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
3813    											<h6> 
3814    												<span class="icona icon-copy"></span> 
3815    									<#else> 
3816    										<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
3817    											<h6> 
3818    												<span class="icona icon-file"></span>                      
3819    									</#if> 
3820    												<div>${cur_Download_box.getData()}</div> 
3821    											</h6> 
3822    										</a> 
3823    								</#if> 
3824    							</#list> 
3825    						</div> 
3826    					</#if> 
3827                    </div> 
3828                </div> 
3829            </#list> 
3830    	</#if> 
3831         
3832    	<!-- FINE BLOCCO (DOWNLOADS BOXES) -->       
3833     
3834        <!-- BLOCCO DISCLAIMER --> 
3835        <footer> 
3836            <p class="caption disclaimer">${disclaimer.getData()}</p> 
3837        </footer> 
3838        <!-- FINE BLOCCO DISCLAIMER --> 
3839         
3840<#-- 		LINK AL TOP	--> 
3841<#--        <a href="#Top" class="back-to-top" title="Torna a inizio pagina">	--> 
3842<#--            TORNA A INIZIO PAGINA <span class="icona icon-angle-up"></span>	--> 
3843<#--      </a>	--> 
3844<#-- 		FINE LINK AL TOP	--> 
3845     
3846        <script type="text/javascript"> 
3847         
3848         
3849         
3850        jQuery(document).ready(function(){ 
3851         
3852            /* Nasconde, se presente lo span che contiene la pagina di dettaglio */ 
3853            if(jQuery(".breadcrumbs .elementi span").length) { 
3854                jQuery(".breadcrumbs .elementi span").hide();    
3855
3856             
3857            if(jQuery("html").is(".smartphone")) 
3858
3859                convertTableToDivs(); 
3860                swipeProspetto(); 
3861                jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-menu'></div>"); 
3862                jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-items'></div>"); 
3863                jQuery(".boxesDettaglio.togliMargin .bloccoValori").appendTo(".boxesDettaglio.togliMargin .carousel-items"); 
3864                 
3865                jQuery(".boxesDettaglio.togliMargin .bloccoValori").wrap("<div class='carousel-item'></div>"); 
3866                 
3867                var bullet=jQuery('<span class="carousel-menu-index">&bull;</span>'); 
3868                 
3869                /* creo l'elenco delle slide */ 
3870                jQuery(".boxesDettaglio.togliMargin .carousel-item").each(function(){ 
3871                bullet.clone().appendTo(".boxesDettaglio.togliMargin .carousel-menu"); 
3872                }); 
3873                 
3874                var car = ISP.carousel('.boxesDettaglio.togliMargin .carousel-items', '.boxesDettaglio.togliMargin .carousel-menu'); 
3875                
3876                car.play(); 
3877
3878        }); 
3879         
3880        function updateAndamentoLabel(){ 
3881        jQuery("#andamentoDa").html(jQuery("#datepickerDa").val()); 
3882        jQuery("#andamentoA").html(jQuery("#datepickerA").val()); 
3883
3884         
3885        function applyGradientOnPlot(){ 
3886        var canvasSeries = jQuery(".jqplot-series-canvas")[0]; 
3887        var ctx = canvasSeries.getContext("2d"); 
3888        var my_gradient=ctx.createLinearGradient(0,0,0,300); 
3889        my_gradient.addColorStop(0, "rgba(251,168,129,0.6)"); 
3890        my_gradient.addColorStop(1, "rgba(251,168,129,0.1)"); 
3891        ctx.fillStyle = my_gradient; 
3892        ctx.fill(); 
3893
3894         
3895        function updateDatePickers(){ 
3896        //Aggiorniamo i datepicker con i reali valori visualizzati dal grafico. Necessario per via del padding. 
3897           //jQuery("#datepickerDa").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
3898          
3899        	var dataInizialeDefault = jQuery("#dataDefaultVisualizzazionediv").text(); 
3900           	    
3901           if(dataInizialeDefault.length>0){ 
3902        	var dataNuova = new Date (dataInizialeDefault); 
3903         
3904        	jQuery("#datepickerDa").datepicker("setDate", new Date(dataInizialeDefault)); 
3905           }else{ 
3906         	jQuery("#datepickerDa").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
3907
3908          
3909          
3910          jQuery("#datepickerA").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
3911          jQuery('#datepickerDa').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
3912          jQuery('#datepickerDa').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
3913          jQuery('#datepickerA').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
3914          jQuery('#datepickerA').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
3915
3916         
3917        function aggiornaPerformance(dataIniziale, dataFinale){ 
3918        var dati = window.gestioneGrafico.datiTraLeDate(dataIniziale, dataFinale); 
3919         
3920        var valoreIniziale = dati[0][1]; 
3921        var valoreFinale = dati[dati.length - 1][1]; 
3922         
3923        var performance = ((valoreFinale - valoreIniziale) / valoreIniziale) * 100; 
3924        if(!isNumber(performance)){ 
3925        performance = 0; 
3926
3927        var performance_rounded = +performance.toFixed(2); 
3928         
3929        var performance_split = []; 
3930        if(performance_rounded.toString().indexOf(".")>0){ 
3931        performance_split = performance_rounded.toString().split("."); 
3932        }else{ 
3933        performance_split[0] = performance_rounded; 
3934        performance_split[1] = 0; 
3935
3936        jQuery(".bloccoValori.performance .titoloValuta").html(performance_split[0] + (performance_split[1]!=0?",<span class='decimali'>" + performance_split[1] + "</span>":"") + " %"); 
3937
3938         
3939        function postDrawProcessing(){ 
3940            console.log("postDrawHooks!"); 
3941            applyGradientOnPlot(); 
3942              
3943            var dataIniziale = new Date(gestioneGrafico.plotter.axes.xaxis.min); 
3944            var dataFinale = new Date(gestioneGrafico.plotter.axes.xaxis.max); 
3945              
3946        	aggiornaPerformance(dataIniziale, dataFinale); 
3947         
3948            var dataInizialeStr = jQuery.datepicker.formatDate('dd/mm/yy', dataIniziale) 
3949            var dataFinaleStr = jQuery.datepicker.formatDate('dd/mm/yy', dataFinale); 
3950         
3951            //aggiorno solo se diverso per evitare di far scattare onchange 
3952            if (dataInizialeStr!=jQuery("#datepickerDa").val()) { 
3953            	console.log('aggiorno data iniziale da ' + jQuery("#datepickerDa").val() + ' a ' + dataInizialeStr); 
3954            	jQuery("#datepickerDa").datepicker("setDate", dataIniziale); 
3955
3956            if (dataFinaleStr!=jQuery("#datepickerA").val()) { 
3957           		console.log('aggiorno data finale da ' + jQuery("#datepickerA").val() + ' a ' + dataFinaleStr); 
3958        		jQuery("#datepickerA").datepicker("setDate", dataFinale); 
3959
3960              
3961            updateAndamentoLabel(); 
3962
3963          
3964        function isNumber(n) { 
3965          return !isNaN(parseFloat(n)) && isFinite(n); 
3966
3967         
3968        jQuery(document).ready(function() { 
3969         
3970            jQuery.jsDate.regional['it-IT'] = { 
3971                monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], 
3972                monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'], 
3973                dayNames: ['Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'], 
3974                dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], 
3975                formatString: '%d-%m-%Y %H:%M:%S' 
3976            }; 
3977            jQuery.jsDate.regional.getLocale(); 
3978         
3979            //Spostato qui perché voglio essere sicuro che gestioneGrafico sia inizializzato quando viene chiamato in questa funzione. 
3980            //window.gestioneGrafico garantisce che è una variabile globale! -RC 
3981        window.gestioneGrafico = { 
3982         
3983            //Gestione del pad manuale perché quando si impostano un minimo e un massimo per gli assi il pad è ignorato. -RC 
3984            pad: 1.1,  
3985         
3986               tuttiIdatiDelGrafico : function() {  
3987                     
3988                   var tuttiIDati =[]; 
3989                        
3990                   <#list _listaRendimenti as storicoBean> 
3991	                   tuttiIDati.push([this.getADate('${storicoBean.getDataAggiornamentoStr()}'),'${storicoBean.getValoreFondoUno()}']); 
3992	               </#list> 
3993                    
3994                    //ritorno una copia dell'array che contiene tutti i dati 
3995                   return tuttiIDati.slice(); 
3996               }, 
3997                
3998               getADate: function (dataStr) 
3999
4000                   //console.log("getADate dataStr" + dataStr); 
4001                   if (dataStr == null) 
4002                       return; 
4003                    var partiData = dataStr.split("/"); 
4004                    var day = partiData[0]; 
4005                    var month = partiData[1] - 1; 
4006                    var year = partiData[2]; 
4007                    //console.log("year " + year + " month" + month + " day " + day) 
4008                    var aDate = new Date(year, month, day, 0, 0, 0, 0); 
4009                    return aDate; 
4010               }, 
4011                
4012               datiTraLeDate : function (dataDa, dataA){ 
4013                   //console.log("datiTraLeDate dataDa " + dataDa + " dataA " + dataA); 
4014                    
4015                   var tuttiIdati = this.tuttiIdatiDelGrafico(); 
4016                   //cerco l'elemento minimo superiore a dataDa  
4017                   //cerco l'elemnto massimo inferiore a dataA 
4018                   //l'array di dati originali è gia ordinato per data 
4019                   var indiceDellaDataMinore = -1; 
4020                   var indiceDellaDataMaggiore = -1; 
4021                   var currDate; 
4022                   //cerco la prima data subito superiore a dataDa 
4023                   for (var i=0; i< tuttiIdati.length; i++) { 
4024                      currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
4025                      if((currDate.isAfter(dataDa)||(currDate.isSame(dataDa))) && (currDate.isBefore(dataA)||currDate.isSame(dataA))) { 
4026                          indiceDellaDataMinore = i; 
4027                         break; 
4028
4029                   }   
4030                    //cerco la prima data subito inveriore  a dataA 
4031                   for (var i=tuttiIdati.length -1; i>=0; i--) { 
4032                      currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
4033                      if((currDate.isBefore(dataA)|| currDate.isSame(dataA)) && (currDate.isAfter(dataDa)||currDate.isSame(dataDa))) { 
4034                          indiceDellaDataMaggiore = i; 
4035                         break; 
4036
4037
4038                   //a questo punto ho gli indici delle date minore e maggiore, taglio l'array 
4039                   var nDiElementi  = indiceDellaDataMaggiore - indiceDellaDataMinore + 1; 
4040                   console.log("nDiElementi" + nDiElementi); 
4041                   var nuovoRange = tuttiIdati.splice(indiceDellaDataMinore,nDiElementi); 
4042                   //se 0 risultati creo un array con dati [[dataIniziale, 0], [dataFinale, 0]] 
4043                   if (nuovoRange.length == 0){ 
4044                       console.log("ritorno un range vuoto"); 
4045                       nuovoRange = [["{$_datiStorico.getDataInizialeString()}"][0],["{$_datiStorico.getDataFinaleString()}"][0]]; 
4046
4047                   //se il ragendati ha un solo valore ritorno due valori per far si che il valore sia visibile sul grafico 
4048        //                if (nuovoRange.length == 1){ 
4049        //                    console.log("ritorno un range 1"); 
4050        //                    nuovoRange.push(nuovoRange[0]); 
4051        //                } 
4052                   console.log("nuovo range" + nuovoRange); 
4053                   return nuovoRange; 
4054               }, 
4055               getAxisBounds: function(dati, pad, dataDa, dataA){ 
4056                var _pad = (pad==null||typeof pad == 'undefined')?0:pad; 
4057                var _dataDa = typeof dataDa == 'undefined'?null:dataDa; 
4058                var _dataA = typeof dataA == 'undefined'?null:dataA; 
4059                
4060                var minXVal = null; 
4061                var maxXVal = null; 
4062                //Vogliamo che Y parta da 0 o dal minimo valore minore di 0 
4063                var minYVal = null; 
4064                var maxYVal = null; 
4065                
4066                for(var i=0; i<dati.length; i++){ 
4067                var valY = parseFloat(dati[i][1]); 
4068                if(_dataDa==null&&(minXVal==null||dati[i][0]<minXVal)){ 
4069                minXVal = dati[i][0]; 
4070
4071                if(_dataA==null&&(maxXVal==null||dati[i][0]>maxXVal)){ 
4072                maxXVal = dati[i][0]; 
4073
4074                if(minYVal==null||valY<minYVal){ 
4075                minYVal = valY; 
4076
4077                if(maxYVal==null||valY>maxYVal){ 
4078                maxYVal = valY; 
4079
4080
4081                
4082                if(dataDa!=null){ 
4083                minXVal = dataDa; 
4084
4085                if(dataA!=null){ 
4086                maxXVal = dataA; 
4087
4088                
4089                var padX = 0; 
4090                var padY = 0; 
4091                if(dati.length>1){ 
4092                padX = ((maxXVal - minXVal)*(pad-1))/2; 
4093        //             padY = minYVal>0?((maxYVal - 0)*(pad-1))/2:((maxYVal - minYVal)*(pad-1))/2; 
4094                padY = ((maxYVal - minYVal)*(pad-1))/2; 
4095                }else{ 
4096                padX = 86401000; 
4097                padY = maxYVal*(pad-1); 
4098
4099                
4100                if(padY<0){ 
4101                padY=-padY; 
4102                }else if(padY==0){ 
4103                padY=2; 
4104
4105                
4106                var bounds = { 
4107                minX: dati.length>1?new Date(minXVal.getTime()):new Date(minXVal.getTime()-padX), 
4108                maxX: dati.length>1?new Date(maxXVal.getTime()):new Date(maxXVal.getTime()+2*padX), 
4109        //             minY: minYVal>0?0:minYVal-padY, 
4110                minY: minYVal-padY, 
4111                maxY: maxYVal+padY 
4112
4113                
4114                return bounds; 
4115               }, 
4116                zoomHandler: function() { 
4117                  var c = this.plugins.cursor; 
4118                  console.log(c); 
4119                }, 
4120                
4121               plotter: null, 
4122                    
4123                   visualizzaGrafico : function (dati, dataDa, dataA){ 
4124                    var singlePoint = dati.length==1; 
4125                    var bounds = this.getAxisBounds(dati, this.pad, dataDa, dataA); 
4126					var logaritmica = logaritmica; 
4127                    console.log("Axis Bounds: " + bounds); 
4128                       if(this.plotter != null) 
4129                           this.plotter.destroy(); 
4130                       if(singlePoint){ 
4131                        dati.push(dati[0]); 
4132
4133                       this.plotter = jQuery.jqplot('chartdiv',  [dati],  
4134                           {  
4135                               title:{ 
4136                                   text: '', 
4137                                   show: false 
4138                               }, 
4139                               axesDefaults: { 
4140        //                             numberTicks: 5 
4141                                   // a factor multiplied by the data range on the axis to give the 
4142                                   // axis range so that data points don't fall on the edges of the axis. 
4143                               }, 
4144                               cursor:{ 
4145                                     show: true, 
4146                                     showTooltip: false, 
4147                                     zoom: true, 
4148                                     constrainZoomTo: 'x' 
4149                                   }, 
4150                               seriesDefaults: { 
4151                                    
4152                                    color: '#fba881',      // CSS color spec to use for the line.  Determined automatically. 
4153                                    showMarker: singlePoint,   // render the data point markers or not. 
4154                                    fill: true,        // fill under the line, 
4155                                    fillAndStroke: singlePoint,       // *stroke a line at top of fill area. 
4156                                    fillColor: '#fba881', 
4157                                    fillAlpha: 0.001,      // *custom alpha to apply to fillColor. 
4158                                    shadow: false   // show shadow or not. 
4159                                     
4160                                }, 
4161                               axes:{ 
4162                                   xaxis:  { 
4163                                       renderer:jQuery.jqplot.DateAxisRenderer, 
4164                                       min: bounds.minX, 
4165                                       max: bounds.maxX, 
4166                                       tickOptions: {formatString: '%d/%m/%Y'} 
4167                                   }, 
4168                                   yaxis: { 
4169        						   renderer:logaritmica==true?jQuery.jqplot.LogAxisRenderer:jQuery.jqplot.LinearAxisRenderer, 
4170                                    min: bounds.minY, 
4171                                    max: bounds.maxY, 
4172                                    tickOptions: {formatString: '%#.3f' +  (divisaSimboloMap['${valutaFondoUno}']!=null?" " + divisaSimboloMap['${valutaFondoUno}']:" " + '${valutaFondoUno}') } 
4173
4174                               }, 
4175                               series:[{ 
4176                                   lineWidth:2,  
4177                                   markerOptions: 
4178
4179                                        style:'circle' 
4180
4181                                    }], 
4182                                highlighter: { 
4183                                       show: true, 
4184                                       sizeAdjust: 7.5 
4185                                     }, 
4186                                     grid: { 
4187                                         drawGridLines: true,        // wether to draw lines across the grid or not. 
4188                                         gridLineColor: '#f0f1f6',    // *Color of the grid lines. 
4189                                         background: '#fff',      // CSS color spec for background color of grid. 
4190                                         borderColor: '#f0f1f6',     // CSS color spec for border around grid. 
4191                                         borderWidth: 1.0,           // pixel width of border around grid. 
4192                                         shadow: false,               // draw a shadow for grid. 
4193
4194                                  
4195                           }); 
4196        				    
4197
4198
4199         
4200            <#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))> 
4201							 
4202				<#if _listaRendimenti?size gt 0> 
4203        		 
4204        			jQuery.jqplot.sprintf.thousandsSeparator = ''; 
4205        			jQuery.jqplot.sprintf.decimalMark = ','; 
4206        		 
4207        			var gestore = gestioneGrafico; 
4208        			var datiDaVisualizzare = gestore.tuttiIdatiDelGrafico(); 
4209        			var bounds = gestioneGrafico.getAxisBounds(datiDaVisualizzare, this.pad); 
4210        		 
4211        			// inizializzo i date picker con gli estremi delle date disponibili in base ai dati ricevuti 
4212        			jQuery("#datepickerDa").datepicker({ 
4213        				// showOtherMonths: true, 
4214        				// selectOtherMonths: true, 
4215        				changeMonth : true, 
4216        				changeYear : true, 
4217        				dateFormat : "dd/mm/yy", 
4218        				defaultDate : bounds.minX, 
4219        				minDate : bounds.minX, 
4220        				maxDate : bounds.maxX, 
4221        				onSelect : function() { 
4222        					jQuery("#datepickerA").datepicker('option', { 
4223        						minDate : jQuery(this).datepicker('getDate') 
4224        					}); 
4225        					updateGraphDatesFromDatePickers(); 
4226        					// jQuery(this).change(); 
4227        					// jQuery(this).blur(); 
4228
4229        			// defaultDate: gestore.getADate("$_datiStorico.getDataInizialeString()"), 
4230        			// minDate : gestore.getADate("$_datiStorico.getDataInizialeString()"), 
4231        			// maxDate : gestore.getADate("$_datiStorico.getDataFinaleString()") 
4232        			}, jQuery.datepicker.regional['it']); 
4233        			jQuery("#datepickerA").datepicker({ 
4234        				changeMonth : true, 
4235        				changeYear : true, 
4236        				dateFormat : "dd/mm/yy", 
4237        				defaultDate : bounds.maxX, 
4238        				minDate : bounds.minX, 
4239        				maxDate : bounds.maxX, 
4240        				onSelect : function() { 
4241        					jQuery("#datepickerDa").datepicker('option', { 
4242        						maxDate : jQuery(this).datepicker('getDate') 
4243        					}); 
4244        					updateGraphDatesFromDatePickers(); 
4245        					// jQuery(this).change(); 
4246        					// jQuery(this).blur(); 
4247        				}, 
4248        				beforeShow : function(input, inst) { 
4249        					inst.dpDiv.css({marginLeft: -input.offsetWidth + 'px'}); 
4250        		 
4251
4252        			// defaultDate: gestore.getADate("$_datiStorico.getDataInizialeString()"), 
4253        			// minDate : gestore.getADate("$_datiStorico.getDataInizialeString()"), 
4254        			// maxDate : gestore.getADate("$_datiStorico.getDataFinaleString()") 
4255        			}, jQuery.datepicker.regional['it']); 
4256        		 
4257        			function updateGraphDatesFromDatePickers() { 
4258        				var dataDaStr = jQuery("#datepickerDa").val(); 
4259        				var dataAStr = jQuery("#datepickerA").val(); 
4260        				console.log("date cambiate: da " + dataDaStr + " a " + dataAStr); 
4261        				// Se date nulle usa gli estremi 
4262        				if (dataDaStr == '') 
4263        				{	 
4264        					dataDaStr = gestore.getADate("${_datiStorico.getDataInizialeString()}"); 
4265        					jQuery("#datepickerDa").val(dataDaStr); 
4266
4267        				if (dataAStr == '') 
4268
4269        					dataAStr = gestore.getADate("${_datiStorico.getDataFinaleString()}"); 
4270        					jQuery("#datepickerA").val(dataAStr); 
4271
4272        				var dataDa = gestore.getADate(dataDaStr); 
4273        				var dataA = gestore.getADate(dataAStr); 
4274        				// se la data è maggiore di data a non fare nulla 
4275        				if (dataDa >= dataA) 
4276        					return; 
4277         
4278        				gestore.plotter.axes.xaxis.min = dataDa; 
4279        				gestore.plotter.axes.xaxis.max = dataA; 
4280         
4281        				var interval = (dataA.getTime() - dataDa.getTime()) / 5; 
4282        				var ticks = []; 
4283        				var currTick = dataDa.getTime(); 
4284        				ticks.push(currTick); 
4285        				for (var i = 0; i < 5; i++) { 
4286        					currTick += interval; 
4287        					ticks.push(currTick); 
4288
4289         
4290        				gestore.plotter.axes.xaxis.ticks = ticks; 
4291         
4292        				gestore.plotter.replot(); 
4293         
4294        				// Necessario per riabilitare zoom 
4295        				gestore.plotter.axes.xaxis.ticks = []; 
4296         
4297        				// applyGradientOnPlot(); 
4298            
4299        			}; 
4300        		 
4301                    if (Liferay.Browser.isIe() && Liferay.Browser.getVersion() < 9) 
4302
4303        				// carica script che emula il canvas poiché ie < 9 non lo supoporta 
4304        				var exCanvasScriptUrl = "${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/excanvas/excanvas.min.js"; 
4305        				jQuery.getScript(exCanvasScriptUrl, function(data, textStatus, jqxhr) { 
4306        					gestore.visualizzaGrafico(datiDaVisualizzare); 
4307        					updateDatePickers(); 
4308        					applyGradientOnPlot(); 
4309        					jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
4310        					updateAndamentoLabel(); 
4311        				}); 
4312        		 
4313
4314        			else 
4315
4316        				gestore.visualizzaGrafico(datiDaVisualizzare); 
4317        				updateDatePickers(); 
4318        				applyGradientOnPlot(); 
4319        				jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
4320        				updateAndamentoLabel(); 
4321
4322        			updateGraphDatesFromDatePickers(); 
4323        			aggiornaPerformance(datiDaVisualizzare[0][0], datiDaVisualizzare[datiDaVisualizzare.length - 1][0]); 
4324        			 
4325        			 
4326        			jQuery( ".datePicker" ).change(updateGraphDatesFromDatePickers); 
4327					 
4328        		</#if> 
4329				 
4330            </#if> 
4331         
4332             
4333        }); 
4334        </script> 
4335     
4336    </div> 
4337 
4338    <style> 
4339     
4340        .boxesDettaglio .datePickers p .datePicker { 
4341        position: absolute; 
4342        display: block; 
4343        height: 30px; 
4344        width: 105px; 
4345        margin: 0; 
4346        padding: 4px 3px; 
4347        background: transparent; 
4348        color: #fff; 
4349        border: medium none; 
4350        box-shadow: none; 
4351        cursor: pointer; 
4352        z-index: 100; 
4353
4354        .aui .supTitle { 
4355        color: #2d769d; 
4356        text-align: left; 
4357        padding: 0; 
4358        margin: 0; 
4359        font-size: 18px; 
4360        font-weight: normal; 
4361        }	 
4362     
4363    </style> 
4364 
4365</#if> 
4366 
4367 
4368 
4369 
4370<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/jquery.jqplot.min.js"></script> 
4371<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/excanvas/excanvas.min.js"></script> 
4372<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/plugins/jqplot.dateAxisRenderer.min.js"></script> 
4373<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/plugins/jqplot.highlighter.min.js"></script> 
4374<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/plugins/jqplot.cursor.min.js"></script> 
4375<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/plugins/jqplot.logAxisRenderer.js"></script>