/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.siso.horario.Servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONArray;
import pe.siso.horario.Beans.Area;
import pe.siso.horario.Beans.Docente;
import pe.siso.horario.Beans.Zona;
import pe.siso.horario.Beans.ZonaDistrito;
import pe.siso.horario.Beans.ZonaSede;
import pe.siso.horario.Services.AreaServices;
import pe.siso.horario.Services.DocenteServices;
import pe.siso.horario.Services.ZonaDistritoServices;
import pe.siso.horario.Services.ZonaSedeServices;
import pe.siso.horario.Services.ZonaServices;

/**
 *
 * @author sistem02user
 */
public class ServletZona extends HttpServlet {

    @Override
    protected void service (HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String param=request.getParameter("Accion");
        if("listarZonas".equals(param)){
            listarZonas(request,response);
        }else if("registrarZonas".equals(param)){
            registrarZonas(request,response);
        }else if("armarEdicion".equals(param)){
            armarEdicion(request,response);
        }else if("actualizarZona".equals(param)){
            actualizarZona(request,response);
        }else if("validarCantidadUsoZona".equals(param)){
            validarCantidadUsoZona(request,response);
        }else if("cambiarEstado".equals(param)){
            cambiarEstado(request,response);
        }else if("listarZonaSedes".equals(param)){
            listarZonaSedes(request,response);
        }else if("formularioAsignarZona".equals(param)){
            formularioAsignarZona(request,response);
        }else if("registrarAsignacion".equals(param)){
            registrarAsignacion(request,response);
        }else if("actualizarZonaSede".equals(param)){
            actualizarZonaSede(request,response);
        }else if("eliminarZonaSede".equals(param)){
            eliminarZonaSede(request,response);
        }else if("listarZonaDistrito".equals(param)){
            listarZonaDistrito(request,response);
        }else if("registrarAsignacionZonDist".equals(param)){
            registrarAsignacionZonDist(request,response);
        }else if("actualizarZonaDistrito".equals(param)){
            actualizarZonaDistrito(request,response);
        }else if("listarDocentePorApellido".equals(param)){
            listarDocentePorApellido(request,response);
        }else if("listarZonasActivas".equals(param)){
            listarZonasActivas(request,response);
        }else if("consultarDocentesAsignadosZona".equals(param)){
            consultarDocentesAsignadosZona(request,response);
        }else if("eliminarDocentesAsignadosZona".equals(param)){
            eliminarDocentesAsignadosZona(request,response);
        }else if("listarDocente".equals(param)){
            listarDocente(request,response);
        }else if("cargarZonaJson".equals(param)){
					cargarZonaJson(request,response);
				}
        
    }

    private void listarZonas(HttpServletRequest request, HttpServletResponse response) throws IOException {
       
        ArrayList<Zona> lista = new ArrayList<Zona>();
        ZonaServices servicio = new ZonaServices();
        
        lista = servicio.listarZonas();;
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        pw.println("<div style='border: 1px solid #CCCCCC;'>" +
                        "<div class='table-header'>" +
                            "Listado de Zonas" +
                        "</div>" +
                        "<div>" +
                            "<div class='dataTables_wrapper form-inline no-footer' id='sample-table-2_wrapper'>" +
                                "<table class='table table-striped table-bordered table-hover dataTable no-footer' id='sample-table-2' role='grid' aria-describedby='sample-table-2_info' >" +
                                    "<thead>" +
                                        "<tr role='row'>" +
                                            "<th tabindex='0' class='center' rowspan='1' width='35px;' colspan='1' >N°</th>" +
                                            "<th tabindex='0' class='center' rowspan='1' colspan='1'>ZONA</th>" +
                                            "<th tabindex='0' class='center' rowspan='1'  width='35px;' colspan='1'>EDICIÓN</th>" +
                                            "<th tabindex='0' class='center' rowspan='1'  width='35px;' colspan='1'>ESTADO</th>" +
                                        "</tr>" +
                                    "</thead>" +
                                    "<tbody>"
                                    + "<tr>");
        int cont=1;
        for(int i = 0; i<lista.size(); i++){
            String estado = "";
            if(lista.get(i).getEstadoZona()== 1){
                estado="<a id='validaEstadoZona' href=\"javascript:validar_estado(0,"+lista.get(i).getCodigoZona()+");\" class='regular' data-rel='tooltip' data-original-title='Activo'>" +
                            "<img src='imagenes/icons/lightbulb.png' />" +
                        "</a>";
            }else{
                estado="<a id='validaEstadoZona2' href=\"javascript:validar_estado(1,"+lista.get(i).getCodigoZona()+");\" class='regular' data-rel='tooltip' data-original-title='Inactivo'>" +
                            "<img src='imagenes/icons/lightbulb_off.png' />" +
                        "</a>";
            }
            
                            pw.println("<td align='center'>"+cont+"</td>"
                                    + "<td>"+lista.get(i).getNombreZona()+"</td>"
                                    + "<td align='center'>"
                                        + "<a id='btnEdicion' href='javascript:validar_edicion("+lista.get(i).getCodigoZona()+")' data-rel='tooltip' data-original-title='Modificar'>"
                                            + "<img src='imagenes/icons/page_edit.png'/>"
                                        + "</a>"
                                    + "</td>"
                                    + "<td align='center'>"+estado+"</td>");
                            pw.println("</tr>");
            cont++;
        }
                            
        if(lista.size()==0){
            pw.println("<tr align='center'><td colspan='4'><b style='color:red;'>AÚN NO SE HA REGISTRADO ALGUNA ZONA</b></td></tr>");
            
        }
                pw.println("       </tbody>" +
                                "</table>" +
                            "</div>" +
                        "</div>" +
                    "</div>"); 
        
    }

    private void registrarZonas(HttpServletRequest request, HttpServletResponse response) throws IOException {
        ZonaServices servicios = new ZonaServices();      
        String nombreZona = request.getParameter("Tzona");
        int dato =servicios.registrarZonas(nombreZona);
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        if(dato==0){
            pw.println("1");
        }else if(dato>0){
            pw.println("0");
        }
    }

