<?php
	$iddocumento = save($_GET['iddocumento']);

	//Lettura tipo documento
	$q = "SELECT split_p , (SELECT dir FROM co_tipidocumento WHERE id=idtipodocumento) AS dir FROM co_documenti WHERE id=\"".$iddocumento."\"";
	$rs = $dbo->fetchArray($q);
// verifico se documento in split paymant
	$split_p=$rs[0]['split_p'];
	
	$nome_modulo = "Fatture di vendita";
	

	$additional_where[$nome_modulo] = str_replace( "|idanagrafica|", "'".$user_idanagrafica."'", $additional_where[$nome_modulo] );
	$n_rows = 0;
	$words4row = 70;

	
	$vedi_transazionepdf = get_var_tipodoc2($iddocumento,'vedi_transazionepdf');
	$stampa_prezzi = get_var_tipodoc2($iddocumento,'stampa_prezzi');

	//Lettura info fattura
	$q = "SELECT *, (SELECT descrizione FROM co_statidocumento WHERE id=idstatodocumento) AS stato_doc, (SELECT txt_suffisso FROM co_tipidocumento WHERE id=idtipodocumento) AS suffisso, (SELECT descrizione FROM co_tipidocumento WHERE id=idtipodocumento) AS tipo_doc, (SELECT descrizione FROM co_pagamenti WHERE id=idpagamento) AS tipo_pagamento, (SELECT dir FROM co_tipidocumento WHERE id=idtipodocumento) AS dir FROM co_documenti WHERE id=\"".$iddocumento."\" ".$additional_where[$nome_modulo];		
	$rs = $dbo->fetchArray($q);
	$tipo_doc = $rs[0]['tipo_doc'];
	$idcliente = $rs[0]['idanagrafica'];
	$idsede = $rs[0]['idsede'];
	$idbanca_vendite = $rs[0]['idbanca_vendite'];

//	( $rs[0]['numero_esterno']!='' ) ? $numero=$rs[0]['numero_esterno'] : $numero=$rs[0]['numero'];			
//	$numero=$numero.$rs[0]['suffisso'];
	
	$numero=$rs[0]['numero_documento'];

	//Lettura righe documento
	$q2 = "SELECT * FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento=co_documenti.id WHERE iddocumento='$iddocumento' ".$additional_where[$nome_modulo];
	$righe = $dbo->fetchArray( $q2 );

	//carica report html
	$report = file_get_contents ($docroot."/templates/documenti/documenti.html");
	$body = file_get_contents ($docroot."/templates/documenti/documenti_body.html");

	include_once( "pdfgen_variables.php" );
	

	
