﻿<?php
session_start();
// Controlla se sono stati passati i dati tramite la sessione
if (isset($_SESSION['utente']) && isset($_SESSION['abl_impianto']) && isset($_SESSION['codice']) && isset($_SESSION['id_impianto']) && isset($_SESSION['nome_utente']) && isset($_SESSION['cognome_utente']) 
&& isset($_SESSION['record_password']) && isset($_SESSION['record_username']) && isset($_SESSION['regione'])  && isset($_SESSION['NOME_Impianto'])) {

$utente = $_SESSION['utente'];
$abl_impianto = $_SESSION['abl_impianto'];
$codice = $_SESSION['codice'];
$id_impianto = $_SESSION['id_impianto'];
$nome_utente = $_SESSION['nome_utente'];
$cognome_utente = $_SESSION['cognome_utente'];
$record_password = $_SESSION['record_password'];
$record_username = $_SESSION['record_username'];
$indice_impianto = $_SESSION['indice_impianto'];
$regione = $_SESSION['regione'];
$NOME_Impianto = $_SESSION['NOME_Impianto'];
}


$nomevasca = $_POST['nomevasca'] ?? 'Nome non definito';
$Dosatore = $_POST['Dosatore'] ?? 'Dosatore non definito';
$Analizzatore = $_POST['Analizzatore'] ?? 'Analizzatore non definito';

$ADDR_V = $_POST['ADDR_V'] ?? 'Numero della vasca';
$PIP300 = $_POST['PIP300'] ?? 'Numero della vasca';


$_SESSION['Vasca_inuso'] = $nomevasca;
$_SESSION['Dosatore_inuso'] = $Dosatore;
$_SESSION['Analizzatore_inuso'] = $Analizzatore;

$_SESSION['ADDR_V'] = $ADDR_V;
$_SESSION['PIP300'] = $PIP300;
//$_SESSION['SKIDImpianto'] = $PIP300;

$Dos = 0;
//include 'header.php'; // Per creare la barra intestazione in cima alla pagina con il logo

 
/*
<br><br><br>
<h1><?= 'Impianto: ' . $NOME_Impianto  ?></h1> <br>
<h1><?= 'Vasca: ' .  $nomevasca  ?></h1> <br>
<h1><?= 'Mat.Dosatore: ' . $Dosatore ?></h1> <br>
<h1><?= 'Mat.Analizzatore: ' .  $Analizzatore ?></h1> <br>
<h1><?= 'Utente: ' .  $utente ?></h1> <br> 
*/

// Qui la conversione delle due matricole Dosatore e fotometro in numeri duble
// Vengono fatti dei controlli sui valori per capire se questi sono accettabili:
// I valori che devono essere riscontrati devono essere compresi fra:
// Per CDS1000 fra 159000 - 159999, sostituito in 175000 - 179999
// Per TT6 fra 161000 - 161999

//var_dump($PIP300);
//var_dump($ADDR_V);
//var_dump($Analizzatore);
//die();


//$Dos = 1;
//if ($Dosatore < 1) { $Dos = 0; } //Se $Dos esce con 1 si assume come sistema di controllo il dosatore era 159000 - 159999
//if ($Dosatore > 10) { $Dos = 0; }
 
$Matricola_CALL = 0;
$Ana = 1;

if ($Analizzatore < 1) { $Ana = 0; } //Solo per essere sicuri che l'analizzatore abbia un riferimento giusto
if ($Analizzatore > 10) { $Ana = 0; }

//var_dump($Analizzatore);
// die();

IF ($Ana ==1 ){
    $Matricola_CALL = $Analizzatore; //In realtà adesso questo prende il tipo strumento 1 = Pto3, 2 = Pro5 ...
    if ($Matricola_CALL ==1 ){
        $Analisi35 = 1; // Si considera che il sistema esegua solo le tre misure pH, cloro e temperatura
        
    } else {
        $Analisi35 = 0; // Si considera che il sistema esegua solo le tre misure pH, cloro e temperatura
    }
}




//if ($Dos ==1 ) { // Se è presente il dosatore si nega l'uso della centralina
//    $Ana = 0;
//    $Matricola_CALL = $Dosatore; //In realtà adesso questo prende il tipo Dosatore 1... x
// }

//Si passa la variabile aggiornata a quella globale
//$Analisi35 = $Ana;
$_SESSION['Matricola_CALL'] = $Matricola_CALL;
$_SESSION['Analisi35'] = $Analisi35; // Questa variabile se 0 = 5 analisi, se 1 = 3 analisi
$_SESSION['nvasca'] = $nomevasca;


/*
echo 'Tipo strumento - ' ;var_dump($Matricola_CALL); // Adesso tipo macchina 1 = Pro3, 2 = Pro5
echo '3 o 5 misure - ' ;var_dump($Analisi35); // Tipologia macchina per 3 o 5 misure | Con 1=tre parametri, ...
echo 'SK Impianto - ' ;var_dump($PIP300); // Address scheda impianto
echo 'Indirizzo Macchina - ' ;var_dump($ADDR_V); //Numero vasca o indirizzo ztrumento
die();
*/


if ($Ana == 0 ) { // Se questa condizione è vera non abiamo alcun sistema definito e quindi si esce dalla pagina tornando alla precedente.
?> 



<!DOCTYPE html>
<html lang="it">
<head>
<style>
    body {
        font-family: Arial, sans-serif;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        margin: 0;
    }
    .avviso {
        text-align: center;
        font-size: 48px;
        color: red;
    }
    .bottone {
        margin-top: 20px;
        background-color: #c0c0c0;
        border: none;
        color: white;
        padding: 15px 32px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        cursor: pointer;
    }
</style>
<div class="avviso">
    <p>ATTENZIONE!</p>
    <p>Nessun Analizzatore Configurato, su questa Vasca!</p>
    <p>Verifica la configurazione e/o l'indirizzo della centralina!</p>
    <button class="bottone" onclick="location.href='decod.php';">ESCI</button>
</div>

</head>
</html>
<?php
}  

if($utente == 2) { // Questo per indicare sulla pagina in caso di ingresso del Tecnico la matricole e che tipo di strumento è presente nella vasca
    if ($Analizzatore == 1 ) {
        $Titolo = $NOME_Impianto . ' - ' . $nomevasca . ' - [Pro3 - Addr_' . $ADDR_V . ']';
        } else {
    if ($Analizzatore == 2 ) {
        $Titolo = $NOME_Impianto . ' - ' . $nomevasca . ' - [Pro5 - Addr_' . $ADDR_V . ']';
        }   
        }    
} else {
    $Titolo = $NOME_Impianto . ' - ' . $nomevasca;
}

require 'header.php'; // Per creare la barra intestazione in cima alla pagina  

?>
<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <title><?= htmlspecialchars($Titolo ?? 'Impianto', ENT_QUOTES, 'UTF-8') ?></title>
    <style>
  
        .nome-impianto {
            margin-top: 30px; /* Aggiunge spazio sopra l'elemento */
            top: 120px;
            flex-grow: 1;
            text-align: center;
            color: #007bff;
            font-size: 40px;
        }
        .utente {
            position: absolute;
            top: 100px;
            left: 20px;
            color: #000;
            font-size: 20px;
            text-decoration: underline;
        }
       
    </style>
</head>
<body>
<div class="utente">Utente: <?= htmlspecialchars($nome_utente ?? 'Ospite', ENT_QUOTES, 'UTF-8') ?></div>
<!-- <div class="header"> -->
<div class="nome-impianto"><?= htmlspecialchars($Titolo?? 'Impianto ?', ENT_QUOTES, 'UTF-8') ?></div> <br>
</div>
</body>
</html>

<!-- ***************************** FINE INTESTAZIONE DELLA PAGINA ************************************************* -->


<!-- ********************** Qui di seguito si interroga lo strumento e si visualizzano i dati ********************* -->

<?php

require_once 'funzioni.php';
require_once 'Pro3-5.php';
 

