<?php

##################################################################################
#    PHP-RESIDENCE
#    Copyright (C) 2001-2010 by Marco Maria Francesco De Santis (marco@digitaldruid.net)
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Affero General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    any later version accepted by Marco Maria Francesco De Santis, which
#    shall act as a proxy as defined in Section 14 of version 3 of the
#    license.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
##################################################################################

$pag = "punto_vendita.php";
$titolo = "Punto vendita Php-Residence";

include("./dati/dati_connessione.php");
include("./includes/funzioni_$PHPR_DB_TYPE.php");
$numconnessione = connetti_db($PHPR_DB_NAME,$PHPR_DB_HOST,$PHPR_DB_PORT,$PHPR_DB_USER,$PHPR_DB_PASS,$PHPR_LOAD_EXT);
include("./includes/funzioni.php");
include("./dati/lingua.php");
include("./includes/sett_gio.php");
include("./includes/funzioni_tariffe.php");
include("./includes/funzioni_costi_agg.php");
include("./includes/sett_gio.php");
$tablenometariffe = $PHPR_TAB_PRE."ntariffe".$anno;
$tableprenota = $PHPR_TAB_PRE."prenota".$anno;
$tableperiodi = $PHPR_TAB_PRE."periodi".$anno;
$tableregole = $PHPR_TAB_PRE."regole".$anno;
$tableanni = $PHPR_TAB_PRE."anni";
$tableclienti = $PHPR_TAB_PRE."clienti";
$tablepersonalizza = $PHPR_TAB_PRE."personalizza";
$tableutenti = $PHPR_TAB_PRE."utenti";
$tablecontratti = $PHPR_TAB_PRE."contratti";
$tablerclientiprenota = $PHPR_TAB_PRE."rclientiprenota".$anno;
$tablecostiprenota = $PHPR_TAB_PRE."costiprenota".$anno;
$tablecosti = $PHPR_TAB_PRE."costi".$anno;
$tablerclientiprenota = $PHPR_TAB_PRE."rclientiprenota".$anno;
$tablerelinventario = $PHPR_TAB_PRE."relinventario";