    private void armarEdicion(HttpServletRequest request, HttpServletResponse response) throws IOException {
        ZonaServices servicios = new ZonaServices(); 
        Zona zona = new Zona();
        String codigoZona = request.getParameter("codigoZona");
        zona = servicios.NombreZonas(codigoZona);
       
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
       pw.println("<center>"
               + "  <table border='0' style='width:75%;'>"
               + "      <tr>"
               + "          <td colspan='3' height='30'></td>"
               + "      </tr>"
               + "      <tr>"
               + "          <td width='10'></td>"
               + "          <td>Nombre de Zona:</b> <font color=\"#FF0000\">*</font>"
               + "              <input id='txt_nom' type='text' class='form-control validate[required,custom[onlyLetterNumber]]' value='"+zona.getNombreZona()+"' onChange='conMayusculas(this);' ></td>"
               + "          <td width='20'></td>"
               + "      </tr>"
               + "      <tr>"
               + "          <td colspan='3' height='10'></td>"
               + "      </tr>"
               + "      <tr>"
               + "          <td align='right' colspan='3'><b><font color=\"#FF0000\">*</font>: Campo obligatorio</b></td>"
               + "      </tr>"
               + "  </table>"
               + "</center>");
    }

    private void actualizarZona(HttpServletRequest request, HttpServletResponse response) throws IOException {
        int dato  = 0;
        ZonaServices servicios = new ZonaServices();
        String nombreZona = request.getParameter("nombreZona");
        String codigoZona = request.getParameter("codigoZona");
        dato = servicios.actualizarZona(codigoZona,nombreZona); 
        
     
    }

    private void validarCantidadUsoZona(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String codigoZona = request.getParameter("codigoZona");
        ZonaServices servicios = new ZonaServices();
        int cantidad=servicios.validarCantidadUsoZona(codigoZona);
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        if(cantidad==0){
            pw.println("0");
        }else {  
            pw.println("1");
        } 
    }

    private void cambiarEstado(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String codigoZona = request.getParameter("codigoZona");
        String dato = request.getParameter("dato");
        
        ZonaServices servicios = new ZonaServices();
        int cantidad=servicios.validarCantidadUsoZona(codigoZona);
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        if(cantidad==0){
            servicios.cambiarEstado(dato, codigoZona);
            pw.println("0");
        }else {
            pw.println("1");
        }
    }

    private void listarZonaSedes(HttpServletRequest request, HttpServletResponse response) throws IOException {
        ArrayList<ZonaSede> lista = null;
        ArrayList<Zona> listaZonas = null;
        
        ZonaSedeServices servicios = new ZonaSedeServices();
        ZonaServices servicios2 = new ZonaServices();
        
        lista = servicios.listarSedesZonas();
        listaZonas = servicios2.listarZonasActivas();
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        String arrayZona = "";
        pw.println("<div style=\"border: 1px solid #CCCCCC;\">");
            pw.println("<div class=\"table-header\">");
                pw.println("<table width='100%' height='45' >");
                    pw.println("<tbody>");
                        pw.println("<tr>");
                            pw.println("<td style='width:300px;'>");
                                pw.println("Sedes por zona");
                            pw.println("</td>");
                            pw.println("<td align='right'>");
                                    pw.println("<button class='btn btn-sm btn-warning' onclick='exportar();' type='button'>");
                                        pw.println("<i class='ace-icon fa fa-file-excel-o icon-on-right bigger-110'></i>");
                                        pw.println("Exportar lista de sedes");
                                    pw.println("</button>");
                                    pw.println("<button id='btnAsigZona' class='btn btn-sm btn-danger' onclick='asignarZona();' type='button'>");
                                        pw.println("<i class='ace-icon fa fa-plus-circle icon-on-right bigger-110'></i>");
                                        pw.println("Asignar zona");
                                    pw.println("</button>");
                            pw.println("</td>");
                            pw.println("<td width='10'></td>");
                        pw.println("</tr>");
                    pw.println("</tbody>");
                pw.println("</table>");
            pw.println("</div>");
            pw.println("<div>");
                pw.println("<div class=\"dataTables_wrapper form-inline no-footer\" id=\"sample-table-2_wrapper\">");
                    pw.println("<table class=\"table table-striped table-bordered table-hover dataTable no-footer\" id=\"sample-table-2\" role=\"grid\" aria-describedby=\"sample-table-2_info\">");
                        pw.println("<thead>");
                            pw.println("<tr role=\"row\">");
                                pw.println("<th width=\"50\" class=\"center\" rowspan=\"1\" colspan=\"1\">N°</th>");
                                pw.println("<th width=\"250\" class=\"center\" rowspan=\"1\" colspan=\"1\">SEDE</th>");
                                pw.println("<th width=\"350\" class=\"center\" rowspan=\"1\" colspan=\"1\">ZONA</th>");
                                pw.println("<th width=\"50\" class=\"center\" rowspan=\"1\" colspan=\"1\">ACCIÓN</th>");
                            pw.println("</tr>");
                        pw.println("</thead>");
                        pw.println("<tbody>");
                            pw.println("<tr>");
            int cont = 1; 
            String codSede = "";
            String codZona = "";
                for(int i=0; i<lista.size();i++){
                    
                    codSede = lista.get(i).getCodigoSede();
                    codZona = lista.get(i).getCodigoZona();
                                pw.println("<td align='center' style='vertical-align:middle'>"+cont+"</td>");
                                pw.println("<td style='vertical-align:middle'>"
                                            + ""+lista.get(i).getNombreSede()+""
                                        + "</td>");                 
                                
                            if(lista.get(i).getNombreZona().equals("")){
                                pw.println("<td align='center' style='vertical-align:middle'><b style='color:red;'>[SEDE SIN ASIGNACIÓN DE ZONA]</b></td>");
                                pw.println("<td align='center' style='vertical-align:middle'>"); 
                                    pw.println("<div class=\"checkbox\">" +
                                                    "<label>" +
                                                        "<input name='ck_"+cont+"' type=\"checkbox\" class=\"ace\"  value='"+cont+"'>" +
                                                        "<span class=\"lbl\"></span>" +
                                                    "</label>" +
                                                    "<input type='hidden' id='datos_"+cont+"' value='"+codSede+"'>"+
                                                "</div>"); 
                                pw.println("</td>"); 
                            }else{
                                pw.println("<td style='vertical-align:middle'><span id='label_"+codSede+"'>"+lista.get(i).getNombreZona()+"</span>"
                                        + "<div class='hide' id='hide_"+codSede+"'  align='center'>"
                                        + " <select id='cmb_zona_"+codSede+"'>");
                                    for(int cb=0; cb<listaZonas.size(); cb++){
                                        String cod_Zona = listaZonas.get(cb).getCodigoZona();
                                        if(codZona.equals(cod_Zona)){
                                            pw.println("<option  selected value='"+listaZonas.get(cb).getCodigoZona()+"'>"+listaZonas.get(cb).getNombreZona()+"</option>");
                                        }else{
                                            pw.println("<option value='"+listaZonas.get(cb).getCodigoZona()+"'>"+listaZonas.get(cb).getNombreZona()+"</option>");
                                        }
                                    }
                                pw.println("</select>&nbsp; "
                                            + "<a href=\"javascript:guardar('"+codSede+"')\" data-rel=\"tooltip\" data-original-title=\"Volver\">"
                                                + "<img src=\"imagenes/icons/tick.png\">"
                                            + "</a>&nbsp;&nbsp;"
                                            + "<a href=\"javascript:volver('"+codSede+"')\" data-rel=\"tooltip\" data-original-title=\"Volver\">"
                                                + "<img src=\"imagenes/icons/refresh.png\">"
                                            + "</a>"
                                        + "</div>"
                                        + "</td>");
                                pw.println("<td align='center' style='vertical-align:middle'>"); 
                                pw.println("<a id='btnEditar' href=\"javascript:editar('"+codSede+"')\"  data-rel=\"tooltip\" data-original-title=\"Modificar\">"
                                            + "<img src=\"imagenes/icons/page_edit.png\">"
                                        + "</a>&nbsp;&nbsp;"); 
                                pw.println("<a id='btnEliminar' href=\"javascript:eliminar('"+codSede+"')\" class='tooltip-error' data-rel=\"tooltip\" data-original-title=\"Eliminar\">"
                                            + "<img src=\"imagenes/icons/cross.png\">"
                                        + "</a>"); 
                                pw.println("</td>"); 
                            }
                                
                                 
                            pw.println("</tr>");
                    cont++;
                }
                            
                        pw.println("</tbody>");
                    pw.println("</table><input type='hidden' id='cantidad' value='"+lista.size()+"'");
                pw.println("</div>");
            pw.println("</div>");
        pw.println("</div>");
        
    }