$stringa = "";
if($Matricola_CALL == 1) { //Di fatto = 1 vuol dire tipo macchina che in questo caso è Pro3
$stringa = Only_Call_Pro3($PIP300, $ADDR_V); // Qui si passano i valori della scheda impianto e dell'indirizzo della macchina... 
                                             // Il tipo macchina lo prende direttamente dalla funzione
}

if($Matricola_CALL == 2) { //Di fatto = 1 vuol dire tipo macchina che in questo caso è Pro3
$stringa = Only_Call_Pro5($PIP300, $ADDR_V); // Qui si passano i valori della scheda impianto e dell'indirizzo della macchina... 
                                             // Il tipo macchina lo prende direttamente dalla funzione
}

//echo 'N° Caratteri - ' ;var_dump(strlen($stringa)); //Numero vasca o indirizzo ztrumento
//die();
$len = strlen($stringa);
// Verifica la lunghezza della stringa (dovrebbe essere 300 byte)
if ($len !== 62 && $len !== 18) {
   // echo "Errore: La stringa non ha la lunghezza corretta.";
      // Se la funzione socket_read non riesce a leggere i dati, impostiamo $Sock a 1
        $buttonStyle = "background-color: #f01010; 
        border: none;
        color: white;
        padding: 20px 40px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;
        border-radius: 12px;";
        echo "<div style='text-align:center; margin-top: 50px;'><form action='decod.php' method='post'><button type='submit' style='$buttonStyle'> Il sistema non risponde! <br> Premi qui! </button></form></div>";
        exit();
} else {
// Si invia la richiesta stringa al server destinatario... 
    //$Communication = 0;
	//Must be same with server
    //$host = "5.249.147.67";
    //$host = "195.231.71.78";
    $host = "95.110.210.60";
	$port = 20;

	// No Timeout 
	set_time_limit(0);
	//Create Socket
	$sock = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
   	//Connect to the server
	$result = socket_connect($sock, $host, $port) or die("Non è possibile connettersi al Server !!!\n");
	$message = $stringa;
	//Write to server socket
	socket_write($sock, $message, strlen($message)) or die("Non è stato possibile inviare i dati al Server !!!\n");
	//Read server respond message
	//$result = socket_read($sock, 1024) or die(" *** Nessuna risposta dal Server !!! *** \n" . $oggi);

    //Qui di seguito un time out per la risposta dal server 
    socket_set_option($sock, SOL_SOCKET, SO_RCVTIMEO, [
    'sec' => 5,
    'usec' => 0
    ]);

    $result = @socket_read($sock, 1024); // Qui viene caricata la stringa giunta dal server AQC

    if ($result === false) {
        $err = socket_last_error($sock);
        socket_close($sock);

    $buttonStyle = "background-color: #f01010; 
    border: none;
    color: white;
    padding: 20px 40px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 12px;";

    echo "<div style='text-align:center; margin-top: 50px;'>
            <form action='decod.php' method='post'>
            <button type='submit' style='$buttonStyle'>
            Il sistema che si sta cercando di contattare non risponde, 
            potrebbe essere spento o sconnesso dalla rete! <br> Ritenta più tardi!
            <br> Premi qui per proseguire ...
            </button></form></div>";
    exit();
 
    }

    if ($result === false || $result === "" || strlen($result) < 152) { //Si attendono  non meno di 152 Byte
        // Se la funzione socket_read non riesce a leggere i dati, impostiamo $Sock a 1
        $buttonStyle = "background-color: #f01010; 
        border: none;
        color: white;
        padding: 20px 40px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;
        border-radius: 12px;";
        echo "<div style='text-align:center; margin-top: 50px;'><form action='decod.php' method='post'><button type='submit' style='$buttonStyle'> Il sistema non risponde! <br> Premi qui! </button></form></div>";
        socket_close($sock);
        exit();
    } 
    socket_close($sock);  
    // echo "Questi sono i dati ricevuti dal Server_Cloud HSP ! - [ ". $result." ]";
?>

<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<title>Misure Analitiche</title>
<style>
    body.psdd, html {
        height: 100%;
        margin: 0;
        font-family: Arial, sans-serif;
    }

    .container_psff {
        display: flex;
        justify-content: space-around; */ 
        flex-wrap: wrap;   */
        margin: 20px;
    }
    
    .input-group_psff {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex-basis: 18%;
        min-width: 150px;
    }
    
    .input-group_psff label {
        font-size: 16px;
        margin-bottom: 5px;
    }
    
    .input-group_psff input {
        font-size: 32px;
        width: 100%;
        text-align: center;
        background-color: #e0f7ff; /* Fondo colore blu molto chiaro */
        border-radius: 15px; /* Angoli arrotondati */
        border: 2px solid #b3e5fc; /* Bordi sottili di un blu un po' più scuro per contrasto */
        padding: 10px;
    }
</style>
</head>


<!-- Questi i valori principali della vacsa in testa alla pagina -->
<?php

// var_dump('Blocco Impostato');
// die();
if($Matricola_CALL == 1) {
    // Qui si aggiorna il PRO3
    $pH = conv16_2D($result[88], $result[89]); // Valore pH
    //echo "[" . $pH . "] pH <br>";
    $pH_formatted = number_format($pH, 2, '.', '');

    $Cl2 = conv16_2D($result[18], $result[19]); // Valore Cloro libero della vasca
    // echo "[" . $Cl2 . "] Cloro ppm <br>";
    $PrimaAnalisiCl2 = conv16($result[5], chr(0)); //Flagh prima misura cloro
    if ($PrimaAnalisiCl2 > 0) {
        $Cl2_formatted = number_format($Cl2, 2, '.', '');
    } else {
        $Cl2_formatted = "-.--";
    }
}  

if($Matricola_CALL == 2) {
    // Qui si aggiorna il PRO5
    $pH = conv16_2D($result[36], $result[35]); // Valore pH
    //echo "[" . $pH . "] pH <br>";
    $pH_formatted = number_format($pH, 2, '.', '');

    $Cl2 = conv16_2D($result[32], $result[31]); // Valore Cloro libero della vasca
    if ($Cl2 < 10) {
        $Cl2_formatted = number_format($Cl2, 2, '.', '');
    } else {
        $Cl2_formatted = "-.--";
    }

    $Clc = conv16_2D($result[34], $result[33]); // Valore Cloro combinato 
    if ($Clc < 10) {
        $Clc_formatted = number_format($Clc, 2, '.', '');
    } else {
        $Clc_formatted = "-.--";
    }

    $Redox = conv16($result[38], $result[37]); // Valore Redox
    $Redox_formatted = number_format($Redox, 0, '.', '');

//var_dump($Cl2_formatted );
//var_dump($Clc_formatted );
//die();

}  


//var_dump($pH);
//die();

if($Matricola_CALL == 1) {
    $T = conv16_1D($result[24], $result[25]); // Valore Temperatura
    // echo "[" . $T . "] °C <br>";
    $T_formatted = number_format($T , 1, '.', '');
    }

if($Matricola_CALL == 2) {
    $T = conv16_1D($result[42], $result[41]); // Valore Temperatura 40 39
    // echo "[" . $T . "] °C <br>";
    $T_formatted = number_format($T , 1, '.', '');
    }
?>


<body  class="psff">
<div class="container_psff">
    <div class="input-group_psff">
        <label for="ph">pH</label>
        <input type="text" id="ph" value= <?php echo $pH_formatted ?> >
    </div>
    <div class="input-group_psff">
        <label for="cloro-libero">Cl2 - ppm</label>
        <input type="text" id="cloro-libero"  value= <?php echo $Cl2_formatted ?> >
    </div>

    
    <?php if($Matricola_CALL == 2) { ?>  <!-- Così è disattivata la visualizzazione Redox e CLC -->
      <div class="input-group_psff">
        <label for="cloro-combinato">Clc - ppm</label>
        <input type="text" id="cloro-combinato" value= <?php echo $Clc_formatted ?> >
    </div>
    <div class="input-group_psff">
        <label for="redox">Redox - mV</label>
        <input type="text" id="redox" value= <?php echo $Redox_formatted ?> >
    </div>
  <?php } ?>  
    
    <div class="input-group_psff">
        <label for="temperatura">°C</label>
        <input type="text" id="temperatura" value= <?php echo $T_formatted ?> >
    </div>
</div>
</body>
</html>


<!-- *************************** Si segue con i 5 tasti funzione  ************************************************* -->

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <title>Tasti Stilizzati</title>
    <link rel="stylesheet" href="stile.css">
    <style>
        body.Picciulino {
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            height: 100vh;
            background-color: #f4f4f4;
        }
        .container_centrale {
            width: 100%; /* o una larghezza fissa a seconda delle tue esigenze */
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
        .container_T {
            display: flex;
            flex-direction: row;
            justify-content: center;
            flex-wrap: nowrap;
            gap: 10px;
            padding: 20px;
        }
        .tasto7 {
            padding: 10px 20px;
            background-color: #007bff;
            color: white;
            text-align: center;
            text-decoration: none;
            font-size: 16px;
            border: none;
            border-radius: 20px;
            transition: background-color 0.3s;
            width: 100px;
            margin-bottom: 10px;
        }
        .tasto7:hover {
            background-color: #28a745;
        }
    </style>
</head>
<body class="Picciulino">
    <div class="container_centrale">
        <!-- Altri contenuti qui (es. caselle di testo) -->

        <div class="container_T">
           <!--  <a href="vasca.php" class="tasto7">Aggiorna pagina</a>   -->
            <a href="#" onclick="window.location.reload();" class="tasto7">Aggiorna Pagina</a>  
            <a href="decod.php" class="tasto7">Impianto</a> 
            <a href="chart_35.php" class="tasto7">Grafici Tabelle</a>
         <!--   <a href="Registro.php" class="tasto7">Registro Piscina</a> -->
             <?php // if($utente == 2) { ?>
             <!--    <a href="interventi.php" class="tasto7">Service Intervento</a>-->
                <a href="Testing.php" class="tasto7">Check Sistema</a> 
            <?php //} ?>   
            
        </div>

        <!-- Altri contenuti qui -->
    </div>
</body>
</html>


<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <!-- <title>Allarmi Sezione </title> -->
    <style>
        /* Centrare il contenitore allarmi con Flexbox */
        .containerxx {
            display: flex;
            justify-content: center;
            width: 100%;
        }

        #allarmiPro35 {
            width: 50%; /* O la larghezza specifica che preferisci era 50% */
            background-color: #fafafa; /* #f0f0f0; */
            border: 1px solid #ddd;
            padding: 20px;
            margin-top: 20px; /* Spazio dal contenuto precedente */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Opzionale: aggiunge ombra */
            text-align: center;
            border-radius: 8px; /* Aggiungi questa riga */
        }

        body {
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        /* Se hai altri contenuti che devono essere centrati */
        .other-content {
            width: 80%; /* O la larghezza che preferisci */
            /* Stili aggiuntivi per altri contenuti */
        }
    </style>
</head>
<body>

<div class="containerxx">
        <div id="allarmiPro35">

        <?php if($Matricola_CALL == 1) { ?> <h3>Allarmi Presenti Analizzatore Pro3</h3> <?php } ?>
        <?php if($Matricola_CALL == 2) { ?> <h3>Allarmi Presenti Analizzatore Pro5</h3> <?php } ?>   
        
        <?php
            // Decodifica della stringa ottenendo i messaggi di allarme
            // Verifica se la stringa elaborata contiene dei messaggi

            // Per Pro3
            if($Matricola_CALL == 1) { $stringaElaborata = decodificaStringaDueBytePro3($result[72] . $result[73]); }
            
            // Per Pro5
            if($Matricola_CALL == 2) { $stringaElaborata = decodificaStringaDueBytePro5($result[47] . $result[48]); }
           
            if (trim($stringaElaborata) == "Null") {
                $messaggiAllarme = '<span style="color: green;"> *** Nessun Allarme Riscontrato! *** </span>';
            } else {
                // Preparazione dei messaggi per l'output HTML, separando le stringhe e applicando il formato richiesto
                $messaggiAllarme = '<span style="color: red; font-weight: bold;">' . nl2br(htmlspecialchars($stringaElaborata)) . '</span>';
            }
            ?>
            <div><?php echo $messaggiAllarme; ?></div>
    </div>
</div>

</body>
</html>

<?php // exit();  ?>

<!-- *************************** Si caricano i valori di SETUP mel Containers  ************************************************* -->

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <!-- <title>Valori Numerici Demo</title> -->
    <style>
        body.primo, html {
            font-family: Arial, sans-serif;
            padding: 20px;
            background-color: #f4f4f4;
            margin: 0;
            height: 100%;
        }

        /* Aggiungi questo nel tuo <style> */
        .input-group3 {
        margin-bottom: 20px; /* Qui decidi tu lo spazio in pixel */
        }
        .containers-wrapper {
            display: flex;
            justify-content: space-around; /* Distribuisce uniformemente lo spazio tra i container */
            flex-wrap: wrap; /* Permette ai container di andare a capo se non c'è abbastanza spazio */
            padding: 20px;
        }
        .container2 {
            background-color: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            width: 60%; /* era 90% Adatta la larghezza in base alla larghezza del viewport */
            margin: 20px auto; /* Centra il contenitore */
            display: flex;
            flex-direction: column;

            flex-wrap: nowrap; /* Questo assicura che gli elementi non vadano a capo automaticamente - Aggiunto ! */

            max-height: 2000px; /* Era 400*/  
            overflow-y: auto;
        }

        @media (max-width: 768px) { /* Per dispositivi con larghezza fino a 768px */
            .container2 {
            width: 95%; /* Larghezza maggiore per schermi più piccoli */
            margin-top: 10px; /* Margini ridotti per la parte superiore */
            position: relative; /* O evita completamente la proprietà position se non necessaria */
            top: auto;
            left: auto;
        }
        }

            .input-group2 input, .input-group3 input {
            width: 100%;
            padding: 10px;
            border-radius: 4px;
            border: 1px solid #ddd;
            box-sizing: border-box;
            background-color: #ffffff; /* Imposta il bianco come colore di base per tutti gli input */
        }

        /* Sovrascrive il colore di sfondo per gli input editabili */
            .input-group3 input.modificabile {
            background-color: #e0ffe0; /* Verde chiaro per input modificabili */
        }
    
        .input-group2 input[readonly] {
            background-color: #ffffff; /* Bianco per input di sola lettura */
        }
        button {
            background-color: #007bff;
            color: white;
            padding: 10px 15px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            display: block;
            width: 100%;
        }
        button:hover {
            background-color: #0056b3;
        }
        .input-group3 input {
        background-color: #e0f7ff; /* Fondo colore blu molto chiaro */
    }
    </style>
</head>

<body class="Primo">

<?php
// var_dump($pH);
//die();
?>

<script>
function verificaValori() {
    let tuttiIValoriSonoValidi = true;
    // alert("Funzione verificaValori() chiamata!");   // <-- TEST
    document.querySelectorAll('.input-valore').forEach(input => {
        const val = parseFloat(input.value);
        const min = parseFloat(input.min);
        const max = parseFloat(input.max);

        if (val < min || val > max) {
            console.error(`Il valore di ${input.name} (${val}) è fuori dall'intervallo consentito (${min}-${max}).`);
            tuttiIValoriSonoValidi = false;
            // Opzionalmente, evidenzia l'input non valido
            input.style.borderColor = "red";
        } else {
            // Ripristina lo stile dell'input se è valido
            input.style.borderColor = "";
        }
    });

     if (tuttiIValoriSonoValidi) {
      //Inserire qui la procedura di invio ...
      //  alert("SI INVIANO I DATI!");   // <-- TEST

    //********************** INVIO SETUP AL PRO3 *************************************************** */
   if (tuttiIValoriSonoValidi) {
    // alert("SI INVIANO I DATI!");

    let dati = {};

    // Prende tutti i campi con classe input-valore
    document.querySelectorAll('.input-valore').forEach(input => {
        dati[input.name] = input.value;
    });

    fetch("Setup_Pro3.php", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify(dati)
    })
    .then(r => r.text())
    .then(r => alert("Risposta: " + r))
    .catch(e => alert("Errore invio"));
}
    //*********************************************************************************************** */  
    } else {
       // Qui valori errati ...
      //alert("NON SI INVIA NIENTE!");   // <-- TEST
     }
}
</script>
 
<?php

if($Matricola_CALL == 1) {
    //CONTROLLI SET CLORO
    $Set1_Cl2 = conv16_2D($result[29], $result[30]); //SETPOINT1 Cloro
    // Formattato con due cifre decimali
    $Set1_Cl2_formatted = number_format($Set1_Cl2, 2, '.', '');

    $Set1_Cl2_Prop = conv16(  $result[26], chr(0));  //SETPOINT1 Cloro Proporzionale
    // Formattato con 0 cifre decimali
    $Set1_Cl2_Prop_formatted = number_format($Set1_Cl2_Prop, 0, '.', '');

    $Set2_Cl2 = conv16_2D($result[90], $result[91]); //SETPOINT2 Cloro
    // Formattato con due cifre decimali
    $Set2_Cl2_formatted = number_format($Set2_Cl2, 2, '.', '');

    $Set2_Cl2_Prop = conv16(  $result[77], chr(0));  //SETPOINT1 Cloro Proporzionale
    // Formattato con 0 cifre decimali
    $Set2_Cl2_Prop_formatted = number_format($Set2_Cl2_Prop, 0, '.', '');

    $Set3_Antcl = conv16_2D($result[92], $result[93]); //SETPOINT3 Anticloro ***
    // Formattato con due cifre decimali
    $Set3_Antcl_formatted = number_format($Set3_Antcl, 2, '.', '');

    //Time out dosaggio set Cloro
    $Tout_SCl2 = conv16($result[33], $result[34]); //TIME OUT SET Cloro
    $Tout_SCl2_formatted = number_format($Tout_SCl2 , 0, '.', '');

    // CONTROLLO SET pH
    $Set_pH = conv16_2D($result[27], $result[28]);//SETPOINT4 pH
    // Formattato con due cifre decimali
    $Set_pH_formatted = number_format($Set_pH, 2, '.', '');

    // Tipo Dosaggio pH  
    $Tdos_Set_pH = conv16(  $result[35], chr(0)); //TIPO SOGLIA pH Acido=0 Basico=1

    //Time out dosaggio set pH
    $Tout_SpH = conv16($result[31], $result[32]); //TIME OUT SET pH
    $Tout_SpH_formatted = number_format($Tout_SpH , 0, '.', '');

    // ALTRI SETTAGGI ...
    // Tempo Metodica
    $STEP_Anal_Cl2 = conv16($result[48], chr(0)); // L - H
    $STEP_Anal_Cl2_formatted = number_format($STEP_Anal_Cl2 , 0, '.', '');
}

if($Matricola_CALL == 2) {
    //CONTROLLI SET  
    //SET1 CLORO
    $Set1_Cl2_SEL = conv16($result[52], $result[51]); //SETPOINT1 Cloro

    $Set1_Cl2_ON = conv16_2D($result[54], $result[53]); //SETPOINT1 Cloro
    // Formattato con due cifre decimali
    $Set1_Cl2_ON_formatted = number_format($Set1_Cl2_ON, 2, '.', '');

    $Set1_Cl2_OFF = conv16_2D($result[56], $result[55]); //SETPOINT1 Cloro
    // Formattato con due cifre decimali
    $Set1_Cl2_OFF_formatted = number_format($Set1_Cl2_OFF, 2, '.', '');

    $Set1_Cl2_TON = conv16($result[58], $result[57]); //SETPOINT1 Cloro
    // Formattato con due cifre decimali
    $Set1_Cl2_TON_formatted = number_format($Set1_Cl2_TON, 0, '.', '');

    $Set1_Cl2_TOFF = conv16($result[60], $result[59]); //SETPOINT1 Cloro
    // Formattato con due cifre decimali
    $Set1_Cl2_TOFF_formatted = number_format($Set1_Cl2_TOFF, 0, '.', '');


    //SET2 CLORO
    $Set2_Cl2_SEL = conv16($result[72], $result[71]); //SETPOINT2 Cloro

    $Set2_Cl2_ON = conv16_2D($result[74], $result[73]); //SETPOINT2 Cloro
    // Formattato con due cifre decimali
    $Set2_Cl2_ON_formatted = number_format($Set2_Cl2_ON, 2, '.', '');

    $Set2_Cl2_OFF = conv16_2D($result[76], $result[75]); //SETPOINT2 Cloro
    // Formattato con due cifre decimali
    $Set2_Cl2_OFF_formatted = number_format($Set2_Cl2_OFF, 2, '.', '');

    $Set2_Cl2_TON = conv16($result[78], $result[77]); //SETPOINT2 Cloro
    // Formattato con due cifre decimali
    $Set2_Cl2_TON_formatted = number_format($Set2_Cl2_TON, 0, '.', '');

    $Set2_Cl2_TOFF = conv16($result[80], $result[79]); //SETPOINT2 Cloro
    // Formattato con due cifre decimali
    $Set2_Cl2_TOFF_formatted = number_format($Set2_Cl2_TOFF, 0, '.', '');

    //SET3 pH
    $Set3_pH_SEL = conv16($result[100], $result[99]);  

    $Set3_pH_ON = conv16_2D($result[102], $result[101]);  
    // Formattato con due cifre decimali
    $Set3_pH_ON_formatted = number_format($Set3_pH_ON, 2, '.', '');

    $Set3_pH_OFF = conv16_2D($result[104], $result[103]);  
    // Formattato con due cifre decimali
    $Set3_pH_OFF_formatted = number_format($Set3_pH_OFF, 2, '.', '');

    $Set3_pH_TON = conv16($result[106], $result[105]);  
    // Formattato con due cifre decimali
    $Set3_pH_TON_formatted = number_format($Set3_pH_TON, 0, '.', '');

    $Set3_pH_TOFF = conv16($result[108], $result[107]);  
    // Formattato con due cifre decimali
    $Set3_pH_TOFF_formatted = number_format($Set3_pH_TOFF, 0, '.', '');


    //SET4 pH
    $Set4_pH_SEL = conv16($result[110], $result[109]);  

    $Set4_pH_ON = conv16_2D($result[112], $result[111]); 
    // Formattato con due cifre decimali
    $Set4_pH_ON_formatted = number_format($Set4_pH_ON, 2, '.', '');

    $Set4_pH_OFF = conv16_2D($result[114], $result[113]);  
    // Formattato con due cifre decimali
    $Set4_pH_OFF_formatted = number_format($Set4_pH_OFF, 2, '.', '');

    $Set4_pH_TON = conv16($result[116], $result[115]);  
    // Formattato con due cifre decimali
    $Set4_pH_TON_formatted = number_format($Set4_pH_TON, 0, '.', '');

    $Set4_pH_TOFF = conv16($result[118], $result[117]);  
    // Formattato con due cifre decimali
    $Set4_pH_TOFF_formatted = number_format($Set4_pH_TOFF, 0, '.', '');

    //SET5 RX
    $Set5_RX_SEL = conv16($result[122], $result[121]);  

    $Set5_RX_ON = conv16_2D($result[124], $result[123]); 
    // Formattato con due cifre decimali
    $Set5_RX_ON_formatted = number_format($Set5_RX_ON, 2, '.', '');

    $Set5_RX_OFF = conv16_2D($result[126], $result[125]);  
    // Formattato con due cifre decimali
    $Set5_RX_OFF_formatted = number_format($Set5_RX_OFF, 2, '.', '');

    $Set5_RX_TON = conv16($result[128], $result[127]);  
    // Formattato con due cifre decimali
    $Set5_RX_TON_formatted = number_format($Set5_RX_TON, 0, '.', '');

    $Set5_RX_TOFF = conv16($result[130], $result[129]);  
    // Formattato con due cifre decimali
    $Set5_RX_TOFF_formatted = number_format($Set5_RX_TOFF, 0, '.', '');

    //SET6 °C
    $Set6_T_SEL = conv16($result[132], $result[131]);  

    $Set6_T_ON = conv16_2D($result[134], $result[133]); 
    // Formattato con due cifre decimali
    $Set6_T_ON_formatted = number_format($Set6_T_ON, 2, '.', '');

    $Set6_T_OFF = conv16_2D($result[136], $result[135]);  
    // Formattato con due cifre decimali
    $Set6_T_OFF_formatted = number_format($Set6_T_OFF, 2, '.', '');

    $Set6_T_TON = conv16($result[138], $result[137]);  
    // Formattato con due cifre decimali
    $Set6_T_TON_formatted = number_format($Set6_T_TON, 0, '.', '');

    $Set6_T_TOFF = conv16($result[140], $result[139]);  
    // Formattato con due cifre decimali
    $Set6_T_TOFF_formatted = number_format($Set6_T_TOFF, 0, '.', '');

    //SET7 CLC
    $Set7_CLC_ON = conv16_2D($result[94], $result[93]); 
    // Formattato con due cifre decimali
    $Set7_CLC_ON_formatted = number_format($Set7_CLC_ON, 2, '.', '');

    $Set7_CLC_OFF = conv16_2D($result[96], $result[95]);  
    // Formattato con due cifre decimali
    $Set7_CLC_OFF_formatted = number_format($Set7_CLC_OFF, 2, '.', '');

    $Timeout_SET_CL2 = conv16($result[98], $result[97]);  
    // Formattato con due cifre decimali
    $Timeout_SET_CL2_formatted = number_format( $Timeout_SET_CL2, 0, '.', '');

    $Timeout_SET_pH = conv16($result[120], $result[119]);  
    // Formattato con due cifre decimali
    $Timeout_SET_pH_formatted = number_format( $Timeout_SET_pH, 0, '.', '');

    $Step_Analici_Cl2 = conv16($result[142], $result[141]);  
    // Formattato con due cifre decimali
    $Step_Analici_Cl2_formatted = number_format( $Step_Analici_Cl2, 0, '.', '');

    $Analisi_CLC_x_Cl2 = conv16($result[144], $result[143]);  
    // Formattato con due cifre decimali
    $Analisi_CLC_x_Cl2_formatted = number_format( $Analisi_CLC_x_Cl2, 0, '.', '');



//var_dump( $Set1_Cl2_SEL);
//die();


}

?>

<?php if($Matricola_CALL == 2) { ?>
<div class="container2">
 <h2 style="text-align: center;"> - PARAMETRI SETUP PRO5 -</h2>

  <h4>SET-POINT 1 CLORO LIBERO </h4>
  <!-- Tipo Set1 cloro -->
  <div class="input-group3">
    <label for="TSet1_Cl2">Funzione SET-1 Cloro Libero</label>
    <select id="TSet1_Cl2" name="TSet1_Cl2" class="modificabile">
        <option value="0" <?php if($Set1_Cl2_SEL== 0) echo 'selected'; ?>>ON/OFF</option>
        <option value="1" <?php if($Set1_Cl2_SEL == 1) echo 'selected'; ?>>Temporizzato</option>
        <option value="2" <?php if($Set1_Cl2_SEL == 2) echo 'selected'; ?>>Proporzionale</option>
    </select>
</div>
<br> 

    <!-- Set 1 Cloro ON -->
    <div class="input-group3">
        <label for="SET1CL2ON">SET-1 ON</label>
        <input type="number" id="SET1CL2ON" value="<?php echo $Set1_Cl2_ON_formatted ?>" name="vaSET1CL2ON" min="0" max="5" step="0.01" class="modificabile">
    </div>
    <br>
 
    <!-- Set 1 Cloro OFF -->
    <div class="input-group3">
        <label for="SET1CL2OFF">SET-1 OFF</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="SET1CL2OFF" value="<?php echo $Set1_Cl2_OFF_formatted ?>" name="SET1CL2OFF" min="0" max="5" step="0.01"class="modificabile">
    </div>
    <br>

 
    <!-- Set 1 Cloro Time ON -->
    <div class="input-group3">
        <label for="SET1CL2TON">SET-1 Temporizzato ON secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="SET1CL2TON" value="<?php echo $Set1_Cl2_TON_formatted ?>" name="SET1CL2TON" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>

    
    <!-- Set 1 Cloro Time OFF -->
    <div class="input-group3">
        <label for="SET1CL2TOFF">SET-1 Temporizzato OFF secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="SET1CL2TOFF" value="<?php echo $Set1_Cl2_TOFF_formatted ?>" name="SET1CL2TOFF" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>


  <h4>SET-POINT 2 CLORO LIBERO </h4>
    <!-- Tipo Set2 cloro -->
  <div class="input-group3">
    <label for="TSet2_Cl2">Funzione SET-2 Cloro Libero</label>
    <select id="TSet2_Cl2" name="TSet2_Cl2" class="modificabile">
        <option value="0" <?php if($Set2_Cl2_SEL== 0) echo 'selected'; ?>>ON/OFF</option>
        <option value="1" <?php if($Set2_Cl2_SEL == 1) echo 'selected'; ?>>Temporizzato</option>
        <option value="2" <?php if($Set2_Cl2_SEL == 2) echo 'selected'; ?>>Proporzionale</option>
    </select>
</div>
<br>

    <!-- Set 2 Cloro ON -->
    <div class="input-group3">
        <label for="SET2CL2ON">SET-2 ON</label>
        <input type="number" id="SET2CL2ON" value="<?php echo $Set2_Cl2_ON_formatted ?>" name="SET2CL2ON" min="0" max="5" step="0.01" class="modificabile">
    </div>
    <br>
 
    <!-- Set 2 Cloro OFF -->
    <div class="input-group3">
        <label for="SET2CL2OFF">SET-2 OFF</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="SET2CL2OFF" value="<?php echo $Set2_Cl2_OFF_formatted ?>" name="SET2CL2OFF" min="0" max="5" step="0.01"class="modificabile">
    </div>
    <br>
 
    <!-- Set 2 Cloro Time ON -->
    <div class="input-group3">
        <label for="SET2CL2TON">SET-2 Temporizzato ON secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="SET2CL2TON" value="<?php echo $Set2_Cl2_TON_formatted ?>" name="SET2CL2TON" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>
    
    <!-- Set 2 Cloro Time OFF -->
    <div class="input-group3">
        <label for="SET2CL2TOFF">SET-2 Temporizzato OFF secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="SET2CL2TOFF" value="<?php echo $Set2_Cl2_TOFF_formatted ?>" name="SET2CL2TOFF" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>

    <h4>SET-POINT 3 pH </h4>
    <!-- Tipo Set3 pH -->
       <div class="input-group3">
    <label for="TSet3_pH">Funzione SET-3 pH</label>
    <select id="TSet3_pH" name="TSet3_pH" class="modificabile">
        <option value="0" <?php if($Set3_pH_SEL== 0) echo 'selected'; ?>>ON/OFF</option>
        <option value="1" <?php if($Set3_pH_SEL == 1) echo 'selected'; ?>>Temporizzato</option>
    </select>
</div>
<br>

    <!-- Set 3 pH ON -->
    <div class="input-group3">
        <label for="Set3pHON">SET-3 ON</label>
        <input type="number" id="Set3pHON" value="<?php echo $Set3_pH_ON_formatted ?>" name="Set3pHON" min="0" max="14" step="0.01" class="modificabile">
    </div>
    <br>
 
    <!-- Set 3 pH OFF -->
    <div class="input-group3">
        <label for="Set3pHOFF">SET-3 OFF</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set3pHOFF" value="<?php echo $Set3_pH_OFF_formatted ?>" name="Set3pHOFF" min="0" max="14" step="0.01"class="modificabile">
    </div>
    <br>
 
    <!-- Set 3 pH Time ON -->
    <div class="input-group3">
        <label for="Set3pHTON">SET-3 Temporizzato ON secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set3pHTON" value="<?php echo $Set3_pH_TON_formatted ?>" name="Set3pHTON" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>
    
    <!-- Set 3 pH Time OFF -->
    <div class="input-group3">
        <label for="Set3pHTOFF">SET-3 Temporizzato OFF secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set3pHTOFF" value="<?php echo $Set3_pH_TOFF_formatted ?>" name="Set3pHTOFF" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>

    <h4>SET-POINT 4 pH </h4>
<!-- Tipo Set4 pH -->
       <div class="input-group3">
    <label for="TSet4_pH">Funzione SET-4 pH</label>
    <select id="TSet4_pH" name="TSet4_pH" class="modificabile">
        <option value="0" <?php if($Set4_pH_SEL== 0) echo 'selected'; ?>>ON/OFF</option>
        <option value="1" <?php if($Set4_pH_SEL == 1) echo 'selected'; ?>>Temporizzato</option>
    </select>
</div>
<br>

    <!-- Set 4 pH ON -->
    <div class="input-group3">
        <label for="Set4pHON">SET-4 ON</label>
        <input type="number" id="Set4pHON" value="<?php echo $Set4_pH_ON_formatted ?>" name="Set4pHON" min="0" max="14" step="0.01" class="modificabile">
    </div>
    <br>
 
    <!-- Set 4 pH OFF -->
    <div class="input-group3">
        <label for="Set4pHOFF">SET-4 OFF</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set4pHOFF" value="<?php echo $Set4_pH_OFF_formatted ?>" name="Set4pHOFF" min="0" max="14" step="0.01"class="modificabile">
    </div>
    <br>
 
    <!-- Set 4 pH Time ON -->
    <div class="input-group3">
        <label for="Set4pHTON">SET-4 Temporizzato ON secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set4pHTON" value="<?php echo $Set4_pH_TON_formatted ?>" name="Set4pHTON" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>
    
    <!-- Set 4 pH Time OFF -->
    <div class="input-group3">
        <label for="Set4pHTOFF">Set4 Temporizzato OFF secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set4pHTOFF" value="<?php echo $Set4_pH_TOFF_formatted ?>" name="Set4pHTOFF" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>

    <h4>SET-POINT 5 REDOX </h4>
<!-- Tipo Set5 RX -->
       <div class="input-group3">
    <label for="TSet5_RX">Funzione SET-5 Redox</label>
    <select id="TSet5_RX" name="TSet5_RX" class="modificabile">
        <option value="0" <?php if($Set5_RX_SEL== 0) echo 'selected'; ?>>ON/OFF</option>
        <option value="1" <?php if($Set5_RX_SEL == 1) echo 'selected'; ?>>Temporizzato</option>
    </select>
</div>
<br>

    <!-- Set 5 RX ON -->
    <div class="input-group3">
        <label for="Set5RXON">SET-5 ON</label>
        <input type="number" id="Set5RXON" value="<?php echo $Set5_RX_ON_formatted ?>" name="Set5RXON" min="-1000" max="1000" step="1" class="modificabile">
    </div>
    <br>
 
    <!-- Set 5 RX OFF -->
    <div class="input-group3">
        <label for="Set5RXOFF">SET-5 OFF</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set5RXOFF" value="<?php echo $Set5_RX_OFF_formatted ?>" name="Set5RXOFF" min="-1000" max="1000" step="1"class="modificabile">
    </div>
    <br>
 
    <!-- Set 5 RX Time ON -->
    <div class="input-group3">
        <label for="Set5RXTON">SET-5 Temporizzato ON secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set5RXTON" value="<?php echo $Set5_RX_TON_formatted ?>" name="Set5RXTON" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>
    
    <!-- Set 5 RX Time OFF -->
    <div class="input-group3">
        <label for="Set5RXTOFF">SET-5 Temporizzato OFF secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set5RXTOFF" value="<?php echo $Set5_RX_TOFF_formatted ?>" name="Set5RXTOFF" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>

    <h4>SET-POINT 6 TEMPERATURA </h4>
<!-- Tipo Set6 T -->
       <div class="input-group3">
    <label for="TSet6_T">Funzione SET-6 Temperatura</label>
    <select id="TSet6_T" name="TSet6_T" class="modificabile">
        <option value="0" <?php if($Set6_T_SEL== 0) echo 'selected'; ?>>ON/OFF</option>
        <option value="1" <?php if($Set6_T_SEL == 1) echo 'selected'; ?>>Temporizzato</option>
    </select>
</div>
<br>

    <!-- Set 6 T ON -->
    <div class="input-group3">
        <label for="Set6TON">SET-6 ON</label>
        <input type="number" id="Set6TON" value="<?php echo $Set6_T_ON_formatted ?>" name="Set6TON" min="0" max="50" step="0.1" class="modificabile">
    </div>
    <br>
 
    <!-- Set 6 T OFF -->
    <div class="input-group3">
        <label for="Set6TOFF">SET-6 OFF</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set6TOFF" value="<?php echo $Set6_T_OFF_formatted ?>" name="Set6TOFF" min="0" max="50" step="0.1"class="modificabile">
    </div>
    <br>
 
    <!-- Set 6 T Time ON -->
    <div class="input-group3">
        <label for="Set6TTON">SET-6 Temporizzato ON secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set6TTON" value="<?php echo $Set6_T_TON_formatted ?>" name="Set6TTON" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>
    
    <!-- Set 6 T Time OFF -->
    <div class="input-group3">
        <label for="Set6TTOFF">SET-6 Temporizzato OFF secondi</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set6TTOFF" value="<?php echo $Set6_T_TOFF_formatted ?>" name="Set6TTOFF" min="1" max="999" step="1" class="modificabile">
    </div>
    <br>

    <h4>SET-POINT 7 CLORO COMBINATO</h4>
    <!-- Set 7 CLC ON -->
    <div class="input-group3">
        <label for="Set7CLCON">SET-7 CLC ON</label>
        <input type="number" id="Set7CLCON" value="<?php echo $Set7_CLC_ON_formatted ?>" name="Set7CLCON" min="0" max="5" step="0.01" class="modificabile">
    </div>
    <br>
 
    <!-- Set 7 CLC OFF -->
    <div class="input-group3">
        <label for="Set7CLCOFF">SET-7 CLC OFF</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Set7CLCOFF" value="<?php echo $Set7_CLC_OFF_formatted ?>" name="Set7CLCOFF" min="0" max="5" step="0.01"class="modificabile">
    </div>
    <br>

   <h4>ALTRI VALORI DI SETUP</h4>

    <!-- Timeout Set Cl2 -->
    <div class="input-group3">
        <label for="Timeout_Cl2">Time Out Set Point Cloro - Minuti</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Timeout_Cl2" value="<?php echo  $Timeout_SET_CL2_formatted ?>" name="Timeout_Cl2" min="0" max="999" step="1"class="modificabile">
    </div>
    <br>
 
    <!-- Timeout Set pH -->
    <div class="input-group3">
        <label for="Timeout_pH">Time Out Set Point pH - Minuti</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Timeout_pH" value="<?php echo  $Timeout_SET_pH_formatted ?>" name="Timeout_pH" min="0" max="999" step="1"class="modificabile">
    </div>
    <br>

    <!-- Tempo Analisi Cloro -->
    <div class="input-group3">
        <label for="Tempo_Analisi_CL2">Tempo Analisi Cloro - Minuti</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="Tempo_Analisi_CL2" value="<?php echo  $Step_Analici_Cl2_formatted ?>" name="Tempo_Analisi_CL2" min="3" max="15" step="1"class="modificabile">
    </div>
    <br>

    <!-- Metodiche CLC x CL2 -->
    <div class="input-group3">
        <label for="ANALIS_CLC_X_CL2">Numero Analisi Cloro Libero per una di Cloro Combinato </label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="ANALIS_CLC_X_CL2" value="<?php echo   $Analisi_CLC_x_Cl2_formatted ?>" name="ANALIS_CLC_X_CL2" min="0" max="99" step="1"class="modificabile">
    </div>
    <br>

<?php  }

//var_dump( $Set1_Cl2_ON_formatted );
//die();
?> 

  

<?php if($Matricola_CALL == 1) { ?>
<div class="container2">
    <h2 style="text-align: center;"> - PARAMETRI SETUP PRO3 -</h2>
    <h4>SET-POINT 1 CLORO ppm </h4>

    <!-- Set 1 Cloro -->
    <div class="input-group3">
        <label for="PRO3S1">SET-1 </label>
        <input type="number" id="PRO3S1" value="<?php echo $Set1_Cl2_formatted ?>" name="PRO3S1" min="0" max="5" step="0.01" class="modificabile">
    </div>
    <br>

   <!-- Range Set1 Cloro Proporzionale  -->
    <div class="input-group3">
        <label for="PRO3S1P">SET-1 Proporzionale</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="PRO3S1P" value="<?php echo $Set1_Cl2_Prop_formatted ?>" name="PRO3S1P" min="20" max="100" step="5" class="modificabile">
    </div>
    <br>

    <h4>SET-POINT 2 CLORO ppm</h4>
    <!-- Set 2 Cloro -->
    <div class="input-group3">
        <label for="PRO3S2">SET-2</label>
        <input type="number" id="PRO3S2" value="<?php echo $Set2_Cl2_formatted ?>" name="PRO3S2" min="0" max="5" step="0.01" class="modificabile">
    </div>
    <br>

   <!-- Range Set1 Cloro Proporzionale  -->
    <div class="input-group3">
        <label for="PRO3S2P">SEt-2 Proporzionale</label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="PRO3S2P" value="<?php echo $Set2_Cl2_Prop_formatted ?>" name="PRO3S2P" min="20" max="100" step="5" class="modificabile">
    </div>
    <br>

    <h4>SET-POINT 3 ANTICLORO ppm</h4>
   <!-- Set 3 AntiCloro -->
    <div class="input-group3">
        <label for="PRO3S3ANT">SET-3 Anticloro</label>
        <input type="number" id="PRO3S3ANT" value="<?php echo $Set3_Antcl_formatted ?>" name="PRO3S3ANT" min="0" max="5" step="0.01" class="modificabile">
    </div>
    <br>

    <!-- Time Out Dosaggio Set Cloro -->
    <div class="input-group3">
        <label for="PRO3TOUTCL2">TimeOut Dosaggio SET Cloro - Minuti</label>
        <input type="number" id="PRO3TOUTCL2" value="<?php echo $Tout_SCl2_formatted ?>" name="PRO3TOUTCL2" min="0" max="240" step="5" class="modificabile">
    </div>
    <br>

    <h4>SET-POINT 4 pH</h4>
    <!-- Set pH -->
    <div class="input-group3">
        <label for="PRO3S4">Set4</label>
        <input type="number" id="PRO3S4" value="<?php echo $Set_pH_formatted ?>" name="PRO3S4" min="0" max="14" step="0.01" class="modificabile">
    </div>
    <br>

    <!-- Tipo Dosaggio pH -->
  <div class="input-group3">
    <label for="Tdos_Set_pH">Tipo Dosaggio pH</label>
    <select id="Tdos_Set_pH" name="Tdos_Set_pH" class="modificabile">
        <option value="0" <?php if($Tdos_Set_pH == 0) echo 'selected'; ?>>Acido!</option>
        <option value="1" <?php if($Tdos_Set_pH == 1) echo 'selected'; ?>>Basico!</option>
    </select>
</div>
<br>

    <!-- Time Out Dosaggio Set pH -->
    <div class="input-group3">
        <label for="PRO3TOUTPH">TimeOut Dosaggio Set pH - Minuti</label>
        <input type="number" id="PRO3TOUTPH" value="<?php echo $Tout_SpH_formatted ?>" name="PRO3TOUTPH" min="0" max="240" step="5" class="modificabile">
    </div>
    <br>

     <h4>ALTRE FUNZIONI</h4>
    <!-- Tempo metodica -->
    <div class="input-group3">
        <label for="PRO3TMET">Tempo Metodica - Minuti </label>
        <!--  Qui occorre inserire l'imput a passi di xxxx -->
        <input type="number" id="PRO3TMET" value="<?php echo $STEP_Anal_Cl2_formatted ?>" name="PRO3TMET" min="5" max="240" step="5" class="modificabile">
    </div>
    <br>

    <!-- Aggiungi qui altri input secondo necessità -->
    <!--  <button type="button" id="inviaValori">Converti e Invia</button>-->
    <?php } ?>



 <script>
document.querySelectorAll('input[type="number"]').forEach(input => {
    input.addEventListener('input', function() {
        const min = parseFloat(this.min);
        const max = parseFloat(this.max);
        if (this.value < min) {
            this.value = min;
        } else if (this.value > max) {
            this.value = max;
        }
    });
});



</script>
<button type="button" onclick="verificaValori()">Invia</button>
</div>

<script>
document.getElementById('inviaValori').addEventListener('click', function() {
    let valoriBinari = {};
    document.querySelectorAll('.input-group2 input').forEach(input => {
        valoriBinari[input.name] = parseInt(input.value, 10).toString(2);
    });
    alert("Valori convertiti in binario: " + JSON.stringify(valoriBinari, null, 2));
    // Qui aggiungere la logica per inviare i dati al server
});


</script>
</body>
</html>

 
<!-- *************************** Si caricano i valori solo per visionarli  ************************************************* -->
<?php
if($Matricola_CALL == 1) {
?>
<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <title> ----- </title>
    <style>
        body.visio, html {
            font-family: Arial, sans-serif;
            padding: 20px;
            background-color: #f4f4f4;
            margin: 0;
            height: 100%;
        }

        .containers-wrapper {
            display: flex;
            justify-content: space-around; /* Distribuisce uniformemente lo spazio tra i container */
            flex-wrap: wrap; /* Permette ai container di andare a capo se non c'è abbastanza spazio */
            padding: 20px;
        }
        .container90 {
        background-color: white;
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        width: 60%; /* era 90% Adatta la larghezza in base alla larghezza del viewport */
        margin: 20px auto; /* Centra il contenitore */
       
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap; /* Questo assicura che gli elementi non vadano a capo automaticamente - Aggiunto ! */
       
        max-height: 2000px; /* Era 400 */
        overflow-y: auto;
        }

        @media (max-width: 768px) { /* Per dispositivi con larghezza fino a 768px */
        .container90 {
        width: 95%; /* Larghezza maggiore per schermi più piccoli */
        margin-top: 10px; /* Margini ridotti per la parte superiore */
        position: relative; /* O evita completamente la proprietà position se non necessaria */
        top: auto;
        left: auto;
        }
        }

        .input-group90 input {
            width: 100%;
            padding: 10px;
            border-radius: 4px;
            border: 1px solid #ddd;
            box-sizing: border-box;
            background-color: #ffffff; /* Imposta il bianco come colore di base per tutti gli input */
        }

        .input-group90 input[readonly] {
            background-color: #ffffff; /* Bianco per input di sola lettura */
        }

        /* Nasconde le freccette per gli input di tipo number nel container specifico */
        .container90 input[type="number"]::-webkit-inner-spin-button,
        .container90 input[type="number"]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
        }

        .container90 input[type="number"] {
        -moz-appearance: textfield;
        }
    </style>
</head>
<body class="visio">

<?php

// Versione SW
$Ver_SW = conv16_2D($result[10], $result[11]);
// Formattato con 2 cifre decimali
$Ver_SW_formatted = number_format($Ver_SW  , 2, '.', '');

// Matricola
$Matricola_Pro3 = conv32($result[64], $result[65], $result[66], chr(0));
$Matricola_Pro3_formatted = number_format($Matricola_Pro3 , 0, '.', '');

// Numero Metodiche
$NMetodiche = conv32($result[14], $result[15], $result[16], chr(0));
// Formattato con 0 cifre decimali
$NMetodiche_formatted = number_format($NMetodiche , 0, '.', '');

// Bontà Cella fotometro
$Bonta_Cell = conv16($result[6], chr(0));
$Bonta_Cell_formatted = number_format($Bonta_Cell , 0, '.', '');

// ADC Cella fotometro
$ADC_Cella = conv16($result[54], $result[55]);
$ADC_Cella_formatted = number_format($ADC_Cella , 0, '.', '');

// ADC Cella fotometro ZERO
$ADC_Zero = conv16($result[60], $result[61]);
$ADC_Zero_formatted = number_format($ADC_Zero , 0, '.', '');

//Kfactor Cloro Libero
$Kfactor_Cl2 = conv16_2D($result[44], $result[45]);
// Formattato con 2 cifre decimali
$Kfactor_Cl2_formatted = number_format($Kfactor_Cl2  , 2, '.', '');

// Mis. Zero
$Mzero = conv16($result[36], chr(0));
$Mzero_formatted = number_format($Mzero , 0, '.', '');

//Offset pH mV
$OffSet_pH = conv16($result[40], $result[41]); // L - H
$OffSet_pH = $OffSet_pH - 10000;
$OffSet_pH_formatted = number_format($OffSet_pH  , 0, '.', '');
  
// Sloope eletrodo pH mV
$Sloop_pH = conv16($result[38], $result[39]);
$Sloop_pH = $Sloop_pH / 100.0;
$Sloop_pH_formatted = number_format($Sloop_pH   , 0, '.', '');

// Offset Temperatura °C
$OffSet_T = conv16($result[37], chr(0)); // L - H
$OffSet_T = ($OffSet_T - 128) / 10.0;
$OffSet_T_formatted = number_format($OffSet_T  , 1, '.', '');


?>
<div class="container90">
    <h2>Altri valori del Pro3</h2>

    <!-- Versione SW -->
    <div class="input-group90">
        <label> Versione SW</label>
        <input type="number" readonly value="<?php echo $Ver_SW_formatted  ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- Matricola -->
    <div class="input-group90">
        <label> Matricola Centralina</label>
        <input type="number" readonly value="<?php echo $Matricola_Pro3_formatted  ?>" class="input-senza-freccette">
    </div>
    <br>   
     
    <!-- Numero Metodiche -->
    <div class="input-group90">
        <label> Metodiche eseguite</label>
        <input type="number" readonly value="<?php echo $NMetodiche_formatted ?>" class="input-senza-freccette">
    </div>
    <br>   

    <!-- Bontà cella -->
    <div class="input-group90">
        <label>Bontà Cella fotometrica </label>
        <input type="number" readonly value="<?php echo $Bonta_Cell_formatted ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- ADC Cella  -->
    <div class="input-group90">
        <label>Cella fotometrica ADC</label>
        <input type="number" readonly value="<?php echo $ADC_Cella_formatted ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- ADC Cella Zero -->
    <div class="input-group90">
        <label>Cella fotometrica ADC - "ZERO"</label>
        <input type="number" readonly value="<?php echo $ADC_Zero_formatted ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- K-Factor cloro libero -->
    <div class="input-group90">
        <label>K-Factor Analisi Cloro libero</label>
        <input type="number" readonly value="<?php echo $Kfactor_Cl2_formatted  ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- Misure a Zero -->
    <div class="input-group90">
        <label>Misure a Zero </label>
        <input type="number" readonly value="<?php echo $Mzero ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- OFFSet pH  -->
    <div class="input-group90">
        <label>Offset Elettrodo pH - mV</label>
        <input type="number" readonly value="<?php echo $OffSet_pH_formatted  ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- Sloope elettrodo pH  -->
    <div class="input-group90">
        <label>Sloope Elettrodo pH - mV</label>
        <input type="number" readonly value="<?php echo $Sloop_pH_formatted  ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- OFFset sonda di temperatura °C  -->
    <div class="input-group90">
        <label>OFFset sonda di temperatura - °C</label>
        <input type="number" readonly value="<?php echo $OffSet_T_formatted ?>" class="input-senza-freccette">
    </div>
    <br>
 </div>
</body>
</html>
<?php } ?>