$id_utente = controlla_login($numconnessione,$PHPR_TAB_PRE,$id_sessione,$nome_utente_phpr,$password_phpr,$anno);
if ($id_utente) {

if ($id_utente != 1) {
$tableprivilegi = $PHPR_TAB_PRE."privilegi";
$tablerelgruppi = $PHPR_TAB_PRE."relgruppi";
$privilegi_annuali_utente = esegui_query("select * from $tableprivilegi where idutente = '$id_utente' and anno = '$anno'");
if (numlin_query($privilegi_annuali_utente) == 0) $anno_utente_attivato = "NO";
else {
$anno_utente_attivato = "SI";
$privilegi_globali_utente = esegui_query("select * from $tableprivilegi where idutente = '$id_utente' and anno = '1'");
$priv_vedi_tab = risul_query($privilegi_annuali_utente,0,'priv_vedi_tab');
$priv_vedi_tab_prenotazioni = substr($priv_vedi_tab,1,1);
$priv_ins_clienti = risul_query($privilegi_globali_utente,0,'priv_ins_clienti');
$vedi_clienti = "NO";
if (substr($priv_ins_clienti,2,1) == "s") $vedi_clienti = "SI";
if (substr($priv_ins_clienti,2,1) == "p") $vedi_clienti = "PROPRI";
if (substr($priv_ins_clienti,2,1) == "g") { $vedi_clienti = "GRUPPI"; $prendi_gruppi = "SI"; }
$contratti_consentiti = risul_query($privilegi_annuali_utente,0,'contratti_consentiti');
$attiva_contratti_consentiti = substr($contratti_consentiti,0,1);
if ($attiva_contratti_consentiti == "s") {
$contratti_consentiti = explode(",",substr($contratti_consentiti,2));
unset($contratti_consentiti_vett);
for ($num1 = 0 ; $num1 < count($contratti_consentiti) ; $num1++) if ($contratti_consentiti[$num1]) $contratti_consentiti_vett[$contratti_consentiti[$num1]] = "SI";
} # fine if ($attiva_contratti_consentiti == "s")
$priv_mod_prenota = risul_query($privilegi_annuali_utente,0,'priv_mod_prenota');
$priv_mod_prenotazioni = substr($priv_mod_prenota,0,1);
if ($priv_mod_prenotazioni == "g") $prendi_gruppi = "SI";
$priv_mod_costi_agg = substr($priv_mod_prenota,8,1);
$priv_mod_prenota_iniziate = substr($priv_mod_prenota,11,1);
$priv_mod_prenota_ore = substr($priv_mod_prenota,12,3);
$costi_agg_consentiti = risul_query($privilegi_annuali_utente,0,'costi_agg_consentiti');
$attiva_costi_agg_consentiti = substr($costi_agg_consentiti,0,1);
if ($attiva_costi_agg_consentiti == "s") {
$costi_agg_consentiti = explode(",",substr($costi_agg_consentiti,2));
unset($costi_agg_consentiti_vett);
for ($num1 = 0 ; $num1 < count($costi_agg_consentiti) ; $num1++) if ($costi_agg_consentiti[$num1]) $costi_agg_consentiti_vett[$costi_agg_consentiti[$num1]] = "SI";
} # fine if ($attiva_costi_agg_consentiti == "s")
$contratti_consentiti = risul_query($privilegi_annuali_utente,0,'contratti_consentiti');
$attiva_contratti_consentiti = substr($contratti_consentiti,0,1);
if ($attiva_contratti_consentiti == "s") {
$contratti_consentiti = explode(",",substr($contratti_consentiti,2));
unset($contratti_consentiti_vett);
for ($num1 = 0 ; $num1 < count($contratti_consentiti) ; $num1++) if ($contratti_consentiti[$num1]) $contratti_consentiti_vett[$contratti_consentiti[$num1]] = "SI";
} # fine if ($attiva_contratti_consentiti == "s")
$priv_ins_costi = risul_query($privilegi_annuali_utente,0,'priv_ins_costi');
$priv_ins_entrate = substr($priv_ins_costi,1,1);
$priv_persona_ins_costi = substr($priv_ins_costi,3,1);
} # fine else if (numlin_query($privilegi_annuali_utente) == 0)

unset($utenti_gruppi);
$utenti_gruppi[$id_utente] = 1;
if ($prendi_gruppi == "SI") {
$gruppi_utente = esegui_query("select idgruppo from $tablerelgruppi where idutente = '$id_utente' and idgruppo is not NULL ");
$num_gruppi_utente = numlin_query($gruppi_utente);
for ($num1 = 0 ; $num1 < $num_gruppi_utente ; $num1++) {
$idgruppo = risul_query($gruppi_utente,$num1,'idgruppo');
$utenti_gruppo = esegui_query("select idutente from $tablerelgruppi where idgruppo = '$idgruppo' ");
$num_utenti_gruppo = numlin_query($utenti_gruppo);
for ($num2 = 0 ; $num2 < $num_utenti_gruppo ; $num2++) $utenti_gruppi[risul_query($utenti_gruppo,$num2,'idutente')] = 1;
} # fine for $num1
} # fine if ($prendi_gruppi == "SI")
} # fine if ($id_utente != 1)

else {
$anno_utente_attivato = "SI";
$priv_vedi_tab_prenotazioni = "s";
$vedi_clienti = "SI";
$attiva_contratti_consentiti = "n";
$priv_mod_prenotazioni = "s";
$priv_mod_costi_agg = "s";
$priv_mod_prenota_iniziate = "s";
$priv_mod_prenota_ore = "000";
$attiva_costi_agg_consentiti = "n";
$attiva_contratti_consentiti = "n";
$priv_ins_entrate = "s";
$priv_persona_ins_costi = "c";
} # fine else if ($id_utente != 1)


if (defined("C_MASSIMO_NUM_COSTI") and C_MASSIMO_NUM_COSTI != 0 and $priv_ins_entrate == "s") {
$num_costi_esistenti = esegui_query("select idcosti from $tablecosti");
$num_costi_esistenti = numlin_query($num_costi_esistenti);
if ($num_costi_esistenti >= (C_MASSIMO_NUM_COSTI + 1)) $priv_ins_entrate = "n";
} # fine if (defined("C_MASSIMO_NUM_COSTI") and C_MASSIMO_NUM_COSTI != 0 and...


if ($anno_utente_attivato == "SI" and $priv_mod_prenotazioni != "n" and $priv_mod_costi_agg == "s") {


if ($tema[$id_utente] and $tema[$id_utente] != "base" and @is_dir("./themes/".$tema[$id_utente]."/php")) include("./themes/".$tema[$id_utente]."/php/head.php");
else include("./includes/head.php");


$Euro = nome_valuta();
$stile_soldi = stile_soldi();
$stile_data = stile_data();


$dati_tariffe = dati_tariffe($tablenometariffe,"","",$tableregole);
$dati_ca = dati_costi_agg_ntariffe($tablenometariffe,$dati_tariffe['num']);
$id_periodo_corrente = calcola_id_periodo_corrente($anno);
$attiva_checkin = esegui_query("select valpersonalizza from $tablepersonalizza where idpersonalizza = 'attiva_checkin' and idutente = '$id_utente'");
$attiva_checkin = risul_query($attiva_checkin,0,'valpersonalizza');

function rowbgcolor () {
global $rowbgcolor,$t2row1color,$t2row2color;
if ($rowbgcolor == $t2row2color) $rowbgcolor = $t2row1color;
else $rowbgcolor = $t2row2color;
return $rowbgcolor;
} # fine function rowbgcolor



if ($inprenota and $id_prenota) {
$tabelle_lock = array($tablecostiprenota,$tablerelinventario);
$altre_tab_lock = array($tableprenota,$tableperiodi);
$tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock);
} # fine if ($inprenota and $id_prenota)


if ($canc_idprenota or $azzera) $id_prenota = "";
if ($id_prenota) {
$id_prenota = aggslashdb($id_prenota);
$dati_prenota = esegui_query("select * from $tableprenota where idprenota = '$id_prenota'");
if (!numlin_query($dati_prenota)) $id_prenota = "";
else {
if ($priv_mod_prenotazioni == "p" or $priv_mod_prenotazioni == "g") {
$utente_inserimento = risul_query($dati_prenota,0,'utente_inserimento');
if ($priv_mod_prenotazioni == "p" and $utente_inserimento != $id_utente) $id_prenota = "";
if ($priv_mod_prenotazioni == "g" and !$utenti_gruppi[$utente_inserimento]) $id_prenota = "";
} # fine if ($priv_mod_prenotazioni == "p" or $priv_mod_prenotazioni == "g")
if ($priv_mod_prenota_iniziate != "s") {
$id_inizio_prenota = risul_query($dati_prenota,0,'iddatainizio');
if ($id_periodo_corrente >= $id_inizio_prenota) $id_prenota = "";
} # fine if ($priv_mod_prenota_iniziate != "s")
if ($priv_mod_prenota_ore != "000") {
$adesso = date("YmdHis",(time() + (C_DIFF_ORE * 3600)));
$data_ins = risul_query($dati_prenota,0,'datainserimento');
$limite = date("YmdHis",mktime((substr($data_ins,11,2) + $priv_mod_prenota_ore),substr($data_ins,14,2),substr($data_ins,17,2),substr($data_ins,5,2),substr($data_ins,8,2),substr($data_ins,0,4)));
if ($adesso > $limite) $id_prenota = "";
} # fine if ($priv_mod_prenota_ore != "000")
if ($attiva_checkin == "SI") {
$checkin = risul_query($dati_prenota,0,'checkin');
$checkout = risul_query($dati_prenota,0,'checkout');
if (!$checkin or $checkout) $id_prenota = "";
} # fine if ($attiva_checkin == "SI")
else {
$id_inizio_prenota = risul_query($dati_prenota,0,'iddatainizio');
$id_fine_prenota = risul_query($dati_prenota,0,'iddatafine');
if ($id_inizio_prenota > $id_periodo_corrente or $id_fine_prenota < $id_periodo_corrente) $id_prenota = "";
} # fine else if ($attiva_checkin == "SI")
} # fine else if (!numlin_query($dati_prenota))
if ($id_prenota) {
$idinizioperiodo = risul_query($dati_prenota,0,'iddatainizio');
$idfineperiodo = risul_query($dati_prenota,0,'iddatafine');
$app_prenota = risul_query($dati_prenota,0,'idappartamenti');
$d_tariffa = risul_query($dati_prenota,0,'tariffa');
$d_tariffa = explode("#@&",$d_tariffa);
$d_nome_tariffa = $d_tariffa[0];
$d_costo_tariffa = (double) $d_tariffa[1];
$d_sconto = (double) risul_query($dati_prenota,0,'sconto');
if (!$d_sconto) $d_sconto = (double) 0;
$d_caparra = risul_query($dati_prenota,0,'caparra');
$d_num_persone = risul_query($dati_prenota,0,'num_persone');
if (!$d_num_persone) $d_num_persone = 0;
$d_tariffesettimanali = risul_query($dati_prenota,0,'tariffesettimanali');
unset($num_letti_agg);
$dati_cap = dati_costi_agg_prenota($tablecostiprenota,$id_prenota);
$d_costo_agg_tot = (double) 0;
for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) {
aggiorna_letti_agg_in_periodi($dati_cap,$numca,$num_letti_agg,$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],$dati_cap[$numca]['moltiplica_costo'],"","");
$d_prezzo_costo_agg[$numca] = (double) calcola_prezzo_totale_costo($dati_cap,$numca,$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],$dati_cap[$numca]['moltiplica_costo'],$d_costo_tariffa,$d_tariffesettimanali,($d_costo_tariffa + $d_costo_agg_tot - $d_sconto),$d_caparra);
$d_costo_agg_tot = (double) $d_costo_agg_tot + $d_prezzo_costo_agg[$numca];
} # fine for $numca
$d_pagato = risul_query($dati_prenota,0,'pagato');
if (!$d_pagato) $d_pagato = 0;
$tipotariffa = "";
for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa++) {
$tariffa = "tariffa".$numtariffa;
if ($d_nome_tariffa == $tariffa or $d_nome_tariffa == $dati_tariffe[$tariffa]['nome']) $tipotariffa = $tariffa;
} # fine for $numtariffa
} # fine if ($id_prenota)
} # fine if ($id_prenota)



$azione = 0;
if ($azzera) {
$azione = 1;
$id_costi = "";
} # fine if ($azzera)

if ($agg_costo and strcmp($dati_ca['id'][$agg_costo],"") and !$azione) {
$azione = 1;
if ($id_costi) $id_costi .= ",";
$id_costi .= $agg_costo;
} # fine if ($agg_costo and strcmp($dati_ca['id'][$agg_costo],"") and...

if (strcmp($canc_costo,"") and !$azione) {
$azione = 1;
$costi = explode(",",$id_costi);
$num_costi = count($costi);
$id_costi = "";
for ($num1 = 0 ; $num1 < $num_costi ; $num1++) if ($num1 != $canc_costo) $id_costi .= $costi[$num1].",";
$id_costi = substr($id_costi,0,-1);
} # fine if (strcmp($canc_costo,"") and !$azione)

