Rendimenti e quotazioni
Utile per te
null SPV DINAMICO
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			<#if catId != 0> 
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        	</#if> 
1183        	 
1184        	<#if !catKey??> 
1185        	    <#assign catKey = ""> 
1186        	</#if> 
1187        	 
1188            <#assign isOICR = false> 
1189            <!-- pretitolo --> 
1190    	    <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) || catKey?lower_case == "rivalutabili"> 
1191    	        <#assign pre_titolo_rendimento = "Gestione Separata"> 
1192    	    <#elseif categoria?lower_case == "index linked"> 
1193    	        <#assign pre_titolo_rendimento = "Indice"> 
1194    	    <#elseif categoria?lower_case == "oicr"> 
1195    	        <#assign pre_titolo_rendimento = "OICR"> 
1196    	        <#assign isOICR = true> 
1197    	    <#else> 
1198    	    	<#assign pre_titolo_rendimento = "Fondo"> 
1199    	    </#if> 
1200    	     
1201    	    <!-- valore dei fondi dal web content -->    
1202			<#assign valoreFondoUno =  confTool.getValoreFondoFromStr(valore_1.getData(), locale)> 
1203			<#assign valoreFondoDue =  confTool.getValoreFondoFromStr(valore_2.getData(), locale)> 
1204		     
1205		    <#if getterUtil.getBoolean(usa_valori_da_fondo.getData())> 
1206		        <#assign usaFondo = true> 
1207					     
1208			    <!-- titolo --> 
1209			    <#assign titolo_rendimento = Titolo_rendimento.getData()> 
1210			     
1211			    <#if titolo_rendimento==""> 
1212			        <#assign titolo_rendimento = Titolo_rendimento.getData()> 
1213			    </#if> 
1214			     
1215			    <!-- valore e valuta dei fondi dal db --> 
1216			    <#if validator.isNotNull(valoreFondoUno)> 
1217    		        <#if validator.isNull(valoreFondoDue) || valoreFondoDue == "0">	 
1218    		            <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)> 
1219    		            <#assign valoreFondoDue = "">	 
1220    		        <#else> 
1221    		            <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)> 
1222    		            <#assign valoreFondoDue =  confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(), locale)>	 
1223    		        </#if> 
1224    			<#else> 
1225    				 <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(),locale)> 
1226    		         <#assign valoreFondoDue =  confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(),locale)>	 
1227    			</#if>  
1228			     
1229			    <#if valoreFondoDue=="0" || valoreFondoDue == "0,000"> 
1230			        <#assign valoreFondoDue = ""> 
1231			    </#if> 
1232			 
1233			    <#assign valutaFondoUno =  confTool.getValutaFondoUnoFromDb(id_fondo.getData())> 
1234			    <#assign valutaFondoDue =  confTool.getValutaFondoDueFromDb(id_fondo.getData())> 
1235			     
1236			    <!-- data aggiornamento valore --> 
1237			    <#assign dataAggiornamentoValore = confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)> 
1238			     
1239			    <!-- rating --> 
1240			    <#assign ratings = confTool.getRatingsFromDb(id_fondo.getData())> 
1241			 
1242			<#else> 
1243                <#assign usaFondo = false>  
1244					             
1245			    <!-- titolo --> 
1246			    <#assign titolo_rendimento = Titolo_rendimento.getData()> 
1247			 
1248			    <!-- valuta dei fondi dal web content --> 
1249			    <#assign valutaFondoUno =  valuta1.getData()> 
1250			    <#assign valutaFondoDue =  valuta_2.getData()> 
1251			     
1252			    <!--  data aggiornamento valori --> 
1253				<#assign aggiornato_al_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(aggiornato_al.getData()), localeIT)> 
1254			    <#assign dataAggiornamentoValore = dateUtil.getDate(aggiornato_al_DateObj, "dd MMM yyyy", localeIT)> 
1255			     
1256			    <!-- rating --> 
1257			    <#assign ratings = Rating.getData()> 
1258			     
1259		    </#if> 
1260		     
1261		    <!-- PRIMO BLOCCO --> 
1262			<#assign breadCrumb = confTool.getBreadcrumb(themeDisplay.getLayout(),themeDisplay) > 
1263		    <div class="boxesDettaglio togliMargin"> 
1264		        <!-- briciole di pane --> 
1265				<div id="breadcrumbs" class="breadcrumbs"> 
1266				    <div class="elementi"> 
1267				         
1268				        <!-- Inizio creazione Breadcrumb --> 
1269						 
1270			        	<#assign titolo_gs_associata = label_gestione_separata_associata.getData()> 
1271				        <#assign titolo_da_visualizzare = titolo_rendimento> 
1272				         
1273				        <#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) && validator.isNotNull(titolo_gs_associata)> 
1274				        	<#if categoria?lower_case == "previdenza"> 
1275				            	<#assign titolo_da_visualizzare = titolo_gs_associata> 
1276				 	        </#if>                     
1277						</#if> 
1278						 
1279						<!-- get article's primaryKey --> 
1280		                <#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(groupId), .vars['reserved-article-id'].data, getterUtil.getDouble(.vars['reserved-article-version'].data))> 
1281		                <#assign articlePrimKey = article.resourcePrimKey> 
1282		                <#assign resourcePrimKey = getterUtil.getLong(articlePrimKey)> 
1283		                <#assign categorie = confTool.getCategoriesByResourcePrimKey(resourcePrimKey)> 
1284		                <#assign categorieSize = categorie?size> 
1285						 
1286						<#list breadCrumb?keys as key>  
1287							<a href="${key?replace("../../", "/")}">${breadCrumb[key]}</a> 
1288						</#list> 
1289						<span>${themeDisplay.getLayout().getName()}</span> 
1290						 
1291						<#list categorie as cur_categoria> 
1292						    <#if cur_categoria.getCategoryId() == catId> 
1293		                        <!--  --> 
1294		                        <a href="/web${currentLayoutParent.getGroup().getFriendlyURL()}${currentLayoutParent.getFriendlyURL()}?selectedCategoryId=${cur_categoria.getCategoryId()}">${cur_categoria.getName()}</a> 
1295		                    </#if>   
1296						</#list> 
1297						 
1298						<#list categorie as cur_categoria> 
1299						    <#if cur_categoria.getCategoryId() == subcatId> 
1300		                        <!-- cur_categoria.getCategoryId() == catId --> 
1301		                        <a href="/web${currentLayoutParent.getGroup().getFriendlyURL()}${currentLayoutParent.getFriendlyURL()}?selectedCategoryId=${cur_categoria.getCategoryId()}">${cur_categoria.getName()}</a> 
1302		                    </#if>   
1303						</#list> 
1304						 
1305						${titolo_da_visualizzare} 
1306						 
1307						<!-- Fine creazione Breadcrumb --> 
1308						 
1309				    </div> 
1310		        </div> 
1311		        <div> 
1312		            <div class="supTitle capitalize">${pre_titolo_rendimento}</div> 
1313					<h1 class="titoloRendimento">${titolo_da_visualizzare}</h1> 
1314		             
1315		            <#if Notifica_alert?? && Notifica_alert.getData() != ""> 
1316								    	 
1317    			    	<div class="descrizioni notifica_alert">${Notifica_alert.getData()}</div> 
1318    			    	 
1319    			    	<#assign testoFascetta = confTool.getRendimentoParsed(article, themeDisplay.getLanguageId()).getTestoFascetta(article, themeDisplay.getLanguageId(), catId, subcatId)> 
1320    			    	<#if validator.isNotNull(testoFascetta)> 
1321    			    		<div class="fascetta_rendimento ${catColor}">${testoFascetta}</div> 
1322    			    	</#if> 
1323    			    	 
1324    			    </#if> 
1325		             
1326		            <#assign strippedHtmlDescrizione = confTool.stripHTML(Descrizione_rendimento_e_quotazione.getData())?trim> 
1327	                <#if validator.isNotNull(titolo_rendimento) && strippedHtmlDescrizione?lower_case != titolo_rendimento?trim?lower_case> 
1328	                    <div class="descrizioni">${Descrizione_rendimento_e_quotazione.getData()}</div> 
1329	                </#if> 
1330		             
1331		        </div> 
1332		         
1333		        <!-- blocco valore corrente valore protetto --> 
1334	            <!-- script da spostare in hook --> 
1335	            <script type="text/javascript"> 
1336	                 
1337	            var divisaSimboloMap = { 
1338	            'EUR': '&#8364;', 
1339	            'USD': '$', 
1340	            '':'', 
1341	            '%':'%' 
1342	            }; 
1343	             
1344	                jQuery(document).ready(function(){ 
1345	                    var listaValuta=jQuery(".titoloValuta"); 
1346	                    if (listaValuta!=null){ 
1347	                        for (var i=0;i<listaValuta.length;i++){ 
1348	                            if (listaValuta.get(i).innerHTML.indexOf(',')!=-1){ 
1349	                                //                                 var index=listaValuta.get(i).outerHTML.indexOf(','); 
1350	                                //                                 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); 
1351	                                //                                 listaValuta.get(i).outerHTML = html; 
1352	                                var listaValuta_split = listaValuta.get(i).innerHTML.split(','); 
1353	                                var parteIntera = listaValuta_split[0]; 
1354	                                if(listaValuta_split[1].indexOf(" ")){ 
1355	                                    var listaValuta1_split = listaValuta_split[1].split(" "); 
1356	                                    var parteDecimale = listaValuta1_split[0]; 
1357	                                    var parteValuta = listaValuta1_split[1]; 
1358	                                }else{ 
1359	                                    var parteDecimale = listaValuta_split[1]; 
1360	                                    var parteValuta = ""; 
1361
1362	                                  
1363	                                var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
1364	                                console.log(parteValutaMap + "-" + parteValuta ); 
1365	                                                                var html = parteIntera + ",<span class='decimali'>" + parteDecimale + "</span>" + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
1366	                                listaValuta.get(i).innerHTML = html; 
1367	                            }else{ 
1368	                            console.log(listaValuta.get(i).innerHTML); 
1369	                                if(listaValuta.get(i).innerHTML.indexOf(" ")!=-1){ 
1370	                                var listaValuta_split = listaValuta.get(i).innerHTML.split(" "); 
1371	                                var parteIntera = listaValuta_split[0]; 
1372	                                var parteValuta = listaValuta_split[1]; 
1373	                                    var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
1374	                                    console.log(parteValutaMap + "-" + parteValuta ); 
1375	                                var html = parteIntera + " " + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
1376	                                        listaValuta.get(i).innerHTML = html; 
1377
1378
1379
1380
1381	                }); 
1382	            </script> 
1383		         
1384		        <#if valoreFondoDue == "" > 
1385                    <!-- blocco a singola colonna 2--> 
1386                     
1387                    <div class="bloccoValori" > 
1388                        <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
1389                        <div class="bloccoValuta"> 
1390                            <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
1391                            <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
1392                        </div> 
1393                    </div> 
1394                 
1395                <#else> 
1396                 
1397                    <!-- blocco a doppia colonna --> 
1398	                <div class="valoriDoppioWrapper"> 
1399		                <div class="bloccoValori doppio first" > 
1400		                    <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
1401		                    <div class="bloccoValuta"> 
1402		                        <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
1403		                        <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
1404		                    </div> 
1405		                </div> 
1406		                <div class="bloccoValori doppio" > 
1407		                    <h4 class="titoloValori">${Label_valore_protetto.getData()} 
1408								<#if valore_1_min_garantito.getData()!=""> 
1409
1410								</#if> 
1411							</h4> 
1412		                    <div class="bloccoValuta"> 
1413		                        <h3 class="titoloValuta">${valoreFondoDue} ${valutaFondoDue}</h3> 
1414		                        <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
1415		                    </div> 
1416		                </div> 
1417	                </div> 
1418	                <#if validator.isNotNull(valore_1_min_garantito.getData())> 
1419		                <div class="caption"> 
1420							*&nbsp;${valore_1_min_garantito.getData()} 
1421						</div> 
1422					</#if> 
1423                </#if> 
1424		         
1425		        <div class="reset"> 
1426		         
1427		            <#if isOICR && validator.isNotNull(Societa_di_gestione.getData())> 
1428                		<#assign labelSocietaGestione = "Societ&agrave; di gestione"> 
1429                		<#if validator.isNotNull(Label_societa_di_gestione.getData())> 
1430                			<#assign labelSocietaGestione = Label_societa_di_gestione.getData()> 
1431                		</#if> 
1432                		<div class="gestione"> 
1433                			<h6 class="">${labelSocietaGestione}: <strong>&nbsp;${Societa_di_gestione.getData()}</strong></h6> 
1434                		</div>	                		 
1435                	</#if> 
1436                	 
1437                    <#if Istituto_emittente.getData() != ""> 
1438                        <h5 class="titolo">${Label_obbligazione_strutturata.getData()}</h5> 
1439                        <div class="istituto"> 
1440                            <h6 class="">${Label_istituto_emittente.getData()}: <strong>${Istituto_emittente.getData()}</strong></h6> 
1441                            <h6 class="">${Label_rating.getData()}: <strong>${Rating.getData()}</strong></h6> 
1442                        </div> 
1443                    </#if> 
1444     
1445    				<#assign Data_scadenza_to_show = ''> 
1446                    <#if validator.isNotNull(Data_scadenza.getData())> 
1447						<#assign Data_scadenza_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(Data_scadenza.getData()), localeIT)> 
1448    					<!-- 01/01/2100 --> 
1449    					<#if dateUtil.compareTo(Data_scadenza_DateObj,dateUtil.newDate(4102441200000)) lt 0 > 
1450    						<#assign Data_scadenza_to_show = 'Scadenza ' + dateUtil.getDate(Data_scadenza_DateObj, "dd/MM/yyyy", localeIT)> 
1451    					</#if> 
1452    				</#if> 
1453     
1454    				<#if validator.isNotNull(Data_scadenza_to_show)> 
1455    					<h6 class="scadenza nomobile"><strong>${Data_scadenza_to_show}</strong></h6> 
1456    				</#if> 
1457		        </div> 
1458		         
1459		        <!-- Da agganciare nel momento in cui caricano i contenuti derivati --> 
1460				<div class="reset"> 
1461                    <#if Istituto_emittente_derivata?? && Istituto_emittente_derivata.getData() != ""> 
1462	                    <h5 class="titolo">${Label_obbligazione_derivata.getData()}</h5> 
1463	                    <div class="istituto derivata"> 
1464	                        <h6 class="">${Label_istituto_emittente_derivata.getData()}:<strong>${Istituto_emittente_derivata.getData()}</strong></h6> 
1465	                        <h6 class="">${Label_rating_derivata.getData()}:<strong>${Rating_derivata.getData()}</strong></h6> 
1466	                    </div> 
1467                    </#if> 
1468                     
1469                    <#if validator.isNotNull(Data_scadenza_to_show)> 
1470                        <h6 class="scadenza onlymobile"><strong>$Data_scadenza_to_show</strong></h6> 
1471					</#if> 
1472 
1473                </div> 
1474		         
1475		    </div> 
1476		     
1477		    <!-- FINE PRIMO BLOCCO --> 
1478					 
1479					         
1480			<!-- SECONDO BLOCCO (GRAFICO STORICO) --> 
1481		     
1482			<#assign _listaRendimenti = []> 
1483		    <#assign hasBenchmark = false> 
1484            <#assign _benchmarkFondoMap = confTool.getBenchmarkFondo(id_fondo.id_benchmark_fondo.getData())> 
1485            <#if _benchmarkFondoMap?size gt 0> 
1486               <#assign hasBenchmark = true> 
1487            </#if> 
1488 
1489				<#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))> 
1490                <div class="boxesDettaglio storicGraph"> 
1491                    <#assign _datiStorico = confTool.getDatiStorico(id_fondo.getData())> 
1492                    <#assign _listaRendimenti = _datiStorico.getValoriRendimenti()> 
1493					 
1494                    <div class="reset"> 
1495                        <#if getterUtil.getBoolean(hasBenchmark)> 
1496                            <style type="text/css"> 
1497    	            			.legendaBenchmark span.fondo::before{ 
1498    	            				color: #fba881; 
1499    	            				background-color: #fba881; 
1500
1501    	            			.legendaBenchmark span.benchmark::before{ 
1502    	            				color: #0a4379; 
1503    	            				background-color: #0a4379; 
1504
1505    	            			.legendaBenchmark span::before{ 
1506    	            				display: inline-block; 
1507    	            				height: 12px; 
1508    	            				width: 12px; 
1509    	            				border-radius: 12px; 
1510    	            				border: 1px solid #eee; 
1511    	            				content: " "; 
1512    	            				margin-right: 8px; 
1513    							    margin-bottom: -3px; 
1514
1515    	            		</style> 
1516    	            	     
1517    	            	    <div class="legendaBenchmark" style="float: right; border: 1px solid #eee; padding: 10px; margin-right: 9px;"> 
1518		            			<span class="fondo"><i></i>Andamento Fondo</span><br/></br> 
1519		            			<span class="benchmark"><i></i>Andamento Benchmark</span> 
1520		            		</div> 
1521    	            	     
1522                        </#if> 
1523                         
1524                        <h5 class="titolo"> 
1525		                    Andamento performance  
1526		                    <#if getterUtil.getBoolean(hasBenchmark)> 
1527		                    	fondo e benchmark <br/> 
1528		                    </#if> 
1529		                    <small class="">Dati aggiornati al ${confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)}</small> 
1530		                </h5> 
1531		                <#if getterUtil.getBoolean(hasBenchmark)> 
1532		                	<div style="clear: right"></div> 
1533		                </#if> 
1534                         
1535                        <#if _listaRendimenti?size gt 0> 
1536                            <div class="graficoRendimento" > 
1537		                        <div id="chartdiv"></div> 
1538		                    </div> 
1539		                    <div class="datePickers reset"> 
1540		                        <p class="inizio"> 
1541		                            <input type="text" class="datePicker" id="datepickerDa" value="${_datiStorico.getDataInizialeString()}" /> 
1542		                        </p> 
1543		                        <p class="fine"> 
1544		                            <input type="text" class="datePicker" id="datepickerA" value="${_datiStorico.getDataFinaleString()}" /> 
1545		                        </p> 
1546		                    </div> 
1547		                    <p class="reset">Visualizzazione andamento dal <span id="andamentoDa"></span> al <span id="andamentoA"></span></p> 
1548		                    <p class="reset" style="font-style:italic"> 
1549		                    	Attenzione: i valori passati non sono indicativi di quelli futuri. 
1550		                    	<#if getterUtil.getBoolean(hasBenchmark)> 
1551		                    		Si evidenzia inoltre che la performance del Fondo risente dei costi gravanti sullo stesso, mentre il benchmark,  
1552		                    		in quanto indice teorico, non è gravato da costi. 
1553		                    	</#if> 
1554		                    </p> 
1555                        </#if> 
1556                    </div> 
1557                </div>		     
1558		    </#if> 
1559		     
1560		    <!-- FINE SECONDO BLOCCO --> 
1561		     
1562		    <!-- BLOCCO PROSPETTO --> 
1563		     
1564		    <#if !( 
1565    		    !Colonna_prospetto.getSiblings()?has_content ||  
1566    		    (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
1567    		    (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
1568    		    (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
1569    		    )))> 
1570    		     
1571    		    <div class="boxesDettaglio togliMargin"> 
1572    		        <div class="reset">            
1573		                <p class="">${descrizione_prospetto.getData()}</p> 
1574		            </div> 
1575    		        <#if Colonna_prospetto.getSiblings()?has_content> 
1576    		            <div class="table"> 
1577    		                <div class="row theader"> 
1578			                    <div class="cell"> 
1579			                        <!-- prima colonnavuota --> 
1580			                    </div> 
1581            		            <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>  
1582            		                <div class="cell"> 
1583            		                    ${cur_Colonna_prospetto.getData()} 
1584            		                </div> 
1585            		            </#list> 
1586                            </div> 
1587                             
1588                            <#if Tipo_generazione_righe_prospetto.getData()=="dinamico"> 
1589                                <#if Nome_Riga_Prospetto.getSiblings()?has_content> 
1590                                    <#assign contatore_righe = 0> 
1591                                    <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Riga_Prospetto> 
1592                                        <div class="row"> 
1593			                                <div class="cell"> 
1594			                                    <div class="">${cur_Nome_Riga_Prospetto.getData()}</div> 
1595			                                </div> 
1596			                                <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1>  
1597			                                    <div class="cell"> 
1598    		                                        <#assign contatore_allegati = 0> 
1599    		                                        <#assign allegatoUrl = ''> 
1600			                                         
1601			                                        <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
1602			                                         
1603			                                            <#if contatore_allegati == contatore_righe> 
1604			                                                <#assign allegatoUrl = allegato.getData()> 
1605			                                            </#if> 
1606			                                            <#assign contatore_allegati = contatore_allegati + 1> 
1607			                                        </#list> 
1608			                                         
1609			                                        <#assign dlFileVersion = ''> 
1610													<#if validator.isNotNull(allegatoUrl)> 
1611														<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1612													</#if> 
1613													<#if validator.isNotNull(dlFileVersion)> 
1614				                                       	<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1615				                                    <#else> 
1616				                                    	<div>&mdash;</div> 
1617			                                        </#if> 
1618			                                    </div> 
1619			                                </#list> 
1620			                            </div> 
1621                                        <#assign contatore_righe = contatore_righe + 1> 
1622                                    </#list> 
1623                                </#if> 
1624                            </#if> 
1625                             
1626                            <#if Tipo_generazione_righe_prospetto.getData()=="quadrimestrali"> 
1627                                <div class="row"> 
1628    			                    <div class="cell"> 
1629    			                        <div class="">Composizione al 31/03</div> 
1630    			                    </div> 
1631    			                     
1632    			                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1> 
1633    			                        <div class="cell"> 
1634    			                            <#assign contatore_allegati = 0> 
1635    			                            <#assign allegatoUrl = ''> 
1636    			                            <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
1637    			                                <#if contatore_allegati == 0> 
1638    			                                    <#assign allegatoUrl = allegato.getData()> 
1639    			                                </#if> 
1640    			                                <#assign contatore_allegati = contatore_allegati + 1> 
1641    			                            </#list> 
1642    			                             
1643    			                            <#assign dlFileVersion = ''> 
1644    										<#if validator.isNotNull(allegatoUrl)> 
1645    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1646    										</#if> 
1647    										<#if validator.isNotNull(dlFileVersion)> 
1648    				                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1649    			                            <#else>    
1650    			                                <div>&mdash;</div> 
1651    			                            </#if> 
1652    			                        </div> 
1653    			                    </#list> 
1654    			                </div> 
1655                                 
1656                                <div class="row"> 
1657    			                    <div class="cell"> 
1658    			                        <div class="">Composizione al 30/06</div> 
1659    			                    </div> 
1660    			                     
1661    			                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto2> 
1662    			                        <div class="cell"> 
1663    			                            <#assign contatore_allegati = 0> 
1664    			                            <#assign allegatoUrl = ''> 
1665    			                            <#list cur_Colonna_prospetto2.Allegato_prospetto.getSiblings() as allegato> 
1666    			                                <#if contatore_allegati == 1> 
1667    			                                    <#assign allegatoUrl = allegato.getData()> 
1668    			                                </#if> 
1669    			                                <#assign contatore_allegati = contatore_allegati + 1> 
1670    			                            </#list> 
1671    			                             
1672    			                            <#assign dlFileVersion = ''> 
1673    										<#if validator.isNotNull(allegatoUrl)> 
1674    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1675    										</#if> 
1676    										<#if validator.isNotNull(dlFileVersion)> 
1677    				                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1678    			                            <#else>    
1679    			                                <div>&mdash;</div> 
1680    			                            </#if> 
1681    			                        </div> 
1682    			                    </#list> 
1683    			                </div> 
1684    			                 
1685    			                <div class="row"> 
1686    			                    <div class="cell"> 
1687    			                        <div class="">Composizione al 30/09</div> 
1688    			                    </div> 
1689    			                     
1690    			                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto3> 
1691    			                        <div class="cell"> 
1692    			                            <#assign contatore_allegati = 0> 
1693    			                            <#assign allegatoUrl = ''> 
1694    			                            <#list cur_Colonna_prospetto3.Allegato_prospetto.getSiblings() as allegato> 
1695    			                                <#if contatore_allegati == 2> 
1696    			                                    <#assign allegatoUrl = allegato.getData()> 
1697    			                                </#if> 
1698    			                                <#assign contatore_allegati = contatore_allegati + 1> 
1699    			                            </#list> 
1700    			                             
1701    			                            <#assign dlFileVersion = ''> 
1702    										<#if validator.isNotNull(allegatoUrl)> 
1703    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1704    										</#if> 
1705    										<#if validator.isNotNull(dlFileVersion)> 
1706    				                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1707    			                            <#else>    
1708    			                                <div>&mdash;</div> 
1709    			                            </#if> 
1710    			                        </div> 
1711    			                    </#list> 
1712    			                </div> 
1713    			                 
1714    			                <div class="row"> 
1715    			                    <div class="cell"> 
1716    			                        <div class="">Composizione al 31/12</div> 
1717    			                    </div> 
1718    			                     
1719    			                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto4> 
1720    			                        <div class="cell"> 
1721    			                            <#assign contatore_allegati = 0> 
1722    			                            <#assign allegatoUrl = ''> 
1723    			                            <#list cur_Colonna_prospetto4.Allegato_prospetto.getSiblings() as allegato> 
1724    			                                <#if contatore_allegati == 3> 
1725    			                                    <#assign allegatoUrl = allegato.getData()> 
1726    			                                </#if> 
1727    			                                <#assign contatore_allegati = contatore_allegati + 1> 
1728    			                            </#list> 
1729    			                             
1730    			                            <#assign dlFileVersion = ''> 
1731    										<#if validator.isNotNull(allegatoUrl)> 
1732    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1733    										</#if> 
1734    										<#if validator.isNotNull(dlFileVersion)> 
1735    				                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1736    			                            <#else>    
1737    			                                <div>&mdash;</div> 
1738    			                            </#if> 
1739    			                        </div> 
1740    			                    </#list> 
1741    			                </div> 
1742                            </#if> 
1743    		            </div> 
1744    		        </#if> 
1745    		    </div> 
1746    		</#if> 
1747		     
1748		     
1749		    <!-- INIZIO BLOCCO SMARTPHONE PROSPETTO --> 
1750		     
1751		    <#if !( 
1752    		    !Colonna_prospetto.getSiblings()?has_content ||  
1753    		    (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
1754    		    (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
1755    		    (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
1756    		    )))> 
1757    		    <div class="table_smart secondaTab prospetto"> 
1758					<table> 
1759						<tbody> 
1760    		                <#assign tipo_colonne_prospetto = Tipo_generazione_righe_prospetto.getData()> <!-- in realta per gli smart le righe sono colonne --> 
1761    		                <#if tipo_colonne_prospetto == "dinamico"> 
1762    		                 
1763    		                    <tr class="intestazione_smart"> 
1764									<td colspan="1">Anno</td>    
1765									<#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Col_Prospetto> 
1766										<td colspan="1">${cur_Nome_Col_Prospetto.getData()}</td> 
1767									</#list> 
1768								</tr> 
1769								 
1770								<#if Colonna_prospetto.getSiblings()?has_content> 
1771								    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
1772								    	<#assign velocityCount = cur_Colonna_prospetto?index/> 
1773								        <#if velocityCount % 2 == 0> 
1774											<tr class="pari"> 
1775										<#elseif velocityCount % 2 == 1> 
1776											<tr class="dispari"> 
1777										</#if> 
1778										 
1779										        <td>${cur_Colonna_prospetto.getData()}</td> 
1780												<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>  
1781													<#assign allegatoUrl = ''>  
1782													<td>                                        
1783														<#assign allegatoUrl = allegato.getData()>  
1784														<#assign dlFileVersion = ''> 
1785														<#if validator.isNotNull(allegatoUrl)> 
1786															<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1787														</#if> 
1788														<#if validator.isNotNull(dlFileVersion)> 
1789															<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1790														<#else>    
1791															<div>&mdash;</div> 
1792														</#if> 
1793													</td> 
1794												</#list> 
1795											</tr> 
1796								    </#list> 
1797								</#if> 
1798    		     
1799    		                <#elseif tipo_colonne_prospetto == "quadrimestrali"> 
1800    		                 
1801    		                    <tr class="intestazione_smart"> 
1802									<td colspan="1">Anno</td>    
1803									<td colspan="1">31Mar</td> 
1804									<td colspan="1">30Giu</td> 
1805									<td colspan="1">30Set</td> 
1806									<td colspan="1">31Dic</td> 
1807								</tr> 
1808								 
1809								<#if Colonna_prospetto.getSiblings()?has_content> 
1810								    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
1811								    	<#assign velocityCount = cur_Colonna_prospetto?index/> 
1812								        <#if velocityCount % 2 == 0> 
1813											<tr class="pari"> 
1814										<#elseif velocityCount % 2 == 1> 
1815											<tr class="dispari"> 
1816										</#if> 
1817										 
1818										        <td>${cur_Colonna_prospetto.getData()}</td> 
1819														  
1820												<#assign contatore_allegati = 0>                                        
1821												<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato> 
1822													<#assign allegatoUrl = ''> 
1823													 <td>    
1824														<#assign allegatoUrl = allegato.getData()> 
1825														<#assign dlFileVersion = ''> 
1826														<#if validator.isNotNull(allegatoUrl)> 
1827															<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
1828														</#if> 
1829														<#if validator.isNotNull(dlFileVersion)>                                           
1830															<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
1831														<#else>    
1832															<div>&mdash;</div> 
1833														</#if> 
1834													</td> 
1835												</#list>                                     
1836											</tr> 
1837								    </#list> 
1838    		                    </#if> 
1839    		                </#if> 
1840    		            </tbody> 
1841    		        </table> 
1842    		    </div> 
1843    		</#if> 
1844		     
1845		    <!-- FINE BLOCCO SMARTPHONE PROSPETTO --> 
1846		     
1847		    <!-- BLOCCO INDICI --> 
1848		 
1849		    <#if !( 
1850    	        (!Indici_titolo_alto?has_content || Indici_titolo_alto.getData()=='') &&  
1851    	        (!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='') &&  
1852    	        (!Label_titolo_tabella_valore_iniziale_indici?has_content || Label_titolo_tabella_valore_iniziale_indici.getData()=='') &&  
1853    	        (!Label_titolo_tabella_prestazioni_annuali?has_content || Label_titolo_tabella_prestazioni_annuali.getData()=='') &&  
1854    	        (!Indici_titolo_basso?has_content || Indici_titolo_basso.getData()=='') &&  
1855    	(!titolo_box_tabella?has_content || titolo_box_tabella.getData()=='') 
1856    	        )> 
1857    	         
1858    	        <div class="boxesDettaglio togliMargin"> 
1859		            <div class="reset"> 
1860		                <h5 class="titolo">${Indici_titolo_alto.getData()}</h5> 
1861		                <p class="">${Indici_descrizione_alta.getData()}</p> 
1862		 
1863		                <#if !(!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='')> 
1864			                <#assign fileEntryPath = Nome_allegato_valore_iniziale_titoli.Allegato_valore_iniziale_titoli.getData()>		 
1865							<#assign dlFileVersion = ''>					 
1866							<#if validator.isNotNull(fileEntryPath)> 
1867								<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
1868							</#if> 
1869							 
1870							<#if validator.isNotNull(dlFileVersion)> 
1871			                	<h6 class="titolo">${Label_titolo_valore_iniziale_titoli.getData()}</h6> 
1872								<div class="archivi">					 
1873								   <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
1874										<h6> 
1875											<span class="icona icon-file"></span> 
1876											<div>${Nome_allegato_valore_iniziale_titoli.getData()}</div> 
1877										</h6> 
1878									</a> 
1879								</div> 
1880							</#if> 
1881		                </#if> 
1882		                 
1883		                <#if Label_titolo_tabella_valore_iniziale_indici.getData() != ""> 
1884			                <h6 class="titolo indici">${Label_titolo_tabella_valore_iniziale_indici.getData()}</h6> 
1885			            </div> 
1886			            <div class="table"> 
1887			                 
1888			                <#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content> 
1889			                     
1890			                    <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1> 
1891        		                    <div class="row"> 
1892        		                        <div class="cell"> 
1893        		                            ${cur_Riga_valore_iniziale_indici_colonna_1.getData()} 
1894        		                        </div> 
1895        		                         
1896        		                        <div class="cell"> 
1897        		                            ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()} 
1898        		                        </div> 
1899        		                         
1900        		                        <div class="cell"> 
1901        		                            ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()} 
1902        		                        </div> 
1903        		                    </div> 
1904			                    </#list> 
1905			                     
1906			                </#if> 
1907			            
1908			            </div> 
1909			             
1910			            <!-- INIZIO BLOCCO SMARTPHONE SECONDA TABELLA --> 
1911			            <div class="table_smart secondaTab"> 
1912                			<#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content> 
1913                			<table> 
1914                    			<tbody> 
1915                        			 <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1> 
1916                        			 	<#assign velocityCount = cur_Riga_valore_iniziale_indici_colonna_1?index/> 
1917                            			<#if velocityCount!=1> 
1918                                			<tr class="intestazione_smart"> 
1919                                			    <td colspan="2">${cur_Riga_valore_iniziale_indici_colonna_1.getData()}</td> 
1920                                			</tr> 
1921                                			<tr class="pari"> 
1922                                    			<td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_data_emissione.getData()}</td> 
1923                                			    <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()}</td> 
1924                                			</tr> 
1925                                			<tr class="dispari"> 
1926                                			    <td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_colonna_3.getData()}</td> 
1927                                			    <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()}</td> 
1928                                			</tr> 
1929                            			</#if> 
1930                        			 
1931                        			 </#list> 
1932                    			 </tbody> 
1933                			 </table> 
1934                			 </#if> 
1935			            </div> 
1936			            <!-- FINE BLOCCO SMARTPHONE SECONDA TABELLA --> 
1937			  
1938			  
1939			  
1940            			<div class="reset tab"> 
1941            				</#if> 
1942            				<#if Label_titolo_tabella_prestazioni_annuali.getData() != ""> 
1943            					<h6 class="titolo">${Label_titolo_tabella_prestazioni_annuali.getData()}</h6> 
1944            					<#if Prestazione_annuale_data_label.getSiblings()?has_content> 
1945            				</div> 
1946            				<div class="table"> 
1947            				 
1948            					<#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label> 
1949                					<div class="row"> 
1950                						<div class="cell"> 
1951                							${cur_Prestazione_annuale_data_label.getData()} 
1952                						</div> 
1953                						 
1954                						<div class="cell"> 
1955                							${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()} 
1956                						</div> 
1957                					</div> 
1958            					</#list> 
1959            				 
1960            				</div> 
1961            			  
1962            			  
1963            			  
1964            					<!-- INZIO BLOCCO SMARTPHONE --> 
1965            					<div class="table_smart terzaTab"> 
1966            						<table> 
1967            							<tbody> 
1968            								 <#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label> 
1969            								 <#assign velocityCount = cur_Prestazione_annuale_data_label?index/> 
1970            									<#if velocityCount==1> 
1971            										<tr class="intestazione_smart"> 
1972            											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
1973            											<td class="presta_ann">${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
1974            										</tr> 
1975            									<#elseif velocityCount%2==0> 
1976            										<tr class="pari"> 
1977            											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
1978            											<td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
1979            										</tr> 
1980            									<#elseif velocityCount%2==1> 
1981            										<tr class="dispari"> 
1982            											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
1983            											<td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
1984            										</tr> 
1985            									</#if> 
1986            								</#list> 
1987            							</tbody> 
1988            						</table> 
1989            					</div> 
1990            					  
1991            					<!-- FINE BLOCCO SMARTPHONE --> 
1992             
1993            				</#if> 
1994            			</#if> 
1995		                 
1996		                <!-- INIZIO BLOCCO TABELLA NxM --> 
1997    					<#list titolo_box_tabella.getSiblings() as cur_titolo_box_tabella> 
1998    						<div class="reset"> 
1999    					        <#assign tipoTabella = cur_titolo_box_tabella.tipo_tabella.getData()> 
2000    					        <#assign descrizioneTabella = cur_titolo_box_tabella.descrizione_tabella.getData()> 
2001    					        <#if descrizioneTabella!=''> 
2002    								<h5 class="titolo prospetto"> 
2003    									${cur_titolo_box_tabella.getData()} 
2004    								</h5> 
2005    								<p class="">${descrizioneTabella}</p> 
2006    					        <#else> 
2007    								<h6 class="titolo"> 
2008    									${cur_titolo_box_tabella.getData()} 
2009    								</h6> 
2010    					        </#if> 
2011    					    </div> 
2012    					        
2013    					    <!-- controllo che la prima riga sia valorizzata altrimenti non la stampo --> 
2014    						<#assign contTheaderVisible = 0> 
2015    						<#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella> 
2016    							<#if cur_th_tabella.getData()?has_content> 
2017    								<#assign contTheaderVisible = contTheaderVisible + 1> 
2018    								<#break> 
2019    							</#if> 
2020    						</#list> 
2021    						  
2022    						<#assign contRowVisible = 0> 
2023    						<#if cur_titolo_box_tabella.tr_tabella?has_content> 
2024    							<#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella> 
2025    								<#if cur_tr_tabella.getData()?has_content> 
2026    									<#assign contRowVisible = contRowVisible + 1> 
2027    									<#break> 
2028    								<#else> 
2029    								    <#if cur_tr_tabella.td_tabella?has_content> 
2030    										<#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella> 
2031    											<!-- se di tipo testo stampo il campo td_tabella --> 
2032    											<#if tipoTabella?lower_case == 'testo'> 
2033    												<#if cur_td_tabella.getData()?has_content> 
2034    													<#assign contRowVisible = contRowVisible + 1> 
2035    													<#break> 
2036    												</#if> 
2037    											</#if> 
2038    											<!-- se di tipo documento stampo il campo td_allegato_url --> 
2039    											<#if tipoTabella?lower_case == 'documento'> 
2040    												<#if cur_td_tabella.td_allegato_url.getData() && cur_td_tabella.td_allegato_url.getData() != ''> 
2041    													<#assign contRowVisible = contRowVisible + 1> 
2042    													<#break> 
2043    												</#if> 
2044    											</#if> 
2045    										</#list> 
2046    									</#if> 
2047    								</#if> 
2048    							</#list> 
2049    						</#if> 
2050    					  
2051    						<#if (contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content) || contRowVisible gt 0> 
2052    					        <div class="table"> 
2053    					  
2054    							<#if contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content> 
2055    							   <div class="row theader"> 
2056    							<#else> 
2057    					           <div class="row theader" style="display:none;"> 
2058    					        </#if> 
2059     
2060    					        <div class="cell"> 
2061    								${cur_titolo_box_tabella.intestazione_tabella.getData()} 
2062    					        </div> 
2063    					        
2064    					        <#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella> 
2065    								<div class="cell"> 
2066    									${cur_th_tabella.getData()} 
2067    								</div> 
2068    					        </#list> 
2069    					        
2070    					        </div> 
2071    							<#if cur_titolo_box_tabella.tr_tabella.isEmpty()?has_content> 
2072    								<#assign rowCount = 0> 
2073    								<#assign velocityCount = 0> 
2074    								<#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella> 
2075    									<#assign velocityCount = cur_tr_tabella?index/> 
2076    									<#assign rowCount = velocityCount> 
2077										<div class="row"> 
2078											<#if rowCount==1> 
2079												<div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;"> 
2080											<#else> 
2081												<div class="cell"> 
2082											</#if> 
2083											 
2084											<div class="">${cur_tr_tabella.getData()}</div> 
2085										</div> 
2086										 
2087										<#if cur_tr_tabella.td_tabella.isEmpty()?has_content> 
2088											<#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella>          
2089												<#if rowCount==1> 
2090													<div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;"> 
2091												<#else> 
2092													<div class="cell"> 
2093												</#if> 
2094												 
2095												<!-- se di tipo testo stampo il campo td_tabella --> 
2096												<#if tipoTabella?lower_case == 'testo'> 
2097													${cur_td_tabella.getData()} 
2098												</#if> 
2099												 
2100												<!-- se di tipo documento stampo il campo td_allegato_url --> 
2101												<#if tipoTabella?lower_case == 'documento'> 
2102													<#assign fileEntryPath = cur_td_tabella.td_allegato_url.getData()> 
2103 
2104													<#assign dlFileVersion = ''>					 
2105													<#if validator.isNotNull(fileEntryPath)> 
2106														<#assign dlFileVersion =$confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
2107													</#if> 
2108													<#if validator.isNotNull(dlFileVersion)> 
2109														<a class="icona icon-file" href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
2110													<#else>  
2111														<div>&mdash;</div> 
2112													</#if> 
2113												</#if> 
2114												</div> 
2115											</#list> 
2116										</#if> 
2117    									</div> 
2118    									<!-- end if in piu --> 
2119    								</#list> 
2120    								</div> 
2121    							</#if> 
2122    						</#if> 
2123						</#list> 
2124						<!-- FINE BLOCCO TABELLA NxM --> 
2125						  
2126						  
2127						<div class="reset"> 
2128							<h5 class="titolo">${Indici_titolo_basso.getData()}</h5> 
2129						 
2130							<p class="">${Indici_descrizione_bassa.getData()}</p> 
2131						</div> 
2132							 
2133					</div> 
2134				</div> <!-- boxesDettaglio togliMargin --> 
2135 
2136			</#if> 
2137    					         
2138    	             
2139    	     
2140		    <!-- FINE BLOCCO INDICI --> 
2141		     
2142		     
2143		     
2144		    <!-- BLOCCO (DOWNLOADS BOXES) --> 
2145					        
2146	        <#if !(Download_box_label?? && Download_box_label.getData()?has_content && (!Download_box_label.getSiblings()?has_content ||  
2147	            (Download_box_label.getSiblings()?size==1 &&  
2148	            (!Download_box_label.getSiblings()[0].getData()?has_content || Download_box_label.getSiblings()[0].getData()=='') && 
2149	            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?has_content || 
2150	            (Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?size==1 && 
2151	            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings().getData()?has_content || Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()[0].getData()=='') 
2152	            )))))>             
2153	             
2154	            <#list Download_box_label.getSiblings() as cur_Download_box_label>	                 
2155	                <div class="boxesDettaglio togliMargin"> 
2156	                    <div class="reset download"> 
2157							<#if getterUtil.getBoolean(cur_Download_box_label.conteggio_file.getData())> 
2158								<#assign file_number = cur_Download_box_label.Nome_allegato.getSiblings()?size> 
2159								<h5 class="titolo">${cur_Download_box_label.getData()} ( ${file_number} file )</h5> 
2160							<#else> 
2161								<h5 class="titolo download">${cur_Download_box_label.getData()}</h5> 
2162							</#if> 
2163							<#if cur_Download_box_label.Nome_allegato.getSiblings()?has_content> 
2164								<div class="archivi"> 
2165									<#list cur_Download_box_label.Nome_allegato.getSiblings() as cur_Download_box> 
2166									 
2167										<#assign fileEntryPath = cur_Download_box.Allegato_url.getData()> 
2168 
2169										<#assign dlFileVersion = ''>					 
2170										<#if validator.isNotNull(fileEntryPath)> 
2171											<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
2172										</#if> 
2173										<#if validator.isNotNull(dlFileVersion)> 
2174											<#if cur_Download_box.tipo_allegato.getData()=="excel"> 
2175												<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
2176													<h6> 
2177														<span class="icona icon-copy"></span> 
2178											<#else> 
2179												<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
2180													<h6> 
2181														<span class="icona icon-file"></span>                      
2182											</#if> 
2183														<div>${cur_Download_box.getData()}</div> 
2184													</h6> 
2185												</a> 
2186										</#if> 
2187									</#list> 
2188								</div> 
2189							</#if> 
2190	                    </div> 
2191	                </div> 
2192                </#list> 
2193        	</#if> 
2194	         
2195	    	<!-- FINE BLOCCO (DOWNLOADS BOXES) -->        
2196	 
2197	        <!-- BLOCCO DISCLAIMER --> 
2198	 
2199	        <footer > 
2200	         
2201	            <p class="caption disclaimer">${disclaimer.getData()}</p> 
2202	         
2203	        </footer> 
2204	         
2205	        <!-- FINE BLOCCO DISCLAIMER --> 
2206	         
2207	         
2208	        <!-- LINK AL TOP --> 
2209	        <a href="#Top" class="back-to-top" title="Torna a inizio pagina"> 
2210	            TORNA A INIZIO PAGINA <span class="icona icon-angle-up"></span> 
2211	        </a> 
2212	        <!-- FINE LINK AL TOP --> 
2213		 
2214			<script type="text/javascript"> 
2215					 
2216    			jQuery(document).ready(function(){ 
2217    			 
2218    			        /* Nasconde, se presente lo span che contiene la pagina di dettaglio */ 
2219    			        if(jQuery(".breadcrumbs .elementi span").length) { 
2220    			            jQuery(".breadcrumbs .elementi span").hide();    
2221
2222    			         
2223    			        if(jQuery("html").is(".smartphone")) 
2224
2225    			            convertTableToDivs(); 
2226    			            swipeProspetto(); 
2227    			            jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-menu'></div>"); 
2228    			            jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-items'></div>"); 
2229    			            jQuery(".boxesDettaglio.togliMargin .bloccoValori").appendTo(".boxesDettaglio.togliMargin .carousel-items"); 
2230    			             
2231    			            jQuery(".boxesDettaglio.togliMargin .bloccoValori").wrap("<div class='carousel-item'></div>"); 
2232    			             
2233    			            var bullet=jQuery('<span class="carousel-menu-index">&bull;</span>'); 
2234    			             
2235    			            /* creo l'elenco delle slide */ 
2236    			            jQuery(".boxesDettaglio.togliMargin .carousel-item").each(function(){ 
2237    			            bullet.clone().appendTo(".boxesDettaglio.togliMargin .carousel-menu"); 
2238    			            }); 
2239    			             
2240    			            var car = ISP.carousel('.boxesDettaglio.togliMargin .carousel-items', '.boxesDettaglio.togliMargin .carousel-menu'); 
2241    			            
2242    			            car.play(); 
2243
2244    			    }); 
2245    			  
2246    			function updateAndamentoLabel(){ 
2247    			jQuery("#andamentoDa").html(jQuery("#datepickerDa").val()); 
2248    			jQuery("#andamentoA").html(jQuery("#datepickerA").val()); 
2249
2250    			  
2251    			    function applyGradientOnPlot(){ 
2252    			    var canvasSeries = jQuery(".jqplot-series-canvas")[0]; 
2253    			    var ctx = canvasSeries.getContext("2d"); 
2254    			    var my_gradient=ctx.createLinearGradient(0,0,0,300); 
2255    			    my_gradient.addColorStop(0, "rgba(251,168,129,0.6)"); 
2256    			    my_gradient.addColorStop(1, "rgba(251,168,129,0.1)"); 
2257    			    ctx.fillStyle = my_gradient; 
2258    			    ctx.fill(); 
2259
2260    			     
2261    			    function updateDatePickers(){ 
2262    			    //Aggiorniamo i datepicker con i reali valori visualizzati dal grafico. Necessario per via del padding. 
2263    			      		    
2264    				   var dataInizialeDefault = jQuery("#dataDefaultVisualizzazionediv").text(); 
2265    				   	    
2266    				   if(dataInizialeDefault.length>0){ 
2267    					var dataNuova = new Date (dataInizialeDefault); 
2268    				 
2269    					jQuery("#datepickerDa").datepicker("setDate", new Date(dataInizialeDefault)); 
2270    				   }else{ 
2271    				 	jQuery("#datepickerDa").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
2272
2273    				    
2274    				    
2275    			      jQuery("#datepickerA").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
2276    			      jQuery('#datepickerDa').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
2277    			      jQuery('#datepickerDa').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
2278    			      jQuery('#datepickerA').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
2279    			      jQuery('#datepickerA').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
2280
2281    			     
2282    			    function aggiornaPerformance(dataIniziale, dataFinale){ 
2283    			    var dati = window.gestioneGrafico.datiTraLeDate(dataIniziale, dataFinale); 
2284    			    
2285    			    var valoreIniziale = dati[0][1]; 
2286    			    var valoreFinale = dati[dati.length - 1][1]; 
2287    			    
2288    			    var performance = ((valoreFinale - valoreIniziale) / valoreIniziale) * 100; 
2289    			    if(!isNumber(performance)){ 
2290    			    performance = 0; 
2291
2292    			    var performance_rounded = +performance.toFixed(2); 
2293    			    
2294    			    var performance_split = []; 
2295    			    if(performance_rounded.toString().indexOf(".")>0){ 
2296    			    performance_split = performance_rounded.toString().split("."); 
2297    			    }else{ 
2298    			    performance_split[0] = performance_rounded; 
2299    			    performance_split[1] = 0; 
2300
2301    			    jQuery(".bloccoValori.performance .titoloValuta").html(performance_split[0] + (performance_split[1]!=0?",<span class='decimali'>" + performance_split[1] + "</span>":"") + " %"); 
2302
2303    			     
2304    			    function postDrawProcessing(){ 
2305    			        console.log("postDrawHooks!"); 
2306    			        applyGradientOnPlot(); 
2307    			          
2308    			        var dataIniziale = new Date(gestioneGrafico.plotter.axes.xaxis.min); 
2309    			        var dataFinale = new Date(gestioneGrafico.plotter.axes.xaxis.max); 
2310    			          
2311    					aggiornaPerformance(dataIniziale, dataFinale); 
2312    			  
2313    			        var dataInizialeStr = jQuery.datepicker.formatDate('dd/mm/yy', dataIniziale) 
2314    			        var dataFinaleStr = jQuery.datepicker.formatDate('dd/mm/yy', dataFinale); 
2315     
2316    			        //aggiorno solo se diverso per evitare di far scattare onchange 
2317    			        //if (dataInizialeStr!=jQuery("#datepickerDa").val()) { 
2318    			        	console.log('aggiorno data iniziale da ' + jQuery("#datepickerDa").val() + ' a ' + dataInizialeStr); 
2319    			        	jQuery("#datepickerDa").datepicker("setDate", dataIniziale); 
2320    			        //} 
2321    			        //if (dataFinaleStr!=jQuery("#datepickerA").val()) { 
2322    			       		console.log('aggiorno data finale da ' + jQuery("#datepickerA").val() + ' a ' + dataFinaleStr); 
2323    						jQuery("#datepickerA").datepicker("setDate", dataFinale); 
2324    					//} 
2325    			          
2326    			        updateAndamentoLabel(); 
2327
2328    			      
2329    			    function isNumber(n) { 
2330    			      return !isNaN(parseFloat(n)) && isFinite(n); 
2331
2332    			     
2333    			    jQuery(document).ready(function() { 
2334    			    	 
2335    			    	//window.primavolta = true; 
2336    			    
2337    			        jQuery.jsDate.regional['it-IT'] = { 
2338    			            monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], 
2339    			            monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'], 
2340    			            dayNames: ['Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'], 
2341    			            dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], 
2342    			            formatString: '%d-%m-%Y %H:%M:%S' 
2343    			        }; 
2344    			        jQuery.jsDate.regional.getLocale(); 
2345    			    
2346    				Date.prototype.sameDay = function(d) { 
2347    					 
2348    							 
2349    				return (this.getFullYear() === d.getFullYear() 
2350    			    		&& this.getMonth() === d.getMonth() 
2351    						&& this.getDate() === d.getDate()); 
2352    				 
2353
2354    				 
2355    			        //Spostato qui perché voglio essere sicuro che gestioneGrafico sia inizializzato quando viene chiamato in questa funzione. 
2356    			        //window.gestioneGrafico garantisce che è una variabile globale! -RC 
2357    			    window.gestioneGrafico = { 
2358    			  
2359    			        //Gestione del pad manuale perché quando si impostano un minimo e un massimo per gli assi il pad è ignorato. -RC 
2360    			        pad: 1.1,  
2361    					 
2362    			           tuttiIdatiDelGrafico : function() {  
2363    			                 
2364    			               var tuttiIDati =[]; 
2365    			                  
2366    			               <#list _listaRendimenti as storicoBean> 
2367    			                   tuttiIDati.push([this.getADate('${storicoBean.getDataAggiornamentoStr()}'),'${storicoBean.getValoreFondoUno()}']); 
2368    			               </#list> 
2369    			                
2370    			                //ritorno una copia dell'array che contiene tutti i dati 
2371    			               return tuttiIDati.slice(); 
2372    			           }, 
2373    			           datiBenchmark : function(){ 
2374    				               var datiBenchmark = []; 
2375    		                   <#list _benchmarkFondoMap?keys as _benchmarkFondoKey> 
2376    		                       datiBenchmark.push([this.getADate('${_benchmarkFondoKey}'),'${_benchmarkFondoMap[_benchmarkFondoKey]}']); 
2377    		                   </#list> 
2378    		                   return datiBenchmark.slice(); 
2379    			           }, 
2380    			           getADate: function (dataStr) 
2381
2382    			               //console.log("getADate dataStr" + dataStr); 
2383    			               if (dataStr == null) 
2384    			                   return; 
2385    			                var partiData = dataStr.split("/"); 
2386    			                var day = partiData[0]; 
2387    			                var month = partiData[1] - 1; 
2388    			                var year = partiData[2]; 
2389    			                //console.log("year " + year + " month" + month + " day " + day) 
2390    			                var aDate = new Date(year, month, day, 0, 0, 0, 0); 
2391    			                return aDate; 
2392    			           }, 
2393    			            
2394    			           datiTraLeDate : function (dataDa, dataA){ 
2395    			               //console.log("datiTraLeDate dataDa " + dataDa + " dataA " + dataA); 
2396    			                
2397    			               var tuttiIdati = this.tuttiIdatiDelGrafico(); 
2398    			               //cerco l'elemento minimo superiore a dataDa  
2399    			               //cerco l'elemnto massimo inferiore a dataA 
2400    			               //l'array di dati originali è gia ordinato per data 
2401    			               var indiceDellaDataMinore = -1; 
2402    			               var indiceDellaDataMaggiore = -1; 
2403    			               var currDate; 
2404    			               //cerco la prima data subito superiore a dataDa 
2405    			               for (var i=0; i< tuttiIdati.length; i++) { 
2406    			                  currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
2407    			                  if((currDate.isAfter(dataDa)||(currDate.isSame(dataDa))) && (currDate.isBefore(dataA)||currDate.isSame(dataA))) { 
2408    			                      indiceDellaDataMinore = i; 
2409    			                     break; 
2410
2411    			               }   
2412    			                //cerco la prima data subito inveriore  a dataA 
2413    			               for (var i=tuttiIdati.length -1; i>=0; i--) { 
2414    			                  currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
2415    			                  if((currDate.isBefore(dataA)|| currDate.isSame(dataA)) && (currDate.isAfter(dataDa)||currDate.isSame(dataDa))) { 
2416    			                      indiceDellaDataMaggiore = i; 
2417    			                     break; 
2418
2419
2420    			               //a questo punto ho gli indici delle date minore e maggiore, taglio l'array 
2421    			               var nDiElementi  = indiceDellaDataMaggiore - indiceDellaDataMinore + 1; 
2422    			               console.log("nDiElementi" + nDiElementi); 
2423    			               var nuovoRange = tuttiIdati.splice(indiceDellaDataMinore,nDiElementi); 
2424    			               //se 0 risultati creo un array con dati [[dataIniziale, 0], [dataFinale, 0]] 
2425    			               if (nuovoRange.length == 0){ 
2426    			                   console.log("ritorno un range vuoto"); 
2427    			                   nuovoRange = [["{$_datiStorico.getDataInizialeString()}"][0],["{$_datiStorico.getDataFinaleString()}"][0]]; 
2428
2429    			               
2430    			               return nuovoRange; 
2431    			           }, 
2432    			           getAxisBounds: function(dati, pad, dataDa, dataA, datiBenchmark){ 
2433    			            var _pad = (pad==null||typeof pad == 'undefined')?0:pad; 
2434    			            var _dataDa = typeof dataDa == 'undefined'?null:dataDa; 
2435    			            var _dataA = typeof dataA == 'undefined'?null:dataA; 
2436    						var _datiBenchmark = typeof datiBenchmark == 'undefined'?null:datiBenchmark; 
2437    			            
2438    			            var minXVal = null; 
2439    			            var maxXVal = null; 
2440    			            //Vogliamo che Y parta da 0 o dal minimo valore minore di 0 
2441    			            var minYVal = null; 
2442    			            var maxYVal = null; 
2443    			            
2444    			            for(var i=0; i<dati.length; i++){ 
2445    							var valY = parseFloat(dati[i][1]); 
2446    							if(_dataDa==null&&(minXVal==null||dati[i][0]<minXVal)){ 
2447    							minXVal = dati[i][0]; 
2448
2449    							if(_dataA==null&&(maxXVal==null||dati[i][0]>maxXVal)){ 
2450    							maxXVal = dati[i][0]; 
2451
2452    							if(minYVal==null||valY<minYVal){ 
2453    							minYVal = valY; 
2454
2455    							if(maxYVal==null||valY>maxYVal){ 
2456    							maxYVal = valY; 
2457
2458
2459    						 
2460    						if(_datiBenchmark != null){ 
2461    							for(var l=0; l<_datiBenchmark.length; l++){ 
2462    								var valY = parseFloat(_datiBenchmark[l][1]); 
2463    								if(minYVal==null||valY<minYVal){ 
2464    								minYVal = valY; 
2465
2466    								if(maxYVal==null||valY>maxYVal){ 
2467    								maxYVal = valY; 
2468
2469
2470
2471    			            
2472    			            if(dataDa!=null){ 
2473    			            minXVal = dataDa; 
2474
2475    			            if(dataA!=null){ 
2476    			            maxXVal = dataA; 
2477
2478    			            
2479    			            var padX = 0; 
2480    			            var padY = 0; 
2481    			            if(dati.length>1){ 
2482    			            padX = ((maxXVal - minXVal)*(pad-1))/2; 
2483    			//             padY = minYVal>0?((maxYVal - 0)*(pad-1))/2:((maxYVal - minYVal)*(pad-1))/2; 
2484    			            padY = ((maxYVal - minYVal)*(pad-1))/2; 
2485    			            }else{ 
2486    			            padX = 86401000; 
2487    			            padY = maxYVal*(pad-1); 
2488
2489    			            
2490    			            if(padY<0){ 
2491    			            padY=-padY; 
2492    			            }else if(padY==0){ 
2493    			            padY=2; 
2494
2495    			            
2496    			            var bounds = { 
2497    			            minX: dati.length>1?new Date(minXVal.getTime()):new Date(minXVal.getTime()-padX), 
2498    			            maxX: dati.length>1?new Date(maxXVal.getTime()):new Date(maxXVal.getTime()+2*padX), 
2499    			//             minY: minYVal>0?0:minYVal-padY, 
2500    			            minY: (minYVal-padY), 
2501    			            maxY: maxYVal+padY 
2502
2503    			            
2504    			            return bounds; 
2505    			           }, 
2506    			            zoomHandler: function() { 
2507    			              var c = this.plugins.cursor; 
2508    			              console.log(c); 
2509    			            }, 
2510    			            
2511    			           plotter: null, 
2512    					visualizzaGrafico : function (dati, dataDa, dataA){ 
2513    						var seriesToPlot; 
2514    						var datiBenchmarkFiltered = []; 
2515    						try{ 
2516    							if (typeof dataDa === 'undefined') dataDa = new Date(gestore.plotter.axes.xaxis.min); 
2517    							if (typeof dataA === 'undefined') dataA = new Date(gestore.plotter.axes.xaxis.max); 
2518    						}catch(e){ 
2519    							//console.log(e); 
2520
2521    						var minDate = jQuery("#datepickerDa").datepicker('getDate'),//.datepicker('option', 'minDate'), 
2522    							maxDate = jQuery("#datepickerA").datepicker('getDate'),//.datepicker('option', 'maxDate'), 
2523    							datiFondo = window.gestioneGrafico.tuttiIdatiDelGrafico().slice(), 
2524    							benchmarkSerie = window.gestioneGrafico.datiBenchmark().slice(); 
2525    						datiFondo.sort(function(a,b){ 
2526    								return a[0] - b[0]; 
2527    							}); 
2528    						 
2529    						var datiBenchmarkRebased = []; 
2530    						var minFondo = null;	 
2531     
2532    						for (var i = 0; i < datiFondo.length; i++){						 
2533    							if (!isNaN(datiFondo[i][0])){ 
2534    								datiFondo[i][0] = new Date(datiFondo[i][0]); 
2535
2536
2537    						 
2538    						for (var i = 0; i < datiFondo.length; i++){						 
2539    							if (datiFondo[i][0].sameDay(minDate)){ 
2540    								minFondo = datiFondo[i]; 
2541    								break; 
2542
2543
2544    						for (var i = 0; i < datiFondo.length; i++){						 
2545    							if (datiFondo[i][0] >= minDate){ 
2546    								minFondo = datiFondo[i]; 
2547    								break; 
2548
2549
2550    						if (minFondo == null) minFondo = datiFondo[0]; 
2551    						 
2552    						var maxFondo = null; 
2553    						 
2554    						for (var i = 0; i < datiFondo.length; i++){						 
2555    							if (datiFondo[i][0].sameDay(maxDate)){ 
2556    								maxFondo = datiFondo[i]; 
2557    								break; 
2558
2559
2560    						 
2561    						if(maxFondo == null){ 
2562    							for (var i = 0; i < datiFondo.length; i++){						 
2563    								if (datiFondo[i][0] > maxDate){ 
2564    									maxFondo = datiFondo[i]; 
2565    									break; 
2566
2567
2568
2569    						var datiFiltrati=[]; 
2570    						for(var i = 0; i < dati.length; i++){ 
2571    							if (window.gestioneGrafico.checkData(dati[i][0], minFondo[0], maxFondo[0], datiFondo)){ 
2572    								datiFiltrati.push(dati[i]); 
2573
2574
2575    						seriesToPlot = [datiFiltrati]; 
2576    						if (window.gestioneGrafico.datiBenchmark().length > 0 ){ 
2577    								console.log("maxFondo[0] "+ maxFondo[0]); 
2578    								for(var i = 0; i < benchmarkSerie.length; i++){ 
2579    									if (window.gestioneGrafico.checkData(benchmarkSerie[i][0], minFondo[0], maxFondo[0], datiFondo)){ 
2580    										datiBenchmarkFiltered.push(benchmarkSerie[i]); 
2581
2582
2583    								//dati ordinati per data 
2584    								datiBenchmarkFiltered.sort(function(a,b){ 
2585    										return a[0] - b[0]; 
2586    									}); 
2587    									 
2588    								datiFiltrati.sort(function(a,b){ 
2589    										return a[0] - b[0]; 
2590    									}); 
2591    								 
2592    								if (datiBenchmarkFiltered.length > 1){ 
2593    									 
2594    									for(var i=0;i<datiBenchmarkFiltered.length; i++){ 
2595    										 
2596    											if(datiBenchmarkFiltered[i][0].getTime() === minFondo[0].getTime() && (datiBenchmarkRebased == null || datiBenchmarkRebased.length == 0 )){ 
2597    												 
2598    												var rebased = datiBenchmarkFiltered[i].slice(); 
2599    												rebased[0] = rebased[0]; 
2600    												rebased[1] = minFondo[1];																		 
2601    												 
2602    												datiBenchmarkRebased.push(rebased); 
2603    												 
2604    											}else{ 
2605    												 
2606													if(i<1){ 
2607														var benchValue = datiBenchmarkFiltered[i][1]; 
2608													}else{ 
2609														var benchValue = ((datiBenchmarkFiltered[i][1]/datiBenchmarkFiltered[i-1][1])*datiBenchmarkRebased[i-1][1]).toFixed(5); 
2610
2611    												 
2612    												var rebased = datiBenchmarkFiltered[i].slice(); 
2613    												 
2614    												rebased[0] = rebased[0]; 
2615    												rebased[1] = benchValue;	 
2616    												datiBenchmarkRebased.push(rebased); 
2617
2618
2619
2620    								seriesToPlot.push(datiBenchmarkRebased); 
2621
2622    						var singlePoint = dati.length==1; 
2623    			                var bounds = this.getAxisBounds(dati, this.pad, dataDa, dataA, datiBenchmarkRebased); 
2624								var logaritmica = logaritmica; 
2625    			                console.log("Axis Bounds: " + bounds); 
2626    			                   if(this.plotter != null) 
2627    			                       this.plotter.destroy(); 
2628    			                   if(singlePoint){ 
2629    			                    dati.push(dati[0]); 
2630
2631    			                   this.plotter = jQuery.jqplot('chartdiv',  seriesToPlot,  
2632    			                       {  
2633    			                           title:{ 
2634    			                               text: '', 
2635    			                               show: false 
2636    			                           }, 
2637    			                           axesDefaults: { 
2638    			                           }, 
2639    			                           cursor:{ 
2640    			                                 show: true, 
2641    			                                 showTooltip: false, 
2642    			                                 zoom: false, 
2643    			                                 constrainZoomTo: 'x' 
2644    			                               }, 
2645    			                           seriesDefaults: { 
2646    			                                
2647    			                                color: '#fba881',      // CSS color spec to use for the line.  Determined automatically. 
2648    			                                showMarker: singlePoint,   // render the data point markers or not. 
2649    			                                fill: true,        // fill under the line, 
2650    			                                fillAndStroke: singlePoint,       // *stroke a line at top of fill area. 
2651    			                                fillColor: '#fba881', 
2652    			                                fillAlpha: 0.001,      // *custom alpha to apply to fillColor. 
2653    			                                shadow: false   // show shadow or not. 
2654    			                                 
2655    			                            }, 
2656    			                           axes:{ 
2657    			                               xaxis:  { 
2658    			                                   renderer:jQuery.jqplot.DateAxisRenderer, 
2659    			                                   min: bounds.minX, 
2660    			                                   max: bounds.maxX, 
2661    			                                   //min:minimo, 
2662    			                                   //max:maximo, 
2663    			                                   tickOptions: {formatString: '%d/%m/%Y'} 
2664    			                               }, 
2665    			                               yaxis: { 
2666    										    renderer:logaritmica==true?jQuery.jqplot.LogAxisRenderer:jQuery.jqplot.LinearAxisRenderer, 
2667    			                                min: bounds.minY, 
2668    			                                max: bounds.maxY, 
2669    			                                tickOptions: {formatString: '%#.3f' +  (divisaSimboloMap['${valutaFondoUno}']!=null?" " + divisaSimboloMap['${valutaFondoUno}']:" " + '${valutaFondoUno}') } 
2670
2671    			                           }, 
2672    			                           series:[{ 
2673    			                               lineWidth:2,  
2674    			                               markerOptions: 
2675
2676    			                                    style:'circle' 
2677
2678    			                                },{ 
2679    			                                lineWidth: 1,  
2680    			                                markerOptions: 
2681
2682    			                                    style:'circle' 
2683    			                                   }, 
2684    		    	                                color: '#0a4379',      // CSS color spec to use for the line.  Determined automatically. 
2685    												linePattern: 'dashed', 
2686    												lineWidth: 0.5, 
2687    		    	                                showMarker: singlePoint,   // render the data point markers or not. 
2688    		    	                                fill: false, 
2689    		    	                                shadow: false, 
2690    		    	                                rendererOptions: { 
2691    		    	                                    smooth: true 
2692
2693    			                                }], 
2694    			                            highlighter: { 
2695    			                                   show: true, 
2696    			                                   sizeAdjust: 7.5, 
2697    											   formatString: "%s - %#.3f"  
2698    			                                 }, 
2699    			                                 grid: { 
2700    			                                     drawGridLines: true,        // wether to draw lines across the grid or not. 
2701    			                                     gridLineColor: '#f0f1f6',    // *Color of the grid lines. 
2702    			                                     background: '#fff',      // CSS color spec for background color of grid. 
2703    			                                     borderColor: '#f0f1f6',     // CSS color spec for border around grid. 
2704    			                                     borderWidth: 1.0,           // pixel width of border around grid. 
2705    			                                     shadow: false,               // draw a shadow for grid. 
2706
2707    			                       }); 
2708    								    
2709    								    
2710    			               }, 
2711     
2712    				checkData: function(data, dStart, dEnd, datiFondo){ 
2713    						   		var dStart = typeof dStart == 'undefined'?null:dStart; 
2714    							    var dEnd = typeof dEnd == 'undefined'?null:dEnd;	            
2715    						   		 
2716    						   		if (dStart == null || dEnd == null){ 
2717    										for(var i=0; i<datiFondo.length; i++){ 
2718    										if(dStart == null || datiFondo[i][0] < dStart){ 
2719    											dStart = datiFondo[i][0]; 
2720
2721    										if(dEnd == null || datiFondo[i][0] > dEnd){ 
2722    											dEnd = datiFondo[i][0]; 
2723
2724
2725    					    	        }       		 
2726    							     if (data >= dStart && data <= dEnd){ 
2727    							    	return true; 
2728    							    }  
2729    						   		return false; 
2730
2731
2732    			        <#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))> 
2733							 
2734    						<#if _listaRendimenti?size gt 0> 
2735    						 
2736    							jQuery.jqplot.sprintf.thousandsSeparator = ''; 
2737    							jQuery.jqplot.sprintf.decimalMark = ','; 
2738    							var gestore = gestioneGrafico; 
2739    							var datiDaVisualizzare = gestore.tuttiIdatiDelGrafico(); 
2740    							var bounds = gestioneGrafico.getAxisBounds(datiDaVisualizzare,this.pad); 
2741    							console.log('LIMITS'); 
2742    							console.log(bounds); 
2743    							// inizializzo i date picker con gli estremi delle date disponibili in base ai dati ricevuti 
2744    							jQuery("#datepickerDa").datepicker({ 
2745    								//showOtherMonths: false, 
2746    								//selectOtherMonths: false, 
2747    								changeMonth : true, 
2748    								changeYear : true, 
2749    								dateFormat : "dd/mm/yy", 
2750    								defaultDate : bounds.minX, 
2751    								minDate : bounds.minX, 
2752    								maxDate : bounds.maxX, 
2753    								onSelect : function() { 
2754    									jQuery("#datepickerA").datepicker('option', { 
2755    										minDate : jQuery(this).datepicker('getDate') 
2756    									}); 
2757    									updateGraphDatesFromDatePickers(); 
2758    									//updateDatePickers(); 
2759    								}, 
2760    							}, jQuery.datepicker.regional['it']); 
2761    							jQuery("#datepickerDa").datepicker("setDate", bounds.minX); 
2762    						     
2763    							jQuery("#datepickerA").datepicker({ 
2764    								changeMonth : true, 
2765    								changeYear : true, 
2766    								dateFormat : "dd/mm/yy", 
2767    								defaultDate : bounds.maxX, 
2768    								minDate : bounds.minX, 
2769    								maxDate : bounds.maxX, 
2770    								onSelect : function() { 
2771    									jQuery("#datepickerDa").datepicker('option', { 
2772    										maxDate : jQuery(this).datepicker('getDate') 
2773    									}); 
2774    									updateGraphDatesFromDatePickers(); 
2775    								}, 
2776    								beforeShow : function(input, inst) { 
2777    									inst.dpDiv.css({marginLeft: -input.offsetWidth + 'px'}); 
2778
2779    							}, jQuery.datepicker.regional['it']); 
2780    							jQuery("#datepickerA").datepicker("setDate",bounds.maxX); 
2781    							function updateGraphDatesFromDatePickers() { 
2782    								var dataDaStr = jQuery("#datepickerDa").val(); 
2783    								var dataAStr = jQuery("#datepickerA").val(); 
2784    								console.log("date cambiate: da " + dataDaStr + " a " + dataAStr); 
2785    								// Se date nulle usa gli estremi 
2786    								if (dataDaStr == '') 
2787    								{	 
2788    									dataDaStr = gestore.getADate("${_datiStorico.getDataInizialeString()}"); 
2789    									jQuery("#datepickerDa").val(dataDaStr); 
2790
2791    								if (dataAStr == '') 
2792
2793    									dataAStr = gestore.getADate("${_datiStorico.getDataFinaleString()}"); 
2794    									jQuery("#datepickerA").val(dataAStr); 
2795
2796    								var dataDa = gestore.getADate(dataDaStr); 
2797    								var dataA = gestore.getADate(dataAStr); 
2798    								// se la data è maggiore di data a non fare nulla 
2799    								if (dataDa >= dataA) 
2800    									return; 
2801     
2802    								gestore.plotter.axes.xaxis.min = dataDa; 
2803    								gestore.plotter.axes.xaxis.max = dataA; 
2804     
2805    								var interval = (dataA.getTime() - dataDa.getTime()) / 5; 
2806    								var ticks = []; 
2807    								var currTick = dataDa.getTime(); 
2808    								ticks.push(currTick); 
2809    								for (var i = 0; i < 5; i++) { 
2810    									currTick += interval; 
2811    									ticks.push(currTick); 
2812
2813     
2814    								gestore.plotter.axes.xaxis.ticks = ticks; 
2815    								//gestore.plotter.replot(); 
2816    								var datiDaVisualizzare = window.gestioneGrafico.tuttiIdatiDelGrafico(); 
2817    								window.gestioneGrafico.visualizzaGrafico(datiDaVisualizzare);	 
2818     
2819    								// Necessario per riabilitare zoom 
2820    								gestore.plotter.axes.xaxis.ticks = []; 
2821    							}; 
2822    			                if (Liferay.Browser.isIe() && Liferay.Browser.getVersion() < 9) 
2823
2824    								// carica script che emula il canvas poiché ie < 9 non lo supoporta 
2825    								var exCanvasScriptUrl = "${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/excanvas/excanvas.min.js"; 
2826    								jQuery.getScript(exCanvasScriptUrl, function(data, textStatus, jqxhr) { 
2827    									gestore.visualizzaGrafico(datiDaVisualizzare); 
2828    									 
2829    									applyGradientOnPlot(); 
2830    									jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
2831    									updateAndamentoLabel(); 
2832    								}); 
2833
2834    							else 
2835
2836    								gestore.visualizzaGrafico(datiDaVisualizzare); 
2837    								applyGradientOnPlot(); 
2838    								jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
2839    								updateAndamentoLabel(); 
2840
2841    			                updateDatePickers(); 
2842    							updateGraphDatesFromDatePickers(); 
2843    							aggiornaPerformance(datiDaVisualizzare[0][0], datiDaVisualizzare[datiDaVisualizzare.length - 1][0]); 
2844    							jQuery( ".datePicker" ).change(updateGraphDatesFromDatePickers); 
2845								$('#datepickerDa').focus(function(){ 
2846									$('#datepickerDa').datepicker('show'); 
2847								}); 
2848 
2849								jQuery('#datepickerDa').click(function(){ 
2850									jQuery('#datepickerDa').datepicker('show'); 
2851								}); 
2852								jQuery('#datepickerA').focus(function(){ 
2853									jQuery('#datepickerA').datepicker('show'); 
2854								}); 
2855 
2856								jQuery('#datepickerA').click(function(){ 
2857									jQuery('#datepickerA').datepicker('show'); 
2858								}); 
2859    						</#if> 
2860    			        </#if> 
2861    			    }); 
2862    			</script> 
2863		     
2864		         
2865		</div> 
2866 
2867    </#if>  <#-- Fine Fondo_In_valuta #IF --> 
2868 
2869<#else> 
2870 
2871    <div class="template_rendimenti_e_quotazioni"> 
2872    	 
2873    	<#assign localeIT = localeUtil.fromLanguageId("it")> 
2874    	<#assign currentGroup = groupLocalService.getGroup(groupId)> 
2875    	<#assign checkDisplayDate = !currentGroup.isStagingGroup()> 
2876    	<#assign user = "">	 
2877    	 
2878    	<#if request?has_content && request.getRemoteUser()?has_content && request.getRemoteUser()!=""> 
2879    		<#assign user = userLocalService.getUserById(getterUtil.getLong(request.getRemoteUser()))> 
2880    	<#else> 
2881    		<#assign user = userLocalService.getDefaultUser(getterUtil.getLong(companyId))> 
2882    	</#if> 
2883    	 
2884    	<#assign current_url = request.getAttribute("CURRENT_URL")> 
2885    	<#assign catIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "catId", false))> 
2886    	<#assign catId = getterUtil.getLong(catIdStr)> 
2887    	<!-- catIdStr - catId --> 
2888    	<#assign subcatIdStr = httpUtil.decodeURL(httpUtil.getParameter(current_url, "subcatId", false))> 
2889    	<#assign subcatId = getterUtil.getLong(subcatIdStr)> 
2890    	<!-- subcatIdStr - subcatId --> 
2891    	<#assign categoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "categoria", false))> 
2892    	<!-- categoria --> 
2893    	<#assign sottoCategoria = httpUtil.decodeURL(httpUtil.getParameter(current_url, "sottocategoria", false))> 
2894    	<!-- $sottoCategoria --> 
2895    	 
2896    	<!-- Take layout id --> 
2897    	<#assign currentLayoutId = themeDisplay.getPlid()> 
2898    	<#assign currentLayout = layoutLocalService.getLayout(currentLayoutId)> 
2899    	 
2900    	<!-- parent layoutId --> 
2901    	<#assign currentLayoutParentPlid = currentLayout.getParentPlid()> 
2902    	<#assign currentLayoutParent = layoutLocalService.getLayout(currentLayoutParentPlid?number)> 
2903    	<#assign catKey = 0> 
2904		<#if validator.isNotNull(catId) && catId!=0> 
2905			<#assign catKey = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "chiave").getValue()> 
2906		</#if> 
2907		 
2908    	<#if validator.isNotNull(catKey)> 
2909    		<#assign catKey = assetCategoryLocalService.getAssetCategory(catId).getName()> 
2910    	</#if> 
2911		 
2912    	<#if validator.isNotNull(catId) && catId!=0> 
2913			<#assign catColor = assetCategoryPropertyLocalService.fetchCategoryProperty(catId, "colore").getValue()> 
2914    	</#if> 
2915		 
2916    	<#assign isOICR = false> 
2917    	 
2918    	 
2919    	<!-- pretitolo --> 
2920    	<#if getterUtil.getBoolean(visualizza_label_gestione_separata_associata.getData()) || catKey?lower_case == "rivalutabili"> 
2921    		<#assign pre_titolo_rendimento = "Gestione Separata"> 
2922    	<#elseif categoria?lower_case == "index linked"> 
2923    		<#assign pre_titolo_rendimento = "Indice"> 
2924    	<#elseif categoria?lower_case == "oicr"> 
2925    		<#assign pre_titolo_rendimento = "OICR"> 
2926    		<#assign isOICR = true> 
2927    	<#else> 
2928    		<#assign pre_titolo_rendimento = "Fondo"> 
2929    	</#if> 
2930    	 
2931    	<!-- valore dei fondi dal web content --> 
2932        <#assign valoreFondoUno =  confTool.getValoreFondoFromStr(valore_1.getData(), locale)> 
2933        <#assign valoreFondoDue =  confTool.getValoreFondoFromStr(valore_2.getData(), locale)> 
2934    	 
2935    	<#if getterUtil.getBoolean(usa_valori_da_fondo.getData())>  
2936		 
2937    	    <#assign usaFondo = true> 
2938    	     
2939    	    <!-- titolo --> 
2940        	<#assign titolo_rendimento = Titolo_rendimento.getData()> 
2941    	     
2942    	    <#if titolo_rendimento==""> 
2943    	        <#assign titolo_rendimento = Titolo_rendimento.getData()> 
2944    	    </#if> 
2945    	     
2946    	    <!-- valore e valuta dai fondi dal db --> 
2947    	    <#if validator.isNotNull(valoreFondoUno)> 
2948			 
2949    	        <#if validator.isNull(valoreFondoDue) || valoreFondoDue == "0" || valoreFondoDue == "0,000"> 
2950    	            <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)> 
2951    	            <#assign valoreFondoDue = "">	 
2952    	        <#else> 
2953    	            <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(), locale)> 
2954    	            <#assign valoreFondoDue =  confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(), locale)>	 
2955    	        </#if> 
2956    	    <#else> 
2957    	        <#assign valoreFondoUno =  confTool.getValoreFondoUnoFromDbLocale(id_fondo.getData(),locale)> 
2958    	        <#assign valoreFondoDue =  confTool.getValoreFondoDueFromDbLocale(id_fondo.getData(),locale)>	 
2959    	    </#if> 
2960    	     
2961    	    <#if valoreFondoDue=="0" || valoreFondoDue == "0,000"> 
2962    	        <#assign valoreFondoDue = ""> 
2963    	    </#if> 
2964    	     
2965    	    <#assign valutaFondoUno =  confTool.getValutaFondoUnoFromDb(id_fondo.getData())> 
2966    	    <#assign valutaFondoDue =  confTool.getValutaFondoDueFromDb(id_fondo.getData())> 
2967    	     
2968    	    <!-- data aggiornamento valore --> 
2969    	    <#assign dataAggiornamentoValore = confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)> 
2970    	     
2971    	    <!-- rating --> 
2972    	    <#assign ratings = confTool.getRatingsFromDb(id_fondo.getData())> 
2973    	 
2974    	<#else> 
2975		 
2976            <#assign usaFondo = false>  
2977    			             
2978    	    <!-- titolo --> 
2979    	    <#assign titolo_rendimento = Titolo_rendimento.getData()> 
2980    	 
2981    	    <!-- valuta dei fondi dal web content --> 
2982    	    <#assign valutaFondoUno =  valuta1.getData()> 
2983    	    <#assign valutaFondoDue =  valuta_2.getData()> 
2984    	     
2985    	    <!--  data aggiornamento valori --> 
2986			<#assign aggiornato_al_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(aggiornato_al.getData()), localeIT)> 
2987			<#assign dataAggiornamentoValore = dateUtil.getDate(aggiornato_al_DateObj, "dd MMM yyyy", localeIT)> 
2988    	     
2989    	    <!-- rating --> 
2990    	    <#assign ratings = Rating.getData()> 
2991    	     
2992    	</#if> 
2993    	         
2994        <!-- PRIMO BLOCCO --> 
2995        <#assign breadCrumb = confTool.getBreadcrumb(themeDisplay.getLayout(),themeDisplay) > 
2996		<#assign titolo_da_visualizzare = titolo_rendimento> 
2997        <div class="boxesDettaglio togliMargin"> 
2998            <div> 
2999                <div class="supTitle capitalize">${pre_titolo_rendimento}</div> 
3000    			<h1 class="titoloRendimento">${titolo_da_visualizzare}</h1> 
3001                 
3002                <#if Notifica_alert?? && Notifica_alert.getData() != ""> 
3003    						    	 
3004    		    	<div class="descrizioni notifica_alert">${Notifica_alert.getData()}</div> 
3005    		    	 
3006    		    	<#assign testoFascetta = confTool.getRendimentoParsed(article, themeDisplay.getLanguageId()).getTestoFascetta(article, themeDisplay.getLanguageId(), catId, subcatId)> 
3007    		    	<#if validator.isNotNull(testoFascetta)> 
3008    		    		<div class="fascetta_rendimento ${catColor}">${testoFascetta}</div> 
3009    		    	</#if> 
3010    		    	 
3011    		    </#if> 
3012                 
3013                <#assign strippedHtmlDescrizione = confTool.stripHTML(Descrizione_rendimento_e_quotazione.getData())?trim> 
3014                <#if validator.isNotNull(titolo_rendimento) && strippedHtmlDescrizione?lower_case != titolo_rendimento?trim?lower_case> 
3015                    <div class="descrizioni">${Descrizione_rendimento_e_quotazione.getData()}</div> 
3016                </#if> 
3017            </div> 
3018     
3019            <!-- blocco valore corrente valore protetto --> 
3020            <script type="text/javascript"> 
3021                 
3022            var divisaSimboloMap = { 
3023            'EUR': '&#8364;', 
3024            'USD': '$', 
3025            '':'', 
3026            '%':'%' 
3027            }; 
3028             
3029                jQuery(document).ready(function(){ 
3030                    var listaValuta=jQuery(".titoloValuta"); 
3031                    if (listaValuta!=null){ 
3032                        for (var i=0;i<listaValuta.length;i++){ 
3033                            if (listaValuta.get(i).innerHTML.indexOf(',')!=-1){ 
3034                                //                                 var index=listaValuta.get(i).outerHTML.indexOf(','); 
3035                                //                                 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); 
3036                                //                                 listaValuta.get(i).outerHTML = html; 
3037                                var listaValuta_split = listaValuta.get(i).innerHTML.split(','); 
3038                                var parteIntera = listaValuta_split[0]; 
3039                                if(listaValuta_split[1].indexOf(" ")){ 
3040                                    var listaValuta1_split = listaValuta_split[1].split(" "); 
3041                                    var parteDecimale = listaValuta1_split[0]; 
3042                                    var parteValuta = listaValuta1_split[1]; 
3043                                }else{ 
3044                                    var parteDecimale = listaValuta_split[1]; 
3045                                    var parteValuta = ""; 
3046
3047                                  
3048                                var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
3049                                console.log(parteValutaMap + "-" + parteValuta +" nicola" ); 
3050    							console.log (parteIntera + " parteIntera"); 
3051    							console.log (parteIntera + " parteIntera"); 
3052    							 
3053                                                                var html = parteIntera + ",<span class='decimali'>" + parteDecimale + "</span>" + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
3054                                listaValuta.get(i).innerHTML = html; 
3055                            }else{ 
3056                            console.log(listaValuta.get(i).innerHTML); 
3057                                if(listaValuta.get(i).innerHTML.indexOf(" ")!=-1){ 
3058                                var listaValuta_split = listaValuta.get(i).innerHTML.split(" "); 
3059                                var parteIntera = listaValuta_split[0]; 
3060                                var parteValuta = listaValuta_split[1]; 
3061                                    var parteValutaMap = (parteValuta!=""?" " + divisaSimboloMap[parteValuta]:""); 
3062                                    console.log(parteValutaMap + "-" + parteValuta ); 
3063                                var html = parteIntera + " " + (parteValutaMap!=" undefined"? parteValutaMap:parteValuta); 
3064                                        listaValuta.get(i).innerHTML = html; 
3065
3066
3067
3068
3069                }); 
3070            </script> 
3071			 
3072            <#if valoreFondoDue == "" > 
3073                <!-- blocco a singola colonna 3--> 
3074                 
3075                <div class="bloccoValori" > 
3076                    <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
3077                    <div class="bloccoValuta"> 
3078                        <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
3079                        <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
3080                    </div> 
3081                </div> 
3082             
3083            <#else> 
3084             
3085                <!-- blocco a doppia colonna --> 
3086                <div class="valoriDoppioWrapper"> 
3087                    <div class="bloccoValori doppio first" > 
3088                        <h4 class="titoloValori">${Label_valore_corrente.getData()}</h4> 
3089                        <div class="bloccoValuta"> 
3090                            <h3 class="titoloValuta">${valoreFondoUno} ${valutaFondoUno}</h3> 
3091                            <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
3092                        </div> 
3093                    </div> 
3094                    <div class="bloccoValori doppio" > 
3095                        <h4 class="titoloValori">${Label_valore_protetto.getData()} 
3096    						<#if valore_1_min_garantito.getData()!=""> 
3097
3098    						</#if> 
3099    					</h4> 
3100                        <div class="bloccoValuta"> 
3101                            <h3 class="titoloValuta">${valoreFondoDue} ${valutaFondoDue}</h3> 
3102                            <h6 class="dataValuta">Aggiornato al ${dataAggiornamentoValore}</h6> 
3103                        </div> 
3104                    </div> 
3105                </div> 
3106                <#if validator.isNotNull(valore_1_min_garantito.getData())> 
3107                    <div class="caption"> 
3108    					*&nbsp;${valore_1_min_garantito.getData()} 
3109    				</div> 
3110    			</#if> 
3111            </#if> 
3112                 
3113            <div class="reset"> 
3114            	<#if isOICR && validator.isNotNull(Societa_di_gestione.getData())> 
3115            		<#assign labelSocietaGestione = "Societ&agrave; di gestione"> 
3116            		<#if validator.isNotNull(Label_societa_di_gestione.getData())> 
3117            			<#assign labelSocietaGestione = Label_societa_di_gestione.getData()> 
3118            		</#if> 
3119            		<div class="gestione"> 
3120            			<h6 class="">${labelSocietaGestione}: <strong>&nbsp;${Societa_di_gestione.getData()}</strong></h6> 
3121            		</div>	                		 
3122            	</#if> 
3123            	 
3124                <#if Istituto_emittente.getData() != ""> 
3125                    <h5 class="titolo">${Label_obbligazione_strutturata.getData()}</h5> 
3126                    <div class="istituto"> 
3127                        <h6 class="">${Label_istituto_emittente.getData()}: <strong>${Istituto_emittente.getData()}</strong></h6> 
3128                        <h6 class="">${Label_rating.getData()}: <strong>${Rating.getData()}</strong></h6> 
3129                    </div> 
3130                </#if> 
3131     
3132    			<#assign Data_scadenza_to_show = ''> 
3133                <#if validator.isNotNull(Data_scadenza.getData())> 
3134					<#assign Data_scadenza_DateObj = dateUtil.parseDate("yyyy-MM-dd", getterUtil.getString(Data_scadenza.getData()), localeIT)> 
3135    				<!-- 01/01/2100 --> 
3136    				<#if dateUtil.compareTo(Data_scadenza_DateObj, dateUtil.newDate(4102441200000)) lt 0 > 
3137    					<#assign Data_scadenza_to_show = 'Scadenza ' + dateUtil.getDate(Data_scadenza_DateObj, "dd/MM/yyyy", localeIT)> 
3138    				</#if> 
3139    			</#if> 
3140     
3141    			<#if validator.isNotNull(Data_scadenza_to_show)> 
3142    				<h6 class="scadenza nomobile"><strong>${Data_scadenza_to_show}</strong></h6> 
3143    			</#if> 
3144            </div> 
3145             
3146    		<!-- Da agganciare nel momento in cui caricano i contenuti derivati --> 
3147    		<div class="reset"> 
3148                <#if Istituto_emittente_derivata?? && Istituto_emittente_derivata.getData() != ""> 
3149                    <h5 class="titolo">${Label_obbligazione_derivata.getData()}</h5> 
3150                    <div class="istituto derivata"> 
3151                        <h6 class="">${Label_istituto_emittente_derivata.getData()}:<strong>${Istituto_emittente_derivata.getData()}</strong></h6> 
3152                        <h6 class="">${Label_rating_derivata.getData()}:<strong>${Rating_derivata.getData()}</strong></h6> 
3153                    </div> 
3154                </#if> 
3155                 
3156                <#if validator.isNotNull(Data_scadenza_to_show)> 
3157                    <h6 class="scadenza onlymobile"><strong>$Data_scadenza_to_show</strong></h6> 
3158    			</#if> 
3159     
3160            </div> 
3161                 
3162        </div> 
3163         
3164        <!-- FINE PRIMO BLOCCO --> 
3165    					 
3166    					         
3167    	<!-- SECONDO BLOCCO (GRAFICO STORICO) -->         
3168         
3169		<#assign _listaRendimenti = []> 
3170        <#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))> 
3171            <div class="boxesDettaglio storicGraph"> 
3172                <#assign _datiStorico = confTool.getDatiStorico(id_fondo.getData())> 
3173                <#assign _listaRendimenti = _datiStorico.getValoriRendimenti()> 
3174             
3175                <div class="reset"> 
3176                    <h5 class="titolo"> 
3177                        Andamento performance  
3178                        <small class="">Dati aggiornati al ${confTool.getDataAggiornamentoFondoFromDb(id_fondo.getData(),'dd MMM yyyy',localeIT)}</small> 
3179                    </h5> 
3180     
3181                <#if _listaRendimenti?size gt 0> 
3182                    <div class="graficoRendimento" > 
3183                        <div id="chartdiv"></div> 
3184                    </div> 
3185                    <div class="datePickers reset"> 
3186                        <p class="inizio"> 
3187                            <input type="text" class="datePicker" id="datepickerDa" value="${_datiStorico.getDataInizialeString()}" /> 
3188                        </p> 
3189                        <p class="fine"> 
3190                            <input type="text" class="datePicker" id="datepickerA" value="${_datiStorico.getDataFinaleString()}" /> 
3191                        </p> 
3192                    </div> 
3193                    <p class="reset">Visualizzazione andamento dal <span id="andamentoDa"></span> al <span id="andamentoA"></span></p> 
3194                    <p class="reset" style="font-style:italic"> 
3195                    	Attenzione: i valori passati non sono indicativi di quelli futuri. 
3196                    </p> 
3197                </#if> 
3198                </div> 
3199            </div>		     
3200        </#if> 
3201         
3202        <!-- FINE SECONDO BLOCCO --> 
3203    		     
3204        <!-- BLOCCO PROSPETTO --> 
3205        <#if !( 
3206            !Colonna_prospetto.getSiblings()?has_content ||  
3207            (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
3208            (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
3209            (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
3210            )))>  
3211             
3212            <div class="boxesDettaglio togliMargin"> 
3213                <div class="reset">            
3214                 
3215                    <h5 class="titolo prospetto">${label_prospetto.getData()}</h5> 
3216                    <p class="">${descrizione_prospetto.getData()}</p> 
3217                 
3218                </div> 
3219         
3220                <#if Colonna_prospetto.getSiblings()?has_content> 
3221                <div class="table"> 
3222                 
3223                    <div class="row theader"> 
3224                        <div class="cell"> 
3225                            <!-- prima colonnavuota --> 
3226                        </div> 
3227    		            <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto>  
3228    		                <div class="cell"> 
3229    		                    ${cur_Colonna_prospetto.getData()} 
3230    		                </div> 
3231    		            </#list> 
3232                    </div> 
3233         
3234                    <#if Tipo_generazione_righe_prospetto.getData()=="dinamico"> 
3235         
3236                        <#if Nome_Riga_Prospetto.getSiblings()?has_content> 
3237                            <#assign contatore_righe = 0> 
3238                             
3239                            <#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Riga_Prospetto> 
3240                                <div class="row"> 
3241                                    <div class="cell"> 
3242                                        <div class="">${cur_Nome_Riga_Prospetto.getData()}</div> 
3243                                    </div> 
3244         
3245                                    <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1>  
3246                                        <div class="cell"> 
3247                                            <#assign contatore_allegati = 0> 
3248                                            <#assign allegatoUrl = ''> 
3249                                             
3250                                            <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
3251                                             
3252                                                <#if contatore_allegati == contatore_righe> 
3253                                                    <#assign allegatoUrl = allegato.getData()> 
3254                                                </#if> 
3255                                                <#assign contatore_allegati = contatore_allegati + 1> 
3256                                            </#list> 
3257                                             
3258                                            <#assign dlFileVersion = ''> 
3259    										<#if validator.isNotNull(allegatoUrl)> 
3260    											<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3261    										</#if> 
3262    										<#if validator.isNotNull(dlFileVersion)> 
3263    	                                       	<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3264    	                                    <#else> 
3265    	                                    	<div>&mdash;</div> 
3266                                            </#if> 
3267                                        </div> 
3268                                    </#list>                         
3269                                </div> 
3270         
3271                                <#assign contatore_righe = contatore_righe + 1> 
3272                            </#list> 
3273                         
3274                        </div> 
3275         
3276                        </#if> 
3277                    </#if> 
3278                </#if> 
3279         
3280         
3281                <#if Tipo_generazione_righe_prospetto.getData()=="quadrimestrali"> 
3282                    <div class="row"> 
3283                        <div class="cell"> 
3284                            <div class="">Composizione al 31/03</div> 
3285                        </div> 
3286                         
3287                        <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto1> 
3288                            <div class="cell"> 
3289                                <#assign contatore_allegati = 0> 
3290                                <#assign allegatoUrl = ''> 
3291                                <#list cur_Colonna_prospetto1.Allegato_prospetto.getSiblings() as allegato> 
3292                                    <#if contatore_allegati == 0> 
3293                                        <#assign allegatoUrl = allegato.getData()> 
3294                                    </#if> 
3295                                    <#assign contatore_allegati = contatore_allegati + 1> 
3296                                </#list> 
3297                                 
3298                                <#assign dlFileVersion = ''> 
3299    							<#if validator.isNotNull(allegatoUrl)> 
3300    								<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3301    							</#if> 
3302    							<#if validator.isNotNull(dlFileVersion)> 
3303    	                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3304                                <#else>    
3305                                    <div>&mdash;</div> 
3306                                </#if> 
3307                            </div> 
3308                        </#list> 
3309                    </div> 
3310                     
3311                    <div class="row"> 
3312                        <div class="cell"> 
3313                            <div class="">Composizione al 30/06</div> 
3314                        </div> 
3315                         
3316                        <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto2> 
3317                            <div class="cell"> 
3318                                <#assign contatore_allegati = 0> 
3319                                <#assign allegatoUrl = ''> 
3320                                <#list cur_Colonna_prospetto2.Allegato_prospetto.getSiblings() as allegato> 
3321                                    <#if contatore_allegati == 1> 
3322                                        <#assign allegatoUrl = allegato.getData()> 
3323                                    </#if> 
3324                                    <#assign contatore_allegati = contatore_allegati + 1> 
3325                                </#list> 
3326                                 
3327                                <#assign dlFileVersion = ''> 
3328    							<#if validator.isNotNull(allegatoUrl)> 
3329    								<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3330    							</#if> 
3331    							<#if validator.isNotNull(dlFileVersion)> 
3332    	                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3333                                <#else>    
3334                                    <div>&mdash;</div> 
3335                                </#if> 
3336                            </div> 
3337                        </#list> 
3338                    </div> 
3339                     
3340                    <div class="row"> 
3341                        <div class="cell"> 
3342                            <div class="">Composizione al 30/09</div> 
3343                        </div> 
3344                         
3345                        <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto3> 
3346                            <div class="cell"> 
3347                                <#assign contatore_allegati = 0> 
3348                                <#assign allegatoUrl = ''> 
3349                                <#list cur_Colonna_prospetto3.Allegato_prospetto.getSiblings() as allegato> 
3350                                    <#if contatore_allegati == 2> 
3351                                        <#assign allegatoUrl = allegato.getData()> 
3352                                    </#if> 
3353                                    <#assign contatore_allegati = contatore_allegati + 1> 
3354                                </#list> 
3355                                 
3356                                <#assign dlFileVersion = ''> 
3357    							<#if validator.isNotNull(allegatoUrl)> 
3358    								<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3359    							</#if> 
3360    							<#if validator.isNotNull(dlFileVersion)> 
3361    	                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3362                                <#else>    
3363                                    <div>&mdash;</div> 
3364                                </#if> 
3365                            </div> 
3366                        </#list> 
3367                    </div> 
3368                     
3369                    <div class="row"> 
3370                        <div class="cell"> 
3371                            <div class="">Composizione al 31/12</div> 
3372                        </div> 
3373                         
3374                        <#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto4> 
3375                            <div class="cell"> 
3376                                <#assign contatore_allegati = 0> 
3377                                <#assign allegatoUrl = ''> 
3378                                <#list cur_Colonna_prospetto4.Allegato_prospetto.getSiblings() as allegato> 
3379                                    <#if contatore_allegati == 3> 
3380                                        <#assign allegatoUrl = allegato.getData()> 
3381                                    </#if> 
3382                                    <#assign contatore_allegati = contatore_allegati + 1> 
3383                                </#list> 
3384                                 
3385                                <#assign dlFileVersion = ''> 
3386    							<#if validator.isNotNull(allegatoUrl)> 
3387    								<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3388    							</#if> 
3389    							<#if validator.isNotNull(dlFileVersion)> 
3390    	                            <a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3391                                <#else>    
3392                                    <div>&mdash;</div> 
3393                                </#if> 
3394                            </div> 
3395                        </#list> 
3396                    </div> 
3397                </#if> 
3398            </div> 
3399        </#if> 
3400             
3401        <!-- INIZIO BLOCCO SMARTPHONE PROSPETTO --> 
3402        <#if !( 
3403    	    !Colonna_prospetto.getSiblings()?has_content ||  
3404    	    (Colonna_prospetto.getSiblings()?size==1 && Colonna_prospetto.getSiblings()[0].getData()=='' && 
3405    	    (!Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?has_content ||  
3406    	    (Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()?size == 1 && Colonna_prospetto.getSiblings()[0].Allegato_prospetto.getSiblings()[0].getData()=='') 
3407    	    )))>  
3408        	<div class="table_smart secondaTab prospetto" style="display:none"> 
3409        		<table> 
3410        			<tbody>                                
3411        				 
3412        				<#assign tipo_colonne_prospetto = Tipo_generazione_righe_prospetto.getData()> <!-- in realta per gli smart le righe sono colonne --> 
3413        				<#if tipo_colonne_prospetto == "dinamico">  
3414         
3415        					<tr class="intestazione_smart"> 
3416    							<td colspan="1">Anno</td>    
3417    							<#list Nome_Riga_Prospetto.getSiblings() as cur_Nome_Col_Prospetto> 
3418    								<td colspan="1">${cur_Nome_Col_Prospetto.getData()}</td> 
3419    							</#list> 
3420    						</tr> 
3421         
3422        					<#if Colonna_prospetto.getSiblings()?has_content> 
3423        						<#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
3424        							<#assign velocityCount = cur_Colonna_prospetto?index/> 
3425    						        <#if velocityCount % 2 == 0> 
3426    									<tr class="pari"> 
3427    								<#elseif velocityCount % 2 == 1> 
3428    									<tr class="dispari"> 
3429    								</#if> 
3430    								 
3431    								        <td>${cur_Colonna_prospetto.getData()}</td> 
3432    										<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato>  
3433    											<#assign allegatoUrl = ''>  
3434    											<td>                                        
3435    												<#assign allegatoUrl = allegato.getData()>  
3436    												<#assign dlFileVersion = ''> 
3437    												<#if validator.isNotNull(allegatoUrl)> 
3438    													<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3439    												</#if> 
3440    												<#if validator.isNotNull(dlFileVersion)> 
3441    													<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3442    												<#else>    
3443    													<div>&mdash;</div> 
3444    												</#if> 
3445    											</td> 
3446    										</#list> 
3447    									</tr> 
3448    						    </#list> 
3449    						</#if> 
3450         
3451        				<#elseif tipo_colonne_prospetto == "quadrimestrali"> 
3452         
3453        					<tr class="intestazione_smart"> 
3454        						<td colspan="1">Anno</td>    
3455        						<td colspan="1">31Mar</td> 
3456        						<td colspan="1">30Giu</td> 
3457        						<td colspan="1">30Set</td> 
3458        						<td colspan="1">31Dic</td> 
3459        					</tr> 
3460         
3461        					<#if Colonna_prospetto.getSiblings()?has_content> 
3462         
3463        						<#list Colonna_prospetto.getSiblings() as cur_Colonna_prospetto> 
3464        							<#assign velocityCount = cur_Colonna_prospetto?index/> 
3465    						        <#if velocityCount % 2 == 0> 
3466    									<tr class="pari"> 
3467    								<#elseif velocityCount % 2 == 1> 
3468    									<tr class="dispari"> 
3469    								</#if> 
3470    								 
3471    								        <td>${cur_Colonna_prospetto.getData()}</td> 
3472    												  
3473    										<#assign contatore_allegati = 0>                                        
3474    										<#list cur_Colonna_prospetto.Allegato_prospetto.getSiblings() as allegato> 
3475    											<#assign allegatoUrl = ''> 
3476    											 <td>    
3477    												<#assign allegatoUrl = allegato.getData()> 
3478    												<#assign dlFileVersion = ''> 
3479    												<#if validator.isNotNull(allegatoUrl)> 
3480    													<#assign dlFileVersion = confTool.getLatestDLFileVersion(allegatoUrl, checkDisplayDate)> 
3481    												</#if> 
3482    												<#if validator.isNotNull(dlFileVersion)>                                           
3483    													<a class="icona icon-file" href="${allegatoUrl}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3484    												<#else>    
3485    													<div>&mdash;</div> 
3486    												</#if> 
3487    											</td> 
3488    										</#list>                                     
3489    									</tr> 
3490    						    </#list> 
3491    	                    </#if> 
3492        				</#if> 
3493        			</tbody> 
3494        		</table> 
3495        	</div> 
3496        </#if> 
3497    		     
3498        <!-- FINE BLOCCO SMARTPHONE PROSPETTO --> 
3499         
3500        <!-- BLOCCO INDICI --> 
3501         
3502        <#if !( 
3503            (!Indici_titolo_alto?has_content || Indici_titolo_alto.getData()=='') &&  
3504            (!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='') &&  
3505            (!Label_titolo_tabella_valore_iniziale_indici?has_content || Label_titolo_tabella_valore_iniziale_indici.getData()=='') &&  
3506            (!Label_titolo_tabella_prestazioni_annuali?has_content || Label_titolo_tabella_prestazioni_annuali.getData()=='') &&  
3507            (!Indici_titolo_basso?has_content || Indici_titolo_basso.getData()=='') &&  
3508    (!titolo_box_tabella?has_content || titolo_box_tabella.getData()=='') 
3509            )> 
3510            <div class="boxesDettaglio togliMargin"> 
3511                <div class="reset"> 
3512                    <h5 class="titolo">${Indici_titolo_alto.getData()}</h5> 
3513                    <p class="">${Indici_descrizione_alta.getData()}</p> 
3514     
3515                    <#if !(!Label_titolo_valore_iniziale_titoli?has_content || Label_titolo_valore_iniziale_titoli.getData()=='')> 
3516    	                <#assign fileEntryPath = Nome_allegato_valore_iniziale_titoli.Allegato_valore_iniziale_titoli.getData()>		 
3517    					<#assign dlFileVersion = ''>					 
3518    					<#if validator.isNotNull(fileEntryPath)> 
3519    						<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
3520    					</#if> 
3521    					 
3522    					<#if validator.isNotNull(dlFileVersion)> 
3523    	                	<h6 class="titolo">${Label_titolo_valore_iniziale_titoli.getData()}</h6> 
3524    						<div class="archivi">					 
3525    						   <a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
3526    								<h6> 
3527    									<span class="icona icon-file"></span> 
3528    									<div>${Nome_allegato_valore_iniziale_titoli.getData()}</div> 
3529    								</h6> 
3530    							</a> 
3531    						</div> 
3532    					</#if> 
3533                    </#if> 
3534     
3535                    <#if Label_titolo_tabella_valore_iniziale_indici.getData() != ""> 
3536            			 <h6 class="titolo indici">${Label_titolo_tabella_valore_iniziale_indici.getData()}</h6> 
3537                    </div> 
3538                    <div class="table"> 
3539                         
3540                        <#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content> 
3541    			                     
3542    	                    <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1> 
3543    		                    <div class="row"> 
3544    		                        <div class="cell"> 
3545    		                            ${cur_Riga_valore_iniziale_indici_colonna_1.getData()} 
3546    		                        </div> 
3547    		                         
3548    		                        <div class="cell"> 
3549    		                            ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()} 
3550    		                        </div> 
3551    		                         
3552    		                        <div class="cell"> 
3553    		                            ${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()} 
3554    		                        </div> 
3555    		                    </div> 
3556    	                    </#list> 
3557    	                     
3558    	                </#if> 
3559                    
3560                    </div> 
3561             
3562                    <!-- INIZIO BLOCCO SMARTPHONE SECONDA TABELLA --> 
3563                    <div class="table_smart secondaTab"> 
3564                        <#if Riga_valore_iniziale_indici_colonna_1.getSiblings()?has_content> 
3565                            <table> 
3566                                <tbody> 
3567                                    <#list Riga_valore_iniziale_indici_colonna_1.getSiblings() as cur_Riga_valore_iniziale_indici_colonna_1> 
3568                                        <#assign velocityCount = cur_Riga_valore_iniziale_indici_colonna_1?index/> 
3569                                        <#if velocityCount!=1> 
3570                                			<tr class="intestazione_smart"> 
3571                                			    <td colspan="2">${cur_Riga_valore_iniziale_indici_colonna_1.getData()}</td> 
3572                                			</tr> 
3573                                			<tr class="pari"> 
3574                                    			<td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_data_emissione.getData()}</td> 
3575                                			    <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_data_emissione.getData()}</td> 
3576                                			</tr> 
3577                                			<tr class="dispari"> 
3578                                			    <td>${Riga_valore_iniziale_indici_colonna_1.getSiblings()[0].Riga_valore_iniziale_indici_colonna_3.getData()}</td> 
3579                                			    <td>${cur_Riga_valore_iniziale_indici_colonna_1.Riga_valore_iniziale_indici_colonna_3.getData()}</td> 
3580                                			</tr> 
3581                            			</#if> 
3582                                    </#list> 
3583                                </tbody> 
3584                             </table> 
3585                        </#if> 
3586                    </div> 
3587                    <!-- FINE BLOCCO SMARTPHONE SECONDA TABELLA --> 
3588     
3589                    <div class="reset tab"> 
3590                        </#if> 
3591                        <#if Label_titolo_tabella_prestazioni_annuali.getData() != ""> 
3592        					<h6 class="titolo">${Label_titolo_tabella_prestazioni_annuali.getData()}</h6> 
3593        					<#if Prestazione_annuale_data_label.getSiblings()?has_content> 
3594        				</div> 
3595        				 
3596                        <div class="table"> 
3597                        	<#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label> 
3598            					<div class="row"> 
3599            						<div class="cell"> 
3600            							${cur_Prestazione_annuale_data_label.getData()} 
3601            						</div> 
3602            						 
3603            						<div class="cell"> 
3604            							${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()} 
3605            						</div> 
3606            					</div> 
3607        					</#list> 
3608        				 
3609        				</div> 
3610     
3611                    	<!-- INZIO BLOCCO SMARTPHONE --> 
3612                    	<div class="table_smart terzaTab"> 
3613                    		<table> 
3614                    			<tbody> 
3615                    				 <#list Prestazione_annuale_data_label.getSiblings() as cur_Prestazione_annuale_data_label> 
3616                    				 	<#assign velocityCount = cur_Prestazione_annuale_data_label?index/> 
3617    									<#if velocityCount==1> 
3618    										<tr class="intestazione_smart"> 
3619    											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
3620    											<td class="presta_ann">${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
3621    										</tr> 
3622    									<#elseif velocityCount%2==0> 
3623    										<tr class="pari"> 
3624    											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
3625    											<td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
3626    										</tr> 
3627    									<#elseif velocityCount%2==1> 
3628    										<tr class="dispari"> 
3629    											<td>${cur_Prestazione_annuale_data_label.getData()}</td> 
3630    											<td>${cur_Prestazione_annuale_data_label.Prestazione_annuale_percentuale.getData()}</td> 
3631    										</tr> 
3632    									</#if> 
3633    								</#list> 
3634    							</tbody> 
3635    						</table> 
3636    					</div> 
3637    					  
3638                		<!-- FINE BLOCCO SMARTPHONE --> 
3639                    </#if> 
3640    			</#if> 
3641     
3642                <!-- INIZIO BLOCCO TABELLA NxM --> 
3643    			<#list titolo_box_tabella.getSiblings() as cur_titolo_box_tabella> 
3644    				<div class="reset"> 
3645    			        <#assign tipoTabella = cur_titolo_box_tabella.tipo_tabella.getData()> 
3646    			        <#assign descrizioneTabella = $cur_titolo_box_tabella.descrizione_tabella.getData()> 
3647    			        <#if descrizioneTabella!=''> 
3648    						<h5 class="titolo prospetto"> 
3649    							${cur_titolo_box_tabella.getData()} 
3650    						</h5> 
3651    						<p class="">${descrizioneTabella}</p> 
3652    			        <#else> 
3653    						<h6 class="titolo"> 
3654    							${cur_titolo_box_tabella.getData()} 
3655    						</h6> 
3656    			        </#if> 
3657    			    </div> 
3658        
3659                    <!-- controllo che la prima riga sia valorizzata altrimenti non la stampo --> 
3660    				<#assign contTheaderVisible = 0> 
3661    				<#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella> 
3662    					<#if cur_th_tabella.getData()?has_content> 
3663    						<#assign contTheaderVisible = contTheaderVisible + 1> 
3664    						<#break> 
3665    					</#if> 
3666    				</#list> 
3667      
3668                    <#assign contRowVisible = 0> 
3669    				<#if cur_titolo_box_tabella.tr_tabella?has_content> 
3670    					<#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella> 
3671    						<#if cur_tr_tabella.getData()?has_content> 
3672    							<#assign contRowVisible = contRowVisible + 1> 
3673    							<#break> 
3674    						<#else> 
3675    						    <#if cur_tr_tabella.td_tabella?has_content> 
3676    								<#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella> 
3677    									<!-- se di tipo testo stampo il campo td_tabella --> 
3678    									<#if tipoTabella?lower_case == 'testo'> 
3679    										<#if cur_td_tabella.getData()?has_content> 
3680    											<#assign contRowVisible = contRowVisible + 1> 
3681    											<#break> 
3682    										</#if> 
3683    									</#if> 
3684    									<!-- se di tipo documento stampo il campo td_allegato_url --> 
3685    									<#if tipoTabella?lower_case == 'documento'> 
3686    										<#if cur_td_tabella.td_allegato_url.getData() && cur_td_tabella.td_allegato_url.getData() != ''> 
3687    											<#assign contRowVisible = contRowVisible + 1> 
3688    											<#break> 
3689    										</#if> 
3690    									</#if> 
3691    								</#list> 
3692    							</#if> 
3693    						</#if> 
3694    					</#list> 
3695    				</#if> 
3696     
3697                    <#if (contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content) || contRowVisible gt 0> 
3698    			        <div class="table"> 
3699    			  
3700    					<#if contTheaderVisible gt 0 || cur_titolo_box_tabella.intestazione_tabella.getData()?has_content> 
3701    					   <div class="row theader"> 
3702    					<#else> 
3703    			           <div class="row theader" style="display:none;"> 
3704    			        </#if> 
3705     
3706    			        <div class="cell"> 
3707    						${cur_titolo_box_tabella.intestazione_tabella.getData()} 
3708    			        </div> 
3709    			        
3710    			        <#list cur_titolo_box_tabella.intestazione_tabella.th_tabella.getSiblings() as cur_th_tabella> 
3711    						<div class="cell"> 
3712    							${cur_th_tabella.getData()} 
3713    						</div> 
3714    			        </#list> 
3715    			        
3716    			        </div> 
3717    					<#if cur_titolo_box_tabella.tr_tabella.isEmpty()?has_content> 
3718    						<#assign rowCount = 0> 
3719    						<#assign velocityCount = 0> 
3720    						<#list cur_titolo_box_tabella.tr_tabella.getSiblings() as cur_tr_tabella> 
3721    							<#assign velocityCount = cur_tr_tabella?index/> 
3722    							<#assign rowCount = velocityCount> 
3723    							<div class="row"> 
3724    								<#if rowCount==1> 
3725    									<div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;"> 
3726    								<#else> 
3727    									<div class="cell"> 
3728    								</#if> 
3729    								 
3730    								<div class="">${cur_tr_tabella.getData()}</div> 
3731    							</div> 
3732    							 
3733    							<#if cur_tr_tabella.td_tabella.isEmpty()?has_content> 
3734    								<#list cur_tr_tabella.td_tabella.getSiblings() as cur_td_tabella>          
3735    									<#if rowCount==1> 
3736    										<div class="cell" style="border-top-color: #D9E2EA; border-top-style: solid; border-top-width: 1px;"> 
3737    									<#else> 
3738    										<div class="cell"> 
3739    									</#if> 
3740    									 
3741    									<!-- se di tipo testo stampo il campo td_tabella --> 
3742    									<#if tipoTabella?lower_case == 'testo'> 
3743    										${cur_td_tabella.getData()} 
3744    									</#if> 
3745    									 
3746    									<!-- se di tipo documento stampo il campo td_allegato_url --> 
3747    									<#if tipoTabella?lower_case == 'documento'> 
3748    										<#assign fileEntryPath = cur_td_tabella.td_allegato_url.getData()> 
3749     
3750    										<#assign dlFileVersion = ''>					 
3751    										<#if validator.isNotNull(fileEntryPath)> 
3752    											<#assign dlFileVersion =$confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
3753    										</#if> 
3754    										<#if validator.isNotNull(dlFileVersion)> 
3755    											<a class="icona icon-file" href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"></a> 
3756    										<#else>  
3757    											<div>&mdash;</div> 
3758    										</#if> 
3759    									</#if> 
3760    									</div> 
3761    								</#list> 
3762    							</#if> 
3763    							</div> 
3764    							<!-- end if in piu --> 
3765    						</#list> 
3766    						</div> 
3767    					</#if> 
3768    				</#if> 
3769    			</#list> 
3770    			<!-- FINE BLOCCO TABELLA NxM --> 
3771    			  
3772    			  
3773    			<div class="reset"> 
3774    				<h5 class="titolo">${Indici_titolo_basso.getData()}</h5> 
3775    			 
3776    				<p class="">${Indici_descrizione_bassa.getData()}</p> 
3777    			</div> 
3778    				 
3779    		</div> 
3780    	</div> <!-- boxesDettaglio togliMargin --> 
3781     
3782        </#if>     
3783        <!-- FINE BLOCCO INDICI --> 
3784         
3785        <!-- BLOCCO (DOWNLOADS BOXES) --> 
3786        
3787        <#if !(Download_box_label?? && Download_box_label.getData()?has_content && (!Download_box_label.getSiblings()?has_content ||  
3788            (Download_box_label.getSiblings()?size==1 &&  
3789            (!Download_box_label.getSiblings()[0].getData()?has_content || Download_box_label.getSiblings()[0].getData()=='') && 
3790            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?has_content || 
3791            (Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()?size==1 && 
3792            (!Download_box_label.getSiblings()[0].Nome_allegato.getSiblings().getData()?has_content || Download_box_label.getSiblings()[0].Nome_allegato.getSiblings()[0].getData()=='') 
3793            )))))>             
3794             
3795            <#list Download_box_label.getSiblings() as cur_Download_box_label>	                 
3796                <div class="boxesDettaglio togliMargin"> 
3797                    <div class="reset download"> 
3798    					<#if getterUtil.getBoolean(cur_Download_box_label.conteggio_file.getData())> 
3799    						<#assign file_number = cur_Download_box_label.Nome_allegato.getSiblings()?size> 
3800    						<h5 class="titolo">${cur_Download_box_label.getData()} ( ${file_number} file )</h5> 
3801    					<#else> 
3802    						<h5 class="titolo download">${cur_Download_box_label.getData()}</h5> 
3803    					</#if> 
3804    					<#if cur_Download_box_label.Nome_allegato.getSiblings()?has_content> 
3805    						<div class="archivi"> 
3806    							<#list cur_Download_box_label.Nome_allegato.getSiblings() as cur_Download_box> 
3807    							 
3808    								<#assign fileEntryPath = cur_Download_box.Allegato_url.getData()> 
3809     
3810    								<#assign dlFileVersion = ''>					 
3811    								<#if validator.isNotNull(fileEntryPath)> 
3812    									<#assign dlFileVersion = confTool.getLatestDLFileVersion(fileEntryPath, checkDisplayDate)> 
3813    								</#if> 
3814    								<#if validator.isNotNull(dlFileVersion)> 
3815    									<#if cur_Download_box.tipo_allegato.getData()=="excel"> 
3816    										<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
3817    											<h6> 
3818    												<span class="icona icon-copy"></span> 
3819    									<#else> 
3820    										<a href="${fileEntryPath}?version=${dlFileVersion.getVersion()}" target="_blank"> 
3821    											<h6> 
3822    												<span class="icona icon-file"></span>                      
3823    									</#if> 
3824    												<div>${cur_Download_box.getData()}</div> 
3825    											</h6> 
3826    										</a> 
3827    								</#if> 
3828    							</#list> 
3829    						</div> 
3830    					</#if> 
3831                    </div> 
3832                </div> 
3833            </#list> 
3834    	</#if> 
3835         
3836    	<!-- FINE BLOCCO (DOWNLOADS BOXES) -->       
3837     
3838        <!-- BLOCCO DISCLAIMER --> 
3839        <footer> 
3840            <p class="caption disclaimer">${disclaimer.getData()}</p> 
3841        </footer> 
3842        <!-- FINE BLOCCO DISCLAIMER --> 
3843         
3844<#-- 		LINK AL TOP	--> 
3845<#--        <a href="#Top" class="back-to-top" title="Torna a inizio pagina">	--> 
3846<#--            TORNA A INIZIO PAGINA <span class="icona icon-angle-up"></span>	--> 
3847<#--      </a>	--> 
3848<#-- 		FINE LINK AL TOP	--> 
3849     
3850        <script type="text/javascript"> 
3851         
3852         
3853         
3854        jQuery(document).ready(function(){ 
3855         
3856            /* Nasconde, se presente lo span che contiene la pagina di dettaglio */ 
3857            if(jQuery(".breadcrumbs .elementi span").length) { 
3858                jQuery(".breadcrumbs .elementi span").hide();    
3859
3860             
3861            if(jQuery("html").is(".smartphone")) 
3862
3863                convertTableToDivs(); 
3864                swipeProspetto(); 
3865                jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-menu'></div>"); 
3866                jQuery(".boxesDettaglio.togliMargin .bloccoValori").first().before("<div class='carousel-items'></div>"); 
3867                jQuery(".boxesDettaglio.togliMargin .bloccoValori").appendTo(".boxesDettaglio.togliMargin .carousel-items"); 
3868                 
3869                jQuery(".boxesDettaglio.togliMargin .bloccoValori").wrap("<div class='carousel-item'></div>"); 
3870                 
3871                var bullet=jQuery('<span class="carousel-menu-index">&bull;</span>'); 
3872                 
3873                /* creo l'elenco delle slide */ 
3874                jQuery(".boxesDettaglio.togliMargin .carousel-item").each(function(){ 
3875                bullet.clone().appendTo(".boxesDettaglio.togliMargin .carousel-menu"); 
3876                }); 
3877                 
3878                var car = ISP.carousel('.boxesDettaglio.togliMargin .carousel-items', '.boxesDettaglio.togliMargin .carousel-menu'); 
3879                
3880                car.play(); 
3881
3882        }); 
3883         
3884        function updateAndamentoLabel(){ 
3885        jQuery("#andamentoDa").html(jQuery("#datepickerDa").val()); 
3886        jQuery("#andamentoA").html(jQuery("#datepickerA").val()); 
3887
3888         
3889        function applyGradientOnPlot(){ 
3890        var canvasSeries = jQuery(".jqplot-series-canvas")[0]; 
3891        var ctx = canvasSeries.getContext("2d"); 
3892        var my_gradient=ctx.createLinearGradient(0,0,0,300); 
3893        my_gradient.addColorStop(0, "rgba(251,168,129,0.6)"); 
3894        my_gradient.addColorStop(1, "rgba(251,168,129,0.1)"); 
3895        ctx.fillStyle = my_gradient; 
3896        ctx.fill(); 
3897
3898         
3899        function updateDatePickers(){ 
3900        //Aggiorniamo i datepicker con i reali valori visualizzati dal grafico. Necessario per via del padding. 
3901           //jQuery("#datepickerDa").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
3902          
3903        	var dataInizialeDefault = jQuery("#dataDefaultVisualizzazionediv").text(); 
3904           	    
3905           if(dataInizialeDefault.length>0){ 
3906        	var dataNuova = new Date (dataInizialeDefault); 
3907         
3908        	jQuery("#datepickerDa").datepicker("setDate", new Date(dataInizialeDefault)); 
3909           }else{ 
3910         	jQuery("#datepickerDa").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
3911
3912          
3913          
3914          jQuery("#datepickerA").datepicker("setDate", new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
3915          jQuery('#datepickerDa').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
3916          jQuery('#datepickerDa').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
3917          jQuery('#datepickerA').datepicker('option', 'minDate', new Date(gestioneGrafico.plotter.axes.xaxis.min)); 
3918          jQuery('#datepickerA').datepicker('option', 'maxDate', new Date(gestioneGrafico.plotter.axes.xaxis.max)); 
3919
3920         
3921        function aggiornaPerformance(dataIniziale, dataFinale){ 
3922        var dati = window.gestioneGrafico.datiTraLeDate(dataIniziale, dataFinale); 
3923         
3924        var valoreIniziale = dati[0][1]; 
3925        var valoreFinale = dati[dati.length - 1][1]; 
3926         
3927        var performance = ((valoreFinale - valoreIniziale) / valoreIniziale) * 100; 
3928        if(!isNumber(performance)){ 
3929        performance = 0; 
3930
3931        var performance_rounded = +performance.toFixed(2); 
3932         
3933        var performance_split = []; 
3934        if(performance_rounded.toString().indexOf(".")>0){ 
3935        performance_split = performance_rounded.toString().split("."); 
3936        }else{ 
3937        performance_split[0] = performance_rounded; 
3938        performance_split[1] = 0; 
3939
3940        jQuery(".bloccoValori.performance .titoloValuta").html(performance_split[0] + (performance_split[1]!=0?",<span class='decimali'>" + performance_split[1] + "</span>":"") + " %"); 
3941
3942         
3943        function postDrawProcessing(){ 
3944            console.log("postDrawHooks!"); 
3945            applyGradientOnPlot(); 
3946              
3947            var dataIniziale = new Date(gestioneGrafico.plotter.axes.xaxis.min); 
3948            var dataFinale = new Date(gestioneGrafico.plotter.axes.xaxis.max); 
3949              
3950        	aggiornaPerformance(dataIniziale, dataFinale); 
3951         
3952            var dataInizialeStr = jQuery.datepicker.formatDate('dd/mm/yy', dataIniziale) 
3953            var dataFinaleStr = jQuery.datepicker.formatDate('dd/mm/yy', dataFinale); 
3954         
3955            //aggiorno solo se diverso per evitare di far scattare onchange 
3956            if (dataInizialeStr!=jQuery("#datepickerDa").val()) { 
3957            	console.log('aggiorno data iniziale da ' + jQuery("#datepickerDa").val() + ' a ' + dataInizialeStr); 
3958            	jQuery("#datepickerDa").datepicker("setDate", dataIniziale); 
3959
3960            if (dataFinaleStr!=jQuery("#datepickerA").val()) { 
3961           		console.log('aggiorno data finale da ' + jQuery("#datepickerA").val() + ' a ' + dataFinaleStr); 
3962        		jQuery("#datepickerA").datepicker("setDate", dataFinale); 
3963
3964              
3965            updateAndamentoLabel(); 
3966
3967          
3968        function isNumber(n) { 
3969          return !isNaN(parseFloat(n)) && isFinite(n); 
3970
3971         
3972        jQuery(document).ready(function() { 
3973         
3974            jQuery.jsDate.regional['it-IT'] = { 
3975                monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], 
3976                monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'], 
3977                dayNames: ['Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'], 
3978                dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], 
3979                formatString: '%d-%m-%Y %H:%M:%S' 
3980            }; 
3981            jQuery.jsDate.regional.getLocale(); 
3982         
3983            //Spostato qui perché voglio essere sicuro che gestioneGrafico sia inizializzato quando viene chiamato in questa funzione. 
3984            //window.gestioneGrafico garantisce che è una variabile globale! -RC 
3985        window.gestioneGrafico = { 
3986         
3987            //Gestione del pad manuale perché quando si impostano un minimo e un massimo per gli assi il pad è ignorato. -RC 
3988            pad: 1.1,  
3989         
3990               tuttiIdatiDelGrafico : function() {  
3991                     
3992                   var tuttiIDati =[]; 
3993                        
3994                   <#list _listaRendimenti as storicoBean> 
3995	                   tuttiIDati.push([this.getADate('${storicoBean.getDataAggiornamentoStr()}'),'${storicoBean.getValoreFondoUno()}']); 
3996	               </#list> 
3997                    
3998                    //ritorno una copia dell'array che contiene tutti i dati 
3999                   return tuttiIDati.slice(); 
4000               }, 
4001                
4002               getADate: function (dataStr) 
4003
4004                   //console.log("getADate dataStr" + dataStr); 
4005                   if (dataStr == null) 
4006                       return; 
4007                    var partiData = dataStr.split("/"); 
4008                    var day = partiData[0]; 
4009                    var month = partiData[1] - 1; 
4010                    var year = partiData[2]; 
4011                    //console.log("year " + year + " month" + month + " day " + day) 
4012                    var aDate = new Date(year, month, day, 0, 0, 0, 0); 
4013                    return aDate; 
4014               }, 
4015                
4016               datiTraLeDate : function (dataDa, dataA){ 
4017                   //console.log("datiTraLeDate dataDa " + dataDa + " dataA " + dataA); 
4018                    
4019                   var tuttiIdati = this.tuttiIdatiDelGrafico(); 
4020                   //cerco l'elemento minimo superiore a dataDa  
4021                   //cerco l'elemnto massimo inferiore a dataA 
4022                   //l'array di dati originali è gia ordinato per data 
4023                   var indiceDellaDataMinore = -1; 
4024                   var indiceDellaDataMaggiore = -1; 
4025                   var currDate; 
4026                   //cerco la prima data subito superiore a dataDa 
4027                   for (var i=0; i< tuttiIdati.length; i++) { 
4028                      currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
4029                      if((currDate.isAfter(dataDa)||(currDate.isSame(dataDa))) && (currDate.isBefore(dataA)||currDate.isSame(dataA))) { 
4030                          indiceDellaDataMinore = i; 
4031                         break; 
4032
4033                   }   
4034                    //cerco la prima data subito inveriore  a dataA 
4035                   for (var i=tuttiIdati.length -1; i>=0; i--) { 
4036                      currDate = moment(tuttiIdati[i][0]).hours(0).minutes(0).seconds(0); 
4037                      if((currDate.isBefore(dataA)|| currDate.isSame(dataA)) && (currDate.isAfter(dataDa)||currDate.isSame(dataDa))) { 
4038                          indiceDellaDataMaggiore = i; 
4039                         break; 
4040
4041
4042                   //a questo punto ho gli indici delle date minore e maggiore, taglio l'array 
4043                   var nDiElementi  = indiceDellaDataMaggiore - indiceDellaDataMinore + 1; 
4044                   console.log("nDiElementi" + nDiElementi); 
4045                   var nuovoRange = tuttiIdati.splice(indiceDellaDataMinore,nDiElementi); 
4046                   //se 0 risultati creo un array con dati [[dataIniziale, 0], [dataFinale, 0]] 
4047                   if (nuovoRange.length == 0){ 
4048                       console.log("ritorno un range vuoto"); 
4049                       nuovoRange = [["{$_datiStorico.getDataInizialeString()}"][0],["{$_datiStorico.getDataFinaleString()}"][0]]; 
4050
4051                   //se il ragendati ha un solo valore ritorno due valori per far si che il valore sia visibile sul grafico 
4052        //                if (nuovoRange.length == 1){ 
4053        //                    console.log("ritorno un range 1"); 
4054        //                    nuovoRange.push(nuovoRange[0]); 
4055        //                } 
4056                   console.log("nuovo range" + nuovoRange); 
4057                   return nuovoRange; 
4058               }, 
4059               getAxisBounds: function(dati, pad, dataDa, dataA){ 
4060                var _pad = (pad==null||typeof pad == 'undefined')?0:pad; 
4061                var _dataDa = typeof dataDa == 'undefined'?null:dataDa; 
4062                var _dataA = typeof dataA == 'undefined'?null:dataA; 
4063                
4064                var minXVal = null; 
4065                var maxXVal = null; 
4066                //Vogliamo che Y parta da 0 o dal minimo valore minore di 0 
4067                var minYVal = null; 
4068                var maxYVal = null; 
4069                
4070                for(var i=0; i<dati.length; i++){ 
4071                var valY = parseFloat(dati[i][1]); 
4072                if(_dataDa==null&&(minXVal==null||dati[i][0]<minXVal)){ 
4073                minXVal = dati[i][0]; 
4074
4075                if(_dataA==null&&(maxXVal==null||dati[i][0]>maxXVal)){ 
4076                maxXVal = dati[i][0]; 
4077
4078                if(minYVal==null||valY<minYVal){ 
4079                minYVal = valY; 
4080
4081                if(maxYVal==null||valY>maxYVal){ 
4082                maxYVal = valY; 
4083
4084
4085                
4086                if(dataDa!=null){ 
4087                minXVal = dataDa; 
4088
4089                if(dataA!=null){ 
4090                maxXVal = dataA; 
4091
4092                
4093                var padX = 0; 
4094                var padY = 0; 
4095                if(dati.length>1){ 
4096                padX = ((maxXVal - minXVal)*(pad-1))/2; 
4097        //             padY = minYVal>0?((maxYVal - 0)*(pad-1))/2:((maxYVal - minYVal)*(pad-1))/2; 
4098                padY = ((maxYVal - minYVal)*(pad-1))/2; 
4099                }else{ 
4100                padX = 86401000; 
4101                padY = maxYVal*(pad-1); 
4102
4103                
4104                if(padY<0){ 
4105                padY=-padY; 
4106                }else if(padY==0){ 
4107                padY=2; 
4108
4109                
4110                var bounds = { 
4111                minX: dati.length>1?new Date(minXVal.getTime()):new Date(minXVal.getTime()-padX), 
4112                maxX: dati.length>1?new Date(maxXVal.getTime()):new Date(maxXVal.getTime()+2*padX), 
4113        //             minY: minYVal>0?0:minYVal-padY, 
4114                minY: minYVal-padY, 
4115                maxY: maxYVal+padY 
4116
4117                
4118                return bounds; 
4119               }, 
4120                zoomHandler: function() { 
4121                  var c = this.plugins.cursor; 
4122                  console.log(c); 
4123                }, 
4124                
4125               plotter: null, 
4126                    
4127                   visualizzaGrafico : function (dati, dataDa, dataA){ 
4128                    var singlePoint = dati.length==1; 
4129                    var bounds = this.getAxisBounds(dati, this.pad, dataDa, dataA); 
4130					var logaritmica = logaritmica; 
4131                    console.log("Axis Bounds: " + bounds); 
4132                       if(this.plotter != null) 
4133                           this.plotter.destroy(); 
4134                       if(singlePoint){ 
4135                        dati.push(dati[0]); 
4136
4137                       this.plotter = jQuery.jqplot('chartdiv',  [dati],  
4138                           {  
4139                               title:{ 
4140                                   text: '', 
4141                                   show: false 
4142                               }, 
4143                               axesDefaults: { 
4144        //                             numberTicks: 5 
4145                                   // a factor multiplied by the data range on the axis to give the 
4146                                   // axis range so that data points don't fall on the edges of the axis. 
4147                               }, 
4148                               cursor:{ 
4149                                     show: true, 
4150                                     showTooltip: false, 
4151                                     zoom: true, 
4152                                     constrainZoomTo: 'x' 
4153                                   }, 
4154                               seriesDefaults: { 
4155                                    
4156                                    color: '#fba881',      // CSS color spec to use for the line.  Determined automatically. 
4157                                    showMarker: singlePoint,   // render the data point markers or not. 
4158                                    fill: true,        // fill under the line, 
4159                                    fillAndStroke: singlePoint,       // *stroke a line at top of fill area. 
4160                                    fillColor: '#fba881', 
4161                                    fillAlpha: 0.001,      // *custom alpha to apply to fillColor. 
4162                                    shadow: false   // show shadow or not. 
4163                                     
4164                                }, 
4165                               axes:{ 
4166                                   xaxis:  { 
4167                                       renderer:jQuery.jqplot.DateAxisRenderer, 
4168                                       min: bounds.minX, 
4169                                       max: bounds.maxX, 
4170                                       tickOptions: {formatString: '%d/%m/%Y'} 
4171                                   }, 
4172                                   yaxis: { 
4173        						   renderer:logaritmica==true?jQuery.jqplot.LogAxisRenderer:jQuery.jqplot.LinearAxisRenderer, 
4174                                    min: bounds.minY, 
4175                                    max: bounds.maxY, 
4176                                    tickOptions: {formatString: '%#.3f' +  (divisaSimboloMap['${valutaFondoUno}']!=null?" " + divisaSimboloMap['${valutaFondoUno}']:" " + '${valutaFondoUno}') } 
4177
4178                               }, 
4179                               series:[{ 
4180                                   lineWidth:2,  
4181                                   markerOptions: 
4182
4183                                        style:'circle' 
4184
4185                                    }], 
4186                                highlighter: { 
4187                                       show: true, 
4188                                       sizeAdjust: 7.5 
4189                                     }, 
4190                                     grid: { 
4191                                         drawGridLines: true,        // wether to draw lines across the grid or not. 
4192                                         gridLineColor: '#f0f1f6',    // *Color of the grid lines. 
4193                                         background: '#fff',      // CSS color spec for background color of grid. 
4194                                         borderColor: '#f0f1f6',     // CSS color spec for border around grid. 
4195                                         borderWidth: 1.0,           // pixel width of border around grid. 
4196                                         shadow: false,               // draw a shadow for grid. 
4197
4198                                  
4199                           }); 
4200        				    
4201
4202
4203         
4204            <#if !(!usaFondo ||(usaFondo && (!id_fondo?? || id_fondo.getData()=='')))> 
4205							 
4206				<#if _listaRendimenti?size gt 0> 
4207        		 
4208        			jQuery.jqplot.sprintf.thousandsSeparator = ''; 
4209        			jQuery.jqplot.sprintf.decimalMark = ','; 
4210        		 
4211        			var gestore = gestioneGrafico; 
4212        			var datiDaVisualizzare = gestore.tuttiIdatiDelGrafico(); 
4213        			var bounds = gestioneGrafico.getAxisBounds(datiDaVisualizzare, this.pad); 
4214        		 
4215        			// inizializzo i date picker con gli estremi delle date disponibili in base ai dati ricevuti 
4216        			jQuery("#datepickerDa").datepicker({ 
4217        				// showOtherMonths: true, 
4218        				// selectOtherMonths: true, 
4219        				changeMonth : true, 
4220        				changeYear : true, 
4221        				dateFormat : "dd/mm/yy", 
4222        				defaultDate : bounds.minX, 
4223        				minDate : bounds.minX, 
4224        				maxDate : bounds.maxX, 
4225        				onSelect : function() { 
4226        					jQuery("#datepickerA").datepicker('option', { 
4227        						minDate : jQuery(this).datepicker('getDate') 
4228        					}); 
4229        					updateGraphDatesFromDatePickers(); 
4230        					// jQuery(this).change(); 
4231        					// jQuery(this).blur(); 
4232
4233        			// defaultDate: gestore.getADate("$_datiStorico.getDataInizialeString()"), 
4234        			// minDate : gestore.getADate("$_datiStorico.getDataInizialeString()"), 
4235        			// maxDate : gestore.getADate("$_datiStorico.getDataFinaleString()") 
4236        			}, jQuery.datepicker.regional['it']); 
4237        			jQuery("#datepickerA").datepicker({ 
4238        				changeMonth : true, 
4239        				changeYear : true, 
4240        				dateFormat : "dd/mm/yy", 
4241        				defaultDate : bounds.maxX, 
4242        				minDate : bounds.minX, 
4243        				maxDate : bounds.maxX, 
4244        				onSelect : function() { 
4245        					jQuery("#datepickerDa").datepicker('option', { 
4246        						maxDate : jQuery(this).datepicker('getDate') 
4247        					}); 
4248        					updateGraphDatesFromDatePickers(); 
4249        					// jQuery(this).change(); 
4250        					// jQuery(this).blur(); 
4251        				}, 
4252        				beforeShow : function(input, inst) { 
4253        					inst.dpDiv.css({marginLeft: -input.offsetWidth + 'px'}); 
4254        		 
4255
4256        			// defaultDate: gestore.getADate("$_datiStorico.getDataInizialeString()"), 
4257        			// minDate : gestore.getADate("$_datiStorico.getDataInizialeString()"), 
4258        			// maxDate : gestore.getADate("$_datiStorico.getDataFinaleString()") 
4259        			}, jQuery.datepicker.regional['it']); 
4260        		 
4261        			function updateGraphDatesFromDatePickers() { 
4262        				var dataDaStr = jQuery("#datepickerDa").val(); 
4263        				var dataAStr = jQuery("#datepickerA").val(); 
4264        				console.log("date cambiate: da " + dataDaStr + " a " + dataAStr); 
4265        				// Se date nulle usa gli estremi 
4266        				if (dataDaStr == '') 
4267        				{	 
4268        					dataDaStr = gestore.getADate("${_datiStorico.getDataInizialeString()}"); 
4269        					jQuery("#datepickerDa").val(dataDaStr); 
4270
4271        				if (dataAStr == '') 
4272
4273        					dataAStr = gestore.getADate("${_datiStorico.getDataFinaleString()}"); 
4274        					jQuery("#datepickerA").val(dataAStr); 
4275
4276        				var dataDa = gestore.getADate(dataDaStr); 
4277        				var dataA = gestore.getADate(dataAStr); 
4278        				// se la data è maggiore di data a non fare nulla 
4279        				if (dataDa >= dataA) 
4280        					return; 
4281         
4282        				gestore.plotter.axes.xaxis.min = dataDa; 
4283        				gestore.plotter.axes.xaxis.max = dataA; 
4284         
4285        				var interval = (dataA.getTime() - dataDa.getTime()) / 5; 
4286        				var ticks = []; 
4287        				var currTick = dataDa.getTime(); 
4288        				ticks.push(currTick); 
4289        				for (var i = 0; i < 5; i++) { 
4290        					currTick += interval; 
4291        					ticks.push(currTick); 
4292
4293         
4294        				gestore.plotter.axes.xaxis.ticks = ticks; 
4295         
4296        				gestore.plotter.replot(); 
4297         
4298        				// Necessario per riabilitare zoom 
4299        				gestore.plotter.axes.xaxis.ticks = []; 
4300         
4301        				// applyGradientOnPlot(); 
4302            
4303        			}; 
4304        		 
4305                    if (Liferay.Browser.isIe() && Liferay.Browser.getVersion() < 9) 
4306
4307        				// carica script che emula il canvas poiché ie < 9 non lo supoporta 
4308        				var exCanvasScriptUrl = "${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/excanvas/excanvas.min.js"; 
4309        				jQuery.getScript(exCanvasScriptUrl, function(data, textStatus, jqxhr) { 
4310        					gestore.visualizzaGrafico(datiDaVisualizzare); 
4311        					updateDatePickers(); 
4312        					applyGradientOnPlot(); 
4313        					jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
4314        					updateAndamentoLabel(); 
4315        				}); 
4316        		 
4317
4318        			else 
4319
4320        				gestore.visualizzaGrafico(datiDaVisualizzare); 
4321        				updateDatePickers(); 
4322        				applyGradientOnPlot(); 
4323        				jQuery.jqplot.postDrawHooks.push(postDrawProcessing); 
4324        				updateAndamentoLabel(); 
4325
4326        			updateGraphDatesFromDatePickers(); 
4327        			aggiornaPerformance(datiDaVisualizzare[0][0], datiDaVisualizzare[datiDaVisualizzare.length - 1][0]); 
4328        			 
4329        			 
4330        			jQuery( ".datePicker" ).change(updateGraphDatesFromDatePickers); 
4331					 
4332        		</#if> 
4333				 
4334            </#if> 
4335         
4336             
4337        }); 
4338        </script> 
4339     
4340    </div> 
4341 
4342    <style> 
4343     
4344        .boxesDettaglio .datePickers p .datePicker { 
4345        position: absolute; 
4346        display: block; 
4347        height: 30px; 
4348        width: 105px; 
4349        margin: 0; 
4350        padding: 4px 3px; 
4351        background: transparent; 
4352        color: #fff; 
4353        border: medium none; 
4354        box-shadow: none; 
4355        cursor: pointer; 
4356        z-index: 100; 
4357
4358        .aui .supTitle { 
4359        color: #2d769d; 
4360        text-align: left; 
4361        padding: 0; 
4362        margin: 0; 
4363        font-size: 18px; 
4364        font-weight: normal; 
4365        }	 
4366     
4367    </style> 
4368 
4369</#if> 
4370 
4371 
4372 
4373 
4374<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/jquery.jqplot.min.js"></script> 
4375<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/excanvas/excanvas.min.js"></script> 
4376<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/plugins/jqplot.dateAxisRenderer.min.js"></script> 
4377<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/plugins/jqplot.highlighter.min.js"></script> 
4378<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/plugins/jqplot.cursor.min.js"></script> 
4379<script type="text/javascript" src="${themeDisplay.getPathThemeRoot()}/js/portlet/rendimentiequotazioni/dettaglio/jqplot/plugins/jqplot.logAxisRenderer.js"></script>