<?php

#rotina que verifica se `reservas_rel_datas` est� populada
$rotinas = mysql_query("SELECT `CODRESERVA`,`DTAINICIO`,`DTAFIM` FROM `reservas` ORDER BY `DTA` DESC");
if (mysql_num_rows($rotinas)) {
    while ($rotina = mysql_fetch_object($rotinas)) {
        $rrds = mysql_query("SELECT * FROM `reservas_rel_datas` WHERE `CODRESERVA` = '{$rotina->CODRESERVA}'");
        if (!mysql_num_rows($rrds)) {
            #echo "<br/>inicio: ".$rotina->DTAINICIO;
            #echo "<br/>fim: ".$rotina->DTAFIM;
            #echo "<br/>";
            $matriz = sequenciaDtas($rotina->DTAINICIO, $rotina->DTAFIM);
            $length = sizeof($matriz);
            for ($i = 0; $i < $length; $i++) {
                if ($i == 0) {
                    if (!mysql_num_rows(mysql_query("SELECT * FROM  `reservas_rel_datas` WHERE DTA='{$matriz[$i]}' AND CODRESERVA='{$rotina->CODRESERVA}' AND CHECK_IN='entrada'"))) {
                        mysql_query("INSERT INTO `reservas_rel_datas`(`CODRESERVA`,`DTA`,`CHECK_IN`)VALUES('{$rotina->CODRESERVA}','{$matriz[$i]}', 'entrada')");
                    }
                } else {
                    if ($i == $length - 1) {
                        if (!mysql_num_rows(mysql_query("SELECT * FROM  `reservas_rel_datas` WHERE DTA='{$matriz[$i]}' AND CODRESERVA='{$rotina->CODRESERVA}' AND CHECK_IN='saida'"))) {
                            mysql_query("INSERT INTO `reservas_rel_datas`(`CODRESERVA`,`DTA`,`CHECK_IN`)VALUES('{$rotina->CODRESERVA}','{$matriz[$i]}', 'saida')");
                        }
                    } else {
                        if (!mysql_num_rows(mysql_query("SELECT * FROM  `reservas_rel_datas` WHERE DTA='{$matriz[$i]}' AND CODRESERVA='{$rotina->CODRESERVA}' AND CHECK_IN='estadia'"))) {
                            mysql_query("INSERT INTO `reservas_rel_datas`(`CODRESERVA`,`DTA`,`CHECK_IN`)VALUES('{$rotina->CODRESERVA}','{$matriz[$i]}', 'estadia')");
                        }
                    }
                }
            }
        }
    (int) ($qntd_quartos = mysql_num_rows(mysql_query("SELECT * FROM quartos\r\n\t\tINNER JOIN quartos_rel_quartos_tipo ON quartos_rel_quartos_tipo.CODQUARTO=quartos.CODQUARTO\r\n\t\tINNER JOIN quartos_tipo ON quartos_tipo.CODQUARTOTIPO=quartos_rel_quartos_tipo.CODQUARTOTIPO\r\n\t\tWHERE quartos_tipo.CODQUARTOTIPO='{$codquartotipo}' \r\n\t\tAND quartos_tipo.STATUS=1 \r\n\t\tAND quartos.STATUS=1\r\n\t\tGROUP BY quartos.CODQUARTO")));
    (int) ($qntd_quartos_reservados = mysql_num_rows(mysql_query("SELECT * FROM reservas\r\n\t\tINNER JOIN reservas_rel_tipo_quarto ON reservas_rel_tipo_quarto.CODRESERVA=reservas.CODRESERVA\r\n\t\tINNER JOIN reservas_rel_datas ON reservas_rel_datas.CODRESERVA=reservas.CODRESERVA\r\n\t\tWHERE reservas_rel_datas.DTA  BETWEEN '{$dtainicio}' AND '{$dtafim}' \r\n\t\tAND reservas_rel_tipo_quarto.CODTIPOQUARTO='{$codquartotipo}' AND reservas.STATUS=1\r\n\t\tGROUP BY reservas.CODRESERVA")));
    (int) ($saida = mysql_num_rows(mysql_query("SELECT * FROM reservas\r\n\t\tINNER JOIN reservas_rel_tipo_quarto ON reservas_rel_tipo_quarto.CODRESERVA=reservas.CODRESERVA\r\n\t\tINNER JOIN reservas_rel_datas ON reservas_rel_datas.CODRESERVA=reservas.CODRESERVA\r\n\t\tWHERE reservas_rel_tipo_quarto.CODTIPOQUARTO='{$codquartotipo}' \r\n\t\tAND (reservas.STATUS=1 OR reservas.STATUS=3 OR reservas.STATUS=4 OR reservas.STATUS=5)\r\n\t\tAND reservas_rel_datas.DTA='{$dtainicio}' AND reservas_rel_datas.CHECK_IN='entrada'\r\n\t\tGROUP BY reservas.CODRESERVA")));
    if ($saida) {
        if ($qntd_quartos == $saida) {
            echo Error("LABEL_DTA_RESERVAS");
            return;
        }
    } else {
        $entrada = mysql_num_rows(mysql_query("SELECT * FROM reservas\r\n\t\t\tINNER JOIN reservas_rel_tipo_quarto ON reservas_rel_tipo_quarto.CODRESERVA=reservas.CODRESERVA\r\n\t\t\tINNER JOIN reservas_rel_datas ON reservas_rel_datas.CODRESERVA=reservas.CODRESERVA\r\n\t\t\tWHERE reservas_rel_tipo_quarto.CODTIPOQUARTO='{$codquartotipo}' \r\n\t\t\tAND (reservas.STATUS=1 OR reservas.STATUS=3 OR reservas.STATUS=4 OR reservas.STATUS=5)\r\n\t\t\tAND (reservas_rel_datas.DTA='{$dtafim}' AND reservas_rel_datas.CHECK_IN='saida')"));
        if ($qntd_quartos == $entrada) {
            echo Error("LABEL_DTA_RESERVAS");
            return;
        }
    }
    $sequenciaDtas = sequenciaDtas($dtainicio, $dtafim);
    $_in = "('" . implode("','", $sequenciaDtas) . "')";
    $_validando = mysql_num_rows(mysql_query("SELECT reservas_rel_datas_pacotes.* FROM reservas_rel_datas_pacotes\r\n\t\tINNER JOIN pacotes ON pacotes.CODPACOTE=reservas_rel_datas_pacotes.CODPACOTE\r\n\t\tINNER JOIN pacotes_rel_datas ON pacotes.CODPACOTE=pacotes_rel_datas.CODPACOTE\r\n\t\tINNER JOIN datas ON datas.CODDTA=pacotes_rel_datas.CODDTA \r\n\t\tWHERE pacotes.CODQUARTOTIPO='{$codquartotipo}'\r\n\t\tAND reservas_rel_datas_pacotes.CHECK_IN='estadia'\r\n\t\tAND reservas_rel_datas_pacotes.DTA IN {$_in}\r\n\t\tGROUP BY reservas_rel_datas_pacotes.DTA"));
    if ($_validando) {
        echo Error("LABEL_DTA_RESERVAS");
        return;
    } else {
        require "valida_hospedagem2_continue.php";
    }
} else {
    require "valida_hospedagem2_continue.php";
}
$conn->close();
?>