
/**
 *
 * @author Johannes Rothkegel, Juan Pablo Rothkegel Ide, Raul Cortes
 *
 * PiezaView es la clase que se encarga de la 3 vista de nuestro programa, la que muestra
 * la distribución de las habitaciones en el piso correspondiente, las habitaciones que están disponibles
 * y que cumplan con los requisitos de la reserva hecha.
 */


import javax.swing.*;
import javax.swing.border.*;
import javax.accessibility.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;


public class PiezaView extends javax.swing.JFrame {
    private Reserva reserva;
    private ArrayList<PiezaReservada> pieza_reservada;
    private Pieza pieza;

    private Personas personas;
    private ReservasPersona reserva_personas;
    private Piezas piezas;
    private PiezasReservadas piezas_reservadas;

    private int seleccion_anterior;

    private boolean [] isBussy;
    private String [] type;



    /**
     * Creates new form Pieza
     */
    public PiezaView(Reserva r ,ArrayList<PiezaReservada> p) {
        reserva = r;
        pieza_reservada =  new ArrayList<PiezaReservada>();
        pieza_reservada = p;

        personas = new Personas();
        reserva_personas = new ReservasPersona(personas);
        piezas = new Piezas();
        piezas_reservadas = new PiezasReservadas(piezas);

        PiezaReservada px;
        px = pieza_reservada.get(0);
        if(p!=null){
            Pieza pi = piezas.getPieza(px.getIdPieza());

            if(pi!=null){
               if(pi.getId() == 0)
                  pi.setTamanno(px.getTamanno());
               pieza=pi;
               System.out.println(pieza.estado + "\t" +pieza.getId());
               if(pieza.estado.equals("bussy")){
                  pieza.changeStatus();
                  piezas.updatePieza(pieza.getId(),pieza);
               }
            }
        }

        seleccion_anterior = 0;
        isBussy = new boolean [7];
        type = new String[7];
        refreshType(1);
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        jComboBox1 = new javax.swing.JComboBox<>();
        jLayeredPane1 = new javax.swing.JLayeredPane();
        label = new javax.swing.JLabel[7];
        jLayeredPane2 = new javax.swing.JLayeredPane();
        jLayeredPane6 = new javax.swing.JLayeredPane();
        jLayeredPane8 = new javax.swing.JLayeredPane();
        jLayeredPane9 = new javax.swing.JLayeredPane();
        jLayeredPane12 = new javax.swing.JLayeredPane();
        jLayeredPane13 = new javax.swing.JLayeredPane();
        jLabel3 = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
        jLabel2.setText("Piso numero:");

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
        jLabel1.setText("Elija la habitacion que desee, que tenga un tamanno de "+pieza_reservada.get(0).getTamanno()+" personas.");

        jComboBox1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
        String floorNr[] = new String[piezas.getCantPiezas()];
        for(int i=1; i<=piezas.getCantPiezas();i++){
            floorNr[i-1] = "" + i;
        }


        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(floorNr));