if ((($moltiplica == 2 or $moltiplica == 10) or ($aggiungi >= 1 and $aggiungi <= 9) or $sottrai == 1) and $id_costi and !$azione) {
$azione = 1;
$costi = explode(",",$id_costi);
$ultimo_costo = $costi[(count($costi) - 1)];
$id_costi = substr($id_costi,0,(-1 * (strlen($ultimo_costo) + 1)));
$ultimo_costo = explode("x",$ultimo_costo);
$molt_ultimo_costo = $ultimo_costo[1];
$ultimo_costo = $ultimo_costo[0];
$num_uc = $dati_ca['id'][$ultimo_costo];
if ($dati_ca[$num_uc]['moltiplica'] == "c") {
if (!$molt_ultimo_costo) $molt_ultimo_costo = 1;
if ($moltiplica) $moltiplica = $molt_ultimo_costo * $moltiplica;
if ($aggiungi) $moltiplica = $molt_ultimo_costo + $aggiungi;
if ($sottrai) $moltiplica = $molt_ultimo_costo - $sottrai;
if ($moltiplica) {
if ($id_costi) $id_costi .= ",";
$id_costi .= $ultimo_costo;
if ($moltiplica > 1) $id_costi .= "x$moltiplica";
} # fine if ($moltiplica)
} # fine if ($dati_ca[$num_uc]['moltiplica'] == "c")
else {
if ($aggiungi) $moltiplica = $aggiungi + 1;
for ($num1 = 1 ; $num1 <= $moltiplica ; $num1++) $id_costi .= ",".$ultimo_costo;
if (substr($id_costi,0,1) == ",") $id_costi = substr($id_costi,1);
} # fine else if ($dati_ca[$num_uc]['moltiplica'] == "c")
} # fine if ((($moltiplica == 2 or $moltiplica == 10) or...



$val_tot = 0;
$errore_cassa = 0;
$errore_prenota = 0;
unset($errori_costi);
$errori_costi[-1] = 0;
unset($val_costo);
unset($settimane_costo);
unset($n_moltiplica_costo);
unset($moltiplica_costo);
unset($moltiplica_max);
unset($beniinv_presenti);
unset($num_costi_presenti);

if ($id_costi)  {

$costi = explode(",",$id_costi);
$num_costi = count($costi);
$num_costo = 0;
$testo_costi = "";
$id_costi_orig = $id_costi;
$id_costi = "";

for ($num1 = 0 ; $num1 < $num_costi ; $num1++) {
$id_costo = explode("x",$costi[$num1]);
$molt_costo = $id_costo[1];
$id_costo = $id_costo[0];
$numca = $dati_ca['id'][$id_costo];
if ($dati_ca[$numca]['moltiplica'] != "c") $molt_costo = "";
if (strcmp($numca,"")) {
if ($attiva_costi_agg_consentiti == "n" or $costi_agg_consentiti_vett[$id_costo] == "SI") {

if ($id_costi) $id_costi .= ",";
$id_costi .= $id_costo;
if ($molt_costo) $id_costi .= "x$molt_costo";
if ($testo_costi) $testo_costi .= ", ";
$testo_costi .= $dati_ca[$numca]['nome'];
if ($molt_costo) $testo_costi .= " x$molt_costo";
if (!$molt_costo) $molt_costo = 1;

if ($id_prenota) {
if (str_replace(",$app_prenota,","",",".$dati_ca[$numca]['appincompatibili'].",") != ",".$dati_ca[$numca]['appincompatibili'].",") {
$errori_costi[$num_costo] .= ", ".mex("appartamento incompatibile",$pag);
$errore_prenota = 1;
} # fine if (str_replace(",$app_prenota,","",",".$dati_ca[$numca]['appincompatibili'].",") != ",".$dati_ca[$numca]['appincompatibili'].",")
$periodo_costo_trovato = trova_periodo_permesso_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,"1");
if ($periodo_costo_trovato == "NO") {
$errori_costi[$num_costo] .= ", ".mex("periodo non permesso",$pag);
$errore_prenota = 1;
} # fine if ($periodo_costo_trovato == "NO")
if ($dati_ca[$numca]["incomp_".$tipotariffa] == "i") {
$errori_costi[$num_costo] .= ", ".mex("tariffa incompatibile",$pag);
$errore_prenota = 1;
} # fine if ($dati_ca[$numca]["incomp_".$tipotariffa] == "i")

$id_periodi_costo = "id_periodi_costo".$num_costo;
if ($$id_periodi_costo == "inserire") {
$$id_periodi_costo = "";
for ($num2 = $idinizioperiodo; $num2 <= $idfineperiodo; $num2++) {
if (${"sett".$num2."costo".$num_costo} == "SI") $$id_periodi_costo .= ",".$num2;
} # fine for $num2
if ($$id_periodi_costo) $$id_periodi_costo .= ",";
else $$id_periodi_costo = "nessuno";
} # fine if ($$id_periodi_costo == "inserire")
if ($dati_ca[$numca]['numsett'] == "c" and $dati_ca[$numca]['associasett'] == "s" and !$$id_periodi_costo) {
echo "<hr style=\"width: 30%; margin-left: 0; text-align: left;\">
".mex("Scegliere $parola_le $parola_settimane in cui applicare il costo aggiuntivo",$pag)." ".$dati_ca[$numca]['nome']."$per_la_prenotazione:<br>
<form accept-charset=\"utf-8\" method=\"post\" action=\"punto_vendita.php#finetab\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<script type=\"text/javascript\">
<!--
function selsett (num) {
var sett = document.getElementById('sett'+num);
if (sett.checked) sett.checked = 0;
else sett.checked = 1;
} // fine function selsett
-->
</script>
<table style=\"text-align: center;\">";
for ($num2 = $idinizioperiodo; $num2 <= $idfineperiodo; $num2++) {
$periodo_costo_trovato = "NO";
if ($dati_ca[$numca]['periodipermessi'] == "p") {
for ($num3 = 0 ; $num3 < count($dati_ca[$numca]['sett_periodipermessi_ini']) ; $num3++) {
if ($dati_ca[$numca]['sett_periodipermessi_ini'][$num3] <= $num2 and $dati_ca[$numca]['sett_periodipermessi_fine'][$num3] >= $num2) $periodo_costo_trovato = "SI";
} # fine for $num3
} # fine if ($dati_ca[$num_costo]['periodipermessi'] == "p")
else $periodo_costo_trovato = "SI";
if ($periodo_costo_trovato == "SI") {
$date_sett_costo = esegui_query("select datainizio,datafine from $tableperiodi where idperiodi = '$num2'");
echo "<tr><td style=\"height: 50px; width: 30px\">
<input type=\"checkbox\" name=\"sett$num2"."costo$num_costo\" id=\"sett$num2\" value=\"SI\"></td><td onclick=\"selsett($num2)\">
".mex("dal",$pag)." ".formatta_data(risul_query($date_sett_costo,0,'datainizio'),$stile_data)." ".mex("al",$pag)." 
 ".formatta_data(risul_query($date_sett_costo,0,'datafine'),$stile_data)."</td></tr>";
} # fine if ($periodo_costo_trovato == "SI")
} # fine for $num2
echo "</table>";
$$id_periodi_costo = "inserire";
for ($numca2 = 0 ; $numca2 <= $num_costo ; $numca2++) if (${"id_periodi_costo".$numca2}) echo "<input type=\"hidden\" name=\"id_periodi_costo$numca2\" value=\"".${"id_periodi_costo".$numca2}."\">";
echo "<input type=\"hidden\" name=\"id_costi\" value=\"$id_costi_orig\">
<input type=\"hidden\" name=\"id_prenota\" value=\"$id_prenota\">
<input type=\"hidden\" name=\"categoria\" value=\"$categoria\">
<button class=\"pos\" type=\"submit\" style=\"height: 60px; width: 140px; margin: 2px;\"><b>".mex("Continua",$pag)."</b></button>
</div></form><hr align=\"left\" style=\"width: 30%; margin-left: 0; text-align: left;\">";
$blocca_schermo = 1;
$id_costi = "";
break;
} # fine if ($dati_ca[$numca]['numsett'] == "c" and $dati_ca[$numca]['associasett'] == "s" and...
else {
$id_periodi_costo_aux = $$id_periodi_costo;
$settimane_costo[$num_costo] = calcola_settimane_costo($tableperiodi,$dati_ca,$numca,$idinizioperiodo,$idfineperiodo,$id_periodi_costo_aux,"1");
aggiorna_letti_agg_in_periodi($dati_ca,$numca,$num_letti_agg,$idinizioperiodo,$idfineperiodo,$settimane_costo[$num_costo],"",$molt_costo,$d_num_persone);
} # fine else if ($dati_ca[$numca]['numsett'] == "c" and $dati_ca[$numca]['associasett'] == "s" and...

if (($dati_ca[$numca]['moltiplica'] == "p" or $dati_ca[$numca]['moltiplica'] == "t") and !$d_num_persone) {
$errori_costi[$num_costo] .= ", ".mex("manca numero di persone",$pag);
$errore_prenota = 1;
$errore_cassa = 1;
} # fine if (($dati_ca[$numca][moltiplica] == "p" or $dati_ca[$numca][moltiplica] == "t") and !$d_num_persone)
} # fine if ($id_prenota)

else {
$idinizioperiodo = $id_periodo_corrente;
$idfineperiodo = $id_periodo_corrente;
$settimane_costo[$num_costo] = calcola_settimane_costo($tableperiodi,$dati_ca,$numca,$idinizioperiodo,$idfineperiodo,",$id_periodo_corrente,","1");
calcola_moltiplica_costo($dati_ca,$numca,$moltiplica_costo[$num_costo],$idinizioperiodo,$idfineperiodo,$settimane_costo[$num_costo],$molt_costo,"1","");
if (trova_periodo_permesso_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,"1") == "NO") {
$errori_costi[$num_costo] .= ", ".mex("periodo non permesso",$pag);
$errore_prenota = 1;
$errore_cassa = 1;
} # fine if  (trova_periodo_permesso_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,"1") == "NO")
if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_ca,$numca,$num_costi_presenti,$idinizioperiodo,$idfineperiodo,$settimane_costo[$num_costo],$moltiplica_costo[$num_costo],"","") == "NO") {
$errori_costi[$num_costo] .= ", ".mex("numero massimo raggiunto",$pag);
$errore_prenota = 1;
$errore_cassa = 1;
} # fine if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_ca,$numca,$num_costi_presenti,$idinizioperiodo,$idfineperiodo,$settimane_costo[$num_costo],$moltiplica_costo[$num_costo],"","") == "NO")
if ($dati_ca[$numca]['tipo_beniinv'] == "mag") {
$nrc = "";
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_ca,$numca,$beniinv_presenti,$nrc,"SI",$idinizioperiodo,$idfineperiodo,$settimane_costo[$num_costo],$moltiplica_costo[$num_costo],"");
if ($risul != "SI") {
$errori_costi[$num_costo] .= ", ".mex("bene non presente in inventario",$pag);
$errore_prenota = 1;
$errore_cassa = 1;
} # fine if ($risul != "SI")
} # fine if ($dati_ca[$numca]['tipo_beniinv'] == "mag")
} # fine else if ($id_prenota)

