<?php

	require_once('Connections/nosotros_connection.php');
	require_once('nosotros.php');

	$array = array_merge(array(), $_POST);

	$array["documento"] = trim( $array["documento"] );
	$array["apellido"] = trim( $array["apellido"] );
	$array["nombre"] = trim( $array["nombre"] );
	$array["domicilio"] = trim( $array["domicilio"] );
	$id_persona=$array["id_persona"];
	$id_tipo_doc=$array["id_tipo_doc"];
	$documento=$array["documento"];
	$id_reserva=$array["id_reserva"];

	if( $documento=="")
	{
		echo AJAX_ERROR("El n&uacute;mero de documento no puede estar vac&iacute;o");
		return;
	}

	if( $array["nombre"]=="")
	{
		echo AJAX_ERROR("El nombre no puede estar vac&iacute;o");
		return;
	}

	if( $array["apellido"]=="")
	{
		echo AJAX_ERROR("El apellido no puede estar vac&iacute;o");
		return;
	}

	if( $array["domicilio"]=="")
	{
		echo AJAX_ERROR("El domicilio no puede estar vac&iacute;o");
		return;
	}


	//Si la persona no existe
	if( $id_persona==-1 )
	{
		//Verifico que no tenga el mismo tipo y número de documento que otro pasajero
		//Puede darse el caso que haya dos tipos y numeros de documentos para la misma persona 
		//fisica... se verá
		$sql ="SELECT * FROM `persona` WHERE id_tipo_doc=$id_tipo_doc AND documento='$documento'";
		$resultado = mysqli_query($odonto_connection,$sql);
		if($resultado)
		{
			if( ($fila = mysqli_fetch_assoc($resultado)) )
			{
				echo AJAX_ERROR("Ya existe una persona con ese tipo y n&uacute;mero de documento");
				return;
			}
		}
	}
	else
	{
		//Si la persona existe...

		//Controlo que no sea pasajero ya cargado
		$sql ="SELECT * FROM `persona_reserva` WHERE id_reserva=$id_reserva AND id_persona=$id_persona";

		$resultado = mysqli_query($odonto_connection,$sql);
		if($resultado)
		{
			if( ($fila = mysqli_fetch_assoc($resultado)) )
			{
				echo AJAX_ERROR("La persona indicada ya es un pasajero en esta reserva");
				return;
			}
		}
		else
		{
			echo AJAX_ERROR( mysqli_error($odonto_connection) ." " . $sql );
			return;
		}
		
	}

	if( $id_persona==-1 )
		$id_persona = $array["id_persona"] = Insert($odonto_connection, "persona", $array);
	else
		Update($odonto_connection, "persona", $array);

	$id_persona_reserva=-1;

	if( $id_persona!=-1 )
		$id_persona_reserva = Insert($odonto_connection, "persona_reserva", $array);
	
	if($id_persona!=-1 && $id_persona_reserva!=-1)
		echo AJAX_OK();
	else
		echo AJAX_ERROR("No se pudo guardar la reserva por un error en la base de datos");
/*
DELIMITER //
CREATE PROCEDURE actualizar_saldos_pagos (IN idreserva INT)
BEGIN
	DECLARE suma INT;
	SELECT SUM(monto) INTO suma FROM pagos WHERE id_reserva=idreserva;
	IF suma IS NULL THEN
		SET suma=0;
	END IF;
	UPDATE reserva SET pago=suma, saldo=total-suma WHERE id_reserva=idreserva;
END//

DELIMITER ;

CREATE TRIGGER actualizar_pagos_insert AFTER INSERT ON pagos FOR EACH ROW CALL actualizar_saldos_pagos(NEW.id_reserva);
CREATE TRIGGER actualizar_pagos_delete AFTER DELETE ON pagos FOR EACH ROW CALL actualizar_saldos_pagos(OLD.id_reserva);
CREATE TRIGGER actualizar_pagos_update AFTER UPDATE ON pagos FOR EACH ROW CALL actualizar_saldos_pagos(OLD.id_reserva);
*/
?>
