<?php
require_once '../../App/bootstrap.php';

$attachId = isset($_GET['attach_id']) ? $_GET['attach_id'] : 0;
if (!$user->isLogged()) {
	//exit(0);
}

$attach = $db->where('id', $attachId)->getOne('requests_attachments');
$file_name = $attach['file_name'];
?>
<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Dicom</title>

	<style>
    #dicomImage {
      width: 100%;
      height: 100%;
      position: relative;
    }
  </style>
</head>
<body>

    <main>
        <section>
		<div id="dicomImage"></div>
        </section>
    </main>

	<script src="https://unpkg.com/cornerstone-core@2.3.0/dist/cornerstone.js"></script>
	<script src="https://unpkg.com/dicom-parser@1.8.4/dist/dicomParser.js"></script>
	<script src="https://unpkg.com/cornerstone-wado-image-loader@3.1.0/dist/cornerstoneWADOImageLoader.js"></script>
	<script src="https://unpkg.com/cornerstone-tools@4.15.0/dist/cornerstoneTools.js"></script>

	<script>
    document.addEventListener('DOMContentLoaded', function () {
      // Abilita il caricamento delle immagini WADO-URI
      cornerstoneWADOImageLoader.external.cornerstone = cornerstone;

      // Configura il caricatore WADO-URI
      cornerstoneWADOImageLoader.configure({
        beforeSend: function (xhr) {
          // Se necessarie, puoi aggiungere intestazioni personalizzate
        }
      });

      // Inizializza Cornerstone per l'elemento
      const element = document.getElementById('dicomImage');
      cornerstone.enable(element);

      // Carica l'immagine DICOM da un URL
      const dicomUrl = '/dicom-files/sample.dcm';  // Aggiorna questo con il tuo percorso
      const imageId = 'wadouri:' + dicomUrl;

      // Carica e visualizza l'immagine
      cornerstone.loadImage(imageId).then(function(image) {
        cornerstone.displayImage(element, image);
      }).catch(function(err) {
        console.error('Errore durante il caricamento dell\'immagine DICOM:', err);
      });

      // Abilita strumenti di Cornerstone Tools
      cornerstoneTools.init();
      const ZoomTool = cornerstoneTools.ZoomMouseWheelTool;
      const PanTool = cornerstoneTools.PanTool;
      const WwwcTool = cornerstoneTools.WwwcTool; // Window/Level (Contrasto)
      const LengthTool = cornerstoneTools.LengthTool; // Misurazioni lunghezza

      // Aggiungi i tool all'elemento DOM
      cornerstoneTools.addTool(ZoomTool);
      cornerstoneTools.addTool(PanTool);
      cornerstoneTools.addTool(WwwcTool);
      cornerstoneTools.addTool(LengthTool);

      // Attiva i tool con pulsanti
      document.getElementById('activateZoom').addEventListener('click', function() {
        cornerstoneTools.setToolActive('ZoomMouseWheel', { mouseButtonMask: 1 });
      });

      document.getElementById('activatePan').addEventListener('click', function() {
        cornerstoneTools.setToolActive('Pan', { mouseButtonMask: 1 });
      });

      document.getElementById('activateWwwc').addEventListener('click', function() {
        cornerstoneTools.setToolActive('Wwwc', { mouseButtonMask: 1 });
      });

      document.getElementById('activateLength').addEventListener('click', function() {
        cornerstoneTools.setToolActive('Length', { mouseButtonMask: 1 });
      });
    });
  </script>

</body>
</html>