if ($dati_ca[$numca]['tipo_val'] == "f" and $dati_ca[$numca]['tipo'] == "u" and $dati_ca[$numca]['moltiplica'] != "p" and $dati_ca[$numca]['moltiplica'] != "t") {
$val_costo[$num_costo] = $dati_ca[$numca]['valore'];
if ($molt_costo) $val_costo[$num_costo] = $val_costo[$num_costo] * $molt_costo;
$val_tot += $val_costo[$num_costo];
} # fine if ($dati_ca[$numca]['tipo_val'] == "f" and $dati_ca[$numca]['tipo'] == "u" and...
else {
if (!$id_prenota) {
$val_costo[$num_costo] = "?";
$errore_cassa = 1;
} # fine if (!$id_prenota)
} # fine else if ($dati_ca[$numca]['tipo_val'] == "f" and $dati_ca[$numca]['tipo'] == "u" and...

$num_costo++;
} # fine if ($attiva_costi_agg_consentiti == "n" or $costi_agg_consentiti_vett[$id_costo] == "SI")
} # fine if (strcmp($numca,""))
} # fine for $num1


if ($id_prenota and $id_costi) {
$costi = explode(",",$id_costi);
$num_costi = count($costi);
$n_costo_agg_tot = 0;
unset($num_ripetizioni_costo);

for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) {
if ($dati_cap[$numca]['moltiplica'] == "t") {
calcola_moltiplica_costo($dati_cap,$numca,$n_moltiplica_costo[$numca],$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],"",$d_num_persone,$num_letti_agg);
$num_costo = $dati_ca['id'][$dati_cap[$numca]['idntariffe']];
if ($dati_ca[$num_costo]['id'] == $dati_cap[$numca]['idntariffe'] and $dati_cap[$numca]['nome'] == $dati_ca[$num_costo]['nome'] and $dati_ca[$num_costo]['numlimite']) $num_limite = (string) $dati_ca[$num_costo]['numlimite'];
else $num_limite = (string) 0;
if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_cap,$numca,$num_costi_presenti,$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],$n_moltiplica_costo[$numca],$num_limite,"") == "NO") {
$errori_costi[-1] .= ", ".mex("numero massimo raggiunto",$pag);
$errore_prenota = 1;
} # fine if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_cap,$numca,$num_costi_presenti,$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],$n_moltiplica_costo[$numca],$num_limite,"") == "NO")
if ($dati_cap[$numca]['tipo_beniinv'] == "mag") {
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_cap,$numca,$beniinv_presenti,$num_ripetizioni_costo['cap'][$numca],"SI",$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],$n_moltiplica_costo[$numca],"");
if ($risul != "SI") {
$errori_costi[-1] .= ", ".mex("bene non presente in inventario",$pag);
$errore_prenota = 1;
$errore_cassa = 1;
} # fine if ($risul != "SI")
} # fine if ($dati_cap[$numca]['tipo_beniinv'] == "mag")
} # fine if ($dati_cap[$numca]['moltiplica'] == "t")
else $n_moltiplica_costo[$numca] = $dati_cap[$numca]['moltiplica_costo'];
} # fine for $numca

for ($num1 = 0 ; $num1 < $num_costi ; $num1++) {
$id_costo = explode("x",$costi[$num1]);
$molt_costo = $id_costo[1];
if (!$molt_costo) $molt_costo = 1;
$id_costo = $id_costo[0];
$numca = $dati_ca['id'][$id_costo];
$moltiplica_max[$num1] = calcola_moltiplica_costo($dati_ca,$numca,$moltiplica_costo[$num1],$idinizioperiodo,$idfineperiodo,$settimane_costo[$num1],$molt_costo,$d_num_persone,$num_letti_agg);
if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_ca,$numca,$num_costi_presenti,$idinizioperiodo,$idfineperiodo,$settimane_costo[$num1],$moltiplica_costo[$num1],"","") == "NO") {
$errori_costi[$num1] .= ", ".mex("numero massimo raggiunto",$pag);
$errore_prenota = 1;
} # fine if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_ca,$numca,$num_costi_presenti,$idinizioperiodo,$idfineperiodo,$settimane_costo[$num1],$moltiplica_costo[$num1],"","") == "NO")
if ($dati_ca[$numca]['tipo_beniinv']) {
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_ca,$numca,$beniinv_presenti,$num_ripetizioni_costo[$num1],"SI",$idinizioperiodo,$idfineperiodo,$settimane_costo[$num1],$moltiplica_costo[$num1],"");
if ($risul != "SI") {
$errori_costi[$num1] .= ", ".mex("bene non presente in inventario",$pag);
$errore_prenota = 1;
if ($dati_ca[$numca]['tipo_beniinv'] != "app") $errore_cassa = 1;
} # fine if ($risul != "SI")
} # fine if ($dati_ca[$numca]['tipo_beniinv'])
} # fine for $num1