    private void formularioAsignarZona(HttpServletRequest request, HttpServletResponse response) throws IOException {
        
        ArrayList<Zona> lista = new ArrayList<Zona>();
        ZonaServices servicios = new ZonaServices();
        lista = servicios.listarZonasActivas();
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        pw.println("<center>");
            pw.println("<table>");
                pw.println("<tr>");
                    pw.println("<td colspan='3' style='height:20px;'></td>");
                pw.println("</tr>");
                pw.println("<tr>");
                    pw.println("<td style='width:10px;'></td>");
                    pw.println("<td>");
                    pw.println("<label>Nombre de Zona <span style='color:red;'>*</span></label><br>");
                    pw.println("<select id='cmbZona' class='validate[required]' style='width:300px;'>");
                        pw.println("<option value=''>[SELECCIONE]</option>"); 
                    for(int i=0; i<lista.size(); i++){
                        pw.println("<option value='"+lista.get(i).getCodigoZona()+"'>"+lista.get(i).getNombreZona()+"</option>"); 
                    }
                    pw.println("</select>");
                    pw.println("</td>");
                    pw.println("<td style='width:10px;'></td>");
                pw.println("</tr>");
                pw.println("<tr>");
                    pw.println("<td colspan='3' style='height:20px;'></td>");
                pw.println("</tr>");
            pw.println("</table>");
        pw.println("</center>");
    }

    private void registrarAsignacion(HttpServletRequest request, HttpServletResponse response) {
        int dato = 0;
        String cadena = request.getParameter("cadena");
        String codigoZona = request.getParameter("codigoZona");
        ZonaSedeServices servicios = new ZonaSedeServices();
        
        String[] Array = cadena.split(",");
        
        for(int i=0; i<Array.length; i++){
            String codigoSede= Array[i];
            dato = servicios.registrarAsignacion(codigoZona,codigoSede);
        }
        
    }

    private void actualizarZonaSede(HttpServletRequest request, HttpServletResponse response) throws IOException {
        int dato = 0;
        String codigoSede = request.getParameter("codigoSede");
        String codigoZona = request.getParameter("codigoZona");
        ZonaSedeServices servicios = new ZonaSedeServices();
        
        dato = servicios.actualizarZonaSede(codigoSede,codigoZona);
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        
        
    }
    
    private void eliminarZonaSede(HttpServletRequest request, HttpServletResponse response) throws IOException {
        int dato = 0;
        String codigoSede = request.getParameter("codigoSede");
        ZonaSedeServices servicios = new ZonaSedeServices();
        dato = servicios.eliminarZonaSede(codigoSede);
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        if(dato == 0){
            pw.println("0");
        }else{
            pw.println("1");
        }
        
    }

