var stc_charttojpg = function() { this.div_chart = ""; this.imgbase64 = ""; this.tipo_obiettivi = ""; } function clsStampa(objsessione, objgrafici) { var _me=this; var _formPDF = null var _objImgGrafici = null var _numcharts = 0; var _numcharts_elaborati = 0; var _grafico_semafori = new function() {}; var _easy = false; var _arrBase64 = new Array(); var _isChartSaving = false; var _token = ""; this.init = function(easy) { _easy = easy || false; _me.init_div(); _me.init_form(); } this.token = function(token) { _token = token; } this.init_div = function() { var cstyle = "height:400px;display:block;"; var cstyle1 = "height:400px;display:block;width:900px;"; _me.raise_onCaricamento("Inizializzazione grafici", 1); _objImgGrafici = document.createElement("div"); _objImgGrafici.setAttribute("id", "grafici"); _objImgGrafici.setAttribute("style", "position:absolute;top:-15000px;width:900px;"); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-0", cstyle); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-1", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-2", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-3", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-4", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-5", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-6", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-7", cstyle); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-8", cstyle); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-9", cstyle); _me.addDivGrafico(_objImgGrafici, "chartdiv-0-10", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-0", cstyle); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-1", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-2", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-3", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-4", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-5", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-6", cstyle1); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-7", cstyle); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-8", cstyle); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-9", cstyle); _me.addDivGrafico(_objImgGrafici, "chartdiv-1-10", cstyle1); document.body.appendChild(_objImgGrafici); } this.init_form = function() { _formPDF = document.createElement("form"); _formPDF.setAttribute("id", "frmPdf"); _formPDF.setAttribute("method", "post"); _me.raise_onCaricamento("Inizializzazione grafici", 2); _me.addFormInput(_formPDF, "hidden", "html", ""); _me.addFormInput(_formPDF, "hidden", "coerenza", ""); _me.addFormInput(_formPDF, "hidden", "operativita", ""); _me.addFormInput(_formPDF, "hidden", "grafico_semafori", ""); _me.addFormInput(_formPDF, "hidden", "profilo", ""); _me.addFormInput(_formPDF, "hidden", "obiettivi", ""); _me.addFormInput(_formPDF, "hidden", "parenti", ""); _me.addFormInput(_formPDF, "hidden", "token", _token); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-0", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-1", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-2", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-3", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-4", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-5", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-6", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-7", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-8", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-9", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-0-10", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-0", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-1", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-2", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-3", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-4", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-5", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-6", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-7", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-8", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-9", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-10", ""); _me.addFormInput(_formPDF, "hidden", "grafico_chartdiv-1-10", ""); document.body.appendChild(_formPDF); } this.dispose = function() { document.body.removeChild(_formPDF); document.body.removeChild(_objImgGrafici); } this.addFormInput = function(objcontent, type, id, defaultvalue) { var objinput = document.createElement("input"); objinput.setAttribute("type", type); objinput.setAttribute("id", id); objinput.setAttribute("name", id); objinput.setAttribute("value", defaultvalue); objcontent.appendChild(objinput); } this.addDivGrafico = function(objcontent, id, style) { var objinput = document.createElement("div"); objinput.setAttribute("id", id); objinput.setAttribute("name", id); objinput.setAttribute("style", style); objcontent.appendChild(objinput); } this.creaoutputpdf = function() { var coniuge = objsessione.dati.parenti.getconiuge(); var parenti = objsessione.dati.parenti.getdata(); var patrimonio_immobiliare = objsessione.dati.patrimoni_immobiliari.totale(9999); var num_obiettivi = objsessione.dati.obiettivi.data.length || 0; var objcharts = new Array(); var objcharts_o = new Array(); var maximum = 0; var minimum = 0; var percentuale = 2; var step = (100 - percentuale)/2; objcharts = _me.creaimggrafici(0, parenti, coniuge, patrimonio_immobiliare, num_obiettivi); objcharts = objcharts.concat(objcharts_o); _numcharts = objcharts.length; if (objcharts.length>0) { var step = parseInt(step/objcharts.length); for (var i=0;iobjcharts[i].minimum) { minimum = objcharts[i].minimum; } } } for (var i=0;i0) { objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-1","P","1","eta")); } if (patrimonioimmobiliare.importo>0) { objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-3","P","3","eta")); } if (coniuge) { objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-5","P","5","eta")); objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-6","P","6","eta")); } objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-7","I","","")); objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-8","A","","eta"));// per grafico risparmio sempre if (numobiettivi>0) { // objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-8","A","","eta")); objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-9","C","","eta")); } objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-0","P","0","eta")); objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-2","P","2","eta")); objcharts.push(_me.creaimggrafico("chartdiv-"+ottimizzato+"-4","P","4","eta")); objsessione.dati.profilo.data.abilita_ottimizzazione = comottimizzato; return objcharts; } this.creaimggrafico = function(nome, tipo, tipo_obiettivi, um) { var objamchart = new clsAmChart(objsessione, objgrafici); var objgrafico = objamchart.disegna("pdf", nome, tipo, tipo_obiettivi, um); return objgrafico; } this.charttobase64 = function(objchart, div_chart, tipo_obiettivi) { objchart.addListener("rendered",function(e) { e.chart["export"].capture( {}, function() { this.toJPG( {}, function(base64) { _me.charttoJPG(div_chart, base64, tipo_obiettivi); }); }); }); objchart.write(div_chart); } this.charttoJPG = function(div_chart, imgbase64, tipo_obiettivi) { var objcharttojpg = new stc_charttojpg(); objcharttojpg.div_chart = div_chart; objcharttojpg.imgbase64 = imgbase64; objcharttojpg.tipo_obiettivi = tipo_obiettivi; _arrBase64.push(objcharttojpg); _me.saveChartToJPG(); } this.saveChartToJPG = function() { if (_arrBase64.length>0 && _isChartSaving==false) { _isChartSaving = true; var objcharttojpg = _arrBase64[0]; $.post("https://www.progettidivita.it/proxy/report.grafici.immagine.salva.php?nn="+Math.floor((Math.random()*100000)), { imageData: encodeURIComponent(objcharttojpg.imgbase64), div_chart: objcharttojpg.div_chart, tipo_obiettivi: objcharttojpg.tipo_obiettivi, }, function(data) { if (data) { var objJSON = JSONDecode(data); if (objJSON!=null && objJSON.immagine!="") { var strHtml = ''; strHtml += ''; $("#grafico_"+objcharttojpg.div_chart).val(strHtml); } } _arrBase64.splice(0, 1); _isChartSaving = false; _me.checkgraficicaricati(); _me.saveChartToJPG(); }); } } /*this.charttoJPG = function(div_chart, imgbase64, tipo_obiettivi) { var rdati = { base64: imgbase64 } $.post("https://www.progettidivita.it/proxy/report.grafici.immagine.salva.php?nn="+Math.floor((Math.random()*100000)), { imageData: encodeURIComponent(imgbase64), div_chart: div_chart, tipo_obiettivi: tipo_obiettivi, }, function(data) { if (data) { var objJSON = JSONDecode(data); if (objJSON!=null && objJSON.immagine!="") { var strHtml = ''; strHtml += ''; $("#grafico_"+div_chart).val(strHtml); } } _me.checkgraficicaricati(); }); }*/ this.apripdf = function(target) { target = target || "_blank"; $.post("stampa2.php?id=0", { "grafico_semafori": JSON.stringify(_grafico_semafori), "profilo": JSON.stringify(objsessione.dati.profilo.data), "parenti": JSON.stringify(objsessione.dati.parenti.getdata()), "obiettivi": encodeURIComponent(JSON.stringify(objsessione.dati.obiettivi.getdata())), "operativita": JSON.stringify(objsessione.dati.ottimizzazione), "coerenza": JSON.stringify($("#coerenza").val()), "html": $("#html").val(), "token": $("#token").val(), "grafico_chartdiv-0-0" : $("#grafico_chartdiv-0-0").val(), "grafico_chartdiv-0-1" : $("#grafico_chartdiv-0-1").val(), "grafico_chartdiv-0-2" : $("#grafico_chartdiv-0-2").val(), "grafico_chartdiv-0-3" : $("#grafico_chartdiv-0-3").val(), "grafico_chartdiv-0-4" : $("#grafico_chartdiv-0-4").val(), "grafico_chartdiv-0-5" : $("#grafico_chartdiv-0-5").val(), "grafico_chartdiv-0-6" : $("#grafico_chartdiv-0-6").val(), "grafico_chartdiv-0-7" : $("#grafico_chartdiv-0-7").val(), "grafico_chartdiv-0-8" : $("#grafico_chartdiv-0-8").val(), "grafico_chartdiv-0-9" : $("#grafico_chartdiv-0-9").val(), "grafico_chartdiv-0-10" : $("#grafico_chartdiv-0-10").val(), "grafico_chartdiv-1-0" : $("#grafico_chartdiv-1-0").val(), "grafico_chartdiv-1-1" : $("#grafico_chartdiv-1-1").val(), "grafico_chartdiv-1-2" : $("#grafico_chartdiv-1-2").val(), "grafico_chartdiv-1-3" : $("#grafico_chartdiv-1-3").val(), "grafico_chartdiv-1-4" : $("#grafico_chartdiv-1-4").val(), "grafico_chartdiv-1-5" : $("#grafico_chartdiv-1-5").val(), "grafico_chartdiv-1-6" : $("#grafico_chartdiv-1-6").val(), "grafico_chartdiv-1-7" : $("#grafico_chartdiv-1-7").val(), "grafico_chartdiv-1-8" : $("#grafico_chartdiv-1-8").val(), "grafico_chartdiv-1-9" : $("#grafico_chartdiv-1-9").val(), "grafico_chartdiv-1-10" : $("#grafico_chartdiv-1-10").val(), }, function(data) { var objJSON = JSONDecode(data); if (objJSON) { var objpdf = window.open("https://www.progettidivita.it//upload/pdf/"+objJSON.file, target); if(!objpdf || objpdf.closed || typeof objpdf.closed=="undefined") { $.alert("Il browser ha i popup bloccati. Per visualizzare il report clicca qui"); } } }); /*$.post("stampa2.php?id=0", function (data) { var w = window.open('about:blank'); w.document.open(); w.document.write(data); w.document.close(); }); _formPDF.setAttribute("target", target); _formPDF.action = "stampa2.php?id=0"; _formPDF.grafico_semafori.value = JSON.stringify(_grafico_semafori); _formPDF.profilo.value = JSON.stringify(objsessione.dati.profilo.data); _formPDF.parenti.value= JSON.stringify(objsessione.dati.parenti.getdata()); _formPDF.obiettivi.value= encodeURIComponent(JSON.stringify(objsessione.dati.obiettivi.getdata())); _formPDF.operativita.value= JSON.stringify(objsessione.dati.ottimizzazione); _formPDF.submit();*/ } this.checkgraficicaricati = function() { var percentuale = 2; var parz = (100 - percentuale)/2; var step = parseInt(parz/_numcharts); _numcharts_elaborati += 1; percentuale += parz+step*_numcharts_elaborati; _me.raise_onCaricamento("Rendering grafici", percentuale); if (_numcharts_elaborati==_numcharts) { if (typeof _me.onCaricamentoCompletato==="function") { _me.onCaricamentoCompletato(); } } } this.raise_onCaricamento = function(descrizione, percentuale) { if (typeof _me.onCaricamento==="function") { _me.onCaricamento(descrizione, percentuale); } } }