# calcolo prezzo per costi già presenti
for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) {
if ($dati_cap[$numca]['tipo_val'] != "t" and $dati_cap[$numca]['tipo_val'] != "r") {
if ($dati_cap[$numca]['moltiplica'] == "t") {
$n_prezzo_costo_agg[$numca] = (double) calcola_prezzo_totale_costo($dati_cap,$numca,$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],$n_moltiplica_costo[$numca],$d_costo_tariffa,$d_tariffesettimanali,1,$d_caparra);
if ($n_prezzo_costo_agg[$numca] != $d_prezzo_costo_agg[$numca]) $val_costo[-1] += $n_prezzo_costo_agg[$numca] - $d_prezzo_costo_agg[$numca];
} # fine if ($dati_cap[$numca]['moltiplica'] == "t")
else $n_prezzo_costo_agg[$numca] = $d_prezzo_costo_agg[$numca];
$n_costo_agg_tot = $n_costo_agg_tot + $n_prezzo_costo_agg[$numca];
} # fine if $dati_cap[$numca][tipo_val] != "t" and $dati_cap[$numca][tipo_val] != "r")
} # fine for $numca
# calcolo prezzo per costi nuovi
for ($num1 = 0 ; $num1 < $num_costi ; $num1++) {
$id_costo = explode("x",$costi[$num1]);
$molt_costo = $id_costo[1];
$id_costo = $id_costo[0];
$numca = $dati_ca['id'][$id_costo];
if ($dati_ca[$numca]['tipo_val'] != "f" or $dati_ca[$numca]['tipo'] != "u" or $dati_ca[$numca]['moltiplica'] == "p" or $dati_ca[$numca]['moltiplica'] == "t") {
if ($dati_ca[$numca]['tipo_val'] != "t" and $dati_ca[$numca]['tipo_val'] != "r") {
$val_costo[$num1] = (double) calcola_prezzo_totale_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,$settimane_costo[$num1],$moltiplica_costo[$num1],$d_costo_tariffa,$d_tariffesettimanali,1,$d_caparra);
$n_costo_agg_tot = $n_costo_agg_tot + $val_costo[$num1];
$val_tot += $val_costo[$num1];
} # fine if ($dati_ca[$numca]['tipo_val'] != "t" and $dati_ca[$numca]['tipo_val'] != "r")
} # fine if ($dati_ca[$numca]['tipo_val'] != "f" or $dati_ca[$numca]['tipo'] != "u" or...
else $n_costo_agg_tot = $n_costo_agg_tot + $val_costo[$num1];
} # fine for $num1

# calcolo prezzo per costi percentuali sul resto della caparra già presenti
for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) {
if ($dati_cap[$numca]['tipo_val'] == "r") {
$costo_totale_provvisorio = $d_costo_tariffa + $n_costo_agg_tot - $d_sconto;
$n_prezzo_costo_agg[$numca] = (double) calcola_prezzo_totale_costo($dati_cap,$numca,$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],$n_moltiplica_costo[$numca],$d_costo_tariffa,$d_tariffesettimanali,$costo_totale_provvisorio,$d_caparra);
if ($d_prezzo_costo_agg[$numca] != $n_prezzo_costo_agg[$numca]) $val_costo[-1] += $n_prezzo_costo_agg[$numca] - $d_prezzo_costo_agg[$numca];
$n_costo_agg_tot = $n_costo_agg_tot + $n_prezzo_costo_agg[$numca];
} # fine if ($dati_cap[$numca][tipo_val] == "r")
} # fine for $numca
# calcolo prezzo per costi percentuali sul resto della caparra nuovi
for ($num1 = 0 ; $num1 < $num_costi ; $num1++) {
$id_costo = explode("x",$costi[$num1]);
$id_costo = $id_costo[0];
$numca = $dati_ca['id'][$id_costo];
if ($dati_ca[$numca]['tipo_val'] == "r") {
$costo_totale_provvisorio = $d_costo_tariffa + $n_costo_agg_tot - $d_sconto;
$val_costo[$num1] = (double) calcola_prezzo_totale_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,$settimane_costo[$num1],$moltiplica_costo[$num1],$d_costo_tariffa,$d_tariffesettimanali,$costo_totale_provvisorio,$d_caparra);
$n_costo_agg_tot = $n_costo_agg_tot + $val_costo[$num1];
$val_tot += $val_costo[$num1];
} # fine if ($dati_ca[$numca][tipo_val] == "r")
} # fine for $num1

# calcolo prezzo per costi percentuali sul totale già presenti
for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) {
if ($dati_cap[$numca]['tipo_val'] == "t") {
$costo_totale_provvisorio = $d_costo_tariffa + $n_costo_agg_tot - $d_sconto;
$n_prezzo_costo_agg[$numca] = (double) calcola_prezzo_totale_costo($dati_cap,$numca,$idinizioperiodo,$idfineperiodo,$dati_cap[$numca]['settimane'],$n_moltiplica_costo[$numca],$d_costo_tariffa,$d_tariffesettimanali,$costo_totale_provvisorio,$d_caparra);
if ($d_prezzo_costo_agg[$numca] != $n_prezzo_costo_agg[$numca]) $val_costo[-1] += $n_prezzo_costo_agg[$numca] - $d_prezzo_costo_agg[$numca];
$n_costo_agg_tot = $n_costo_agg_tot + $n_prezzo_costo_agg[$numca];
} # fine if ($dati_cap[$numca][tipo_val] == "t")
} # fine for $numca
# calcolo prezzo per costi percentuali sul totale nuovi
for ($num1 = 0 ; $num1 < $num_costi ; $num1++) {
$id_costo = explode("x",$costi[$num1]);
$id_costo = $id_costo[0];
$numca = $dati_ca['id'][$id_costo];
if ($dati_ca[$numca]['tipo_val'] == "t") {
$costo_totale_provvisorio = $d_costo_tariffa + $n_costo_agg_tot - $d_sconto;
$val_costo[$num1] = (double) calcola_prezzo_totale_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,$settimane_costo[$num1],$moltiplica_costo[$num1],$d_costo_tariffa,$d_tariffesettimanali,$costo_totale_provvisorio,$d_caparra);
$n_costo_agg_tot = $n_costo_agg_tot + $val_costo[$num1];
$val_tot += $val_costo[$num1];
} # fine if ($dati_ca[$numca][tipo_val] == "t")
} # fine for $num1


} # fine if ($id_prenota and $id_costi)

} # fine if ($id_costi)



if (!$blocca_schermo) {


$testo_azione = "";
if ($incassa and !$errore_cassa and $id_costi and $priv_ins_entrate == "s" and !$azione) {
$azione = 1;
$tabelle_lock = array($tablecosti,$tablerelinventario);
$altre_tab_lock = array($tableutenti);
$tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock);
$datainserimento = date("Y-m-d H:i:s",(time() + (C_DIFF_ORE * 3600)));
$val_entrata = formatta_soldi($val_tot);
$persona_costo = "";
if ($priv_persona_ins_costi == "u") {
$nome_utente = esegui_query("select * from $tableutenti where idutenti = '$id_utente'");
$nome_utente = risul_query($nome_utente,0,'nome_utente');
} # fine if ($priv_persona_ins_costi == "u")
$idcosti = esegui_query("select max(idcosti) from $tablecosti");
$idcosti = risul_query($idcosti,0,0) + 1;
esegui_query("insert into $tablecosti (idcosti,nome_costo,val_costo,persona_costo,provenienza_costo,tipo_costo,datainserimento,hostinserimento,utente_inserimento) values ('$idcosti','$testo_costi','$val_entrata','$persona_costo','$provenienza_costo','e','$datainserimento','$HOSTNAME','$id_utente') ");
$testo_azione = "<br>".mex("I costi sono stati inseriti <b>in cassa</b>",$pag).".<br><br>
<button class=\"pos\" type=\"submit\" style=\"height: 60px; width: 140px; margin: 2px;\"><b>".mex("OK",$pag)."</b></button>";
$costi = explode(",",$id_costi);
$num_costi = count($costi);

for ($num1 = 0 ; $num1 < $num_costi ; $num1++) {
$id_costo = explode("x",$costi[$num1]);
$molt_costo = $id_costo[1];
$id_costo = $id_costo[0];
$numca = $dati_ca['id'][$id_costo];
if ($dati_ca[$numca]['tipo_beniinv'] == "mag") {
$idmag = $dati_ca[$numca]['mag_beniinv'];
for ($num2 = 0 ; $num2 < $dati_ca[$numca]['num_beniinv'] ; $num2++) {
$id_beneinv = $dati_ca[$numca]['id_beneinv'][$num2];
esegui_query("update $tablerelinventario set quantita = '".$beniinv_presenti["mag".$idmag][$id_beneinv]."' where idbeneinventario = '$id_beneinv' and idmagazzino = '$idmag' ");
} # fine for $num2
} # fine ($dati_ca[$numca]['tipo_beniinv'] == "mag")
} # fine for $num1

unlock_tabelle($tabelle_lock);
} # fine if ($incassa and !$errore_cassa and...