    private void listarZonaDistrito(HttpServletRequest request, HttpServletResponse response) throws IOException {
        ArrayList<ZonaDistrito> lista = null;
        ArrayList<Zona> listaZonas = null;
        
        ZonaDistritoServices servicio = new ZonaDistritoServices();
        ZonaServices servicio2 = new ZonaServices();
       
        int cantRegistro = 0;
        int codDepartamento = Integer.parseInt(request.getParameter("codDepartamento"));
        int codProvincia = Integer.parseInt(request.getParameter("codProvincia"));
        int pagina=Integer.parseInt(request.getParameter("pagina"));
        int cantidad=Integer.parseInt(request.getParameter("cantidad"));
        
        int inicio = (pagina - 1) * cantidad;
        listaZonas = servicio2.listarZonasActivas();
        lista = servicio.listarDistritosZonas(codDepartamento, codProvincia, inicio, cantidad);
        cantRegistro = servicio.cantidadDistritoZonas(codDepartamento, codProvincia);
       
        
        //--------------CALCULO DE PAGINADO---------
        int numero = cantRegistro/cantidad;
        int resto = cantRegistro%cantidad;
        if(resto>0){
            numero = numero+1;
        }
        //----------------------------------------------
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        pw.println("<div style=\"border: 1px solid #CCCCCC;\">" +
"                       <div class=\"table-header\">" +
"                           <table width=\"100%\" height=\"50\">"
                + "             <tbody>"
                + "                 <tr>"
                + "                     <td>Listado de Docentes</td>"
                + "                     <td align=\"right\">"
                + "                         <button id=\"btnZona\" class=\"btn btn-sm btn-warning\" onclick=\"asignarZona();\" type=\"button\">" +
"                                               <i class=\"ace-icon fa fa-plus-circle icon-on-right bigger-110\"></i>" +
"                                               Asignar Zona" +
"                                           </button>"
                + "                     </td>"
                + "                     <td width=\"10\"></td>"
                + "                 </tr>"
                + "             </tbody>"
                + "         </table>" +
"                       </div>" +
"                       <div>" +
"                           <div class=\"dataTables_wrapper form-inline no-footer\" id=\"sample-table-2_wrapper\">" +
"                               <table class=\"table table-striped table-bordered table-hover dataTable no-footer\" id=\"sample-table-2\" role=\"grid\" aria-describedby=\"sample-table-2_info\" >" +
"                                   <thead>" +
"                                       <tr role=\"row\">" +
"                                           <th tabindex=\"0\" width='35px' class=\"center\" rowspan=\"1\" colspan=\"1\" >N°</th>" +
"                                           <th tabindex=\"0\" width='150px' class=\"center\" rowspan=\"1\" colspan=\"1\">DEPARTAMENTO</th>" +
"                                           <th tabindex=\"0\" width='150px' class=\"center\" rowspan=\"1\" colspan=\"1\">PROVINCIA</th>" +
"                                           <th tabindex=\"0\" width='200px' class=\"center\" rowspan=\"1\" colspan=\"1\">DISTRITO</th>" +
"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">ZONA</th>" +
"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">SELECCIÓN<br>"+
                                                    "<label>" +
                                                        "<input onclick='seleccionarTodo();' name=\"form-field-checkbox\" type=\"checkbox\" class=\"ace\">" +
                                                        "<span class=\"lbl\"></span>" +
                                                    "</label>" +
                                           "</th>" +
"                                       </tr>" +
"                                   </thead>" +
"                                   <tbody>"+
"                                   <tr>");
        int cont_ini = 0;
        int cont_fin = 0;
        int conta = 0;
        int cont= inicio+1;
        for(int i=0; i< lista.size(); i++) { 
            String codigoDep = lista.get(i).getCodigoDepartamento();
            String codigoPro = lista.get(i).getCodigoProvincia();
            String codigoDis = lista.get(i).getCodigoDistrito();
            String codigoZona = lista.get(i).getCodigoZona();
            if(i==0){ cont_ini=cont;}
                        pw.println("<td align='center' style='vertical-align: middle;'>"+cont+"</td>"
                                + "<td style='vertical-align: middle;'>"+lista.get(i).getNombreDepartamento()+"</td>"
                                + "<td style='vertical-align: middle;'>"+lista.get(i).getNombreProvincia()+"</td>"
                                + "<td style='vertical-align: middle;'>"+lista.get(i).getNombreDistrito()+"</td>");
             if(lista.get(i).getNombreZona().equals("")){
                                
                        pw.println("<td style='vertical-align: middle;'>"+lista.get(i).getNombreZona()+"</td>"
                                + "<td align='center' style='vertical-align: middle;'>"+
                                    "<label>" +
                                        "<input name='ck_"+conta+"' name=\"form-field-checkbox\" type=\"checkbox\" class=\"ace\" value='"+conta+"'>" +
                                        "<span class=\"lbl\"></span>" +
                                    "</label>"+
                                "<input type='hidden' id='datos_"+conta+"' value='"+codigoDis+"'>"
                                + "</td>");
             }else{
                pw.println("<td style='vertical-align:middle'><span id='label_"+codigoDis+"'>"+lista.get(i).getNombreZona()+"</span>"
                                + "<div class='hide' id='hide_"+codigoDis+"'  align='center'>"
                                + " <select id='cmb_zona_"+codigoDis+"'>");
                
                            for(int cb=0; cb<listaZonas.size(); cb++){                                
                                String cod_Zona = listaZonas.get(cb).getCodigoZona();
                                
                                if(codigoZona.equals(cod_Zona)){
                                    pw.println("<option  selected value='"+listaZonas.get(cb).getCodigoZona()+"'>"+listaZonas.get(cb).getNombreZona()+"</option>");
                                }else{
                                    pw.println("<option value='"+listaZonas.get(cb).getCodigoZona()+"'>"+listaZonas.get(cb).getNombreZona()+"</option>");
                                }
                                
                            }
                        pw.println("</select>&nbsp; "
                                    + "<a href=\"javascript:guardar('"+codigoDis+"')\" data-rel=\"tooltip\" data-original-title=\"Volver\">"
                                        + "<img src=\"imagenes/icons/tick.png\">"
                                    + "</a>&nbsp;&nbsp;"
                                    + "<a href=\"javascript:volver('"+codigoDis+"')\" data-rel=\"tooltip\" data-original-title=\"Volver\">"
                                        + "<img src=\"imagenes/icons/refresh.png\">"
                                    + "</a>"
                                + "</div>"
                                + "</td>");
                        pw.println("<td align='center' style='vertical-align:middle'>"); 
                                pw.println("<a href=\"javascript:editar('"+codigoDis+"')\" data-rel=\"tooltip\" data-original-title=\"Modificar\">"
                                            + "<img src=\"imagenes/icons/page_edit.png\">"
                                        + "</a>&nbsp;&nbsp;"); 
                                pw.println("<a href=\"javascript:elimnar('"+codigoDep+"','"+codigoPro+"','"+codigoDis+"','"+codigoZona+"')\" data-rel=\"tooltip\" data-original-title=\"Eliminar\">"
                                            + "<img src=\"imagenes/icons/cross.png\">"
                                        + "</a>"); 
                        pw.println("</td>");
                        
             }                   
                               
                        pw.println("</tr>");
                        
            cont++;
            conta++;
        }    
        
        if(lista.size()==0){
                            pw.println("<tr><td colspan='6' align='center'>NO HAY DISTRITOS </td></tr>");

        }
        int cant = conta - 1;
        cont_fin=cont-1;
                pw.println("       </tbody>" +
"			</table><input id='cantidad' type='hidden' value="+cant+">");
//                
//        if (cantRegistro >= cantidad) {
//            
//            pw.println("<div class='row'>" + 
//                            "<div class='col-xs-6'>" +
//                                "<div class='dataTables_info' id='sample-table-2_info' role='status' aria-live='polite'> " +
//                                    "Mostrando del "+cont_ini+" al "+cont_fin+" de "+cantRegistro+" Distritos(s)" +
//                                "</div> " +
//                            "</div> " +
//                            "<div class='col-xs-6'> " +
//                                "<div class='dataTables_paginate paging_simple_numbers' id='sample-table-2_paginate'>" +
//                                    "<ul class='pagination'>");
//            
//            int anterior = pagina - 1;
//            int siguiente = pagina + 1;
//            if (pagina > 1) {
//                pw.println("<li tabindex='0' class='paginate_button previous' id='sample-table-2_previous' aria-controls='sample-table-2'> " +
//                                "<a href='javascript:listarDistritos(" + 1 + ");'> << </a>" +
//                           "</li>");
//                pw.println("<li tabindex='0' class='paginate_button previous' id='sample-table-2_previous' aria-controls='sample-table-2'> " +
//                                "<a href='javascript:listarDistritos(" + anterior + ");'>Anterior</a>" +
//                           "</li>");
//                
//                //pw.println("<li><a href=\"javascript:buscarAula(" + anterior + ");\"><span>Anterior</span></a></li>");
//            }else{
//                pw.println("<li tabindex='0' class='paginate_button previous disabled' id='sample-table-2_previous' aria-controls='sample-table-2'> " +
//                                "<a> << </a>" +
//                           "</li>");
//                pw.println("<li tabindex='0' class='paginate_button previous disabled' id='sample-table-2_previous' aria-controls='sample-table-2'> " +
//                                "<a>Anterior</a>" +
//                           "</li>");
//            }
//
//            //for(int i = 1; i<=numero; i++){
//            if (numero > 5) {
//                if (pagina > 2) {
//                    if (numero >= pagina + 5) {
//                        for (int i = pagina - 2; i < pagina + 3; i++) {
//                            if (pagina == i) {
//                                pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                            "</li>");
//                                //pw.println("<li ><a href=\"javascript:buscarAula(" + i + ");\" style='background-color:#00A9FB'><span>" + i + "</span></a></li>");
//                            } else {
//                                pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                            "</li>");
//                                //pw.println("<li><a href=\"javascript:buscarAula(" + i + ");\" ><span>" + i + "</span></a></li>");
//                            }
//                        }
//                    } else {
//                        if (pagina == numero) {
//                            for (int i = pagina - 4; i <= numero; i++) {
//                                if (pagina == i) {
//                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                } else {
//                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                }
//                            }
//                        } else if (pagina == numero - 1) {
//                            for (int i = pagina - 3; i <= numero; i++) {
//                                if (pagina == i) {
//                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                } else {
//                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                }
//                            }
//                        } else if (pagina == numero - 2) {
//                            for (int i = pagina - 2; i <= numero; i++) {
//                                if (pagina == i) {
//                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                } else {
//                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                }
//                            }
//                        } else if (pagina == numero - 3) {
//                            for (int i = pagina - 1; i <= numero; i++) {
//                                if (pagina == i) {
//                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                } else {
//                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                }
//                            }
//                        } else if (pagina == numero - 4) {
//                            for (int i = pagina; i <= numero; i++) {
//                                if (pagina == i) {
//                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                } else {
//                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                }
//                            }
//                        }
//                    }
//                } else {
//                    if (pagina == 1) {
//                        for (int i = pagina; i < pagina + 5; i++) {
//                            if (pagina == i) {
//                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                } else {
//                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                }
//                        }
//                    } else {
//                        for (int i = pagina - 1; i < pagina + 4; i++) {
//                            if (pagina == i) {
//                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                } else {
//                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                }
//                        }
//                    }
//                }
//            } else {
//                for (int i = 1; i <= numero; i++) {
//                    if (pagina == i) {
//                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                } else {
//                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
//                                                    "<a href='javascript:listarDistritos(" + i + ");'>" + i + "</a>" +
//                                                "</li>");
//                                }
//                }
//            }
//                                                                //}
//
//            if (pagina < numero) {
//                pw.println("<li tabindex='0' class='paginate_button next' id='sample-table-2_next' aria-controls='sample-table-2'>" +
//                                "<a href='javascript:listarDistritos(" + siguiente + ");'>Siguiente</a>" +
//                            "</li>");
//                pw.println("<li tabindex='0' class='paginate_button next' id='sample-table-2_next' aria-controls='sample-table-2'>" +
//                                "<a href='javascript:listarDistritos(" + numero + ");'> >> </a>" +
//                            "</li>");
//            }else{
//                pw.println("<li tabindex='0' class='paginate_button next disabled' id='sample-table-2_next' aria-controls='sample-table-2'>" +
//                                "<a>Siguiente</a>" +
//                            "</li>");
//                pw.println("<li tabindex='0' class='paginate_button next disabled' id='sample-table-2_next' aria-controls='sample-table-2'>" +
//                                "<a> >> </a>" +
//                            "</li>");
//            }
//            pw.println(         "</ul>" +
//                            "</div>" +
//                        "</div>" +
//                    "</div>");
//        }
//        
        
        
        //::::::::::::::: PIE ::::::::::::::::
        pw.println("</div>" +
        "</div>" +
    "</div>");
        
    }