<?php
if($Matricola_CALL == 2) {
?>
<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <title> ----- </title>
    <style>
        body.visio, html {
            font-family: Arial, sans-serif;
            padding: 20px;
            background-color: #f4f4f4;
            margin: 0;
            height: 100%;
        }

        .containers-wrapper {
            display: flex;
            justify-content: space-around; /* Distribuisce uniformemente lo spazio tra i container */
            flex-wrap: wrap; /* Permette ai container di andare a capo se non c'è abbastanza spazio */
            padding: 20px;
        }
        .container90 {
        background-color: white;
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        width: 60%; /* era 90% Adatta la larghezza in base alla larghezza del viewport */
        margin: 20px auto; /* Centra il contenitore */
       
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap; /* Questo assicura che gli elementi non vadano a capo automaticamente - Aggiunto ! */
       
        max-height: 2000px; /* Era 400 */
        overflow-y: auto;
        }

        @media (max-width: 768px) { /* Per dispositivi con larghezza fino a 768px */
        .container90 {
        width: 95%; /* Larghezza maggiore per schermi più piccoli */
        margin-top: 10px; /* Margini ridotti per la parte superiore */
        position: relative; /* O evita completamente la proprietà position se non necessaria */
        top: auto;
        left: auto;
        }
        }

        .input-group90 input {
            width: 100%;
            padding: 10px;
            border-radius: 4px;
            border: 1px solid #ddd;
            box-sizing: border-box;
            background-color: #ffffff; /* Imposta il bianco come colore di base per tutti gli input */
        }

        .input-group90 input[readonly] {
            background-color: #ffffff; /* Bianco per input di sola lettura */
        }

        /* Nasconde le freccette per gli input di tipo number nel container specifico */
        .container90 input[type="number"]::-webkit-inner-spin-button,
        .container90 input[type="number"]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
        }

        .container90 input[type="number"] {
        -moz-appearance: textfield;
        }
    </style>