if ($inprenota and !$errore_prenota and !$azione) {
$azione = 1;
if (!$id_prenota) {
if ($attiva_checkin == "SI") $dati_prenota = esegui_query("select * from $tableprenota where checkin is not NULL and checkout is NULL order by idappartamenti");
else $dati_prenota = esegui_query("select * from $tableprenota where iddatainizio <= '$id_periodo_corrente' and iddatafine >= '$id_periodo_corrente' order by idappartamenti ");
$num_prenota = numlin_query($dati_prenota);
$select_prenota = "";
for ($num1 = 0 ; $num1 < $num_prenota ; $num1++) {
$modifica_pren = 1;
if ($priv_mod_prenotazioni == "p" or $priv_mod_prenotazioni == "g") {
$utente_inserimento = risul_query($dati_prenota,$num1,'utente_inserimento');
if ($priv_mod_prenotazioni == "p" and $utente_inserimento != $id_utente) $modifica_pren = 0;
if ($priv_mod_prenotazioni == "g" and !$utenti_gruppi[$utente_inserimento]) $modifica_pren = 0;
} # fine if ($priv_mod_prenotazioni == "p" or $priv_mod_prenotazioni == "g")
if ($priv_mod_prenota_iniziate != "s") {
$id_inizio_prenota = risul_query($dati_prenota,$num1,'iddatainizio');
if ($id_periodo_corrente >= $id_inizio_prenota) $modifica_pren = 0;
} # fine if ($priv_mod_prenota_iniziate != "s")
if ($priv_mod_prenota_ore != "000") {
$adesso = date("YmdHis",(time() + (C_DIFF_ORE * 3600)));
$data_ins = risul_query($dati_prenota,$num1,'datainserimento');
$limite = date("YmdHis",mktime((substr($data_ins,11,2) + $priv_mod_prenota_ore),substr($data_ins,14,2),substr($data_ins,17,2),substr($data_ins,5,2),substr($data_ins,8,2),substr($data_ins,0,4)));
if ($adesso > $limite) $modifica_pren = 0;
} # fine if ($priv_mod_prenota_ore != "000")
if ($modifica_pren) {
$id_prenota = risul_query($dati_prenota,$num1,'idprenota');
$app_prenota = risul_query($dati_prenota,$num1,'idappartamenti');
$cliente_vedi = "";
if ($vedi_clienti != "NO") {
$ospiti = esegui_query("select idclienti from $tablerclientiprenota where idprenota = '$id_prenota' order by num_ordine ");
if (numlin_query($ospiti)) $id_clienti = risul_query($ospiti,0,'idclienti');
else $id_clienti = risul_query($dati_prenota,$num1,'idclienti');
$dati_cliente = esegui_query("select * from $tableclienti where idclienti = '$id_clienti' ");
$mostra_cliente = "SI";
if ($vedi_clienti == "PROPRI" or $vedi_clienti == "GRUPPI") {
$utente_inserimento = risul_query($dati_cliente,0,'utente_inserimento');
if ($vedi_clienti == "PROPRI" and $utente_inserimento != $id_utente) $mostra_cliente = "NO";
if ($vedi_clienti == "GRUPPI" and !$utenti_gruppi[$utente_inserimento]) $mostra_cliente = "NO";
} # fine elseif ($vedi_clienti == "PROPRI" or $vedi_clienti == "GRUPPI")
if ($mostra_cliente != "NO") {
$cliente_vedi = " (".risul_query($dati_cliente,0,'cognome');
if (risul_query($dati_cliente,0,'nome')) $cliente_vedi .= ", ".risul_query($dati_cliente,0,'nome');
$cliente_vedi .= ")";
} # fine if ($mostra_cliente != "NO")
} # fine if ($vedi_clienti != "NO")
$select_prenota .= "<option value=\"$id_prenota\">$app_prenota$cliente_vedi</option>";
} # fine if ($modifica_pren)
} # fine for $num1
if ($select_prenota) {
$testo_azione = "<input type=\"hidden\" name=\"id_costi\" value=\"$id_costi\">
<input type=\"hidden\" name=\"categoria\" value=\"$categoria\">";
/*if ($id_costi) {
$costi = explode(",",$id_costi);
$num_costi = count($costi);
for ($numca2 = 0 ; $numca2 < $num_costi ; $numca2++) if (${"id_periodi_costo".$numca2}) $testo_azione .= "<input type=\"hidden\" name=\"id_periodi_costo$numca2\" value=\"".${"id_periodi_costo".$numca2}."\">";
} # fine if ($id_costi)*/
$testo_azione .= "<br>".mex("Calcola i costi aggiuntivi sulla prenotazione dell'appartamento",$pag).":<br><br>
<select name=\"id_prenota\" style=\"font-size: xx-large;\">
$select_prenota</select>
<button class=\"pos\" type=\"submit\" style=\"height: 60px; width: 140px; margin: 2px;\"><b>".mex("Calcola",$pag)."</b></button>";
if ($id_costi) $testo_azione .= "<button class=\"pos\" type=\"submit\" name=\"inprenota\" value=\"1\" style=\"height: 60px; width: 140px; margin: 2px;\"><b>".mex("Inserisci i costi ora",$pag)."</b></button>";
$testo_azione .= "<button class=\"pos\" type=\"submit\" name=\"canc_idprenota\" value=\"1\" style=\"height: 60px; width: 140px; margin: 2px;\"><b>".mex("Annulla",$pag)."</b></button>";
} # fine if ($select_prenota)
else {
if ($attiva_checkin == "SI") $testo_azione = "<br>".mex("Attualmente non ci sono prenotazioni che abbiano registrato l'entrata",$pag).".<br><br>";
else $testo_azione = "<br>".mex("Oggi non ci sono prenotazioni",$pag).".<br><br>";
$testo_azione .= "<input type=\"hidden\" name=\"id_costi\" value=\"$id_costi\">
<input type=\"hidden\" name=\"categoria\" value=\"$categoria\">
<button class=\"pos\" type=\"submit\" style=\"height: 60px; width: 140px; margin: 2px;\"><b>".mex("OK",$pag)."</b></button>";
} # fine else if ($select_prenota)
} # fine if (!$id_prenota)

elseif ($id_costi) {
$datainserimento = date("Y-m-d H:i:s",(time() + (C_DIFF_ORE * 3600)));
$idcostiprenota = esegui_query("select max(idcostiprenota) from $tablecostiprenota");
$idcostiprenota = risul_query($idcostiprenota,0,0);

aggiorna_beniinv_presenti($tablerelinventario,$beniinv_presenti);

for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) {
if ($n_moltiplica_costo[$numca] != $dati_cap[$numca]['moltiplica_costo']) {
esegui_query("update $tablecostiprenota set moltiplica = '".$n_moltiplica_costo[$numca]."' where idcostiprenota = '".$dati_cap[$numca]['id']."' and idprenota = '$id_prenota' ");
} # fine if ($n_moltiplica_costo[$numca] != $dati_cap[$numca]['moltiplica_costo'])
} # fine for $numca

for ($num1 = 0 ; $num1 < $num_costi ; $num1++) {
$id_costo = explode("x",$costi[$num1]);
$id_costo = $id_costo[0];
$numca = $dati_ca['id'][$id_costo];
$sett_costo = $settimane_costo[$num1];
$moltiplica = $moltiplica_costo[$num1];
$idcostiprenota++;
$tipo_ca = $dati_ca[$numca]['tipo'].$dati_ca[$numca]['tipo_val'];
$valore_ca = $dati_ca[$numca]['valore'];
$associasett_ca = $dati_ca[$numca]['associasett'];
if ($dati_ca[$numca]['var_percentuale'] != "s" and $dati_ca[$numca]['tipo_val'] != "f") {
$tipo_ca = $dati_ca[$numca]['tipo']."f";
$moltiplica = 1;
if ($dati_ca[$numca]['tipo'] == "s") {
$sett_costo = 1;
$associasett_ca = "n";
} # fine if ($dati_ca[$numca][tipo] == "s")
$valore_ca = $val_costo[$num1];
} # fine if ($dati_ca[$numca][var_percentuale] != "s" and...
if ($dati_ca[$numca]['var_moltiplica'] == "s") $varmoltiplica_ca = $dati_ca[$numca]['moltiplica'];
else $varmoltiplica_ca = "c";
if ($dati_ca[$numca]['var_numsett'] == "s") $varnumsett_ca = $dati_ca[$numca]['numsett_orig'];
else $varnumsett_ca = "c";
if ($dati_ca[$numca]['var_periodip'] == "s") $varperiodipermessi_ca = $dati_ca[$numca]['periodipermessi_orig'];
else $varperiodipermessi_ca = "";
if ($dati_ca[$numca]['var_beniinv'] == "s") $varbeniinv_ca = $num_ripetizioni_costo[$num1].";".$dati_ca[$numca]['beniinv_orig'];
else $varbeniinv_ca = "";
if ($dati_ca[$numca]['var_appi'] == "s") $varappincompatibili_ca = $dati_ca[$numca]['appincompatibili'];
else $varappincompatibili_ca = "";
if ($dati_ca[$numca]['var_tariffea'] == "s") $vartariffeassociate_ca = $dati_ca[$numca]["tipo_associa_".$tipotariffa].$dati_ca[$numca][$tipotariffa];
else $vartariffeassociate_ca = "";
$vartariffeincomp_ca = "";
if ($dati_ca[$numca]['var_tariffei'] == "s") {
for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa++) {
if ($dati_ca[$numca]["incomp_tariffa".$numtariffa] == "i") $vartariffeincomp_ca .= ",".$numtariffa;
} # fine for $numtariffa
if ($vartariffeincomp_ca) $vartariffeincomp_ca = substr($vartariffeincomp_ca,1);
} # fine if ($dati_ca[$num_costo][var_tariffei] == "s")
esegui_query("insert into $tablecostiprenota (idcostiprenota,idprenota,tipo,nome,valore,associasett,settimane,moltiplica,letto,idntariffe,varmoltiplica,varnumsett,varperiodipermessi,varbeniinv,varappincompatibili,vartariffeassociate,vartariffeincomp,datainserimento,hostinserimento,utente_inserimento) values ('$idcostiprenota','$id_prenota','$tipo_ca','".aggslashdb($dati_ca[$numca]['nome'])."','$valore_ca','$associasett_ca','$sett_costo','$moltiplica','".$dati_ca[$numca]['letto']."','$idcostoagg','$varmoltiplica_ca','$varnumsett_ca','$varperiodipermessi_ca','$varbeniinv_ca','$varappincompatibili_ca','$vartariffeassociate_ca','$vartariffeincomp_ca','$datainserimento','$HOSTNAME','$id_utente')");
if (substr($tipo_ca,1,1) != "f") esegui_query("update $tablecostiprenota set arrotonda = '".$dati_ca[$numca]['arrotonda']."' where idcostiprenota = '$idcostiprenota'");
if ($dati_ca[$numca]['tasseperc']) esegui_query("update $tablecostiprenota set tasseperc = '".$dati_ca[$numca]['tasseperc']."' where idcostiprenota = '$idcostiprenota'");
} # fine for $num1