    private void registrarAsignacionZonDist(HttpServletRequest request, HttpServletResponse response) {
        int dato = 0;
        int dato2 = 0;
        String cadena = request.getParameter("cadena");
        String codigoDepartemento = request.getParameter("codDepartamento");
        String codigoProvincia = request.getParameter("codProvincia");
        String codigoZona = request.getParameter("codigoZona");
        ZonaDistritoServices servicios = new ZonaDistritoServices();
        
        String[] Array = cadena.split(",");
        
        for(int i=0; i<Array.length; i++){
            String codigoDistrito= Array[i];
            dato = servicios.registrarAsignacionZonDist(codigoZona,codigoDepartemento,codigoProvincia, codigoDistrito);
            dato2 = servicios.actualizarZonaDocentes(codigoDepartemento, codigoProvincia, codigoDistrito, codigoZona);
        }
    }

    private void actualizarZonaDistrito(HttpServletRequest request, HttpServletResponse response) {
        int dato = 0;
        int dato2 =0;
        String codDepartamento = request.getParameter("codDepartamento");
        String codProvincia = request.getParameter("codProvincia");
        String codigoDistrito = request.getParameter("codigoDistrito");
        String codigoZona = request.getParameter("codigoZona");
        
        ZonaDistritoServices servicios = new ZonaDistritoServices();
        dato = servicios.actualizarZonaDistrito(codDepartamento,codProvincia,codigoDistrito,codigoZona);
        dato2 = servicios.actualizarZonaDocentes(codDepartamento, codProvincia, codigoDistrito, codigoZona);
        
    }