        jComboBox1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBox1ActionPerformed(evt);
            }
        });

        jLayeredPane1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLayeredPane1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLayeredPane1MouseClicked(evt);
            }
        });

        //-----------------------------------Pieza 1 -------------------------------
        label[0] = createColoredLabel("Pieza 1 "+type[0],Color.red,new Point(10, 20));


        jLayeredPane1.setLayer(label[0], javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout jLayeredPane1Layout = new javax.swing.GroupLayout(jLayeredPane1);
        jLayeredPane1.setLayout(jLayeredPane1Layout);
        jLayeredPane1Layout.setHorizontalGroup(
            jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[0], javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
        );
        jLayeredPane1Layout.setVerticalGroup(
            jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[0], javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        jLayeredPane2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLayeredPane2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLayeredPane2MouseClicked(evt);
            }
        });


        //--------------------------------Pieza 2 ------------------------------
        label[2] = createColoredLabel("Pieza 3 "+type[2],Color.red,new Point(10, 20));

        jLayeredPane2.setLayer(label[2], javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout jLayeredPane2Layout = new javax.swing.GroupLayout(jLayeredPane2);
        jLayeredPane2.setLayout(jLayeredPane2Layout);
        jLayeredPane2Layout.setHorizontalGroup(
            jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[2], javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        jLayeredPane2Layout.setVerticalGroup(
            jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[2], javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        jLayeredPane6.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLayeredPane6.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLayeredPane6MouseClicked(evt);
            }
        });

        label[6] = createColoredLabel("Pieza 7 "+type[6],Color.red,new Point(10, 20));

        jLayeredPane6.setLayer(label[6], javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout jLayeredPane6Layout = new javax.swing.GroupLayout(jLayeredPane6);
        jLayeredPane6.setLayout(jLayeredPane6Layout);
        jLayeredPane6Layout.setHorizontalGroup(
            jLayeredPane6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[6], javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
        );
        jLayeredPane6Layout.setVerticalGroup(
            jLayeredPane6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jLayeredPane6Layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addComponent(label[6], javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        jLayeredPane8.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLayeredPane8.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLayeredPane8MouseClicked(evt);
            }
        });

        label[1] = createColoredLabel("Pieza 2 "+type[1],Color.red,new Point(10, 20));

        jLayeredPane8.setLayer(label[1], javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout jLayeredPane8Layout = new javax.swing.GroupLayout(jLayeredPane8);
        jLayeredPane8.setLayout(jLayeredPane8Layout);
        jLayeredPane8Layout.setHorizontalGroup(
            jLayeredPane8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[1], javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
        );
        jLayeredPane8Layout.setVerticalGroup(
            jLayeredPane8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[1], javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        jLayeredPane9.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLayeredPane9.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLayeredPane9MouseClicked(evt);
            }
        });

        label[3] = createColoredLabel("Pieza 4 "+type[3],Color.red,new Point(10, 20));

        jLayeredPane9.setLayer(label[3], javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout jLayeredPane9Layout = new javax.swing.GroupLayout(jLayeredPane9);
        jLayeredPane9.setLayout(jLayeredPane9Layout);
        jLayeredPane9Layout.setHorizontalGroup(
            jLayeredPane9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[3], javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
        );
        jLayeredPane9Layout.setVerticalGroup(
            jLayeredPane9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[3], javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        jLayeredPane12.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLayeredPane12.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLayeredPane12MouseClicked(evt);
            }
        });

        label[4] = createColoredLabel("Pieza 5 "+type[4],Color.red,new Point(10, 20));

        jLayeredPane12.setLayer(label[4], javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout jLayeredPane12Layout = new javax.swing.GroupLayout(jLayeredPane12);
        jLayeredPane12.setLayout(jLayeredPane12Layout);
        jLayeredPane12Layout.setHorizontalGroup(
            jLayeredPane12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[4], javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
        );
        jLayeredPane12Layout.setVerticalGroup(
            jLayeredPane12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[4], javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        jLayeredPane13.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jLayeredPane13.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jLayeredPane13MouseClicked(evt);
            }
        });

        label[5] = createColoredLabel("Pieza 6 " +type[5],Color.red,new Point(10, 20));

        jLayeredPane13.setLayer(label[5], javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout jLayeredPane13Layout = new javax.swing.GroupLayout(jLayeredPane13);
        jLayeredPane13.setLayout(jLayeredPane13Layout);
        jLayeredPane13Layout.setHorizontalGroup(
            jLayeredPane13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[5], javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
        );
        jLayeredPane13Layout.setVerticalGroup(
            jLayeredPane13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(label[5], javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        jLabel3.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        jLabel3.setText("Solo se puede elegir las piezas verdes. Las habitaciones de color ojo estan ocupadas o no corresponden al tipo que usted pago.");

        jLabel17.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        jLabel17.setText("Una ves elegida la habitacion, esta se pondra de color amarillo. Finalmente seleccionar confirmar.");

        jButton1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
        jButton1.setText("Confirmar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(78, 78, 78)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1)
                            .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(386, 386, 386)
                        .addComponent(jButton1))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(308, 308, 308)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(jLayeredPane2)
                                .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jLayeredPane12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLayeredPane9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLayeredPane8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLayeredPane6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jLayeredPane13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap(87, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jLabel17)
                        .addGap(204, 204, 204))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(341, 341, 341))))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(33, 33, 33)
                .addComponent(jLabel1)
                .addGap(34, 34, 34)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(62, 62, 62)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLayeredPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLayeredPane8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLayeredPane9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(jLayeredPane6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLayeredPane12, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLayeredPane13))
                .addGap(18, 18, 18)
                .addComponent(jLabel3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel17)
                .addGap(18, 18, 18)
                .addComponent(jButton1)
                .addGap(50, 50, 50))
        );

        pack();
        refreshFloorInfo();
    }// </editor-fold>

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            pieza_reservada.get(0).setIdPieza(seleccion_anterior);
            pieza = piezas.getPieza(pieza_reservada.get(0).getIdPieza());
            System.out.println(pieza_reservada.get(0).getId());

            pieza.changeStatus();
            this.setVisible(false);
            piezas.updatePieza(pieza_reservada.get(0).getIdPieza(),pieza);
            piezas_reservadas.updatePiezaReservada(pieza_reservada.get(0).getCod(), pieza_reservada.get(0).getId(),pieza_reservada.get(0));
            if(pieza_reservada.size()>1){
               pieza_reservada.remove(0);
               new PiezaView(reserva,pieza_reservada).setVisible(true);
            }
            else
               new ReservaDatos(reserva).setVisible(true);
    }

    private void jLayeredPane1MouseClicked(java.awt.event.MouseEvent evt) {
        String st = (String) jComboBox1.getSelectedItem();
        int floor = Integer.parseInt(st);

        if(!isBussy[0]){
            seleccion_anterior = 1 + (floor-1)*7;
            refreshFloorInfo();

        //label[0].setBackground(Color.yellow);
        }
    }

    private void jLayeredPane2MouseClicked(java.awt.event.MouseEvent evt) {
      String st = (String) jComboBox1.getSelectedItem();
      int floor = Integer.parseInt(st);
        if(!isBussy[2]){
            seleccion_anterior = 3 + (floor-1)*7;
            refreshFloorInfo();

        //label[2].setBackground(Color.yellow);
        }
    }

    private void jLayeredPane6MouseClicked(java.awt.event.MouseEvent evt) {
      String st = (String) jComboBox1.getSelectedItem();
      int floor = Integer.parseInt(st);
        if(!isBussy[6]){
            seleccion_anterior = 7 + (floor-1)*7;
            refreshFloorInfo();

        //label[6].setBackground(Color.yellow);
        }
    }

    private void jLayeredPane8MouseClicked(java.awt.event.MouseEvent evt) {
      String st = (String) jComboBox1.getSelectedItem();
      int floor = Integer.parseInt(st);
        if(!isBussy[1]){
            seleccion_anterior = 2 + (floor-1)*7;
            refreshFloorInfo();
        //label[1].setBackground(Color.yellow);
        }
    }

    private void jLayeredPane9MouseClicked(java.awt.event.MouseEvent evt) {
      String st = (String) jComboBox1.getSelectedItem();
      int floor = Integer.parseInt(st);
        if(!isBussy[3]){
            seleccion_anterior = 4 + (floor-1)*7;
            refreshFloorInfo();

        //label[3].setBackground(Color.yellow);
        }
    }

    private void jLayeredPane12MouseClicked(java.awt.event.MouseEvent evt) {
      String st = (String) jComboBox1.getSelectedItem();
      int floor = Integer.parseInt(st);
        if(!isBussy[4]){
            seleccion_anterior = 5 + (floor-1)*7;
            refreshFloorInfo();

        //label[4].setBackground(Color.yellow);
        }
    }

    private void jLayeredPane13MouseClicked(java.awt.event.MouseEvent evt) {
      String st = (String) jComboBox1.getSelectedItem();
      int floor = Integer.parseInt(st);
        if(!isBussy[5]){
            seleccion_anterior = 6 + (floor-1)*7;
            refreshFloorInfo();

        //label[5].setBackground(Color.yellow);
        }
    }

    private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:

        refreshFloorInfo();
    }

    private void refreshFloorInfo(){
      String st = (String) jComboBox1.getSelectedItem();
      int floor = Integer.parseInt(st);
      ArrayList<Pieza> p = new ArrayList<Pieza>();
      p = piezas.getPiezaReservada(floor);
      int x = seleccion_anterior-(floor-1)*7;
      for(Pieza px:p){

         if(px.estado.equals("empty")){
            if(px.getTamanno() == pieza.getTamanno()){
               int f = px.numero_pieza - 10*floor;
               label[f-1].setBackground(Color.green);
               isBussy[f-1]=false;
            }
            else{
               int f = px.numero_pieza - 10*floor;
               label[f-1].setBackground(Color.red);
               isBussy[f-1]=true;
            }
         }
         else if(px.estado.equals("bussy")){
            int f = px.numero_pieza - 10*floor;
            label[f-1].setBackground(Color.red);
            isBussy[f-1]=true;

         }
         if(x<8 && x > 0)
            label[x-1].setBackground(Color.yellow);
      }
      refreshType(floor);
    }

    private void refreshType(int floor){
      ArrayList<Pieza> p = new ArrayList<Pieza>();

      for(int i=1;i<piezas.getSize();i++){
         p.add(piezas.getPieza(i));
      }
      if(p!=null){
      for(Pieza pq:p){
         if(pq!=null)
         if(pq.piso == floor){
            int x = pq.numero_pieza-10*floor - 1;
            String s = pq.tipo;

            if(s.equals("matrimonial")){
               type[x]="M";
            }
            else if(s.equals("separadas")){
               type[x]="S";
            }
            else if(s.equals("mixta")){
               type[x]="Mix";
            }

         }
         }
      }
    }

    /**
     * @param args the command line arguments
     */

    private JLabel createColoredLabel(String text,
                                      Color color,
                                      Point origin) {
        JLabel label = new JLabel(text);
        label.setVerticalAlignment(JLabel.CENTER);
        label.setHorizontalAlignment(JLabel.CENTER);
        label.setOpaque(true);
        label.setBackground(color);
        label.setForeground(Color.black);
        label.setBorder(BorderFactory.createLineBorder(Color.black));
        label.setBounds(origin.x, origin.y, 140, 140);
        label.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N

        return label;
    }


    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JComboBox<String> jComboBox1;
    private javax.swing.JLabel jLabel1;//
    private javax.swing.JLabel jLabel17;//
    private javax.swing.JLabel jLabel2;//
    private javax.swing.JLabel jLabel3;//
    //
    private javax.swing.JLabel label[];
    //
    private javax.swing.JLayeredPane jLayeredPane1;
    private javax.swing.JLayeredPane jLayeredPane10;
    private javax.swing.JLayeredPane jLayeredPane11;
    private javax.swing.JLayeredPane jLayeredPane12;
    private javax.swing.JLayeredPane jLayeredPane13;
    private javax.swing.JLayeredPane jLayeredPane2;
    private javax.swing.JLayeredPane jLayeredPane3;
    private javax.swing.JLayeredPane jLayeredPane4;
    private javax.swing.JLayeredPane jLayeredPane5;
    private javax.swing.JLayeredPane jLayeredPane6;
    private javax.swing.JLayeredPane jLayeredPane7;
    private javax.swing.JLayeredPane jLayeredPane8;
    private javax.swing.JLayeredPane jLayeredPane9;
    // End of variables declaration
}