$testo_azione = "<br>".mex("I costi sono stati inseriti sulla prenotazione dell'appartamento",$pag)." <b>$app_prenota</b>.<br><br>
<button class=\"pos\" type=\"submit\" style=\"height: 60px; width: 140px; margin: 2px;\"><b>".mex("OK",$pag)."</b></button>";
} # fine elseif ($id_costi)
} # fine if ($inprenota and !$errore_prenota and !$azione)


if ($inprenota and $id_prenota) unlock_tabelle($tabelle_lock);



$testo_costi = "";
if ($val_costo[-1]) {
$testo_costi .= "<tr style=\"background-color: ".rowbgcolor().";\"><td style=\"width: 34px; height: 34px;\">&nbsp;</td>
<td>".mex("Altri costi prenotazione",$pag)."</td>
<td style=\"width: 40px; text-align: right;\">(".punti_in_num($val_costo[-1],$stile_soldi,"2").")</td></tr>";
$val_tot_pren = $val_tot + $val_costo[-1];
} # fine if ($val_costo[-1])
else $val_tot_pren = $val_tot;
if (!$id_costi) $num_costi = 0;
else {
$costi = explode(",",$id_costi);
$num_costi = count($costi);
} # fine else if (!$id_costi)
for ($num1 = 0 ; $num1 < $num_costi ; $num1++) {
$numca = explode("x",$costi[$num1]);
$molt_costo = $numca[1];
$numca = $dati_ca['id'][$numca[0]];
if ($moltiplica_max[$num1]) $molt_costo = $moltiplica_max[$num1];
elseif ($dati_ca[$numca]['moltiplica'] == "p" or $dati_ca[$numca]['moltiplica'] == "t") $molt_costo = "?";
if ($molt_costo and $molt_costo != 1) $molt_costo = " <b>x$molt_costo</b>";
else $molt_costo = "";
if ($errori_costi[$num1]) $redclass = " class=\"colred\" title=\"".substr($errori_costi[$num1],2)."\"";
else $redclass = "";
if ($val_costo[$num1] != "?") $val_costo[$num1] = punti_in_num($val_costo[$num1],$stile_soldi,"2");
$testo_costi .= "<tr style=\"background-color: ".rowbgcolor().";\"><td style=\"width: 34px; height: 34px;\">";
if ($testo_azione) $testo_costi .= "&nbsp;";
else $testo_costi .= "<button class=\"pos\" type=\"submit\" name=\"canc_costo\" value=\"$num1\" style=\"padding: 0;\"><img style=\"display: block; padding: 0; border: 0; margin: 0;\" src=\"./img/croce.gif\" alt=\"X\"></button>";
$testo_costi .= "</td><td$redclass>".$dati_ca[$numca]['nome']."$molt_costo</td>
<td style=\"width: 40px; text-align: right;\">".$val_costo[$num1]."</td></tr>";
} # fine for $num1

if (strcmp($n_categoria,"")) $categoria = $n_categoria;
if ($no_categoria) $categoria = "";
echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"punto_vendita.php#finetab\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"id_costi\" value=\"$id_costi\">
<input type=\"hidden\" name=\"id_prenota\" value=\"$id_prenota\">
<input type=\"hidden\" id=\"nomecat\" name=\"categoria\" value=\"$categoria\">";
for ($numca2 = 0 ; $numca2 < $num_costi ; $numca2++) if (${"id_periodi_costo".$numca2}) echo "<input type=\"hidden\" name=\"id_periodi_costo$numca2\" value=\"".${"id_periodi_costo".$numca2}."\">";
echo "<div style=\"float: left; border: 1px solid black; width: 300px; height: 385px; margin: 0 2px 1px 1px;\">
<div style=\" height: 276px; overflow: auto;\">
<table cellspacing=0 style=\"width: 100%; padding: 2px;\">
$testo_costi
<tr><td><a name=\"finetab\"></a></td></tr>
</table></div>";
$disabled_cassa = "";
$disabled_prenota = "";
if (!$errore_cassa or $id_prenota) $totale = punti_in_num($val_tot,$stile_soldi,"2");
else {
if (!$val_tot) $totale = "?";
else $totale = punti_in_num($val_tot,$stile_soldi,"2")." + ?";
$disabled_cassa = " disabled=\"disabled\"";
} # fine else if (!$errore_cassa)
if ($id_prenota and $val_tot_pren != $val_tot) $totale .= " (".punti_in_num($val_tot_pren,$stile_soldi,"2").")";
if ($priv_ins_entrate != "s" or !$id_costi or $testo_azione or $errore_cassa) $disabled_cassa = " disabled=\"disabled\"";
if (($id_prenota and !$id_costi) or $testo_azione or $errore_prenota) $disabled_prenota = " disabled=\"disabled\"";
if (!$id_prenota) $testo_app = "";
else $testo_app = " (".mex("appartamento",$pag)." $app_prenota)";
echo "<div style=\"text-align: center;\"><table cellspacing=0 style=\"width: 100%; padding: 2px;\">
<tr><td style=\"width: 34px; height: 34px;\">";
if ($testo_azione) echo "&nbsp;";
else echo "<button class=\"pos\" type=\"submit\" name=\"azzera\" value=\"1\" style=\"padding: 0;\"><img style=\"display: block; padding: 0; border: 0; margin: 0;\" src=\"./img/croce.gif\" alt=\"X\"></button>";
echo "</td><td style=\"text-align: left;\"><em>".mex("TOTALE",$pag)."</em></td><td style=\"text-align: right;\"><b>$totale</b> $Euro</td>
</tr></table></div><table cellspacing=0 style=\"padding: 1px; width: 100%; text-align: center\"><tr>
<td><button class=\"pos\" type=\"submit\"$disabled_cassa name=\"incassa\" value=\"1\" style=\"height: 60px; width: 140px; margin: 0;\"><b>".mex("in cassa",$pag)."</b></button></td>
<td><button class=\"pos\" type=\"submit\"$disabled_prenota name=\"inprenota\" value=\"1\" style=\"height: 60px; width: 140px; margin: 0;\"><b>".mex("su prenotazione",$pag)."$testo_app</b></button></td>
</tr></table></div>";


