<?php
require_once "config.php";
require_once "auth.php";
requireLogin();

header('Content-Type: application/json');

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['success' => false, 'error' => 'Invalid request method']);
    exit;
}

$naziv = trim($_POST['naziv'] ?? '');
$grad = trim($_POST['grad'] ?? '');
$kontakt_osoba = trim($_POST['kontakt_osoba'] ?? '');
$email = trim($_POST['email'] ?? '');
$adresa = trim($_POST['adresa'] ?? '');
$telefon = trim($_POST['telefon'] ?? '');
$pib = trim($_POST['pib'] ?? '');
$maticni_broj = trim($_POST['maticni_broj'] ?? '');
$cena_do_aerodroma = !empty($_POST['cena_do_aerodroma']) ? $_POST['cena_do_aerodroma'] : null;
$cena_od_aerodroma = !empty($_POST['cena_od_aerodroma']) ? $_POST['cena_od_aerodroma'] : null;

if (empty($naziv) || empty($grad)) {
    echo json_encode(['success' => false, 'error' => 'Naziv i grad su obavezna polja']);
    exit;
}

if (!empty($email) && !filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo json_encode(['success' => false, 'error' => 'Email adresa nije validna']);
    exit;
}

if ($cena_do_aerodroma !== null && $cena_do_aerodroma !== '') {
    $cena_do_aerodroma = floatval($cena_do_aerodroma);
} else {
    $cena_do_aerodroma = null;
}
if ($cena_od_aerodroma !== null && $cena_od_aerodroma !== '') {
    $cena_od_aerodroma = floatval($cena_od_aerodroma);
} else {
    $cena_od_aerodroma = null;
}

if ($cena_do_aerodroma === null && $cena_od_aerodroma === null) {
    $stmt = $conn->prepare("INSERT INTO komitenti (naziv, grad, kontakt_osoba, email, adresa, telefon, pib, maticni_broj, cena_do_aerodroma, cena_od_aerodroma) VALUES (?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL)");
    $stmt->bind_param("ssssssss", $naziv, $grad, $kontakt_osoba, $email, $adresa, $telefon, $pib, $maticni_broj);
} elseif ($cena_do_aerodroma === null) {
    $stmt = $conn->prepare("INSERT INTO komitenti (naziv, grad, kontakt_osoba, email, adresa, telefon, pib, maticni_broj, cena_do_aerodroma, cena_od_aerodroma) VALUES (?, ?, ?, ?, ?, ?, ?, ?, NULL, ?)");
    $stmt->bind_param("ssssssssd", $naziv, $grad, $kontakt_osoba, $email, $adresa, $telefon, $pib, $maticni_broj, $cena_od_aerodroma);
} elseif ($cena_od_aerodroma === null) {
    $stmt = $conn->prepare("INSERT INTO komitenti (naziv, grad, kontakt_osoba, email, adresa, telefon, pib, maticni_broj, cena_do_aerodroma, cena_od_aerodroma) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NULL)");
    $stmt->bind_param("ssssssssd", $naziv, $grad, $kontakt_osoba, $email, $adresa, $telefon, $pib, $maticni_broj, $cena_do_aerodroma);
} else {
    $stmt = $conn->prepare("INSERT INTO komitenti (naziv, grad, kontakt_osoba, email, adresa, telefon, pib, maticni_broj, cena_do_aerodroma, cena_od_aerodroma) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    $stmt->bind_param("ssssssssdd", $naziv, $grad, $kontakt_osoba, $email, $adresa, $telefon, $pib, $maticni_broj, $cena_do_aerodroma, $cena_od_aerodroma);
}

if ($stmt->execute()) {
    $id = $conn->insert_id;
    echo json_encode([
        'success' => true,
        'komitent' => [
            'id' => $id,
            'naziv' => $naziv
        ]
    ]);
} else {
    echo json_encode(['success' => false, 'error' => 'Greška prilikom čuvanja komitenta']);
} 