    private void listarDocentePorApellido(HttpServletRequest request, HttpServletResponse response) throws IOException {
        
        ZonaDistritoServices servicios2 = new ZonaDistritoServices();
        ZonaDistrito zonaDistrito = new ZonaDistrito();
        ZonaServices servicio3 = new ZonaServices();
        
        DocenteServices servicios = new DocenteServices();
        ArrayList<Docente> lista = null;
        ArrayList<Docente> lista2 = null;
        
        String apellido = request.getParameter("apellido");
        int cantidad=Integer.parseInt(request.getParameter("cantidad"));
        int pagina=Integer.parseInt(request.getParameter("pagina"));
        
        int cantRegistro=0;
        int inicio = (pagina-1)*cantidad;
        int cantidadAsignada = 0;
        //listaA=serviciosA.cargarArea();
        cantidadAsignada = servicio3.cantidadZonaDocente();
        int asignado = 0;
        String cadenaCodigoDocente ="";
        cantRegistro=servicios.cantListaDocente(apellido);
        //--------------CALCULO DE PAGINADO---------
        int numero = cantRegistro/cantidad;
        int resto = cantRegistro%cantidad;
        if(resto>0){
            numero = numero+1;
        }
        lista=servicios.buscarUsuarioDocente(apellido, inicio, cantidad);
        lista2 = servicios.listaDocentes();
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        int dato = 0;
        int cantidadAsig = lista2.size();
        pw.println("<div class='col-sm-12'>"); 
        pw.println("<div class=\"col-sm-2\"></div>");
        pw.println("<div class=\"col-sm-8 infobox-container\">");
            pw.println("<div class=\"infobox infobox-green\">");
                pw.println("<div class=\"infobox-icon\">");
                    pw.println("<i class=\"ace-icon fa fa-user\"></i>");
                pw.println("</div>");
                pw.println("<div class=\"infobox-data\">");
                    pw.println("<span class=\"infobox-data-number\">"+cantidadAsig+"</span>");
                    pw.println("<div class=\"infobox-content\">Total Docentes</div>");
                pw.println("</div>");
            pw.println("</div>");
            pw.println("<div class=\"infobox infobox-blue\">");
                pw.println("<div class=\"infobox-icon\">");
                    pw.println("<i class=\"ace-icon fa fa-map-marker\"></i>");
                pw.println("</div>");
                pw.println("<div class=\"infobox-data\">");
                    pw.println("<span class=\"infobox-data-number\">"+cantidadAsignada+"</span>");
                    pw.println("<div class=\"infobox-content\">Total Asignados</div>");
                pw.println("</div>");
                pw.println("</div>");
            pw.println("</div>");
        pw.println("</div>");
        pw.println("<div class=\"col-sm-2\"></div>");
        pw.println("</div>");
        pw.println("<div class='col-sm-12' style='height:30px; width:100%'></div>");        
    pw.println("<div class='col-sm-12'>");        
        pw.println("<div style=\"border: 1px solid #CCCCCC;\">" +
"                       <div class=\"table-header\">" +
"                           <table width=\"100%\" height=\"50\">"
                + "             <tbody>"
                + "                 <tr>"
                + "                     <td>Listado de Docente </td>"
                + "                     <td align=\"right\">"
                + "                         <button class=\"btn btn-sm btn-warning\" onclick=\"exportarUsuario();\" type=\"button\">" +
"                                               <i class=\"ace-icon fa fa-file-excel-o icon-on-right bigger-110\"></i>" +
"                                               Exportar lista de usuarios" +
"                                           </button>"
                + "                         <button class=\"btn btn-sm btn-warning\" onclick=\"exportarTodoUsuario();\" type=\"button\">" +
"                                               <i class=\"ace-icon fa fa-file-excel-o icon-on-right bigger-110\"></i>" +
"                                               Exportar todos" +
"                                           </button>"
                + "                     </td>"
                + "                     <td width=\"10\"></td>"
                + "                 </tr>"
                + "             </tbody>"
                + "         </table>" +
"                       </div>" +
"                       <div>" +
"                           <div class=\"dataTables_wrapper form-inline no-footer\" id=\"sample-table-2_wrapper\">" +

"                               <table class=\"table table-striped table-bordered table-hover dataTable no-footer\" id=\"sample-table-2\" role=\"grid\" aria-describedby=\"sample-table-2_info\" >" +
"                                   <thead>" +
"                                       <tr role=\"row\">" +
"                                           <th tabindex=\"0\" width='40' class=\"center\" rowspan=\"1\" colspan=\"1\" >N°</th>" +
"                                           <th tabindex=\"0\"  width='400' class=\"center\" rowspan=\"1\" colspan=\"1\">APELLIDOS Y NOMBRES </th>" +
"                                           <th tabindex=\"0\"  width='250' class=\"center\" rowspan=\"1\" colspan=\"1\">DEPARTAMENTO</th>" +
"                                           <th tabindex=\"0\"  width='250' class=\"center\" rowspan=\"1\" colspan=\"1\">PROVINCIA</th>" +
"                                           <th tabindex=\"0\"  width='250' class=\"center\" rowspan=\"1\" colspan=\"1\">DISTRITO</th>" +
"                                           <th tabindex=\"0\" width='250' class=\"center\" rowspan=\"1\" colspan=\"1\">ZONA</th>" +
"                                       </tr>" +
"                                   </thead>" +
"                                   <tbody>");
  
        int cont_ini = 0;
        int cont_fin = 0;
        int cont= inicio +1;
        for(int i=0; i< lista.size(); i++) {
            String codigoDocente = lista.get(i).getCod_pro();
            if(i==0){ cont_ini=cont;}
            if(cont%2==0){
                pw.println("<tr class=\"alt\" >");
            }else{
                pw.println("<tr >");
            }
            
            
            zonaDistrito = servicios2.consultarZona(codigoDocente);
            
            String nombreDepartamento = zonaDistrito.getNombreDepartamento();
            String nombreProvincia = zonaDistrito.getNombreProvincia();
            String nombreDistrito = zonaDistrito.getNombreDistrito();
            String nombreZona = zonaDistrito.getNombreZona();
            
            String nombre = lista.get(i).getApe_pro()+", "+lista.get(i).getNom_pro();
             pw.println("    <td align='center'>"+cont+"</td>"
                       + "    <td >"+nombre+"</td>");
                if(nombreDepartamento == null && nombreProvincia == null && nombreDistrito == null){  
                    pw.println("<td align='center' colspan='3'><span style='color:red;'>[EL DOCENTE AÚN NO HA REGISTRADO SUS DATOS]</span></td>");    
                   
                }else{
                    pw.println("<td align='center'>"+nombreDepartamento+"</td>");     
                    pw.println("<td align='center'>"+nombreProvincia+"</td>");     
                    pw.println("<td align='center' >"+nombreDistrito+"</td>");  
                    
                }  
                if(nombreZona == null){
                        pw.println("<td align='center'><span style='color:red;'>[SIN ZONA]</span></td>"); 
                }else{
                   pw.println("<td align='center'>"+nombreZona+" </td>"); 
                }
                
            pw.println( "</tr>");
            cont++;
        }
        
        cont_fin= cont-1;
        
        if(cont==1){
            pw.println("<tr><td colspan='4' align='center'>No hay Docentes registrados</td></tr>");
        } 
          
         pw.println("       </tbody>" +
"			</table>");  
         
         
         //::::::::::::::: PIE ::::::::::::::::

        
        if (cantRegistro >= cantidad) {
            
            pw.println("<div class='row'>" + 
                            "<div class='col-xs-6'>" +
                                "<div class='dataTables_info' id='sample-table-2_info' role='status' aria-live='polite'> " +
                                    "Mostrando del "+cont_ini+" al "+cont_fin+" de "+cantRegistro+" Docente(s)" +
                                "</div> " +
                            "</div> " +
                            "<div class='col-xs-6'> " +
                                "<div class='dataTables_paginate paging_simple_numbers' id='sample-table-2_paginate'>" +
                                    "<ul class='pagination'>");
            
            int anterior = pagina - 1;
            int siguiente = pagina + 1;
            if (pagina > 1) {
                pw.println("<li tabindex='0' class='paginate_button previous' id='sample-table-2_previous' aria-controls='sample-table-2'> " +
                                "<a href='javascript:BuscarDocente(" + 1 + ");'> << </a>" +
                           "</li>");
                pw.println("<li tabindex='0' class='paginate_button previous' id='sample-table-2_previous' aria-controls='sample-table-2'> " +
                                "<a href='javascript:BuscarDocente(" + anterior + ");'>Anterior</a>" +
                           "</li>");
                
                //pw.println("<li><a href=\"javascript:buscarAula(" + anterior + ");\"><span>Anterior</span></a></li>");
            }else{
                pw.println("<li tabindex='0' class='paginate_button previous disabled' id='sample-table-2_previous' aria-controls='sample-table-2'> " +
                                "<a> << </a>" +
                           "</li>");
                pw.println("<li tabindex='0' class='paginate_button previous disabled' id='sample-table-2_previous' aria-controls='sample-table-2'> " +
                                "<a>Anterior</a>" +
                           "</li>");
            }

            //for(int i = 1; i<=numero; i++){
            if (numero > 5) {
                if (pagina > 2) {
                    if (numero >= pagina + 5) {
                        for (int i = pagina - 2; i < pagina + 3; i++) {
                            if (pagina == i) {
                                pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                            "</li>");
                                //pw.println("<li ><a href=\"javascript:buscarAula(" + i + ");\" style='background-color:#00A9FB'><span>" + i + "</span></a></li>");
                            } else {
                                pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                            "</li>");
                                //pw.println("<li><a href=\"javascript:buscarAula(" + i + ");\" ><span>" + i + "</span></a></li>");
                            }
                        }
                    } else {
                        if (pagina == numero) {
                            for (int i = pagina - 4; i <= numero; i++) {
                                if (pagina == i) {
                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                } else {
                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                }
                            }
                        } else if (pagina == numero - 1) {
                            for (int i = pagina - 3; i <= numero; i++) {
                                if (pagina == i) {
                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                } else {
                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                }
                            }
                        } else if (pagina == numero - 2) {
                            for (int i = pagina - 2; i <= numero; i++) {
                                if (pagina == i) {
                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                } else {
                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                }
                            }
                        } else if (pagina == numero - 3) {
                            for (int i = pagina - 1; i <= numero; i++) {
                                if (pagina == i) {
                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                } else {
                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                }
                            }
                        } else if (pagina == numero - 4) {
                            for (int i = pagina; i <= numero; i++) {
                                if (pagina == i) {
                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                } else {
                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                }
                            }
                        }
                    }
                } else {
                    if (pagina == 1) {
                        for (int i = pagina; i < pagina + 5; i++) {
                            if (pagina == i) {
                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                } else {
                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                }
                        }
                    } else {
                        for (int i = pagina - 1; i < pagina + 4; i++) {
                            if (pagina == i) {
                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                } else {
                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                }
                        }
                    }
                }
            } else {
                for (int i = 1; i <= numero; i++) {
                    if (pagina == i) {
                                    pw.println("<li tabindex='0' class='paginate_button active' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                } else {
                                    pw.println("<li tabindex='0' class='paginate_button' aria-controls='sample-table-2'>" +
                                                    "<a href='javascript:BuscarDocente(" + i + ");'>" + i + "</a>" +
                                                "</li>");
                                }
                }
            }
                                                                //}

            if (pagina < numero) {
                pw.println("<li tabindex='0' class='paginate_button next' id='sample-table-2_next' aria-controls='sample-table-2'>" +
                                "<a href='javascript:BuscarDocente(" + siguiente + ");'>Siguiente</a>" +
                            "</li>");
                pw.println("<li tabindex='0' class='paginate_button next' id='sample-table-2_next' aria-controls='sample-table-2'>" +
                                "<a href='javascript:BuscarDocente(" + numero + ");'> >> </a>" +
                            "</li>");
            }else{
                pw.println("<li tabindex='0' class='paginate_button next disabled' id='sample-table-2_next' aria-controls='sample-table-2'>" +
                                "<a>Siguiente</a>" +
                            "</li>");
                pw.println("<li tabindex='0' class='paginate_button next disabled' id='sample-table-2_next' aria-controls='sample-table-2'>" +
                                "<a> >> </a>" +
                            "</li>");
            }
            pw.println(         "</ul>" +
                            "</div>" +
                        "</div>" +
                    "</div>");
        }
        
        
        