if ($testo_azione) {
echo "</div></form>
<form accept-charset=\"utf-8\" method=\"post\" action=\"punto_vendita.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
$testo_azione
</div></form>";
} # fine if ($testo_azione)

else {


for ($num1 = 2 ; $num1 <= 10 ; $num1 = $num1 + 8) {
echo "<div style=\"float: left; padding: 2px;\">
<button class=\"pos\" type=\"submit\" name=\"moltiplica\" value=\"$num1\" style=\"height: 60px; width: 64px;\"><b>X $num1</b></button>
</div>";
} # fine for $num1
echo "<div style=\"float: left; height: 64px; width: 8px;\">&nbsp;</div>";
for ($num1 = 1 ; $num1 <= 9 ; $num1++) {
echo "<div style=\"float: left;\">
<button class=\"pos\" type=\"submit\" name=\"aggiungi\" value=\"$num1\" style=\"height: 60px; width: 64px; margin: 2px;\"><b>+ $num1</b></button>
</div>";
} # fine for $num1
echo "<div style=\"float: left; height: 64px; width: 8px;\">&nbsp;</div>
<div style=\"clear: right;\">
<button class=\"pos\" type=\"submit\" name=\"sottrai\" value=\"1\" style=\"height: 60px; width: 64px; margin: 2px;\"><b>- 1</b></button>
</div><hr style=\"width: 350px; clear: right; margin: 4px auto 4px 0; text-align: left;\">";

$testo_no_categoria = "";
unset($testo_categoria);
unset($costi_agg_raggr);
for ($num1 = 0 ; $num1 < $dati_ca['num'] ; $num1++) {
if ($attiva_costi_agg_consentiti == "n" or $costi_agg_consentiti_vett[$dati_ca[$num1]['id']] == "SI") {
$testo_costo = "";
$nome_costo = $dati_ca[$num1]['nome'];
$id_costo = $dati_ca[$num1]['id'];
$categ = $dati_ca[$num1]['categoria'];
if ($dati_ca[$num1]['raggruppa'] == "s" and strcmp($categ,"")) {
if (!$costi_agg_raggr[$categ]) $ultima_categoria = $categ;
$costi_agg_raggr[$categ] .= $id_costo.",";
} # fine if ($dati_ca[$num1]['raggruppa'] == "s" and strcmp($categ,""))
else $testo_no_categoria .= "<div style=\"float: left; padding: 2px;\">
<button class=\"pos\" type=\"submit\" name=\"agg_costo\" value=\"$id_costo\" style=\"min-height: 60px; min-width: 70px; max-width: 110px;\">$nome_costo</button>
</div>";
} # fine if ($attiva_costi_agg_consentiti == "n" or...
} # fine for $num1

if (@is_array($costi_agg_raggr)) {
if ($testo_no_categoria) echo "<div style=\"float: left; padding: 2px;\">
<button class=\"pos\" type=\"submit\" id=\"cat0\" name=\"no_categoria\" value=\"1\" style=\"min-height: 60px; min-width: 70px; max-width: 110px;\">".mex("senza categoria",$pag)."</button>
</div>";
reset($costi_agg_raggr);
$num_cat = 1;
while (list($categ,$id_costi_cat) = each($costi_agg_raggr)) {
if ($categ == $ultima_categoria) $float = "clear: right;";
else $float = "float: left;";
echo "<div style=\"$float\">
<button class=\"pos\" type=\"submit\" id=\"cat$num_cat\" name=\"n_categoria\" value=\"$categ\" style=\"min-height: 60px; min-width: 70px; max-width: 110px; margin: 2px;\">$categ</button>
</div>";
$id_costi_vett = explode(",",substr($id_costi_cat,0,-1));
$num_id_costi = count($id_costi_vett);
for ($num1 = 0 ; $num1 < $num_id_costi ; $num1++) {
$id_costo = $id_costi_vett[$num1];
$num_costo = $dati_ca['id'][$id_costo];
$nome_costo = $dati_ca[$num_costo]['nome'];
$testo_categoria[$categ] .= "<div style=\"float: left; padding: 2px;\">
<button class=\"pos\" type=\"submit\" name=\"agg_costo\" value=\"$id_costo\" style=\"min-height: 60px; min-width: 70px; max-width: 110px;\">$nome_costo</button>
</div>";
} # fine for $num1
$num_cat++;
} # fine while (list($categ,$id_costi_cat) = each($costi_agg_raggr))
echo "<hr style=\"width: 350px; clear: right; margin: 4px auto 4px 0; text-align: left;\">";
} # fine if (@is_array($costi_agg_raggr))

echo "<div id=\"cattxt\">";
if (strcmp($categoria,"") and $testo_categoria[$categoria]) echo $testo_categoria[$categoria];
else echo $testo_no_categoria;
echo "<div>";


echo "<script type=\"text/javascript\">
<!--
function mostra_cat (categoria) {
if (categoria == 0) {
document.getElementById('cattxt').innerHTML = '".str_replace("'","\\'",str_replace("\n","\\\n",str_replace("/","\\/",$testo_no_categoria)))."';
document.getElementById('nomecat').value = '';
}
";
reset($costi_agg_raggr);
$num_cat = 1;
while (list($categ,$id_costi_cat) = each($costi_agg_raggr)) {
echo "if (categoria == $num_cat) {
document.getElementById('cattxt').innerHTML = '".str_replace("'","\\'",str_replace("\n","\\\n",str_replace("/","\\/",$testo_categoria[$categ])))."';
document.getElementById('nomecat').value = '$categ';
}
";
$num_cat++;
} # fine while (list($categ,$id_costi_cat) = each($costi_agg_raggr))
echo "} // fine function mostra_cat
document.getElementById('cat0').type = 'button';
document.getElementById('cat0').onclick = new Function(\"mostra_cat('0');\");
";
reset($costi_agg_raggr);
$num_cat = 1;
while (list($categ,$id_costi_cat) = each($costi_agg_raggr)) {
echo "document.getElementById('cat$num_cat').type = 'button';
document.getElementById('cat$num_cat').onclick = new Function(\"mostra_cat('$num_cat');\");
";
$num_cat++;
} # fine while (list($categ,$id_costi_cat) = each($costi_agg_raggr))

echo "
-->
</script>";


echo "</div></form>";


} # fine else if ($testo_azione)

echo "<div style=\"text-align: center; clear: both;\"><br><br>
<form accept-charset=\"utf-8\" method=\"post\" action=\"inizio.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input class=\"sbutton\" type=\"submit\" name=\"indietro\" value=\"".mex("Torna al menù principale",$pag)."\">
</div></form></div><div style=\"height: 20px\"></div>";

} # fine if (!$blocca_schermo)




if ($tema[$id_utente] and $tema[$id_utente] != "base" and @is_dir("./themes/".$tema[$id_utente]."/php")) include("./themes/".$tema[$id_utente]."/php/foot.php");
else include("./includes/foot.php");


} # fine if ($anno_utente_attivato == "SI" and...
} # fine if ($id_utente)



?>