</head>
<body class="visio">

<?php

// Versione SW
$Ver_SW = conv16_1D($result[6], $result[5]);
// Formattato con 2 cifre decimali
$Ver_SW_formatted = number_format($Ver_SW  , 1, '.', '');

// Matricola
$Matricola_Pro5 = $result[151] .$result[152] . $result[153] . $result[154] . $result[155] . $result[156] . $result[157] . $result[158] . $result[159] . $result[160];   
//$Matricola_Pro5 = '020202020';
//var_dump( $Matricola_Pro5 );
// die();
// Valore cella fotometrica
 $ADC_Cella = conv16($result[24], $result[23]);
$ADC_Cella_formatted = number_format($ADC_Cella , 0, '.', '');


?>
<div class="container90">
    <h2>Altri valori del Pro5 </h2>

    <!-- Versione SW -->
    <div class="input-group90">
        <label> Versione SW</label>
        <input type="number" readonly value="<?php echo $Ver_SW_formatted  ?>" class="input-senza-freccette">
    </div>
    <br>

    <!-- Matricola -->
    <div class="input-group90">
        <label> Matricola Centralina</label>
        <input type="text" readonly value="<?php echo $Matricola_Pro5  ?>" class="input-senza-freccette">
    </div>
    <br>   
     
    <!-- ADC Cella  -->
    <div class="input-group90">
        <label>Cella fotometrica ADC</label>
        <input type="number" readonly value="<?php echo $ADC_Cella_formatted ?>" class="input-senza-freccette">
    </div>
    <br>

 </div>
</body>
</html>
<?php } ?>
<?php } ?>

 