        //::::::::::::::: PIE ::::::::::::::::
        pw.println("</div>" +
        "</div>" +
    "</div></div>");
         
         
         
         
         
    }

    private void listarZonasActivas(HttpServletRequest request, HttpServletResponse response) throws IOException {
        
        ArrayList<Zona> lista = null;        
        ZonaServices servicios = new ZonaServices();
        lista = servicios.listarZonasActivas();
        String nombre = request.getParameter("nombre");
        String accion = request.getParameter("accion");
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
            pw.println("<select id='"+nombre+"' class='form-control validate[required]' onchange='"+accion+"'>");
        for(int i=0; i<lista.size(); i++){
            pw.println("<option value='"+lista.get(i).getCodigoZona()+"'>"+lista.get(i).getNombreZona()+"</option>");
        }
        pw.println("</select>");
    }

    private void consultarDocentesAsignadosZona(HttpServletRequest request, HttpServletResponse response) throws IOException {
        int cantidad = 0;
        String codDepartamento = request.getParameter("codDepartamento");
        String codProvincia = request.getParameter("codProvincia");
        String codigoDistrito = request.getParameter("codigoDistrito");
        String codigoZona = request.getParameter("codigoZona");
        
        ZonaServices servicios = new ZonaServices();
        cantidad = servicios.consultarDocentesAsignadosZona(codDepartamento,codProvincia,codigoDistrito,codigoZona);
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        if(cantidad > 0){
            pw.println("1");
        }else{
            pw.println("0");
        }
    }

    private void eliminarDocentesAsignadosZona(HttpServletRequest request, HttpServletResponse response) throws IOException {
        int dato = 0;
        int dato2 = 0;
        String codDepartamento = request.getParameter("codDepartamento");
        String codProvincia = request.getParameter("codProvincia");
        String codigoDistrito = request.getParameter("codigoDistrito");
        String codigoZona = request.getParameter("codigoZona");
        
        ZonaServices servicios = new ZonaServices();
        dato = servicios.eliminarDocentesAsignadosZona(codDepartamento,codProvincia,codigoDistrito,codigoZona);
        dato2 = servicios.eliminarZonaUbigeo(codDepartamento,codProvincia,codigoDistrito,codigoZona);
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        if(dato > 0 && dato2>0){
            pw.println("1");
        }else{
            pw.println("0");
        }
    }

    private void listarDocente(HttpServletRequest request, HttpServletResponse response) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

     private void cargarZonaJson(HttpServletRequest request, HttpServletResponse response) throws IOException {
		    ZonaServices servicios = new ZonaServices();
        ArrayList<Zona> lista = null;

        lista = servicios.listarZonasActivas();

        response.setContentType("application/json");
        PrintWriter pw = response.getWriter();

        JSONArray jArray = new JSONArray(lista);
        pw.print(jArray);
	}

    
}
