<?php

session_start();
// Tiempo máximo de inactividad (en segundos)
$tiempo_inactividad = 900; // 900 = 15 minutos

if (isset($_SESSION['ultimo_movimiento'])) {
    if (time() - $_SESSION['ultimo_movimiento'] > $tiempo_inactividad) {
        session_unset();
        session_destroy();
        header("Location: login2.php?timeout=1");
        exit();
    }
}

$_SESSION['ultimo_movimiento'] = time();

if (!isset($_SESSION['usuario'])) {

    header("Location: login.php");

    exit;

}

?>



<?php

// Cargar áreas desde areas.txt

$areas = file("areas.txt", FILE_IGNORE_NEW_LINES);

?>    

<!DOCTYPE html>

<html lang="es">

<head>

<meta charset="UTF-8">

<title>Cotización de Proyectos</title>



<style>

body {

    font-family: Arial, sans-serif;

    margin: 20px;

}

label {

    font-weight: bold;

}

input, select {

    padding: 6px;

    width: 300px;

    margin-bottom: 10px;

}

table {

    width: 100%;

    border-collapse: collapse;

    margin-top: 15px;

}

table th, table td {

    border: 1px solid #ccc;

    padding: 8px;

}

button {

    padding: 10px 20px;

    background: #0078D7;

    color: white;

    border: none;

    cursor: pointer;

}

button:hover {

    background: #005fa3;

}

.btn-iva-on {

    background: #0078D7;

}

.btn-iva-off {

    background: #777;

}

.btn-x {

    background: red;

    color: white;

    padding: 5px 10px;

    border: none;

    cursor: pointer;

}

</style>



<script>

// IVA ON/OFF

let ivaActivo = true;



function toggleIVA() {

    ivaActivo = !ivaActivo;

    let btn = document.getElementById("btnIVA");



    if (ivaActivo) {

        btn.className = "btn-iva-on";

        btn.innerText = "IVA: ON";

    } else {

        btn.className = "btn-iva-off";

        btn.innerText = "IVA: OFF";

    }



    calcularTotales();

}



// Agregar fila

function agregarFila() {

    let tabla = document.getElementById("tabla_materiales");

    let fila = tabla.insertRow(-1);



    fila.innerHTML = `

        <td><input type="text" name="descripcion_material[]" required></td>

        <td><input type="number" name="cantidad_material[]" step="1" min="1" required oninput="calcularTotales()"></td>

        <td><input type="number" name="precio_material[]" step="0.01" min="0" required oninput="calcularTotales()"></td>

        <td><button type="button" class="btn-x" onclick="eliminarFila(this)">X</button></td>

    `;

}



// Eliminar fila

function eliminarFila(btn) {

    let fila = btn.parentNode.parentNode;

    fila.remove();

    calcularTotales();

}



// Calcular totales

function calcularTotales() {

    let cantidades = document.getElementsByName("cantidad_material[]");

    let precios = document.getElementsByName("precio_material[]");



    let subtotal = 0;



    for (let i = 0; i < cantidades.length; i++) {

        let cant = parseFloat(cantidades[i].value) || 0;

        let prec = parseFloat(precios[i].value) || 0;

        subtotal += cant * prec;

    }



    let iva = ivaActivo ? subtotal * 0.16 : 0;

    let total = subtotal + iva;



    document.getElementById("subtotal").innerText = subtotal.toFixed(2);

    document.getElementById("iva").innerText = iva.toFixed(2);

    document.getElementById("total").innerText = total.toFixed(2);



    document.getElementById("iva_estado").value = ivaActivo ? "1" : "0";

}

</script>



</head>

<body onload="calcularTotales()">



<h2>Cotización de Proyectos</h2>



<form action="guardar.php" method="POST">



<label>Fecha:</label><br>

<input type="date" name="fecha" required><br>



<label>Tipo de proyecto:</label><br>

<input type="text" name="tipo_proyecto" required><br>



<label>Descripción:</label><br>

<input type="text" name="descripcion" required><br>



<label>Área solicitante:</label><br>

<select name="area_solicitante" required>

    <option value="">Seleccione un área</option>

    <?php foreach ($areas as $a) { echo "<option>$a</option>"; } ?>

</select><br>



<label>Solicita:</label><br>

<input type="text" name="solicita" required><br>



<label>Autoriza:</label><br>

<input type="text" name="autoriza" required><br>



<h3>Materiales  

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

    <label>Proveedor:</label>

    <input type="text" name="proveedor" style="width:200px;">

</h3>



<table>

<thead>

<tr>

<th>Descripción</th>

<th>Cantidad</th>

<th>Precio</th>

<th>Eliminar</th>

</tr>

</thead>

<tbody id="tabla_materiales">

<tr>

<td><input type="text" name="descripcion_material[]" required></td>

<td><input type="number" name="cantidad_material[]" step="1" min="1" required oninput="calcularTotales()"></td>

<td><input type="number" name="precio_material[]" step="0.01" min="0" required oninput="calcularTotales()"></td>

<td><button type="button" class="btn-x" onclick="eliminarFila(this)">X</button></td>

</tr>

</tbody>

</table>



<button type="button" onclick="agregarFila()">Agregar material</button>



<br><br>



<h3>Totales</h3>



<button type="button" id="btnIVA" class="btn-iva-on" onclick="toggleIVA()">IVA: ON</button>



<p><strong>Subtotal:</strong> $<span id="subtotal">0.00</span></p>

<p><strong>IVA:</strong> $<span id="iva">0.00</span></p>

<p><strong>Total:</strong> $<span id="total">0.00</span></p>



<label>Tiempo de entrega:</label><br>

<input type="text" name="tiempo_entrega"><br>



<input type="hidden" name="iva_estado" id="iva_estado" value="1">



<br><br>



<button type="submit">Guardar y generar PDF</button>



</form>



</body>

</html>