//	$body = str_replace( "C.F.: ".$c_codicefiscale, $c_codicefiscale, $body );
//	$body = str_replace( "P.Iva: ".$c_piva, $c_piva, $body );
//	$body = str_replace( "P.Iva/C.F.:  ".$c_piva, $c_piva, $body );
		

	$body = str_replace( '$tipo_doc$', strtoupper($tipo_doc), $body );
	$body = str_replace( '$numero_doc$', $numero, $body );
	$body = str_replace( '$data$', date( "d/m/Y", strtotime($rs[0]['data']) ), $body );
	$body = str_replace( '$pagamento$', $rs[0]['tipo_pagamento'], $body );
	
	
	
	// cerco dati banca
	if( $idbanca_vendite > 0 ){
		$rs_banca = $dbo->fetchArray("SELECT * FROM co_banche WHERE id='".$idbanca_vendite."'");						
		$body = str_replace( '$f_appoggiobancario$', $rs_banca[0]['nome'], $body );
		$body = str_replace( '$f_codiceiban$', $rs_banca[0]['iban'], $body );
	} else{
		$id_azienda=get_var("Azienda predefinita");
		$q = "SELECT appoggiobancario , filiale,codiceiban  FROM an_anagrafiche WHERE idanagrafica=\"".$id_azienda."\"";
		$rs_banca = $dbo->fetchArray($q);
		$body = str_replace( '$f_appoggiobancario$', $rs_banca[0]['appoggiobancario'], $body );
		$body = str_replace( '$f_codiceiban$', $rs_banca[0]['codiceiban'], $body );
	}					
		


	//Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
	$destinazione = '';
	if( $rs[0]['idsede']==0 ){
		$destinazione = '';
	}

	else{
		$queryd = "SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica='".$idcliente."' AND id='".$rs[0]['idsede']."'";
		$rsd = $dbo->fetchArray($queryd);

		if( $rsd[0]['indirizzo']!='' )
			$destinazione .= $rsd[0]['indirizzo']."<br/>\n";
		if( $rsd[0]['indirizzo2']!='' )
			$destinazione .= $rsd[0]['indirizzo2']."<br/>\n";
		if( $rsd[0]['cap']!='' )
			$destinazione .= $rsd[0]['cap']." ";
		if( $rsd[0]['citta']!='' )
			$destinazione .= $rsd[0]['citta'];
		if( $rsd[0]['provincia']!='' )
			$destinazione .= " (".$rsd[0]['provincia'].")\n";
	}

	$body = str_replace( '$c_destinazione$', $destinazione, $body );
	$v_iva = array();
	$v_totale = array();


	//Intestazione tabella per righe
	$body .= "<table class='table_values' cellspacing='0' style='table-layout:fixed; border:1px solid #aaa;' id='contents'>\n";
	$body .= "<col width='422' height='20' ><col width='35'><col width='30'><col width='56'><col width='56'><col width='28'>\n";
	$body .= "<thead>\n";
	$body .= "<tr>\n";
	
	$body .= "<th class='table_cell' align='center' ><small>DESCRIZIONE</small></th>\n";
	$body .= "<th class='table_cell' align='center' ><small>Q.T&Agrave;</small></th>\n";
	$body .= "<th class='table_cell' align='center' ><small>UM</small></th>\n";
	$body .= "<th class='table_cell'  align='center' ><small>COSTO UNITARIO</small></th>\n";
	$body .= "<th class='table_cell'  align='center'><small>IMPORTO</small></th>\n";
	$body .= "<th class='b-bottom'  align='center'><small>IVA</small></th></tr>\n";
	$body .= "</thead>\n";

	$body .= "<tbody>\n";

	//Mostro le righe del documento
	$totale_documento = 0;
	$totale_imponibile = 0;
	$totale_iva = 0;
	$sconto = 0;
	$imponibile = 0;
	$iva = 0;
	
	// RIGHE FATTURA CON ORDINAMENTO UNICO
	$q = "SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice_articolo, (SELECT percentuale FROM co_iva WHERE id=idiva) AS perc_iva FROM `co_righe_documenti` WHERE iddocumento='".$iddocumento."' ORDER BY ordine";

	$righe = $dbo->fetchArray( $q );
	$tot_righe = sizeof($righe);

	for( $i=0; $i<$tot_righe; $i++ ){

		$n_rows += ceil( strlen($righe[$i]['descrizione'])/$words4row );

		$body .= "<tr class='row".($x++ & 1 )."'  >\n";
		
		
		
		$body .= "<td class='b-right' valign='top'>\n";
		$body .= nl2br( $righe[$i]['descrizione'] );
		
		if( $righe[$i]['codice_articolo']!='' ){ $body .= "<br/><small>COD. ".$righe[$i]['codice_articolo']."</small>\n"; }
			
		
		// cerco riferimento transazione
		if( $vedi_transazionepdf != 0 ){								
			$query="SELECT iddocumento , numero_documento , data  FROM `co_righe_documenti` left join co_documenti on co_documenti.id = co_righe_documenti.iddocumento
			WHERE co_righe_documenti.id='".$righe[$i]['id_riferimento']."'";
			$rs_rif = $dbo->fetchArray( $query );
			if ( sizeof($rs_rif) > 0 ) {
				$descrizione_documento = get_var_tipodoc2($rs_rif[0]['iddocumento'],'descrizione');												
				$body .= "<br/><small>Rif. ".$descrizione_documento." n<sup>o </sup>".$rs_rif[0]['numero_documento']." del ".date("d/m/Y", strtotime($rs_rif[0]['data']) )."</small>";			
				$n_rows += 2 ;
			}
		}

		
		$body .= "</td>\n";

		( $righe[$i]['qta'] == 0 ) ? $qta='' : $qta=number_format($righe[$i]['qta'], 2, ",", "");
		$body .= "<td class='center b-right' valign='top'>\n";
		$body .= $qta."\n";
		$body .= "</td>\n";
		
		
		//Unità di miusura
		$body .= "<td class='b-right'  align='center'  valign='top'>\n";
		$body .= nl2br( strtoupper($righe[$i]['um']) );
		$body .= "</td>\n";
		
		
		//Costo unitario
		( $righe[$i]['subtotale'] == 0 ) ? $subtotale='' : $subtotale=number_format( $righe[$i]['subtotale']/$righe[$i]['qta'], 2, ",", "" )." &euro;";
		$body .= "<td class='b-right'  align='right'  valign='top'>\n";
		if ( $stampa_prezzi == '1' ) {		
			$body .= $subtotale;
		}
		$body .= "</td>\n";
	

		//Imponibile
		( $righe[$i]['subtotale'] == 0 ) ? $subtot='' : $subtot=number_format( $righe[$i]['subtotale'], 2, ",", "." )." &euro;";
		$body .= "<td align='right' class='b-right' valign='top'>\n";
		if ( $stampa_prezzi == '1' ) {	
			$body .= $subtot."\n";
		}
		if( ( $righe[$i]['sconto']!=0) && ($stampa_prezzi == '1' )){
			$body .= "<br/>\n<small style='color:#555;'>- sconto ".number_format( $righe[$i]['sconto'], 2, ",", "." )." &euro;</small>\n";
			$n_rows += 2 ;
		}

		$body .= "</td>\n";
		if (  $qta > 0  ){
		// Iva solo se qta > 0
			$body .= "<td align='center' valign='top'>\n";
			if( $righe[$i]['idiva']!=0 )
				$body .= "	".intval($righe[$i]['perc_iva'])."%\n";
			$body .= "</td>\n";
		}
		$body .= "</tr>\n";


		$imponibile += $righe[$i]['subtotale'];
		$iva += $righe[$i]['iva'];
		$sconto += $righe[$i]['sconto'];

		$v_iva[ $righe[$i]['desc_iva'] ] += $righe[$i]['iva'];
		$v_totale[ $righe[$i]['desc_iva'] ] += $righe[$i]['subtotale']-$righe[$i]['sconto'];
	}

	$imponibile_documento += $imponibile;
	$totale_iva += $iva;
	$totale_documento += $imponibile;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	// aggiungo diciture per condizioni iva particolari
	if( sizeof($v_iva) > 0 ){

		$testo = "Operazione soggetta a reverse charge ex art. 17, comma 6, DPR 633/72";
		// controllo se è stata applicata questa tipologia di iva
		foreach( $v_iva as $desc_iva => $tot_iva ){

			if( $desc_iva == 'Reverse charge ex art. 17, comma 6, DPR 633/72' ){

				$n_rows += 2;

				$body .= "<tr>\n";
				$body .= "	<td class='b-right' align='center' valign='top'>\n";
				$body .= "		<b>".nl2br( $testo )."</b>\n";
				$body .= "	</td>\n";

				$body .= "	<td class='center b-right' valign='top'>\n";
				$body .= "	</td>\n";
				$body .= "	<td class='center b-right' valign='top'>\n";
				$body .= "	</td>\n";
				$body .= "	<td class='center' valign='top'>\n";
				$body .= "	</td>\n";

				$body .= "</tr>\n";
			}
		} // end foreach


		$testo = "Senza addebito iva ex art. 74 comma 8-9 del DPR 633/72.";
		// controllo se è stata applicata questa tipologia di iva
		foreach( $v_iva as $desc_iva => $tot_iva ){

			if( $desc_iva == 'Esente ex art. 74' ){

				$n_rows += 2;

				$body .= "<tr>\n";
				$body .= "	<td class='b-right' align='center' valign='top'>\n";
				$body .= "		<b>".nl2br( $testo )."</b>\n";
				$body .= "	</td>\n";

				$body .= "	<td class='center b-right' valign='top'>\n";
				$body .= "	</td>\n";
				$body .= "	<td class='center b-right' valign='top'>\n";
				$body .= "	</td>\n";
				$body .= "	<td class='center' valign='top'>\n";
				$body .= "	</td>\n";

				$body .= "</tr>\n";
			}

		} // end foreach



	} // end if sizeof($v_iva)



	$height = 105 - $n_rows * 4.5;

	if( $rs[0]['ritenutaacconto'] > 0 ){
		$height -= 20;
	}
	
	/* aggiustamento righe con scadenze */
	$rs2 = $dbo->fetchArray("SELECT * FROM co_scadenziario WHERE iddocumento=\"".$iddocumento."\" ORDER BY `data_emissione` ASC");
	for( $i=0; $i<sizeof($rs2); $i++ ){
		$height -= 2;
	}


	$body .= "<tr>\n";
	$body .= "	<td style='height:".intval($height)."mm;' class='b-right'>&nbsp;</td>\n";
	$body .= "	<td class='b-right'></td>\n";
	$body .= "	<td class='b-right'></td>\n";
	$body .= "	<td class='b-right'></td>\n";
	$body .= "	<td class='b-right'></td>\n";
	$body .= "	<td></td>\n";
	$body .= "</tr>\n";

	$body .= "</tbody>\n";
	$body .= "</table><br/>\n";


	$imponibile_documento -= $sconto;
	$totale_documento = $totale_documento - $sconto + $totale_iva;




	/*
		SCADENZE  |  TOTALI
	*/
	//TABELLA PRINCIPALE
	$footer .= "<table style='margin-left:2.5mm; border:1px solid #aaa;' cellspacing='0'>\n";

	//Riga 1
	$footer .= "	<tr>\n";
	$footer .= "	<td style='width:158.6mm;' valign='top' align='center' class='b-right'>\n";
	//$footer .= "		<small><small><b>SCADENZE</b></small></small>\n";
	$footer .= "	</td>\n";
	$footer .= "	<td style='width:33mm;' valign='top' class='b-bottom'>\n";
	$footer .= "		<small><small><b>TOTALE IMPONIBILE</b></small></small>\n";
	$footer .= "	</td></tr>\n";


	//Dati riga 1
	$footer .= "	<tr><td rowspan='10' valign='top' class='b-right cell-padded'>\n";
	
	//Tabella (scadenze + iva)
	$footer .= "		<table align='left' border=\"0\" >\n";
	$footer .= "			<tr>\n";
	
	
	//Elenco scadenze
	$rs2 = $dbo->fetchArray("SELECT * FROM co_scadenziario WHERE iddocumento=\"".$iddocumento."\" ORDER BY `data_emissione` ASC");
	$footer .= "			<td style='width:20mm;'>\n";
	$footer .= "				<small><small>&nbsp;<b><u>SCADENZE PAGAMENTI</u></b></small></small>\n";
	
	
	if (sizeof($rs2) > 0){
		$footer .= "				<table style='width:60mm;'>\n";
		for( $i=0; $i<sizeof($rs2); $i++ ){
			$footer .= "					<tr><td style='width:50%;' class='b-bottom'>\n";
			$footer .= "						<small>".date( "d/m/Y", strtotime($rs2[$i]['scadenza']) )."</small>\n";
			$footer .= "					</td>\n";

			$footer .= "					<td style='width:50%;' align='right' class='b-bottom' >\n";
			$footer .= "						<small>".number_format( $rs2[$i]['da_pagare'], 2, ",", "." )." &euro;</small>\n";
			$footer .= "					</td></tr>\n";
		}
		$footer .= "				</table>\n";
	}else{
		$footer .= "				<table style='width:60mm;'>\n";
		$footer .= "					<tr><td style='width:50%;'>\n";
		$footer .= "&nbsp;";
		$footer .= "					</td>\n";
		$footer .= "					<td style='width:50%;' align='right'>\n";
		$footer .= "&nbsp;";
		$footer .= "					</td></tr>\n";
		$footer .= "				</table>\n";
	}


	$footer .= "			</td>\n";
	//Fine elenco scadenze

	//Separatore
	$footer .= "			<td style='width:17mm;'>&nbsp;</td>\n";


	//Tabella iva
	$footer .= "			<td style='width:70mm;'>\n";
	$footer .= "				<small><small>&nbsp;<b><u>TABELLA IVA</u></b></small></small>\n";
	if( sizeof($v_iva) > 0 ){
		
		$footer .= "				<table>\n";

		$footer .= "					<tr><td style='width:30mm;' valign='top' align='center' class='b-bottom'>\n";
		$footer .= "						<small><small><small><b>ALIQUOTA IVA</b></small></small></small>\n";
		$footer .= "					</td>\n";

		$footer .= "					<td style='width:20mm;' valign='top' align='center' class='b-bottom'>\n";
		$footer .= "						<small><small><small><b>IMPORTO</b></small></small></small>\n";
		$footer .= "					</td>\n";

		$footer .= "					<td style='width:20mm;' valign='top' align='center' class='b-bottom'>\n";
		$footer .= "						<small><small><small><b>IMPORTO IVA</b></small></small></small>\n";
		$footer .= "					</td></tr>\n";

		foreach( $v_iva as $desc_iva => $tot_iva ){
			if( $desc_iva != '' ){
				$footer .= "					<tr><td style='width:30mm;' valign='top' class='b-bottom'>\n";
				$footer .= "						<small>".$desc_iva."</small>\n";
				$footer .= "					</td>\n";

				$footer .= "					<td style='width:20mm;' valign='top' align='right' class='b-bottom'>\n";
				if ( $stampa_prezzi == '1' ) $footer .= "						<small>".number_format($v_totale[$desc_iva], 2, ",", ".")." &euro;</small>\n";
				$footer .= "					</td>\n";

				$footer .= "					<td style='width:20mm;' valign='top' align='right' class='b-bottom'>\n";
				if ( $stampa_prezzi == '1' ) $footer .= "						<small>".number_format($v_iva[$desc_iva], 2, ",", ".")." &euro;</small>\n";
				$footer .= "					</td></tr>\n";
			}
		}
		
		$footer .= "				</table>\n";
		
	}
	
	$footer .= "			</td></tr>\n";
	//Fine tabelle iva
	$footer .= "		</table>\n";
	//Fine tabella (scadenze + iva)	
	$footer .= "	</td>\n";
	
	//TOTALE IMPONIBILE
	$footer .= "	<td valign='top' style='text-align:right;' class='b-bottom cell-padded'>\n";
	if ( $stampa_prezzi == '1' )  $footer .= "		".number_format( $imponibile_documento, 2, ",", "." )." &euro;\n";
	$footer .= "	</td></tr>\n";

	$testo_iva="TOTALE IVA";
	if ( $split_p == '1' ) $testo_iva="IVA A CARICO DEL DESTINATARIO:";
	

	//Riga 2
	$footer .= "	<tr><td style='width:33mm;' valign='top' class='b-bottom'>\n";
	$footer .= "		<small><small><b>".$testo_iva."</b></small></small>\n";
	$footer .= "	</td></tr>\n";

	$footer .= "	<tr><td valign='top' style='text-align:right;' class='b-bottom cell-padded'>\n";
	if ( $stampa_prezzi == '1' ) $footer .= "		".number_format( $totale_iva, 2, ",", "." )." &euro;\n";
	$footer .= "	</td></tr>\n";


	
	

	
	

	//Mostra INPS se c'è
	if( abs($rs[0]['rivalsainps'])>0 ){
		$footer .= "<tr><td valign='top' class='b-bottom'>\n";
		$footer .= "	<small><small><b>Rivalsa INPS:</b></small></small>\n";
		$footer .= "</td></tr>\n";

		$rivalsa_inps = str_replace( ",", ".", $rs[0]['rivalsainps'] );

		//Rivalsa INPS
		$footer .= "	<tr><td valign='top' style='text-align:right;' class='b-bottom cell-padded'>\n";
		if ( $stampa_prezzi == '1' ) $footer .= "		".number_format( $rivalsa_inps, 2, ",", "." )." &euro;\n";
		$footer .= "	</td></tr>\n";

		$totale_documento += $rivalsa_inps;
	}


	
	//Mostra marca da bollo se c'è
	if( abs($rs[0]['bollo'])>0 ){
		$footer .= "	<tr><td valign='top' class='b-bottom'>\n";
		$footer .= "		<small><small><b>Marca da Bollo</b></small></small>\n";
		$footer .= "	</td></tr>\n";


		$marca_da_bollo = str_replace( ",", ".", $rs[0]['bollo'] );
			
		$footer .= "	<tr><td valign='top' style='text-align:right;' class='b-bottom cell-padded'>\n";
		if ( $stampa_prezzi == '1' ) $footer .= "		".number_format( $marca_da_bollo, 2, ",", "." )." &euro;\n";
		$footer .= "	</td></tr>\n";
		
		$totale_documento += $marca_da_bollo;
	}

	
	
	//Split
	if( $split_p == '1' ){
		$footer .= "<tr><td valign='top' class='b-bottom'>\n";
		$footer .= "	<small><small><b>TOTALE DOCUMENTO</b></small></small>\n";
		$footer .= "</td></tr>\n";

		$footer .= "	<tr><td valign='top' style='text-align:right;' class='b-bottom cell-padded'>\n";
			if ( $stampa_prezzi == '1' ) $footer .= "		".number_format( $totale_documento, 2, ",", "." )." &euro;\n";
		$footer .= "	</td></tr>\n";
		$totale_documento -= $totale_iva;
	}
	
	
	$testo_totale="TOTALE DOCUMENTO";
	if ( $split_p == '1' ) $testo_totale="NETTO A PAGARE:";

	//Riga 3
	$footer .= "	<tr><td valign='top' class='b-bottom'>\n";
	$footer .= "		<small><small><b>".$testo_totale."</b></small></small>\n";
	$footer .= "	</td></tr>\n";

	$footer .= "	<tr><td valign='top' style='text-align:right;' class='cell-padded'>\n";
	if ( $stampa_prezzi == '1' ) $footer .= "		".number_format( $totale_documento, 2, ",", "." )." &euro;\n";
	$footer .= "	</td></tr>\n";

	

	//Riga 4 (opzionale, solo se c'è la ritenuta d'acconto)
	if( $rs[0]['ritenutaacconto'] != 0 ){
		$rs2 = $dbo->fetchArray("SELECT percentuale FROM co_ritenutaacconto WHERE id=(SELECT idritenutaacconto FROM co_righe_documenti WHERE iddocumento='".$iddocumento."' AND idritenutaacconto!=0 LIMIT 0,1)");

		$footer .= "	<tr><td valign='top' class='b-bottom b-top'>\n";
		$footer .= "		<small><small><b>RITENUTA D'ACCONTO ".intval( $rs2[0]['percentuale'] )."%</b></small></small>\n";
		$footer .= "	</td></tr>\n";

		$footer .= "	<tr><td valign='top' style='text-align:right;' class='b-bottom cell-padded'>\n";
		if ( $stampa_prezzi == '1' ) $footer .= "		".number_format( $rs[0]['ritenutaacconto'], 2, ",", "." )." &euro;\n";
		$footer .= "	</td></tr>\n";



		$footer .= "	<tr><td valign='top' class='b-bottom'>\n";
		$footer .= "		<small><small><b>NETTO A PAGARE</b></small></small>\n";
		$footer .= "	</td></tr>\n";

		$footer .= "	<tr><td valign='top' style='text-align:right;' class='cell-padded'>\n";
		if ( $stampa_prezzi == '1' ) $footer .= "		".number_format( $totale_documento - $rs[0]['ritenutaacconto'], 2, ",", "." )." &euro;\n";
		$footer .= "	</td></tr>\n";
	}


	$footer .= "</table>\n";

	
	



	$report_name = "fattura_".$numero.".pdf";
?>