diff --git a/src/java/pe/siso/horario/Beans/HorarioCF.java b/src/java/pe/siso/horario/Beans/HorarioCF.java
index 1ba5460..09fc2a3 100644
--- a/src/java/pe/siso/horario/Beans/HorarioCF.java
+++ b/src/java/pe/siso/horario/Beans/HorarioCF.java
@@ -5,6 +5,8 @@
  */
 package pe.siso.horario.Beans;
 
+import java.sql.Time;
+import java.sql.Timestamp;
 import java.util.Date;
 
 /**
@@ -30,11 +32,22 @@ public class HorarioCF {
 	private String condicionTrabajador;
 	private String observacion;
 	private String grupoAcademico;
+	private Time hora;
 	
 	public HorarioCF(){
 	
 	}
 
+	public Time getHora() {
+		return hora;
+	}
+
+	public void setHora(Time hora) {
+		this.hora = hora;
+	}
+	
+	
+
 	public Date getFechaRegistro() {
 		return fechaRegistro;
 	}
diff --git a/src/java/pe/siso/horario/DAO/AulaDAO.java b/src/java/pe/siso/horario/DAO/AulaDAO.java
index 171bfa5..1709045 100644
--- a/src/java/pe/siso/horario/DAO/AulaDAO.java
+++ b/src/java/pe/siso/horario/DAO/AulaDAO.java
@@ -56,7 +56,7 @@ public interface AulaDAO {
     public ArrayList<Aula> listarAula(String aulas, String periodo) throws Exception;
     public ArrayList<Aula> listarDatosHorairo(String codSede, String periodo) throws Exception;
     public ArrayList<Aula> listarDatosHorairo(String periodo) throws Exception;
-    public ArrayList<Aula> listarDatosHorairo2do(String periodo) throws Exception;
+    public ArrayList<Aula> listarDatosHorairo2do(String periodo,String parte) throws Exception;
     
     public ArrayList<Aula> listadoAulas(String codigoSede, String codigoPeriodoAcademico) throws Exception;
 		
diff --git a/src/java/pe/siso/horario/DAO/DocenteDAO.java b/src/java/pe/siso/horario/DAO/DocenteDAO.java
index ca4a137..59ffe38 100644
--- a/src/java/pe/siso/horario/DAO/DocenteDAO.java
+++ b/src/java/pe/siso/horario/DAO/DocenteDAO.java
@@ -21,6 +21,7 @@ public interface DocenteDAO {
     public ArrayList<Docente> listaDocentes() throws Exception;
     
     public ArrayList<HorarioCF> listarCambiosFijo(String fechaDesde,String fechaHasta) throws Exception;
+    public ArrayList<HorarioCF> listarRegistrosNuevosYEliminados(String fechaDesde,String fechaHasta) throws Exception;
     public ArrayList<Horario> listarCambiosDia(String fechaDesde,String fechaHasta) throws Exception;
     public ArrayList<Horario> listarCambiosDiaDocente(String cadenaAulas,String dia,String codigoDocente) throws Exception;
     public ArrayList<Horario> listarBajasDocente(String fechaDesde,String fechaHasta) throws Exception;
diff --git a/src/java/pe/siso/horario/DAO/HorarioDAO.java b/src/java/pe/siso/horario/DAO/HorarioDAO.java
index 4cdaf2e..1c18e81 100644
--- a/src/java/pe/siso/horario/DAO/HorarioDAO.java
+++ b/src/java/pe/siso/horario/DAO/HorarioDAO.java
@@ -136,6 +136,8 @@ public interface HorarioDAO {
 	public Horario consultarCadenaGH(String codigoAula, String codigoPeriodoAcademico) throws Exception;
 
 	public JSONObject listarVistaDobleDisponibilidad(JSONObject json);
+	public JSONObject listarVistaDobleDisponibilidad2(JSONObject json);
+	public JSONObject listarVistaDobleDisponibilidadSinZona(JSONObject json);
 	
 	public JSONObject listarVistaHorarioDisponibilidad(JSONObject json)throws Exception;
 	public JSONObject listarVistaHorarioConformidad(JSONObject json)throws Exception;
@@ -144,6 +146,7 @@ public interface HorarioDAO {
 	public JSONObject listarVistaHorarioDocenteDni2(JSONObject json)throws Exception;
 	
 	public Horario verDocenteExamenEncuesta(String codigoDocente,String codigoPlana)throws Exception;
+	public Horario verDocenteCelular(String codigoDocente)throws Exception;
 	
 	public int updateCambioCurso(String codigoAula,String periodo,String dia,String posBloque,String nombreCursoNuevo)throws Exception;
 	
diff --git a/src/java/pe/siso/horario/MySqlDAO/MySqlAulaDAO.java b/src/java/pe/siso/horario/MySqlDAO/MySqlAulaDAO.java
index f8669a0..7b34e26 100644
--- a/src/java/pe/siso/horario/MySqlDAO/MySqlAulaDAO.java
+++ b/src/java/pe/siso/horario/MySqlDAO/MySqlAulaDAO.java
@@ -195,7 +195,7 @@ public class MySqlAulaDAO implements AulaDAO {
 			ResultSet rs = st.executeQuery(query);
 
 			while (rs.next()) {
-				aula = rs.getString("des_loc") + " :: " + rs.getString("destipocentro") + " :: " + rs.getString("desnivel") + " :: " + rs.getString("destipogrado") + " :: " + rs.getString("desgrado") + " :: " + rs.getString("nombre") + " :: " + rs.getString("desturno");
+				aula = rs.getString("des_loc") + " :: GRADO : " + rs.getString("desgrado") + " :: AULA : " + rs.getString("nombre") + " :: TURNO : " + rs.getString("desturno");
 //				aula = rs.getString("des_loc") + " :: " + rs.getString("destipocentro") + " :: " + rs.getString("desnivel") + " :: " + rs.getString("destipogrado") + " :: " + rs.getString("desgrado") + " :: " + rs.getString("desseccion") + " :: " + rs.getString("nombre") + " :: " + rs.getString("desturno");
 			}
 		} catch (Exception e) {
@@ -984,7 +984,7 @@ public class MySqlAulaDAO implements AulaDAO {
 				+ "INNER JOIN seccion on seccion.codseccion=aula.codseccion   "
 				+ "INNER JOIN turno on turno.codturno=aula.codturno  WHERE ";
 			if (!codSede.equals("") && codTipoCentro.equals("")) {
-				if (codSede.equals("todo")) {
+				if (codSede.equals("todo") || codSede.equals("todo2")) {
 					query += " ";
 				} else {
 					query += " aula.codlocal='" + codSede + "' and ";
@@ -1941,14 +1941,65 @@ public class MySqlAulaDAO implements AulaDAO {
 	}
 
 	@Override
-	public ArrayList<Aula> listarDatosHorairo2do(String periodo) throws Exception {
+	public ArrayList<Aula> listarDatosHorairo2do(String periodo,String parte) throws Exception {
 		String base = "horario";
 		ArrayList<Aula> lista = new ArrayList<Aula>();
 		Connection cnx = null;
 		try {
 			cnx = MySqlDAOFactory.obtenerConexion(base);
 			Statement st = cnx.createStatement();
-			String query = "SELECT  \n" +
+			if(parte.equals("todo")){
+							String query = "SELECT  \n" +
+							"	  hcd.codAula,  \n" +
+							"	  hcd.codGru,  \n" +
+							"	  gh.max_gru,  \n" +
+							"	  gh.cadena,  \n" +
+							"	  sede.des_loc,  \n" +
+							"	  tipo_centro.destipocentro,  \n" +
+							"	  centro.descentro,  \n" +
+							"	  nivel.desnivel,  \n" +
+							"	  tipo_grado.destipogrado,  \n" +
+							"	  grado.desgrado,  \n" +
+							"	  seccion.desseccion,  \n" +
+							"	  turno.desturno  \n" +
+							"	  FROM  \n" +
+							"	  horario_curso_docente as hcd  \n" +
+							"	  INNER JOIN aula ON aula.codaula = hcd.codAula  \n" +
+							"	  INNER JOIN sede ON sede.cod_loc = aula.codlocal  \n" +
+							"	  INNER JOIN tipo_centro ON tipo_centro.codtipocentro = aula.codtipocentro  \n" +
+							"	  INNER JOIN centro ON centro.codcentro = aula.cocentro  \n" +
+							"	  INNER JOIN nivel ON nivel.codnivel = aula.codnivel  \n" +
+							"	  INNER JOIN tipo_grado ON tipo_grado.codtipogrado = aula.codtipogrado  \n" +
+							"	  INNER JOIN grado ON grado.codgrado = aula.codgrado  \n" +
+							"	  INNER JOIN seccion ON seccion.codseccion = aula.codseccion  \n" +
+							"	  INNER JOIN turno ON turno.codturno = aula.codturno  \n" +
+							"	  INNER JOIN grupo_horario as gh on gh.cod_gru=hcd.codGru  \n" +
+							"	  WHERE hcd.cod_per='"+periodo+"'  and aula.estado='1' and sede.cod_loc in (1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,21,22,23,24,41,44,43,50,15,46)\n" +
+							"	  GROUP BY aula.codAula,hcd.codGru  \n" +
+							"	  ORDER BY hcd.codGru,sede.des_loc,hcd.cod_gru_aul,grado.desgrado,tipo_centro.destipocentro,centro.descentro,nivel.desnivel,tipo_grado.destipogrado,turno.desturno,seccion.desseccion";
+ 
+			ResultSet rs = st.executeQuery(query); 
+
+			while (rs.next()) {
+				Aula aula = new Aula();
+				aula.setCodigoAula(rs.getInt("codAula"));
+				aula.setCodigoGrupo(rs.getString("codGru"));
+				aula.setMaxGrupo(rs.getInt("max_gru"));
+				aula.setCadena(rs.getString("cadena"));
+				aula.setNombreLocal(rs.getString("des_loc"));
+				aula.setNombreTipoCentro(rs.getString("destipocentro"));
+				aula.setNombreCentro(rs.getString("descentro"));
+				aula.setNombreNivel(rs.getString("desnivel"));
+				aula.setNombreTipoGrado(rs.getString("destipogrado"));
+				aula.setNombreGrado(rs.getString("desgrado"));
+				aula.setNombreSeccion(rs.getString("desseccion"));
+				aula.setNombreTurno(rs.getString("desturno"));
+
+				lista.add(aula);
+		 	}
+			
+		}else if(parte.equals("todo2")){
+			 			String query = "SELECT  \n" +
 							"	  hcd.codAula,  \n" +
 							"	  hcd.codGru,  \n" +
 							"	  gh.max_gru,  \n" +
@@ -1973,7 +2024,7 @@ public class MySqlAulaDAO implements AulaDAO {
 							"	  INNER JOIN seccion ON seccion.codseccion = aula.codseccion  \n" +
 							"	  INNER JOIN turno ON turno.codturno = aula.codturno  \n" +
 							"	  INNER JOIN grupo_horario as gh on gh.cod_gru=hcd.codGru  \n" +
-							"	  WHERE hcd.cod_per='"+periodo+"'  and aula.estado='1'\n" +
+							"	  WHERE hcd.cod_per='"+periodo+"'  and aula.estado='1' and sede.cod_loc in (49,52,42,45,25,26,27,28,30,31,32,33,48,29,34,35,36,37,38)\n" +
 							"	  GROUP BY aula.codAula,hcd.codGru  \n" +
 							"	  ORDER BY hcd.codGru,sede.des_loc,hcd.cod_gru_aul,grado.desgrado,tipo_centro.destipocentro,centro.descentro,nivel.desnivel,tipo_grado.destipogrado,turno.desturno,seccion.desseccion";
  
@@ -1996,6 +2047,15 @@ public class MySqlAulaDAO implements AulaDAO {
 
 				lista.add(aula);
 			}
+		
+			
+			}
+			
+
+			
+			
+			
+			
 		} catch (Exception e) {
 			e.printStackTrace();
 		} finally {
diff --git a/src/java/pe/siso/horario/MySqlDAO/MySqlDAOFactory.java b/src/java/pe/siso/horario/MySqlDAO/MySqlDAOFactory.java
index 13c077c..426eb66 100644
--- a/src/java/pe/siso/horario/MySqlDAO/MySqlDAOFactory.java
+++ b/src/java/pe/siso/horario/MySqlDAO/MySqlDAOFactory.java
@@ -56,13 +56,16 @@ public class MySqlDAOFactory extends DAOFactory {
 			try {
 
 				conexion = DriverManager.getConnection(
-					                        "jdbc:mysql://localhost:3306/encuesta_docente",
-					                        "root",
-					                        "mysql");
+//					                        "jdbc:mysql://localhost:3306/encuesta_docente",
+//					                        "root",
+//					                        "mysql");
+//					                        "jdbc:mysql://172.16.2.43:3306/encuesta_docente",
+//					                        "billy",
+//					                        "billy");
 //					//serverdes5
-//					"jdbc:mysql://172.16.0.15:3306/encuesta_docente",
-//					"sistemaHorarios",
-//					"Sac0Olive1357$");
+					"jdbc:mysql://172.16.0.15:3306/encuesta_docente",
+					"sistemaHorarios",
+					"Sac0Olive1357$");
 
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
@@ -74,13 +77,16 @@ public class MySqlDAOFactory extends DAOFactory {
 			try {
 
 				conexion = DriverManager.getConnection(
-					                        "jdbc:mysql://localhost:3306/nuevo",
-					                        "root",
-					                        "mysql");
+//					                        "jdbc:mysql://localhost:3306/nuevo",
+//					                        "root",
+//					                        "mysql");
+//					                        "jdbc:mysql://172.16.2.43:3306/nuevo",
+//					                        "billy",
+//					                        "billy");
 					// serverweb
-//					"jdbc:mysql://172.16.0.15:3306/nuevo",
-//					"sistemaHorarios",
-//					"Sac0Olive1357$");
+					"jdbc:mysql://172.16.0.15:3306/nuevo",
+					"sistemaHorarios",
+					"Sac0Olive1357$");
 
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
@@ -92,12 +98,15 @@ public class MySqlDAOFactory extends DAOFactory {
 			try {
 
 				conexion = DriverManager.getConnection(
-										"jdbc:mysql://localhost:3306/horarios_docente",
-										"root",
-										"mysql");
-//					"jdbc:mysql://172.16.0.15:3306/horarios_docente",
-//					"sistemaHorarios",
-//					"Sac0Olive1357$");
+//										"jdbc:mysql://localhost:3306/horarios_docente",
+//										"root",
+//										"mysql");
+//										"jdbc:mysql://172.16.2.43:3306/horarios_docente",
+//										"billy",
+//										"billy");
+					"jdbc:mysql://172.16.0.15:3306/horarios_docente",
+					"sistemaHorarios",
+					"Sac0Olive1357$");
 
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
@@ -108,13 +117,16 @@ public class MySqlDAOFactory extends DAOFactory {
 
 			try {
 				conexion = DriverManager.getConnection(
-										"jdbc:mysql://localhost:3306/sacoolive3",
-										"root",
-										"mysql");
+//										"jdbc:mysql://localhost:3306/sacoolive3",
+//										"root",
+//										"mysql");
+//										"jdbc:mysql://172.16.2.43:3306/sacoolive3",
+//										"billy",
+//										"billy");
 					//serverdes5
-//					"jdbc:mysql://172.16.0.15:3306/sacoolive3",
-//					"sistemaHorarios",
-//					"Sac0Olive1357$");
+					"jdbc:mysql://172.16.0.15:3306/sacoolive3",
+					"sistemaHorarios",
+					"Sac0Olive1357$");
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
 				e.printStackTrace();
diff --git a/src/java/pe/siso/horario/MySqlDAO/MySqlDocenteDAO.java b/src/java/pe/siso/horario/MySqlDAO/MySqlDocenteDAO.java
index fc43719..abf1a3e 100644
--- a/src/java/pe/siso/horario/MySqlDAO/MySqlDocenteDAO.java
+++ b/src/java/pe/siso/horario/MySqlDAO/MySqlDocenteDAO.java
@@ -2366,13 +2366,10 @@ public class MySqlDocenteDAO implements DocenteDAO {
 				h.setGrupoAcademico(rs.getString("grupoAcademico"));
 				h.setCodigoAula(rs.getString("aulas"));
 				h.setCantidadHoras(rs.getString("cantMin"));
-			
-
 				h.setDocenteSaliente(rs.getString("doc_saliente"));
 				h.setCursoSaliente(rs.getString("nom_cur"));
 				h.setFechaFin(rs.getString("fechafin"));
 				h.setMotivoCambio(rs.getString("motivoCambio"));
-
 				h.setDocenteEntrante(rs.getString("doc_entrante"));
 				h.setCursoEntrante(rs.getString("curso_entrante"));
 				h.setFechaInicio(rs.getString("fechainicio"));
@@ -2388,6 +2385,99 @@ public class MySqlDocenteDAO implements DocenteDAO {
 		}
 		return lista;
 	}
+	
+	@Override
+	public ArrayList<HorarioCF> listarRegistrosNuevosYEliminados(String fechaDesde, String fechaHasta) throws Exception {
+			ArrayList<HorarioCF> lista = new ArrayList<HorarioCF>();
+		String base = "horario";
+		Connection cnx = null;
+		try {
+			cnx = MySqlDAOFactory.obtenerConexion(base);
+
+			String query = "SELECT \n" +
+"            tbl1.fecha,tbl1.des_loc,tbl1.dia,tbl1.turno,CONCAT(tbl1.ingreso,\" - \",tbl1.salida)as horario,tbl1.grupoAcademico,tbl1.aulas,\n" +
+"\n" +
+"            tbl1.hora,tbl1.docente,tbl1.nom_cur,tbl1.accion\n" +
+"						FROM ( \n" +
+"													SELECT tbl.fecha,tbl.dia,tbl.des_loc,MIN(tbl.ingreso) ingreso,MAX(tbl.salida) salida,SUM(tbl.cantLib) cantLib, \n" +
+"\n" +
+"													tbl.turno,\n" +
+"                          REPLACE(GROUP_CONCAT(DISTINCT tbl.aula ORDER BY ingreso ),',','-') aulas,\n" +
+"                             SUM(tbl.cantAulas) cantAulas,tbl.grupoAcademico, \n" +
+"													tbl.computable,tbl.hora,tbl.docente,tbl.accion,tbl.nom_cur\n" +
+"																		FROM ( \n" +
+"																		SELECT hcd.hora,hcd.cod_hcd,hcd.fecha,hcd.dia numdia,ELT(hcd.dia, 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo') AS dia, \n" +
+"																		s.des_loc,\n" +
+"                                    TIME_FORMAT(hcd.hor_ini,'%H:%i') ingreso,\n" +
+"                                    TIME_FORMAT(hcd.hor_fin,'%H:%i') salida,\n" +
+"                                    IF(tg.destipogrado ='LIBRE',1,0) cantLib, \n" +
+"																		IF (hcd.hor_ini>='07:00' AND hcd.hor_fin<='14:30','M','T') turno, \n" +
+"\n" +
+"                                 \n" +
+"\n" +
+"																		TRIM(IF(tg.destipogrado ='LIBRE',tg.abrTipGrado,REPLACE(REPLACE(REPLACE(REPLACE(a.nombre,'TO ',''),'DO ',''),'RO ',''),'Y ','y'))) aula, \n" +
+"\n" +
+"																		1 cantAulas,IF(g.abrGrado LIKE '%1%' OR g.abrGrado LIKE '%2%','A',IF(a.codtipocentro = 2,'C','B')) grupoAcademico, \n" +
+"																						IF(a.codtipocentro = 2,240,360) computable,\n" +
+"                                            CONCAT(pf1.apellido,',',pf1.nombre)as docente,\n" +
+"                                    IF(hcd.accion = 'REGISTRADO','SIN CURSO','ELIMINADO') as accion,c.nom_cur\n" +
+"\n" +
+"                               			FROM  historial_horario  hcd \n" +
+"																		INNER JOIN curso c ON c.cod_cur=hcd.cod_cur 	\n" +
+"																		INNER JOIN sacoolive3.profesor pf1 ON pf1.codprofesor=hcd.cod_doc 									\n" +
+"																		INNER JOIN aula a ON a.codaula=hcd.codAula \n" +
+"																		INNER JOIN grado g on g.codgrado = a.codgrado   \n" +
+"																		INNER JOIN tipo_grado tg ON g.codtipogrado=tg.codtipogrado \n" +
+"																		INNER JOIN sede s ON s.cod_loc=a.codlocal \n" +
+"																WHERE   \n" +
+"																			hcd.fecha  BETWEEN ?  AND ? and hcd.est_hcd=1\n" +
+"                                     AND (accion ='REGISTRADO' OR accion ='ELIMINADO')\n" +
+"                                   \n" +
+"																							 \n" +
+"																			) tbl \n" +
+"														GROUP BY tbl.fecha,tbl.dia,tbl.des_loc,tbl.turno,tbl.grupoAcademico,tbl.nom_cur,tbl.cantAulas\n" +
+"                            ORDER BY tbl.hora DESC\n" +
+"											\n" +
+"								) tbl1";
+
+
+			PreparedStatement st = cnx.prepareStatement(query);
+			
+			SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
+			Date fechaInicio = dateFormat.parse(fechaDesde);
+			Date fechaFin = dateFormat.parse(fechaHasta);
+
+			st.setTimestamp(1, new Timestamp(fechaInicio.getTime()));
+			st.setTimestamp(2, new Timestamp(fechaFin.getTime()));
+			System.out.println("QUERYY --->" + st);
+			ResultSet rs = st.executeQuery();
+
+			while (rs.next()) {
+				HorarioCF h = new HorarioCF();
+
+				h.setFechaRegistro(rs.getDate("fecha"));
+				h.setNombreSede(rs.getString("des_loc"));
+				h.setDia(rs.getString("dia"));
+				h.setHorario(rs.getString("horario"));
+				h.setGrupoAcademico(rs.getString("grupoAcademico"));
+				h.setCodigoAula(rs.getString("aulas"));
+				h.setHora(rs.getTime("hora"));
+				
+			  h.setDocenteEntrante(rs.getString("docente"));
+				h.setCursoEntrante(rs.getString("nom_cur"));
+				h.setMotivoCambio(rs.getString("accion"));
+
+				lista.add(h);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			cnx.close();
+		}
+		return lista;
+		
+	}
+	
 
 	@Override
 	public ArrayList<Horario> listarCambiosDia(String fechaDesde, String fechaHasta) throws Exception {
@@ -2794,4 +2884,6 @@ public class MySqlDocenteDAO implements DocenteDAO {
 		return codDocente;
 			
 	}
+
+
 }
diff --git a/src/java/pe/siso/horario/MySqlDAO/MySqlHorarioDAO.java b/src/java/pe/siso/horario/MySqlDAO/MySqlHorarioDAO.java
index bcdd241..5665e1e 100644
--- a/src/java/pe/siso/horario/MySqlDAO/MySqlHorarioDAO.java
+++ b/src/java/pe/siso/horario/MySqlDAO/MySqlHorarioDAO.java
@@ -15,6 +15,7 @@ import java.sql.Statement;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import javax.servlet.jsp.jstl.sql.Result;
@@ -727,7 +728,7 @@ public class MySqlHorarioDAO implements HorarioDAO {
 			Statement st = cnx.createStatement();
 
 			//String query = "select COUNT(cod_cur) as cantidad from horario_curso_docente where codAula='"+codAula+"' and cod_tur='"+codTurno+"' and cod_cur='"+codCurso+"' and cod_per='"+periodo+"' ";
-			String query = "select COUNT(cod_cur) as cantidad from horario_curso_docente where codAula='" + codAula + "' and cod_cur='" + codCurso + "' and cod_per='" + periodo + "' ";
+			String query = "select COUNT(cod_cur) as cantidad from horario_curso_docente where codAula='" + codAula + "' and cod_cur='" + codCurso + "' and cod_per='" + periodo + "' and est_hcd=1 ";
 			System.out.println("cruuuceee-->> " + query);
 			ResultSet rs = st.executeQuery(query);
 			// System.out.println(query);
@@ -1489,9 +1490,12 @@ public class MySqlHorarioDAO implements HorarioDAO {
 		try {
 			cnx = MySqlDAOFactory.obtenerConexion(base);
 			Statement st = cnx.createStatement();
+			
 			//--------HISTORIAL---------------------
 			String queryHH0 = "SELECT cod_hcd,codAula,dia,pos_blo,hor_ini,hor_fin,cod_cur,cod_doc,cod_tur,cod_per,codGru FROM horario_curso_docente WHERE cod_hcd='" + codHorarioCursoDocente + "'";
 			ResultSet rs0 = st.executeQuery(queryHH0);
+			
+			
 			if (rs0.next()) {
 				String codAula = rs0.getString("codAula");
 				String dia = rs0.getString("dia");
@@ -1509,6 +1513,7 @@ public class MySqlHorarioDAO implements HorarioDAO {
 				st.executeUpdate(queryHH1);
 			}
 			//--------HISTORIAL---------------------
+			
 
 			String query = "DELETE FROM horario_curso_docente WHERE cod_hcd='" + codHorarioCursoDocente + "' ";
 			System.out.println(query);
@@ -1981,11 +1986,12 @@ public class MySqlHorarioDAO implements HorarioDAO {
 			Statement st2 = cnx2.createStatement();
 			String consultaTipoDocente = "SELECT hr.codSec,hr.cod_hcd,hr.codAula,hr.dia,hr.pos_blo,hr.hor_ini,hr.hor_fin,hr.cod_cur,  "
 				//				+ "	hr.cod_doc,hr.cod_tur,hr.cod_per,hr.codGru,hr.est_hcd,cur.nom_cur "
-				+ "	hr.cod_doc,hr.cod_tur,hr.cod_per,hr.codGru,hr.est_hcd,cur.nom_cur,pd.cod_pla  "
+				+ "	hr.cod_doc,hr.cod_tur,hr.cod_per,hr.codGru,hr.est_hcd,cur.nom_cur,cur.cod_pla,dd.cel_dat_per  "
 				+ "FROM  "
 				+ "	horario_curso_docente AS hr  "
 				//        + "	INNER JOIN curso AS cur ON cur.cod_cur = hr.cod_cur    "
-				+ "	INNER JOIN curso AS cur ON cur.cod_cur = hr.cod_cur LEFT JOIN tabla_evaluacion pd ON pd.cod_doc=hr.cod_doc   "
+				+ "	INNER JOIN curso AS cur ON cur.cod_cur = hr.cod_cur    "
+				+ " LEFT JOIN datos_docente dd ON dd.cod_doc=hr.cod_doc " 
 				+ "WHERE  "
 				+ "		hr.codAula = '" + codigoAula + "'  "
 				+ "AND hr.cod_per = '" + codigoPeriodo + "'  "
@@ -2023,6 +2029,7 @@ public class MySqlHorarioDAO implements HorarioDAO {
 				horario.setH_nombreCurso(rs.getString("nom_cur"));
 				horario.setH_clase(rs.getString("codSec"));
 				horario.setCodigoPlana(rs.getString("cod_pla"));
+				horario.setCelularDocente(rs.getString("cel_dat_per"));
 			}
 
 			if (horario.getH_codigoHorarioCursoDocente() != null) {
@@ -2166,7 +2173,7 @@ public class MySqlHorarioDAO implements HorarioDAO {
 						libre = libreRS.getInt("cant");
 					}
 
-					String queryCant = "SELECT cod_hcd FROM horario_curso_docente WHERE codAula='" + codigoAula + "' and dia='" + dia + "' and pos_blo='" + Posicionbloque + "' and cod_per='" + periodo + "' ";
+					String queryCant = "SELECT cod_hcd FROM horario_curso_docente WHERE codAula='" + codigoAula + "' and dia='" + dia + "' and pos_blo='" + Posicionbloque + "' and cod_per='" + periodo + "' and est_hcd='1'";
 					//System.out.println("-(1)-> "+queryCant);
 					ResultSet rsCant = st.executeQuery(queryCant);
 					if (rsCant.next()) {
@@ -2391,13 +2398,42 @@ public class MySqlHorarioDAO implements HorarioDAO {
 		int dato = 1;
 		String base = "horario";
 		Connection cnx = null;
+		ResultSet rs0=null;
 		try {
 			cnx = MySqlDAOFactory.obtenerConexion(base);
 			Statement st = cnx.createStatement();
-			codAulas = codAulas.replace("#", ",");
-			String query = "DELETE FROM horario_curso_docente WHERE cod_cur='" + codCur + "' and cod_per='" + periodo + "' and codAula in (" + codAulas + ")";
+			
+			String codAulas2 = codAulas.replace("#", ",");
+			String [] array=codAulas2.split(",");
+			for (String array1 : array) {
+				String queryHH0 = "SELECT cod_hcd,codAula,dia,pos_blo,hor_ini,hor_fin,cod_cur,cod_doc,cod_tur,cod_per,codGru"
+					+ " FROM horario_curso_docente WHERE codAula='" + array1 + "' and cod_cur='" + codCur + "' and cod_per='" + periodo + "'";
+				 rs0 = st.executeQuery(queryHH0);
+				if(rs0.next()){
+					String codAula = rs0.getString("codAula");
+					String dia = rs0.getString("dia");
+					String Posicionbloque = rs0.getString("pos_blo");
+					String Hini = rs0.getString("hor_ini");
+					String Hfin = rs0.getString("hor_fin");
+					String codigoTurno = rs0.getString("cod_tur");
+					String codigoCurso = rs0.getString("cod_cur");
+					String codigoDocente = rs0.getString("cod_doc");
+					String periodo2 = rs0.getString("cod_per");
+					String codigoGrupo = rs0.getString("codGru");
+					
+					String queryHH1 = "INSERT INTO historial_horario (codAula,dia,pos_blo,hor_ini,hor_fin,cod_tur,cod_cur,cod_doc,est_hcd,cod_per,codGru,fecha,hora,accion,cod_usu)  "
+						+ "VALUES ('" + codAula + "','" + dia + "','" + Posicionbloque + "','" + Hini + "','" + Hfin + "','" + codigoTurno + "','" + codigoCurso + "','" + codigoDocente + "','1','" + periodo2 + "','" + codigoGrupo + "',CURDATE(),CURTIME(),'ELIMINADO',9)";
+					st.executeUpdate(queryHH1);
+				}
+			}
+			
+			
+			
+			String query = "DELETE FROM horario_curso_docente WHERE cod_cur='" + codCur + "' and cod_per='" + periodo + "' and codAula in (" + codAulas2 + ")";
 			System.out.println(query);
 			dato = st.executeUpdate(query);
+			
+			
 		} catch (Exception e) {
 			e.printStackTrace();
 		} finally {
@@ -2562,7 +2598,7 @@ public class MySqlHorarioDAO implements HorarioDAO {
 "			   	te.pro_pla, \n" +
 "			   	te.exa, \n" +
 "			   	te.not_enc, \n" +
-"			   	te.prom,dd.bloqueo,dd.diasSin,IF(te.puesto = \"\"  ,'No registrado',IFNULL(te.puesto,'No Registrado')) as puesto,zona.nom_zon \n" +
+"			   	te.prom,dd.bloqueo,dd.diasSin,IF(te.puesto = \"\"  ,'No registrado',IFNULL(te.puesto,'No Registrado')) as puesto,IFNULL(zona.nom_zon,'No registrado') as nom_zon \n" +
 "			   FROM \n" +
 "			   	plana_docente pd \n" +
 "			   INNER JOIN sacoolive3.profesor pr ON pr.codprofesor = pd.cod_doc \n" +
@@ -2610,7 +2646,7 @@ public class MySqlHorarioDAO implements HorarioDAO {
 "			   ORDER BY \n" +
 "			   	nombreDoc ASC";
 			pst = cn.prepareStatement(sql);
-			System.out.println(sql);
+			System.out.println(pst);
 
 			pst.setString(1, json.getString("codigoPeriodo"));
 			pst.setString(2, json.getString("codigoPeriodo"));
@@ -3164,6 +3200,47 @@ public class MySqlHorarioDAO implements HorarioDAO {
 
 		return horario;
 	}
+	
+		@Override
+	public Horario verDocenteCelular(String codigoDocente) throws Exception {
+		String base = "horario";
+		Connection cnx = null;
+		ResultSet rs = null;
+		PreparedStatement pst = null;
+		Horario horario = new Horario();
+		try {
+			cnx = MySqlDAOFactory.obtenerConexion(base);
+			String query = "SELECT\n" +
+"		\n" +
+"			 	dd.cel_dat_per  \n" +
+"			 FROM  \n" +
+"			 	datos_docente dd  \n" +
+"			 INNER JOIN sacoolive3.profesor pr ON dd.cod_doc = pr.codprofesor  \n" +
+"\n" +
+"			 WHERE  \n" +
+"			 	dd.cod_doc  = "+codigoDocente+" ";
+
+			pst = cnx.prepareStatement(query);
+//			pst.setString(1, codigoDocente);
+	
+
+//           
+			rs = pst.executeQuery();
+
+			if (rs.next()) {
+				
+				horario.setCelularDocente(rs.getString(1));
+//				
+			}
+
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			cnx.close();
+		}
+
+		return horario;
+	}
 
 	public static void main(String[] args) {
 
@@ -3381,4 +3458,349 @@ public class MySqlHorarioDAO implements HorarioDAO {
 	 return obj;
 	}
 
+	@Override
+	public JSONObject listarVistaDobleDisponibilidad2(JSONObject json) {
+			JSONObject jReturn = new JSONObject();
+		Connection cn = null;
+		PreparedStatement pst = null;
+		ResultSet rs = null;
+
+		try {
+			cn = MySqlDAOFactory.obtenerConexion("horario");
+			String sql = ""
+				+ "SELECT "
+				+ "	pr.codprofesor, "
+				+ "	CONCAT(pr.apellido, ', ', pr.nombre) nombreDoc, "
+				+ "	if(dat.cel_dat_per = '0','No registrado',COALESCE(dat.cel_dat_per, '')) cel_dat_per, "
+				+ "	COALESCE(dat.nom_dir,'') nom_dir, "
+				+ " COALESCE(dat.cor_dat_per,'')cor_dat_per, "
+				+ "	COALESCE(u.nom_dis_ubi,'')nom_dis_ubi, "
+				+ " COALESCE(dd.diaDis,'' ) diaDis, "
+				+ "	te.pro_pla, "
+				+ "	te.exa, "
+				+ "	te.not_enc, "
+				+ "	te.prom "
+				+ "FROM "
+				+ "	plana_docente pd "
+				+ "INNER JOIN sacoolive3.profesor pr ON pr.codprofesor = pd.cod_doc "
+				+ "LEFT JOIN ( "
+				+ "	SELECT "
+				+ "		codDoc, "
+				+ "		diaDis "
+				+ "	FROM "
+				+ "		disponibilidad_docente "
+				+ "	WHERE "
+				+ "		estDis = 1 "
+				+ "	AND cod_per = ? "
+				+ ") dd ON dd.codDoc = pd.cod_doc "
+				+ "INNER JOIN datos_docente dat ON dat.cod_doc = pr.codprofesor "
+				+ "INNER JOIN ubigeo u ON u.cod_dep_ubi = dat.cod_dep "
+				+ "AND u.cod_pro_ubi = dat.cod_prov "
+				+ "AND u.cod_dis_ubi = dat.cod_dis "
+				+ "LEFT JOIN ( "
+				+ "SELECT "
+				+ "te.cod_doc , "
+				+ "te.pro_pla, "
+				+ "	te.exa, "
+				+ "	te.not_enc, "
+				+ "	te.prom "
+				+ "FROM tabla_evaluacion te "
+				+ "INNER JOIN  encuesta_docente.encuesta enc "
+				+ "ON enc.cod_enc = te.cod_enc "
+				+ "where enc.cod_per = ? and te.cod_pla = ? "
+				+ "  ) te ON te.cod_doc = pr.codprofesor "
+				+ "WHERE "
+				+ "	pr.estadoprofe = 'Y' "
+				+ "AND pd.cod_pla = ? "
+				+ "GROUP BY "
+				+ "	pr.codprofesor, "
+				+ "	CONCAT(pr.apellido, ', ', pr.nombre), "
+				+ "	dd.diaDis, "
+				+ "	dat.cel_dat_per, "
+				+ "	dat.nom_dir, "
+				+ "	dat.cor_dat_per, "
+				+ "	u.nom_dis_ubi, "
+				+ "	te.pro_pla, "
+				+ "	te.exa, "
+				+ "	te.not_enc, "
+				+ "	te.prom "
+				+ "ORDER BY "
+				+ "	nombreDoc ASC ";
+
+			pst = cn.prepareStatement(sql);
+			System.out.println(sql);
+
+			pst.setString(1, json.getString("codigoPeriodo2"));
+			pst.setString(2, json.getString("codigoPeriodo2"));
+			pst.setString(3, json.getString("codigoPlana"));
+			pst.setString(4, json.getString("codigoPlana"));
+			
+
+
+			rs = pst.executeQuery();
+
+			JSONArray arrayDocente = new JSONArray();
+			while (rs.next()) {
+				JSONObject obj = new JSONObject();
+				obj
+					.put("codDocente", rs.getInt("codprofesor"))
+					.put("nombre", rs.getString("nombreDoc"))
+					.put("disponibilidad", rs.getString("diaDis"))
+					.put("celular", rs.getString("cel_dat_per"))
+					.put("direccion", rs.getString("nom_dir"))
+					.put("correo", rs.getString("cor_dat_per"))
+					.put("promedioPlana",rs.getString("pro_pla"))
+					.put("examen", rs.getString("exa"))
+					.put("notaEncuesta",rs.getString("not_enc"))
+					.put("promedio",rs.getString("prom"))
+					.put("distrito", rs.getString("nom_dis_ubi"));
+
+				  
+
+				arrayDocente.put(obj);
+			}
+
+			for (Object objDocente : arrayDocente) {
+
+				JSONObject docente = (JSONObject) objDocente;
+				sql = ""
+					+ "select "
+					+ "hcd.dia, "
+					+ "s.des_loc, "
+					+ "if(hcd.hor_ini < '14:30',1,2) turno, "
+					+ "GROUP_CONCAT(CONCAT(g.abrGrado,'-',a.nombre)) aulas "
+					+ "from horario_curso_docente hcd "
+					+ "inner join aula a on a.codaula = hcd.codAula "
+					+ "inner join seccion se on se.codseccion = a.codseccion "
+					+ "inner join grado g on g.codgrado = a.codgrado "
+					+ "inner join sede s on s.cod_loc = a.codlocal "
+					+ "where hcd.est_hcd = 1 "
+					+ "and hcd.cod_per = ? "
+					+ "and hcd.cod_doc = ? "
+					//					+ "and hcd.dia in (?) "
+					+ "group by "
+					+ "hcd.cod_doc, "
+					+ "hcd.dia, "
+					+ "s.des_loc, "
+					+ "turno "
+					+ "order by "
+					+ "hcd.dia, "
+					+ "turno";
+				pst = cn.prepareStatement(sql);
+
+				pst.setString(1, json.getString("codigoPeriodo2"));
+				pst.setInt(2, docente.getInt("codDocente"));
+//				pst.setString(3, String.join(",", arrayDias));
+
+				rs = pst.executeQuery();
+				JSONArray arrayAulas = new JSONArray();
+
+				while (rs.next()) {
+					JSONObject jObj = new JSONObject();
+					jObj.put("dia", Objects.toString(rs.getString("dia"),""));
+					jObj.put("sede", rs.getString("des_loc"));
+					jObj.put("turno", rs.getString("turno"));
+					jObj.put("aulas", rs.getString("aulas"));
+
+					arrayAulas.put(jObj);
+				}
+				docente.put("arrayAulas", arrayAulas);
+			}
+
+			jReturn
+				.put("data", arrayDocente)
+				.put("status", true);
+
+		} catch (Exception e) {
+			jReturn
+				.put("status", false)
+				.put("message", e.getMessage());
+		} finally {
+			try {
+				if (cn != null) {
+					cn.close();
+				}
+				if (pst != null) {
+					pst.close();
+				}
+			} catch (SQLException ex) {
+				Logger.getLogger(MySqlHorarioDAO.class.getName()).log(Level.SEVERE, null, ex);
+			}
+		}
+		return jReturn;
+	}
+	
+		@Override
+	public JSONObject listarVistaDobleDisponibilidadSinZona(JSONObject json) {
+			JSONObject jReturn = new JSONObject();
+		Connection cn = null;
+		PreparedStatement pst = null;
+		ResultSet rs = null;
+
+		try {
+			cn = MySqlDAOFactory.obtenerConexion("horario");
+			String sql = ""
+				+ "SELECT  \n" +
+" 	   pr.codprofesor,  \n" +
+" 	   CONCAT(pr.apellido, ', ', pr.nombre) nombreDoc,  \n" +
+" 	    IFNULL(dat.cel_dat_per,'No registrado') as cel_dat_per,   \n" +
+" 	    IFNULL(dat.nom_dir,'No registrado') as nom_dir,   \n" +
+" 	    IFNULL(dat.cor_dat_per,'No registrado') as cor_dat_per,   \n" +
+" 	    IFNULL(u.nom_dis_ubi,'No registrado')as nom_dis_ubi,     \n" +
+" 	    +\n" +
+" 	   	COALESCE(dd.diaDis,''),  \n" +
+" 	   	COALESCE(te.pro_pla,''),  \n" +
+" 	   	COALESCE(te.exa,''),  \n" +
+" 	   	COALESCE(te.not_enc,''),  \n" +
+" 	   	COALESCE(te.prom,''),COALESCE(dd.bloqueo,''),COALESCE(dd.diasSin,''),IF(te.puesto = \"\"  ,'No registrado',IFNULL(te.puesto,'No Registrado')) as puesto,IFNULL(zona.nom_zon,'No registrado') as nom_zon  \n" +
+" 	   FROM  \n" +
+" 	   	plana_docente pd  \n" +
+" 	   INNER JOIN sacoolive3.profesor pr ON pr.codprofesor = pd.cod_doc  \n" +
+" 	   LEFT JOIN (  \n" +
+" 	   	SELECT  \n" +
+" 	   		codDoc,  \n" +
+" 	   		diaDis,bloqueo,diasSin  \n" +
+" 	   	FROM  \n" +
+" 	   		disponibilidad_docente  \n" +
+" 	   	WHERE  \n" +
+" 	   		estDis = 1  \n" +
+" 	   	AND cod_per = ?  \n" +
+" 	   ) dd ON dd.codDoc = pd.cod_doc  \n" +
+" 	   LEFT JOIN datos_docente dat ON dat.cod_doc = pr.codprofesor   \n" +
+" 	   LEFT JOIN ubigeo u ON u.cod_dep_ubi = dat.cod_dep  \n" +
+" 	   AND u.cod_pro_ubi = dat.cod_prov  \n" +
+" 	   AND u.cod_dis_ubi = dat.cod_dis LEFT JOIN zona_docente ON dat.cod_doc=zona_docente.cod_doc AND zona_docente.est_zon_doc = '1' LEFT JOIN zona ON zona_docente.cod_zon = zona.cod_zon\n" +
+" 	   LEFT JOIN (  \n" +
+" 	   SELECT  \n" +
+" 	   te.cod_doc ,  \n" +
+" 	   te.pro_pla,  \n" +
+" 	   	te.exa,  \n" +
+" 	   	te.not_enc,  \n" +
+" 	   	te.prom,te.puesto  \n" +
+" 	   FROM tabla_evaluacion te  \n" +
+" 	   INNER JOIN  encuesta_docente.encuesta enc  \n" +
+" 	   ON enc.cod_enc = te.cod_enc  \n" +
+" 	   where enc.cod_per = ? and te.cod_pla = ?  \n" +
+" 	     ) te ON te.cod_doc = pr.codprofesor  \n" +
+" 	   WHERE  \n" +
+" 	   	pr.estadoprofe = 'Y'  \n" +
+" 	   AND pd.cod_pla = ? AND pd.cod_per=?\n" +
+" 	   GROUP BY  \n" +
+" 	   	pr.codprofesor,  \n" +
+" 	   	CONCAT(pr.apellido, ', ', pr.nombre),  \n" +
+" 	   	dd.diaDis,  \n" +
+" 	   	dat.cel_dat_per,  \n" +
+" 	   	dat.nom_dir,  \n" +
+" 	   	dat.cor_dat_per,  \n" +
+" 	   	u.nom_dis_ubi,  \n" +
+" 	   	te.pro_pla,  \n" +
+" 	   	te.exa,  \n" +
+" 	   	te.not_enc,  \n" +
+" 	   	te.prom  \n" +
+" 	   ORDER BY  \n" +
+" 	   	nombreDoc ASC";
+
+			pst = cn.prepareStatement(sql);
+			System.out.println(sql);
+
+			pst.setString(1, json.getString("codigoPeriodo2"));
+			pst.setString(2, json.getString("codigoPeriodo2"));
+			pst.setString(3, json.getString("codigoPlana"));
+			pst.setString(4, json.getString("codigoPlana"));
+			
+
+
+			rs = pst.executeQuery();
+
+			JSONArray arrayDocente = new JSONArray();
+			while (rs.next()) {
+				JSONObject obj = new JSONObject();
+				obj
+					.put("codDocente", rs.getInt("codprofesor"))
+					.put("nombre", rs.getString("nombreDoc"))
+					.put("disponibilidad", rs.getString("diaDis"))
+					.put("celular", rs.getString("cel_dat_per"))
+					.put("direccion", rs.getString("nom_dir"))
+					.put("correo", rs.getString("cor_dat_per"))
+					.put("promedioPlana",rs.getString("pro_pla"))
+					.put("examen", rs.getString("exa"))
+					.put("notaEncuesta",rs.getString("not_enc"))
+					.put("promedio",rs.getString("prom"))
+					.put("distrito", rs.getString("nom_dis_ubi"));
+
+				  
+
+				arrayDocente.put(obj);
+			}
+
+			for (Object objDocente : arrayDocente) {
+
+				JSONObject docente = (JSONObject) objDocente;
+				sql = ""
+					+ "select "
+					+ "hcd.dia, "
+					+ "s.des_loc, "
+					+ "if(hcd.hor_ini < '14:30',1,2) turno, "
+					+ "GROUP_CONCAT(CONCAT(g.abrGrado,'-',a.nombre)) aulas "
+					+ "from horario_curso_docente hcd "
+					+ "inner join aula a on a.codaula = hcd.codAula "
+					+ "inner join seccion se on se.codseccion = a.codseccion "
+					+ "inner join grado g on g.codgrado = a.codgrado "
+					+ "inner join sede s on s.cod_loc = a.codlocal "
+					+ "where hcd.est_hcd = 1 "
+					+ "and hcd.cod_per = ? "
+					+ "and hcd.cod_doc = ? "
+					//					+ "and hcd.dia in (?) "
+					+ "group by "
+					+ "hcd.cod_doc, "
+					+ "hcd.dia, "
+					+ "s.des_loc, "
+					+ "turno "
+					+ "order by "
+					+ "hcd.dia, "
+					+ "turno";
+				pst = cn.prepareStatement(sql);
+
+				pst.setString(1, json.getString("codigoPeriodo2"));
+				pst.setInt(2, docente.getInt("codDocente"));
+//				pst.setString(3, String.join(",", arrayDias));
+
+				rs = pst.executeQuery();
+				JSONArray arrayAulas = new JSONArray();
+
+				while (rs.next()) {
+					JSONObject jObj = new JSONObject();
+					jObj.put("dia", Objects.toString(rs.getString("dia"),""));
+					jObj.put("sede", rs.getString("des_loc"));
+					jObj.put("turno", rs.getString("turno"));
+					jObj.put("aulas", rs.getString("aulas"));
+
+					arrayAulas.put(jObj);
+				}
+				docente.put("arrayAulas", arrayAulas);
+			}
+
+			jReturn
+				.put("data", arrayDocente)
+				.put("status", true);
+
+		} catch (Exception e) {
+			jReturn
+				.put("status", false)
+				.put("message", e.getMessage());
+		} finally {
+			try {
+				if (cn != null) {
+					cn.close();
+				}
+				if (pst != null) {
+					pst.close();
+				}
+			} catch (SQLException ex) {
+				Logger.getLogger(MySqlHorarioDAO.class.getName()).log(Level.SEVERE, null, ex);
+			}
+		}
+		return jReturn;
+	}
+
 }
diff --git a/src/java/pe/siso/horario/Services/AulaServices.java b/src/java/pe/siso/horario/Services/AulaServices.java
index 8fea891..13a1ac8 100644
--- a/src/java/pe/siso/horario/Services/AulaServices.java
+++ b/src/java/pe/siso/horario/Services/AulaServices.java
@@ -421,10 +421,10 @@ public class AulaServices {
         return lista;
     }
     
-    public ArrayList<Aula> listarDatosHorairo2do(String periodo){
+    public ArrayList<Aula> listarDatosHorairo2do(String periodo,String parte){
         ArrayList<Aula> lista=null;
         try {
-            lista=objAulaDAO.listarDatosHorairo2do(periodo);
+            lista=objAulaDAO.listarDatosHorairo2do(periodo,parte);
         } catch (Exception e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
diff --git a/src/java/pe/siso/horario/Services/DocenteServices.java b/src/java/pe/siso/horario/Services/DocenteServices.java
index 568c3d8..fd17453 100644
--- a/src/java/pe/siso/horario/Services/DocenteServices.java
+++ b/src/java/pe/siso/horario/Services/DocenteServices.java
@@ -31,6 +31,16 @@ public class DocenteServices {
         }
         return lista;
     }
+    public ArrayList<HorarioCF> listarRegistrosNuevosYEliminados(String fechaDesde, String fechaHasta){
+        ArrayList<HorarioCF> lista = null;
+        try {
+            lista = objDocenteDAO.listarRegistrosNuevosYEliminados(fechaDesde, fechaHasta);
+        } catch (Exception e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        return lista;
+    }
     
     public ArrayList<Horario> listarCambiosDia(String fechaDesde, String fechaHasta){
         ArrayList<Horario> lista = null;
diff --git a/src/java/pe/siso/horario/Services/HorarioServices.java b/src/java/pe/siso/horario/Services/HorarioServices.java
index 8851287..8baa18f 100644
--- a/src/java/pe/siso/horario/Services/HorarioServices.java
+++ b/src/java/pe/siso/horario/Services/HorarioServices.java
@@ -660,6 +660,24 @@ public class HorarioServices {
 		}
 		return jReturn;
 	}
+	public JSONObject listarVistaDobleDisponibilidad2(JSONObject json) {
+		JSONObject jReturn = null;
+		try {
+			jReturn = objHorarioDAO.listarVistaDobleDisponibilidad2(json);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return jReturn;
+	}
+	public JSONObject listarVistaDobleDisponibilidadSinZona(JSONObject json) {
+		JSONObject jReturn = null;
+		try {
+			jReturn = objHorarioDAO.listarVistaDobleDisponibilidadSinZona(json);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return jReturn;
+	}
 	
 	public JSONObject listarVistaHorarioDisponibilidad(JSONObject json){
 		JSONObject jReturn = null;
@@ -712,6 +730,17 @@ public class HorarioServices {
 		}
 		 return horario;
 	}
+	public Horario verDocenteCelular(String codigoDocente ){
+		Horario horario = new Horario();
+	   try {
+			 horario=objHorarioDAO.verDocenteCelular(codigoDocente);
+			 
+			
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		 return horario;
+	}
 	
 	public int updateCambioCurso(String codigoAula,String periodo,String dia,String posBloque,String nombreCursoNuevo){
 	  int retorno=0;
diff --git a/src/java/pe/siso/horario/Servlets/ServletArea.java b/src/java/pe/siso/horario/Servlets/ServletArea.java
index 13f621d..04245eb 100644
--- a/src/java/pe/siso/horario/Servlets/ServletArea.java
+++ b/src/java/pe/siso/horario/Servlets/ServletArea.java
@@ -284,6 +284,8 @@ public class ServletArea extends HttpServlet {
             pw.println("<option value='2'>COMUNICACIÓN</option>");
             pw.println("<option value='3'>CIENCIAS SOCIALES</option>");
             pw.println("<option value='4'>C.T.A.</option>");
+            pw.println("<option value='5'>C.E.F.</option>");
+						
 
             pw.println("                                                        </select>     "
                     + "                                                            </span>  "
diff --git a/src/java/pe/siso/horario/Servlets/ServletAula.java b/src/java/pe/siso/horario/Servlets/ServletAula.java
index 06d295c..088afb9 100644
--- a/src/java/pe/siso/horario/Servlets/ServletAula.java
+++ b/src/java/pe/siso/horario/Servlets/ServletAula.java
@@ -2178,7 +2178,7 @@ public class ServletAula extends HttpServlet {
 			+ "                                           </button>"
 			+ "                         <button id='btnExportarTodo' class=\"btn btn-sm btn-warning\" onclick=\"exportarTodo();\" type=\"button\">\n"
 			+ "                                               <i class=\"ace-icon fa fa-file-excel-o icon-on-right bigger-110\"></i>\n"
-			+ "                                               Exportar todo\n"
+			+ "                                               Exportar todas las sedes\n"
 			+ "                                           </button>"
 			+ "                     </td>"
 			+ "                     <td width=\"10\"></td>"
diff --git a/src/java/pe/siso/horario/Servlets/ServletBloque.java b/src/java/pe/siso/horario/Servlets/ServletBloque.java
index 072d4b5..4c1224f 100644
--- a/src/java/pe/siso/horario/Servlets/ServletBloque.java
+++ b/src/java/pe/siso/horario/Servlets/ServletBloque.java
@@ -871,9 +871,63 @@ public class ServletBloque extends HttpServlet {
             }
            
         }
-        
-        
-        pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n" +
+				
+				if(codigo.equals("56") ){
+					        pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n" +
+"                       <div class=\"table-header\">\n HORARIO "+nombreGru+" " +
+"                       </div>\n" +
+"                       <div>\n" +
+"                           <div class=\"dataTables_wrapper form-inline no-footer\" id=\"sample-table-2_wrapper\">\n" +
+
+"                               <table class=\"table table-striped table-bordered table-hover dataTable no-footer\" id=\"sample-table-2\" role=\"grid\" aria-describedby=\"sample-table-2_info\" >\n" +
+"                                   <thead>\n" +
+"                                       <tr role=\"row\">\n" +
+"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\" >LUNES</th>\n" +
+"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">MARTES</th>\n" +
+"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">MIÉRCOLES</th>\n" +
+"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">JUEVES</th>\n" +
+"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">VIERNES</th>\n" +
+//"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">SÁBADO</th>\n" +
+"                                       </tr>\n" +
+"                                   </thead>\n" +
+"                                   <tbody>");
+									
+									        String HorIni="";
+        String HorFin="";
+        int contenido = 0;
+        for(int t=1; t<=x;t++){
+            pw.println("<tr>");
+            for(int i=1; i<=5;i++){
+                for(int j=0; j<array1.length;j++){
+                    String[] array2 = array1[j].split("#");
+                    if(array2[2].equals(""+i)){
+                        if(Integer.parseInt(array2[0])>=t){
+                            String[] horas  = array2[3].split("¡");
+                            int h = t-1;
+                            String[] hora   = horas[h].split("-");
+                            HorIni=hora[0];
+                            HorFin=hora[1];
+                            contenido=1;
+                        } 
+                    } 
+                }
+                
+                if(contenido==1){
+                    pw.println("<td align='center' style=' vertical-align:middle;'>"+HorIni+"<br>"+HorFin+"</td>");
+                }else{
+                    pw.println("<td align='center' style='color:red; background-color:#F5A9A9; vertical-align:middle;'>SIN HORARIO</td>");
+                }
+                    
+                contenido=0;     
+
+            }
+            pw.println("</tr>");
+        }
+					
+					
+				}else{
+					
+					    pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n" +
 "                       <div class=\"table-header\">\n HORARIO "+nombreGru+" " +
 "                       </div>\n" +
 "                       <div>\n" +
@@ -891,11 +945,8 @@ public class ServletBloque extends HttpServlet {
 "                                       </tr>\n" +
 "                                   </thead>\n" +
 "                                   <tbody>");
-        
-        
-        
-      
-        String HorIni="";
+									
+									        String HorIni="";
         String HorFin="";
         int contenido = 0;
         for(int t=1; t<=x;t++){
@@ -926,6 +977,18 @@ public class ServletBloque extends HttpServlet {
             }
             pw.println("</tr>");
         }
+				
+				
+				
+				}
+        
+        
+
+        
+        
+        
+      
+
         
         
             
diff --git a/src/java/pe/siso/horario/Servlets/ServletHorario.java b/src/java/pe/siso/horario/Servlets/ServletHorario.java
index 11b9b33..f7080e1 100644
--- a/src/java/pe/siso/horario/Servlets/ServletHorario.java
+++ b/src/java/pe/siso/horario/Servlets/ServletHorario.java
@@ -168,6 +168,10 @@ public class ServletHorario extends HttpServlet {
 			verHorarioDocenteDni2(request,response);
 		}else if("registrarConformidad".equals(param)){
 			registrarConformidad(request,response);
+		}else if("listarVistaDobleDisponibilidad2".equals(param)){
+			listarVistaDobleDisponibilidad2(request,response);
+		}else if("listarVistaDobleDisponibilidadSinZona".equals(param)){
+			listarVistaDobleDisponibilidadSinZona(request,response);
 		}
 	}
 
@@ -2567,8 +2571,61 @@ public class ServletHorario extends HttpServlet {
 			}
 
 		}
+		
+		if(codigo.equals("56")){
+			
+					pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n"
+			+ "                       <div class=\"table-header\">\n HORARIO " + nombreGru + " "
+			+ "                       </div>\n"
+			+ "                       <div>\n"
+			+ "                           <div class=\"dataTables_wrapper form-inline no-footer\" id=\"sample-table-2_wrapper\">\n"
+			+ "                               <table class=\"table table-striped table-bordered table-hover dataTable no-footer\" id=\"sample-table-2\" role=\"grid\" aria-describedby=\"sample-table-2_info\" >\n"
+			+ "                                   <thead>\n"
+			+ "                                       <tr role=\"row\">\n"
+			+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\" >LUNES</th>\n"
+			+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">MARTES</th>\n"
+			+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">MIÉRCOLES</th>\n"
+			+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">JUEVES</th>\n"
+			+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">VIERNES</th>\n"
+//			+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">SÁBADO</th>\n"
+			+ "                                       </tr>\n"
+			+ "                                   </thead>\n"
+			+ "                                   <tbody>");
 
-		pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n"
+		String HorIni = "";
+		String HorFin = "";
+		int contenido = 0;
+		for (int t = 1; t <= x; t++) {
+			pw.println("<tr>");
+			for (int i = 1; i <= 5; i++) {
+				for (int j = 0; j < array1.length; j++) {
+					String[] array2 = array1[j].split("#");
+					if (array2[2].equals("" + i)) {
+						if (Integer.parseInt(array2[0]) >= t) {
+							String[] horas = array2[3].split("¡");
+							int h = t - 1;
+							String[] hora = horas[h].split("-");
+							HorIni = hora[0];
+							HorFin = hora[1];
+							contenido = 1;
+						}
+					}
+				}
+
+				if (contenido == 1) {
+					pw.println("<td align='center' style=' vertical-align:middle;'>" + HorIni + "<br>" + HorFin + "</td>");
+				} else {
+					pw.println("<td align='center' style='color:red; background-color:#F5A9A9; vertical-align:middle;'>SIN HORARIO</td>");
+				}
+
+				contenido = 0;
+
+			}
+			pw.println("</tr>");
+		}
+			
+		}else{
+		  		pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n"
 			+ "                       <div class=\"table-header\">\n HORARIO " + nombreGru + " "
 			+ "                       </div>\n"
 			+ "                       <div>\n"
@@ -2617,6 +2674,10 @@ public class ServletHorario extends HttpServlet {
 			}
 			pw.println("</tr>");
 		}
+		
+		}
+
+
 
 		pw.println("</table><br>"
 			+ "<br>"
@@ -2662,6 +2723,11 @@ public class ServletHorario extends HttpServlet {
 		String cadenaAulasGrabada = request.getParameter("cadenaAulas");
 		String datoTD = "";
 		String[] aulas = codAulas.split("#");
+		int codigonuevo=6;
+		if(codigo.equals("56")){
+		  codigonuevo=5;
+		}
+		
 
 		//REGISTRAR GRUPO AULAS
 		String cadenaAulas = "";
@@ -2720,7 +2786,42 @@ public class ServletHorario extends HttpServlet {
 		for (int i = 0; i < cantidad; i++) {
 			String nomAula = servicios.consultarAula(aulas[i]);
 
-			pw.println("<input type='hidden' id='cadenaAulasHorario' value='" + cadenaAulas + "'><div style=\"border: 1px solid #CCCCCC;\">\n"
+			if(codigonuevo == 5){
+					pw.println("<input type='hidden' id='cadenaAulasHorario' value='" + cadenaAulas + "'><div style=\"border: 1px solid #CCCCCC;\">\n"
+				+ "                       <div class=\"table-header\">\n"
+				+ "                           <table width='100%'>"
+				+ "                               <tr>"
+				+ "                                   <td><span class='badge badge-warning'>" + contGenral + "</span> &nbsp;&nbsp;" + nomAula + "</td>"
+				+ "                                   <td align='right' >"
+				+ "                                   <!--<span class='badge badge-warning'> "
+				+ "                                       <div class=\"pull-right action-buttons\">\n"
+				+ "                                           <a class=\"red\" href=\"#\">\n"
+				+ "                                               <i class=\"ace-icon fa fa-trash-o bigger-150\"></i>\n"
+				+ "                                           </a>\n"
+				+ "                                       </div>"
+				+ "                                   </span>-->"
+				+ "                                       <i class='ace-icon fa fa-calendar icon-on-right bigger-110'></i> </td>"
+				+ "                                   </td>"
+				+ "                                   <td width='10' ></td>"
+				+ "                               </tr>"
+				+ "                           </table>"
+				+ "                       </div>\n"
+				+ "                       <div>\n"
+				+ "                           <div class=\"dataTables_wrapper form-inline no-footer\" id=\"sample-table-2_wrapper\">\n"
+				+ "                               <table class=\"table table-striped table-bordered table-hover dataTable no-footer\" id=\"sample-table-2\" role=\"grid\" aria-describedby=\"sample-table-2_info\" >\n"
+				+ "                                   <thead>\n"
+				+ "                                       <tr role=\"row\">\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >LUNES</th>\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >MARTES</th>\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >MIÉRCOLES</th>\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >JUEVES</th>\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >VIERNES</th>\n"
+//				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >SÁBADO</th>\n"
+				+ "                                       </tr>\n"
+				+ "                                   </thead>\n"
+				+ "                                   <tbody>");
+			}else{
+			  	pw.println("<input type='hidden' id='cadenaAulasHorario' value='" + cadenaAulas + "'><div style=\"border: 1px solid #CCCCCC;\">\n"
 				+ "                       <div class=\"table-header\">\n"
 				+ "                           <table width='100%'>"
 				+ "                               <tr>"
@@ -2753,6 +2854,11 @@ public class ServletHorario extends HttpServlet {
 				+ "                                       </tr>\n"
 				+ "                                   </thead>\n"
 				+ "                                   <tbody>");
+			}
+		
+			
+			
+			
 			String codPeriodo2 = "" + codPeriodo;
 
 			String HorIni = "";
@@ -2775,7 +2881,7 @@ public class ServletHorario extends HttpServlet {
 			for (int t = 1; t <= x; t++) {
 				pw.println("<tr>");
 				String bloqueGrupoDia = "";
-				for (int f = 1; f <= 6; f++) {
+				for (int f = 1; f <= codigonuevo; f++) {
 					for (int j = 0; j < array1.length; j++) {
 						String[] array2 = array1[j].split("#");
 
@@ -2823,28 +2929,35 @@ public class ServletHorario extends HttpServlet {
 
 						Horario DatosHorario = new Horario();
 						Horario obj = new Horario();
+						Horario obj2 = new Horario();
 						String examen = "";
+						String valor="";
+						String codigoDocente="";
 						String nota_encuesta = "";
 						DatosHorario = serviciosHor.consultarDatosHorarioAulaPorPosicionDiaria(aulas[i], codPeriodo2, dia, posicion);
 						
 						
+					  if(DatosHorario.getCelularDocente() == null){
+							  DatosHorario.setCelularDocente("No registrado");
+						}
+						
 						if(DatosHorario.getCodigoPlana() == null){
 							//System.out.println("No hay plana");
 								obj.setExamen(" No evaluado ");
-								obj.setCelularDocente(" No registrado ");
+								
 						}else{
 					    int codigoACambiar=Integer.parseInt(codPeriodo2);
 							int resta = codigoACambiar - 1;
 							String codigoCambiado=String.valueOf(resta);
 							
-						  obj = serviciosHor.verDocenteExamenEncuesta(DatosHorario.getH_codigoDocente(), DatosHorario.getCodigoPlana());
+						  
+							obj = serviciosHor.verDocenteExamenEncuesta(DatosHorario.getH_codigoDocente(), DatosHorario.getCodigoPlana());
+ 
 							if(obj.getExamen() == null){
 								obj.setExamen(" No evaluado ");
 								
 							}
-							if(obj.getCelularDocente() == null){
-								obj.setCelularDocente("No registrado");
-							}
+							
              
 
 						}
@@ -2942,7 +3055,7 @@ public class ServletHorario extends HttpServlet {
 						} else {
 
 				
-							pw.println("<td align='center' style='width:12%; vertical-align:middle;  >"
+							pw.println("<td align='center' style='width:12%; vertical-align:middle;>"
 								+ "     <label >"
 								+ "         <div id='curso_" + contGenral + "_" + diaPos + "_" + diaGen + "'> "
 								+ "<div class=\"inline pull-center position-relative dropdown-hover\">\n"
@@ -3007,7 +3120,7 @@ public class ServletHorario extends HttpServlet {
 								+ "                                                   </div><br>"
 								+ "             <b>" + DatosHorario.getH_nombreCurso() + "</b> "
 								+ "             <br>" + DatosHorario.getH_apellidosDocente() + ", " + DatosHorario.getH_nombreDocente()+ " "
-								+ "             <br> Prom.ENC :" + obj.getExamen() + " <br> Cel : " + obj.getCelularDocente()+ " "
+								+ "             <br> Prom.ENC :" + obj.getExamen() + " <br> Cel : " + DatosHorario.getCelularDocente()+ " "
 							  + "             <span ><a id='verCambioDia' href='javascript:historyChangeDay("+diaGen+","+DatosHorario.getH_codigoDocente()+");' title='Ver Historial Cambio Dia' style='margin-left:40px;'><i class=\"ace-icon fa fa-eye icon-on-right bigger-110\"></i></a></span>"
 								+ "         </div>"
 								+ "     </label>"
@@ -3776,6 +3889,10 @@ public class ServletHorario extends HttpServlet {
 		int cantidad = Integer.parseInt(request.getParameter("cantidad"));
 		String codAulas = request.getParameter("codAulas");
 		String codigo = request.getParameter("codigo"); // codigo grupo 
+		int codigonuevo=6;
+		if(codigo.equals("56")){
+			codigonuevo=5;
+		}
 
 		Horario horarioCadenaGrupo = new Horario();
 		horarioCadenaGrupo = serviciosHor.consultarCadenaGH(codigo);
@@ -3832,8 +3949,42 @@ public class ServletHorario extends HttpServlet {
 
 		for (int i = 0; i < cantidad; i++) {
 			String nomAula = servicios.consultarAula(aulas[i]);
-
-			pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n"
+       if(codigonuevo == 5){
+				 			pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n"
+				+ "                       <div class=\"table-header\">\n"
+				+ "                           <table width='100%'>"
+				+ "                               <tr>"
+				+ "                                   <td><span class='badge badge-warning'>" + contGenral + "</span> &nbsp;&nbsp;" + nomAula + "</td>"
+				+ "                                   <td align='right' >"
+				+ "                                   <!--<span class='badge badge-warning'> "
+				+ "                                       <div class=\"pull-right action-buttons\">\n"
+				+ "                                           <a class=\"red\" href=\"#\">\n"
+				+ "                                               <i class=\"ace-icon fa fa-trash-o bigger-150\"></i>\n"
+				+ "                                           </a>\n"
+				+ "                                       </div>"
+				+ "                                   </span>-->"
+				+ "                                       <i class='ace-icon fa fa-calendar icon-on-right bigger-110'></i> </td>"
+				+ "                                   </td>"
+				+ "                                   <td width='10' ></td>"
+				+ "                               </tr>"
+				+ "                           </table>"
+				+ "                       </div>\n"
+				+ "                       <div>\n"
+				+ "                           <div class=\"dataTables_wrapper form-inline no-footer\" id=\"sample-table-2_wrapper\">\n"
+				+ "                               <table class=\"table table-striped table-bordered table-hover dataTable no-footer\" id=\"sample-table-2\" role=\"grid\" aria-describedby=\"sample-table-2_info\" >\n"
+				+ "                                   <thead>\n"
+				+ "                                       <tr role=\"row\">\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >LUNES</th>\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >MARTES</th>\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >MIÉRCOLES</th>\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >JUEVES</th>\n"
+				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >VIERNES</th>\n"
+//				+ "                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"2\" width='16%' >SÁBADO</th>\n"
+				+ "                                       </tr>\n"
+				+ "                                   </thead>\n"
+				+ "                                   <tbody>");
+			 }else{
+			   			pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n"
 				+ "                       <div class=\"table-header\">\n"
 				+ "                           <table width='100%'>"
 				+ "                               <tr>"
@@ -3866,6 +4017,12 @@ public class ServletHorario extends HttpServlet {
 				+ "                                       </tr>\n"
 				+ "                                   </thead>\n"
 				+ "                                   <tbody>");
+			 }
+
+			
+			
+			
+			
 			String codPeriodo2 = "" + codPeriodo;
 
 			String HorIni = "";
@@ -3888,7 +4045,7 @@ public class ServletHorario extends HttpServlet {
 			for (int t = 1; t <= x; t++) {
 				pw.println("<tr>");
 				String bloqueGrupoDia = "";
-				for (int f = 1; f <= 6; f++) {
+				for (int f = 1; f <= codigonuevo; f++) {
 					for (int j = 0; j < array1.length; j++) {
 						String[] array2 = array1[j].split("#");
 
@@ -4109,7 +4266,7 @@ public class ServletHorario extends HttpServlet {
 				+ "     <th colspan='5' style='background-color:#307ECC; color:white;'> "
 				+ "         <div class=\"pull-right action-buttons\">\n"
 				+ "             <a class=\"white\" href=\"javascript:editarGrupo('" + cantidad + "','" + cadenaAula2 + "','" + codigoGrupo + "')\">\n"
-				+ "                 <i class=\"ace-icon fa fa-cogs  bigger-100\"> Edición en grupo</i>\n"
+				+ "                 <i class=\"ace-icon fa fa-cogs  bigger-100\"> Agrupacion</i>\n"
 				+ "             </a>\n"
 				+ "         </div>"
 				+ "     </th>"
@@ -5122,6 +5279,23 @@ public class ServletHorario extends HttpServlet {
 		
 	}
 
+	private void listarVistaDobleDisponibilidad2(HttpServletRequest request, HttpServletResponse response) throws IOException {
+		response.setContentType("application/json");
+		PrintWriter pw = response.getWriter();
+		JSONObject json = new JSONObject(request.getParameter("json"));
+		HorarioServices service = new HorarioServices();
+		JSONObject jReponse = service.listarVistaDobleDisponibilidad2(json);
+		pw.print(jReponse);
+	}
+	private void listarVistaDobleDisponibilidadSinZona(HttpServletRequest request, HttpServletResponse response) throws IOException {
+		response.setContentType("application/json");
+		PrintWriter pw = response.getWriter();
+		JSONObject json = new JSONObject(request.getParameter("json"));
+		HorarioServices service = new HorarioServices();
+		JSONObject jReponse = service.listarVistaDobleDisponibilidadSinZona(json);
+		pw.print(jReponse);
+	}
+
 	
 
 }
diff --git a/src/java/pe/siso/horario/Servlets/ServletRedirect.java b/src/java/pe/siso/horario/Servlets/ServletRedirect.java
new file mode 100644
index 0000000..5f85234
--- /dev/null
+++ b/src/java/pe/siso/horario/Servlets/ServletRedirect.java
@@ -0,0 +1,76 @@
+
+package pe.siso.horario.Servlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import pe.siso.horario.Beans.Usuario;
+
+/**
+ *
+ * @author sistem20user
+ */
+@WebServlet(name = "ServletRedirect", urlPatterns = {"/ServletRedirect"})
+public class ServletRedirect extends HttpServlet {
+
+	
+	protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+		throws ServletException, IOException {
+	String dni=request.getParameter("dni");
+	String prueba="20017475";
+	HttpSession session_actual = request.getSession(true);
+	Usuario usuario = (Usuario) session_actual.getAttribute("usuario");
+	
+		 response.sendRedirect("/horario/vista/vistaConformidad.jsp?dni="+prueba);
+	
+	
+//	
+//	request.getRequestDispatcher("/vista/vistaConformidad.jsp").forward(request, response);
+ 
+	}
+
+	// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
+	/**
+	 * Handles the HTTP <code>GET</code> method.
+	 *
+	 * @param request servlet request
+	 * @param response servlet response
+	 * @throws ServletException if a servlet-specific error occurs
+	 * @throws IOException if an I/O error occurs
+	 */
+	@Override
+	protected void doGet(HttpServletRequest request, HttpServletResponse response)
+		throws ServletException, IOException {
+		processRequest(request, response);
+	}
+
+	/**
+	 * Handles the HTTP <code>POST</code> method.
+	 *
+	 * @param request servlet request
+	 * @param response servlet response
+	 * @throws ServletException if a servlet-specific error occurs
+	 * @throws IOException if an I/O error occurs
+	 */
+	@Override
+	protected void doPost(HttpServletRequest request, HttpServletResponse response)
+		throws ServletException, IOException {
+		processRequest(request, response);
+	}
+
+	/**
+	 * Returns a short description of the servlet.
+	 *
+	 * @return a String containing servlet description
+	 */
+	@Override
+	public String getServletInfo() {
+		return "Short description";
+	}// </editor-fold>
+
+}
diff --git a/src/java/pe/siso/horario/Servlets/ServletUsuario.java b/src/java/pe/siso/horario/Servlets/ServletUsuario.java
index d8e45a2..5c5fc4b 100644
--- a/src/java/pe/siso/horario/Servlets/ServletUsuario.java
+++ b/src/java/pe/siso/horario/Servlets/ServletUsuario.java
@@ -464,7 +464,8 @@ public class ServletUsuario extends HttpServlet {
 					
 				}else{
 					 pw.println("<option value=''>[Seleccione]</option>");
-					 pw.println("<option value='todo'>TODAS</option>");
+					 pw.println("<option value='todo' style='font-weight: bold;font-style: italic;'>TODAS LAS SEDES PART.1</option>");
+					 pw.println("<option value='todo2' style='font-weight: bold;font-style: italic;'>TODAS LAS SEDES PART.2</option>");
 					 for (int i = 0; i < lista.size(); i++) {
 						 
 					  pw.println("<option value='" + lista.get(i).getCodigoSede() + "'>" + lista.get(i).getNombreSede() + "</option>");
diff --git a/web/vista/cambioReemplazoDocente.jsp b/web/vista/cambioReemplazoDocente.jsp
index caa1f47..c852574 100644
--- a/web/vista/cambioReemplazoDocente.jsp
+++ b/web/vista/cambioReemplazoDocente.jsp
@@ -17,11 +17,13 @@
         <link rel="stylesheet" href="../assets/css/font-awesome.css" />
         <link rel="stylesheet" href="../assets/css/jquery-ui.css" />
         <link rel="stylesheet" href="../assets/css/ace-fonts.css" />
-						<link href="../assets/css/datepicker.css" rel="stylesheet" type="text/css"/>
-		<link href="../assets/css/daterangepicker.css" rel="stylesheet" type="text/css"/>
-		<link href="../assets/css/bootstrap-datetimepicker.css" rel="stylesheet" type="text/css"/>
+				
+	      <link href="../assets/css/datepicker.css" rel="stylesheet" type="text/css"/>
+		    <link href="../assets/css/daterangepicker.css" rel="stylesheet" type="text/css"/>
+		    <link href="../assets/css/bootstrap-datetimepicker.css" rel="stylesheet" type="text/css"/>
         <link rel="stylesheet" href="../assets/css/ace.css" class="ace-main-stylesheet" id="main-ace-style" />
         <script src="../assets/js/ace-extra.js"></script>
+				
 
 
 
@@ -157,7 +159,9 @@
                                                                     <select id="txt_tipo_reporte" class='form-control validate[required]'>
                                                                         <option value="1">Cambio fijo</option>
                                                                         <option value="2">Reemplazo por dia</option>
+                                                                        <option value="4">Registro y Eliminacion</option>
                                                                         <option value="3">Baja</option>
+																																				
                                                                     </select>
                                                                 </div>                      
                                                             </div>
@@ -650,6 +654,9 @@ window.jQuery || document.write("<script src='../assets/js/jquery1x.js'>"+"<"+"/
                         case '3':
                             href = 'exportar_bajas'
                             break;
+													case '4':
+													href='exportar_registro_eliminacion'
+													break;
                         default:
                     }
                     location.href = href + ".jsp?fechaDesde=" + fechaDesde + "&fechaHasta=" + fechaHasta
@@ -897,10 +904,12 @@ window.jQuery || document.write("<script src='../assets/js/jquery1x.js'>"+"<"+"/
         <script src="../docs/assets/js/language/html.js"></script>
         <script src="../docs/assets/js/language/css.js"></script>
         <script src="../docs/assets/js/language/javascript.js"></script>
-						<script src="../assets/js/date-time/bootstrap-datepicker.js" type="text/javascript"></script>
-		<script src="../assets/js/date-time/bootstrap-datetimepicker.js" type="text/javascript"></script>
-		<script src="../assets/js/date-time/bootstrap-timepicker.js" type="text/javascript"></script>
-		<script src="../assets/js/date-time/daterangepicker.js" type="text/javascript"></script>
+				
+				
+			  <script src="../assets/js/date-time/bootstrap-datepicker.js" type="text/javascript"></script>
+		    <script src="../assets/js/date-time/bootstrap-datetimepicker.js" type="text/javascript"></script>
+		    <script src="../assets/js/date-time/bootstrap-timepicker.js" type="text/javascript"></script>
+		    <script src="../assets/js/date-time/daterangepicker.js" type="text/javascript"></script>
 
 
 
diff --git a/web/vista/crearUsuarios.jsp b/web/vista/crearUsuarios.jsp
index 2328202..726a36f 100644
--- a/web/vista/crearUsuarios.jsp
+++ b/web/vista/crearUsuarios.jsp
@@ -1,79 +1,197 @@
-<%-- 
-    Document   : crearUsuarios
-    Created on : 15-feb-2019, 16:55:08
-    Author     : sistem20user
---%>
-
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
+<%@ include file="validar.jsp" %>
 <!DOCTYPE html>
-<html>
+<html lang="es">
 	<head>
-		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-		<title>JSP Page</title>
-		
-			<link rel="stylesheet" href="../assets/css/bootstrap.css" />
+		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+		<meta charset="utf-8" />
+		<title>:::SISTEMA DE HORARIOS:::</title>
+
+		<meta name="description" content="overview &amp; stats" />
+		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
+
+
+
+		<link rel="stylesheet" href="../assets/css/bootstrap.css" />
 		<link rel="stylesheet" href="../assets/css/font-awesome.css" />
-                <link rel="stylesheet" href="../assets/css/jquery-ui.css" />
+		<link rel="stylesheet" href="../assets/css/jquery-ui.css" />
 		<link rel="stylesheet" href="../assets/css/ace-fonts.css" />
 		<link rel="stylesheet" href="../assets/css/ace.css" class="ace-main-stylesheet" id="main-ace-style" />
 		<script src="../assets/js/ace-extra.js"></script>
-		
+
+
+
+		<!-- inline scripts related to this page -->
+
 	</head>
-	<body onload='abrirModal();'>
-		
-		<div id="dialog-registro" class="hide">
-			<form autocomplete="off">
-			<table  width='100%' border='0'>
-			<tr>
-			  	<td>Nombre: </td>
-					<td><input type="text" name="txtusuario" id="txtUsuario" autocomplete="off" required=""/> </td> <td>Apellido Paterno : <input type="text" name="txtusuario" id="txtApellido" required="" autocomplete="off" onblur="crearUser();" /></td>
-		  </tr>
-				
-				
-			<tr>
-							<td>Clave: </td>
-							<td><input type="text" name="txtclave" id="txtClave" required=""  autocomplete="off" /></td>
-			</tr>
-			
-			
-			<tr>
-				
-				
-				<td>Usuario :</td>
-				<td>
-					<input type="text" name="txtclave" id="txtUser" required="" disabled/>
-				</td>
-				
-			</tr>
-			<tr>
-						<td>Año</td>
-						<td>
-							<select id="cmbAnio">
-								<option value="2019">2019</option>
-							</select>
-						</td>
-			</tr>
-			<tr>
-						<td>Sede :</td>
-						<td>
-							<div id="divLocales">
-								<select class="chosen-select form-control validate[required]" id="cmbSede" required="" >
-									<option value="">[Seleccione]</option>
-								</select>
-							</div>
-						</td>
-
-			</tr>
-<!--			<tr>
-				<td><input type="button" value='Crear Usuario' onclick="registroUsuario();"/></td>
-			</tr>-->
-				
-			</table>
-	
-		</form>
+
+	<body class="no-skin" onLoad="cargar();cargarSede();">
+		<!-- #section:basics/navbar.layout -->
+		<div id="navbar" class="navbar navbar-default">
+			<script type="text/javascript">
+				try {
+					ace.settings.check('navbar', 'fixed')
+				} catch (e) {
+				}
+			</script>
+
+			<div class="navbar-container" id="navbar-container">
+				<%@ include file="banner.jsp" %>
+			</div><!-- /.navbar-container -->
+			<p id="lblUsuario" style="display: none;"><%=usuario!=null?usuario.getCodigoTipoUsuario():""%></p>
+
+
 		</div>
-		
-		<div id="dialog-noti1" class="hide">
+
+
+		<!-- /section:basics/navbar.layout -->
+		<div class="main-container" id="main-container">
+			<script type="text/javascript">
+				try {
+					ace.settings.check('main-container', 'fixed')
+				} catch (e) {
+				}
+			</script>
+
+			<!-- #section:basics/sidebar -->
+			<div id="sidebar" class="sidebar                  responsive">
+				<script type="text/javascript">
+					try {
+						ace.settings.check('sidebar', 'fixed')
+					} catch (e) {
+					}
+				</script>
+				<input id="codModulo" type="hidden" value="<%=menu!=null?menu.getCodModulo():""%>">
+				<input id="codCategoria" type="hidden" value="<%=menu!=null?menu.getCodCategoria():""%>">
+				<%@ include file="menu.jsp" %>
+				<!-- #section:basics/sidebar.layout.minimize -->
+				<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
+					<i class="ace-icon fa fa-angle-double-left" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
+				</div>
+				<!-- /section:basics/sidebar.layout.minimize -->
+				<script type="text/javascript">
+					try {
+						ace.settings.check('sidebar', 'collapsed')} catch (e) {
+					}
+				</script>
+			</div>
+
+			<!-- /section:basics/sidebar -->
+			<div class="main-content">
+				<div class="main-content-inner">
+					<!-- #section:basics/content.breadcrumbs -->
+					<div class="breadcrumbs" id="breadcrumbs">
+						<script type="text/javascript">
+							try {
+								ace.settings.check('breadcrumbs', 'fixed')} catch (e) {
+							}
+						</script>
+
+						<ul class="breadcrumb">
+							<li>
+								<i class="ace-icon fa fa-home home-icon"></i>
+								<a href="principal.jsp">INICIO</a>
+							</li>
+							<li class="active">USUARIOS</li>
+						</ul><!-- /.breadcrumb -->
+					</div>
+
+					<!-- /section:basics/content.breadcrumbs -->
+					<div class="page-content">
+
+						<div class="page-header">
+							<h1>
+								REGISTRO
+								<small>
+									<i class="ace-icon fa fa-angle-double-right"></i>
+									usuario observador
+								</small>
+							</h1>
+						</div><!-- /.page-header -->
+
+						<div class="row">
+
+
+
+
+
+							<!-- ----------- CONTENEDOR DE FORMULARIOS--------INI----- -->
+
+							<div class="col-sm-12" style="width:100%;">
+
+								<div  class="col-sm-4"></div>
+								<div  class="col-sm-4">
+									<div class="widget-box widget-color-blue">
+										<div class="widget-header">
+											<h4 class="widget-title">Registrar Usuario Observador</h4>
+										</div>
+
+										<div class="widget-body">
+											<div class="widget-main no-padding">
+												<form id="registroEncuesta"  method="post">
+													<fieldset>
+														<div class="row">
+															<div class="col-sm-6 form-group">
+																<label>Nombre: <span style='color:red;'>*</span></label>
+																<div>
+																	<input type="text" id="txtUsuario" size="80" class='form-control validate[required]'   autocomplete="off"  > 
+																</div>                                                            
+															</div>
+															<div class="col-sm-6 form-group">
+																<label>Apellido Paterno <span style='color:red;'>*</span></label>
+																<div>
+																	<input type="text" id="txtApellido" onblur="crearUser();"  size="80" class='form-control validate[required]]'  placeholder=""  onblur="validaFecha(this.value);" autocomplete="off" > 
+																</div>                                                            
+															</div>
+														</div>
+														<div class="row">
+															<div class="col-sm-6 form-group">
+																<label>Usuario</label>
+																<div>
+																	<input type="text" disabled id="txtUser">
+																</div>                      
+															</div>
+															<div class="col-sm-6 form-group">
+																<label>Clave <span style='color:red;'>*</span></label>
+																<div>
+																	<input type="text" id="txtClave"  size="80" class='form-control validate[required]]'  placeholder=""  onblur="validaFecha(this.value);" autocomplete="off" > 
+																</div>                                                            
+															</div>
+														</div>
+														<div class="row">
+															<div class="col-lg-12 form-group">
+																<label>Sede <span style='color:red;'>*</span></label>
+																<div id="divLocales">
+																	<select class="chosen-select form-control validate[required]" id="cmbSede" required="" >
+																		<option value="">[Seleccione]</option>
+																	</select>
+
+																</div>                      
+															</div>
+														</div>
+													</fieldset>
+													<div class="form-actions center">
+														<button  class="btn btn-sm btn-info" type="button" onclick="validar_registro();">
+															<i class="ace-icon fa fa-file-excel-o icon-on-right bigger-110"></i>
+															Registrar
+														</button>
+													</div>
+												</form>
+											</div>
+										</div>
+									</div>
+								</div>
+								<div  class="col-sm-4"></div>
+
+							</div>
+
+							<!-- ----------- CONTENEDOR DE FORMULARIOS--------FIN----- -->
+
+
+							<!-- ::::::::::-ALERTAS-::::::::::::::: -->
+
+
+							<div id="dialog-noti1" class="hide">
 			Se registro con exito al usuario.<br>
 			¿Desea seguir registrando?
 		</div>
@@ -86,23 +204,53 @@
 		 Se debe de completar todos los campos.
 		</div>
 
-		
-				<!-- the following scripts are used in demo only for onpage help and you don't need them -->
-         	<!--[if !IE]> -->
+
+
+
+							<!-- ::::::::::-ALERTAS-::::::::::::::: -->
+
+
+						</div><!-- /.row -->
+					</div><!-- /.page-content -->
+				</div>
+			</div><!-- /.main-content -->
+
+			<div class="footer">
+				<%@ include file="footer.jsp" %>
+			</div>
+
+			<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
+				<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
+			</a>
+		</div><!-- /.main-container -->
+
+		<!-- basic scripts -->
+
+		<!--[if !IE]> -->
 		<script type="text/javascript">
-			window.jQuery || document.write("<script src='../assets/js/jquery.js'>"+"<"+"/script>");
-		</script>      
+			window.jQuery || document.write("<script src='../assets/js/jquery.js'>" + "<" + "/script>");
+		</script>
+
+		<!-- <![endif]-->
+
+		<!--[if IE]>
+<script type="text/javascript">
+ window.jQuery || document.write("<script src='../assets/js/jquery1x.js'>"+"<"+"/script>");
+</script>
+<![endif]-->
 		<script type="text/javascript">
-			if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.js'>"+"<"+"/script>");
+			if ('ontouchstart' in document.documentElement)
+				document.write("<script src='../assets/js/jquery.mobile.custom.js'>" + "<" + "/script>");
 		</script>
+		<script src="../assets/js/jquery-ui.js"></script>
 		<script src="../assets/js/bootstrap.js"></script>
 
 		<!-- page specific plugin scripts -->
-   <script src="../assets/js/jquery-ui.js"></script>
+		<!--<script src="../assets/js/jquery-ui.js"></script>-->
 		<script src="../assets/js/jquery.ui.touch-punch.js"></script>
 
 		<!--[if lte IE 8]>
-		  <script src="../assets/js/excanvas.js"></script>
+			<script src="../assets/js/excanvas.js"></script>
 		<![endif]-->
 		<script src="../assets/js/jquery-ui.custom.js"></script>
 		<script src="../assets/js/jquery.ui.touch-punch.js"></script>
@@ -135,12 +283,23 @@
 		<script src="../assets/js/ace/ace.widget-on-reload.js"></script>
 		<script src="../assets/js/ace/ace.searchbox-autocomplete.js"></script>
 		<script src="../assets/js/ace/ace.searchbox-autocomplete.js"></script>
-                
-                
-                <link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css"/>
-								
+
+
+		<link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css"/>
+		<!--<link rel="stylesheet" href="css/template.css" type="text/css"/>-->
+
+
+		<!-- inline scripts related to this page -->
 		<script type="text/javascript">
-			
+
+			jQuery(function ($) {
+				let reg = $("#lblUsuario").text();
+				if (reg === "6") {
+					$("#btnRegistrar").hide();
+					$("#txtZona").prop('disabled', 'true');
+				}
+
+
 				//override dialog's title function to allow for HTML titles
 				$.widget("ui.dialog", $.extend({}, $.ui.dialog.prototype, {
 					_title: function (title) {
@@ -151,152 +310,341 @@
 							title.text($title);
 					}
 				}));
-				
-					$('.dialogs,.comments').ace_scroll({
-					size: 300
+
+
+
+				$("#id-btn-dialog2").on('click', function (e) {//--
+					e.preventDefault();
+					$("#dialog-confirm").removeClass('hide').dialog({
+						resizable: false,
+						modal: true,
+						title: "<div class='widget-header'><h4 class='smaller'><i class='ace-icon fa fa-exclamation-triangle red'></i> Empty the recycle bin?</h4></div>",
+						title_html: true,
+						buttons: [
+							{
+								html: "<i class='ace-icon fa fa-trash-o bigger-110'></i>&nbsp; Delete all items",
+								"class": "btn btn-danger btn-xs",
+								click: function () {
+									$(this).dialog("close");
+								}
+							}
+							,
+							{
+								html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; Cancel",
+								"class": "btn btn-xs",
+								click: function () {
+									$(this).dialog("close");
+								}
+							}
+						]
+					});
 				});
-				
-				function abrirModal(){
-					cargarSede();
-				$("#dialog-registro").removeClass('hide').dialog({
-					resizable: false,
-					modal: true,
-					 width: 500,
-					title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Registrar Usuario</span></h4></div></div>",
-					title_html: true,
-					
-					buttons: [
+
+				$('.easy-pie-chart.percentage').each(function () {
+					var $box = $(this).closest('.infobox');
+					var barColor = $(this).data('color') || (!$box.hasClass('infobox-dark') ? $box.css('color') : 'rgba(255,255,255,0.95)');
+					var trackColor = barColor == 'rgba(255,255,255,0.95)' ? 'rgba(255,255,255,0.25)' : '#E2E2E2';
+					var size = parseInt($(this).data('size')) || 50;
+					$(this).easyPieChart({
+						barColor: barColor,
+						trackColor: trackColor,
+						scaleColor: false,
+						lineCap: 'butt',
+						lineWidth: parseInt(size / 10),
+						animate: /msie\s*(8|7|6)/.test(navigator.userAgent.toLowerCase()) ? false : 1000,
+						size: size
+					});
+				})
+
+				$('.sparkline').each(function () {
+					var $box = $(this).closest('.infobox');
+					var barColor = !$box.hasClass('infobox-dark') ? $box.css('color') : '#FFF';
+					$(this).sparkline('html',
 						{
-							html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; Registrar",
-							"class": "btn btn-primary btn-xs",
-							click: function () {
-						
-					       let op=validar();
-							
-								if(op){
-									registroUsuario();
-								}else{
-									alerta6();
-								}		
-							}
-						}, {
-							html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; Cancelar",
-							"class": "btn btn-danger btn-xs",
-							click: function () {
-								$(this).dialog("close");
+							tagValuesAttribute: 'data-values',
+							type: 'bar',
+							barColor: barColor,
+							chartRangeMin: $(this).data('min') || 0
+						});
+				});
+
+
+				//flot chart resize plugin, somehow manipulates default browser resize event to optimize it!
+				//but sometimes it brings up errors with normal resize event handlers
+				$.resize.throttleWindow = false;
+
+				var placeholder = $('#piechart-placeholder').css({'width': '90%', 'min-height': '150px'});
+				var data = [
+					{label: "social networks", data: 38.7, color: "#68BC31"},
+					{label: "search engines", data: 24.5, color: "#2091CF"},
+					{label: "ad campaigns", data: 8.2, color: "#AF4E96"},
+					{label: "direct traffic", data: 18.6, color: "#DA5430"},
+					{label: "other", data: 10, color: "#FEE074"}
+				]
+				function drawPieChart(placeholder, data, position) {
+					$.plot(placeholder, data, {
+						series: {
+							pie: {
+								show: true,
+								tilt: 0.8,
+								highlight: {
+									opacity: 0.25
+								},
+								stroke: {
+									color: '#fff',
+									width: 2
+								},
+								startAngle: 2
 							}
+						},
+						legend: {
+							show: true,
+							position: position || "ne",
+							labelBoxBorderColor: null,
+							margin: [-30, 15]
 						}
-					]
+						,
+						grid: {
+							hoverable: true,
+							clickable: true
+						}
+					})
+				}
+				drawPieChart(placeholder, data);
+
+				/**
+				 we saved the drawing function and the data to redraw with different position later when switching to RTL mode dynamically
+				 so that's not needed actually.
+				 */
+				placeholder.data('chart', data);
+				placeholder.data('draw', drawPieChart);
+
+
+				//pie chart tooltip example
+				var $tooltip = $("<div class='tooltip top in'><div class='tooltip-inner'></div></div>").hide().appendTo('body');
+				var previousPoint = null;
+
+				placeholder.on('plothover', function (event, pos, item) {
+					if (item) {
+						if (previousPoint != item.seriesIndex) {
+							previousPoint = item.seriesIndex;
+							var tip = item.series['label'] + " : " + item.series['percent'] + '%';
+							$tooltip.show().children(0).text(tip);
+						}
+						$tooltip.css({top: pos.pageY + 10, left: pos.pageX + 10});
+					} else {
+						$tooltip.hide();
+						previousPoint = null;
+					}
+
+				});
+
+				/////////////////////////////////////
+				$(document).one('ajaxloadstart.page', function (e) {
+					$tooltip.remove();
 				});
+
+
+
+
+				var d1 = [];
+				for (var i = 0; i < Math.PI * 2; i += 0.5) {
+					d1.push([i, Math.sin(i)]);
 				}
-				
-				function crearUser(){
-					
-					
-					let nombre=$("#txtUsuario").val();
-					let apellido=$("#txtApellido").val();
-					let generateUser=nombre.substring(0,1);
-					let apellidofinal=apellido.replace(/ /g, "");
-				
-					$("#txtUser").val(generateUser+apellidofinal);
-					
+
+				var d2 = [];
+				for (var i = 0; i < Math.PI * 2; i += 0.5) {
+					d2.push([i, Math.cos(i)]);
 				}
-			
-			function validar(){
-			
-				let flag=false;
-				let user=$("#txtUsuario").val();
-			 let clave=$("#txtClave").val();
-				let sede=$("#cmbSede option:selected").val();
-				
-				if(user == "" || clave == "" || sede == ""){
-					flag=false;
-				}else{
-					flag=true;
+
+				var d3 = [];
+				for (var i = 0; i < Math.PI * 2; i += 0.2) {
+					d3.push([i, Math.tan(i)]);
 				}
-				
-				
-	     return flag;
-			}
-			
-			
-			function cargarSede() {
-				$.ajax({
-					type: 'POST',
-					url: '../ServletUsuario?accion=cargarSede2',
-					 success: function (resultado) {
-//						close_carga();
-						$("#divLocales").html(resultado);
-					}, complete: function () {
-						
+
+
+				var sales_charts = $('#sales-charts').css({'width': '100%', 'height': '220px'});
+				$.plot("#sales-charts", [
+					{label: "Domains", data: d1},
+					{label: "Hosting", data: d2},
+					{label: "Services", data: d3}
+				], {
+					hoverable: true,
+					shadowSize: 0,
+					series: {
+						lines: {show: true},
+						points: {show: true}
+					},
+					xaxis: {
+						tickLength: 0
+					},
+					yaxis: {
+						ticks: 10,
+						min: -2,
+						max: 2,
+						tickDecimals: 3
+					},
+					grid: {
+						backgroundColor: {colors: ["#fff", "#fff"]},
+						borderWidth: 1,
+						borderColor: '#555'
 					}
 				});
+
+
+				$('#recent-box [data-rel="tooltip"]').tooltip({placement: tooltip_placement});
+				function tooltip_placement(context, source) {
+					var $source = $(source);
+					var $parent = $source.closest('.tab-content')
+					var off1 = $parent.offset();
+					var w1 = $parent.width();
+
+					var off2 = $source.offset();
+					//var w2 = $source.width();
+
+					if (parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2))
+						return 'right';
+					return 'left';
+				}
+
+
+				$('.dialogs,.comments').ace_scroll({
+					size: 300
+				});
+
+
+				//Android's default browser somehow is confused when tapping on label which will lead to dragging the task
+				//so disable dragging when clicking on label
+				var agent = navigator.userAgent.toLowerCase();
+				if ("ontouchstart" in document && /applewebkit/.test(agent) && /android/.test(agent))
+					$('#tasks').on('touchstart', function (e) {
+						var li = $(e.target).closest('#tasks li');
+						if (li.length == 0)
+							return;
+						var label = li.find('label.inline').get(0);
+						if (label == e.target || $.contains(label, e.target))
+							e.stopImmediatePropagation();
+					});
+
+				$('#tasks').sortable({
+					opacity: 0.8,
+					revert: true,
+					forceHelperSize: true,
+					placeholder: 'draggable-placeholder',
+					forcePlaceholderSize: true,
+					tolerance: 'pointer',
+					stop: function (event, ui) {
+						//just for Chrome!!!! so that dropdowns on items don't appear below other items after being moved
+						$(ui.item).css('z-index', 'auto');
+					}
+				}
+				);
+				$('#tasks').disableSelection();
+				$('#tasks input:checkbox').removeAttr('checked').on('click', function () {
+					if (this.checked)
+						$(this).closest('li').addClass('selected');
+					else
+						$(this).closest('li').removeClass('selected');
+				});
+
+
+				//show the dropdowns on top or bottom depending on window height and menu position
+				$('#task-tab .dropdown-hover').on('mouseenter', function (e) {
+					var offset = $(this).offset();
+
+					var $w = $(window)
+					if (offset.top > $w.scrollTop() + $w.innerHeight() - 100)
+						$(this).addClass('dropup');
+					else
+						$(this).removeClass('dropup');
+				});
+
+
+
+			});
+
+			//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+
+
+
+
+
+
+			function validar_registro() {
+				let validado = validar();
+				if (validado) {
+          registroUsuario();
+				}else{
+					alerta6();
+				}
 			}
-			
-			
-			function registroUsuario(){
-				let user=$("#txtUser").val();
-				let clave=$("#txtClave").val();
-				let sede=$("#cmbSede option:selected").val();
-				
+
+			function validar() {
+
+				let flag = false;
+				let user = $("#txtUsuario").val();
+				let clave = $("#txtClave").val();
+				let sede = $("#cmbSede option:selected").val();
+
+				if (user == "" || clave == "" || sede == "") {
+					flag = false;
+				} else {
+					flag = true;
+				}
+
+
+				return flag;
+			}
+			function registroUsuario() {
+				let user = $("#txtUser").val();
+				let clave = $("#txtClave").val();
+				let sede = $("#cmbSede option:selected").val();
+
 				$.ajax({
-					url:'../ServletUsuario?accion=registroUsuarioObservador',
-					type:'POST',
-					data:{
-						user:user,
-						pass:clave,
-						sede:sede
+					url: '../ServletUsuario?accion=registroUsuarioObservador',
+					type: 'POST',
+					data: {
+						user: user,
+						pass: clave,
+						sede: sede
 					},
 					success: function (data, textStatus, jqXHR) {
 
-						if(data.trim() == "1"){
-						  alerta4();
-						}else if(data.trim() == "0"){
+						if (data.trim() == "1") {
+							alerta4();
+						} else if (data.trim() == "0") {
 							alerta5();
 						}
-						
-						
-           }
+
+
+					}
 				});
-				
+
 			}
 			
-			
-			
-				function alerta4(){
-				$("#dialog-noti1").removeClass('hide').dialog({
+				function alerta5(){
+				$("#dialog-noti2").removeClass('hide').dialog({
 					resizable: false,
 					modal: true,
-					title: "<div class='widget-color-green' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span></h4></div></div>",
+					title: "<div class='widget-color-red' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Advertencia</span></h4></div></div>",
 					title_html: true,
 					buttons: [
 						{
-							html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; SI",
-							"class": "btn btn-success btn-xs",
-							click: function () {
-								$("#txtUsuario").val("");
-								$("#txtClave").val("");
-								$("#txtApellido").val("");
-								$("#txtUser").val("");
-								
-								$(this).dialog("close");
-								document.getElementById("txtUsuario").focus();
-							
-							}
-						},
-						{
-							html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; NO",
+							html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; Cerrar",
 							"class": "btn btn-danger btn-xs",
 							click: function () {
 								$(this).dialog("close");
-								$("#dialog-registro").dialog("close");
+							
 							}
 						}
+					
 					]
 				});
 			}
-				function alerta5(){
-				$("#dialog-noti2").removeClass('hide').dialog({
+			
+			function alerta6(){
+				$("#dialog-noti3").removeClass('hide').dialog({
 					resizable: false,
 					modal: true,
 					title: "<div class='widget-color-red' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Advertencia</span></h4></div></div>",
@@ -314,27 +662,117 @@
 					]
 				});
 			}
-				function alerta6(){
-				$("#dialog-noti3").removeClass('hide').dialog({
+
+
+			
+				function alerta4(){
+				$("#dialog-noti1").removeClass('hide').dialog({
 					resizable: false,
 					modal: true,
-					title: "<div class='widget-color-red' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Advertencia</span></h4></div></div>",
+					title: "<div class='widget-color-green' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span></h4></div></div>",
 					title_html: true,
 					buttons: [
 						{
-							html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; Cerrar",
-							"class": "btn btn-danger btn-xs",
+							html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; SI",
+							"class": "btn btn-success btn-xs",
 							click: function () {
+								$("#txtUsuario").val("");
+								$("#txtClave").val("");
+								$("#txtApellido").val("");
+								$("#txtUser").val("");
+								
 								$(this).dialog("close");
+								document.getElementById("txtUsuario").focus();
 							
 							}
+						},
+						{
+							html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; NO",
+							"class": "btn btn-danger btn-xs",
+							click: function () {
+								$(this).dialog("close");
+								$("#dialog-registro").dialog("close");
+							}
 						}
-					
 					]
 				});
 			}
-			
+
+
+
+
+
+			function cargarSede() {
+				$.ajax({
+					type: 'POST',
+					url: '../ServletUsuario?accion=cargarSede2',
+					success: function (resultado) {
+						//						close_carga();
+						$("#divLocales").html(resultado);
+					}, complete: function () {
+
+					}
+				});
+			}
+
+			function crearUser() {
+
+
+				let nombre = $("#txtUsuario").val();
+				let apellido = $("#txtApellido").val();
+				let generateUser = nombre.substring(0, 1);
+				let apellidofinal = apellido.replace(/ /g, "");
+
+				$("#txtUser").val(generateUser + apellidofinal);
+
+			}
+
+
+
+
+
+
+
+
+
+			$('input').keypress(function (e) {
+				if (e.which == 13) {
+					return false;
+				}
+			});
+
+			function cargando() {
+				$("#dialog-cargando").removeClass('hide').dialog({
+					resizable: false,
+					modal: true,
+					title: "<div class='widget-header' ><h4 class='smaller'><i class='fa fa-spinner'></i> Cargando...</h4></div>",
+					title_html: true
+				});
+			}
+
+			function close_carga() {
+				$("#dialog-cargando").dialog("close");
+			}
+
+
+
+
 		</script>
-	</body>
-	
+
+		<!-- the following scripts are used in demo only for onpage help and you don't need them -->
+
+		<link rel="stylesheet" href="../assets/css/ace.onpage-help.css" />
+		<link rel="stylesheet" href="../docs/assets/js/themes/sunburst.css" />
+
+		<script type="text/javascript"> ace.vars['base'] = '..';</script>
+		<script src="../assets/js/ace/elements.onpage-help.js"></script>
+		<script src="../assets/js/ace/ace.onpage-help.js"></script>
+		<script src="../docs/assets/js/rainbow.js"></script>
+		<script src="../docs/assets/js/language/generic.js"></script>
+		<script src="../docs/assets/js/language/html.js"></script>
+		<script src="../docs/assets/js/language/css.js"></script>
+		<script src="../docs/assets/js/language/javascript.js"></script>                
+		<script src="js/languages/jquery.validationEngine-es.js" type="text/javascript" charset="utf-8"></script>
+		<script src="js/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
+
 </html>
diff --git a/web/vista/exportarHorarioDocentePersonalizadoPlana.jsp b/web/vista/exportarHorarioDocentePersonalizadoPlana.jsp
index 1595d3b..a3e8729 100644
--- a/web/vista/exportarHorarioDocentePersonalizadoPlana.jsp
+++ b/web/vista/exportarHorarioDocentePersonalizadoPlana.jsp
@@ -19,14 +19,31 @@
 				padding: 10px
 			}
 		</style>
+		
+		<%
+		  String textoplana = request.getParameter("textoplana");
+		%>
 	</head>
 	<body>
-			<strong>Leyenda :</strong>
-			<p style="font-size: 120%;"> Cuadros con (X) : Sin disponibilidad</p>
-			<p style="font-size: 120%;"> Cuadros en blanco : Con disponibilidad</p>
+	<tr>
+		<td><strong>Leyenda :</strong><td>
+	<tr>
+		<td> Cuadros con (X) : Sin disponibilidad - </td>
+	</tr>
+	<tr>
+		<td> Cuadros en blanco : Con disponibilidad</td>
+	</tr>
+		
+	</tr>
+		
+			<tr> 
+				<td  align='center' colspan='12' ><h3>REPORTE POR PLANA - <%=textoplana%></h3></td>
+			</tr> 
+			
 		<%
 		String plana = request.getParameter("plana");
     String periodo = request.getParameter("periodo");
+  
 		String correoDocente="";
 		String direccionDocente="";
 		String celularDocente="";
@@ -37,16 +54,16 @@
 		
 		JSONObject jparam=new JSONObject();
 		
-		jparam.put("codigoPeriodo",periodo);
+		jparam.put("codigoPeriodo2",periodo);
 		jparam.put("codigoPlana",plana);
 		
 		
-		JSONObject objeto=servicios.listarVistaDobleDisponibilidad(jparam);
+		JSONObject objeto=servicios.listarVistaDobleDisponibilidad2(jparam);
 		
 		JSONArray arrayPersona = objeto.getJSONArray("data");
 		
 //	  response.setContentType("application/vnd.ms-excel; ");
-    response.setHeader("Content-Disposition","attachment; filename=UsuarioDocente.xls");
+    response.setHeader("Content-Disposition","attachment; filename="+textoplana+".xls");
 	
 		for(Object objetoPersona : arrayPersona){
 			
@@ -64,6 +81,8 @@
 				direccionDocente=dataPersona.getString("direccion");
 			
 			}
+			
+			
 			if(dataPersona.has("celular")){
 				celularDocente=dataPersona.getString("celular");
 			}
@@ -71,7 +90,6 @@
 			if(dataPersona.has("distrito")){
 				distrito=dataPersona.getString("distrito");
 			}
-			
 
 	
 			
@@ -89,13 +107,15 @@
 		if(!dataPersona.isNull("disponibilidad")){
 			String [] disponibilidad  = dataPersona.getString("disponibilidad").split("-");
 			for(int i= 0; i < disponibilidad.length; i++){
-				String turno = disponibilidad[i].split("#")[0];
-				String dia = disponibilidad[i].split("#")[1];
+				if(disponibilidad[i].contains("#")){
+					String turno = disponibilidad[i].split("#")[0];
+					String dia = disponibilidad[i].split("#")[1];
 
-				if(turno.equals("1")){
-					diaM.add(dia);
-				} else if(turno.equals("2")){
-					diaT.add(dia);
+					if(turno.equals("1")){
+						diaM.add(dia);
+					} else if(turno.equals("2")){
+						diaT.add(dia);
+					}
 				}
 			}
 		}
@@ -116,17 +136,16 @@
 			
 		}
 			
-			String borderT="style='border:solid 0.5pt #000000;vertical-align:middle; background-color:#307ECC;color:white;width:-2;height:22; ' ";
-			String borderTD="style='border:solid 0.5pt #000000;vertical-align:middle; background-color:#FFCC99;width:-2;height:;' ";
+			String borderT="style='border:solid 0.5pt #000000;vertical-align:middle; background-color:#808080;color:white;width:-2;height:22; ' ";
+			String borderTD="style='border:solid 0.5pt #000000;vertical-align:middle; background-color:#A6A6A6;width:-2;height:;' ";
 			String border="style='border:solid 0.5pt #000000;vertical-align:middle;width:-2;height:25;'";
 			
 		
 		%>
-
-		<table border="1" width='20'>
-			<tr> 
-				<td colspan="4" height='10'> </td>
-			</tr> 
+      
+		<table border="1" width='10'>
+			
+			
 			<tr>
 				<td colspan="0"<%=borderT%> ><b>DOCENTE:</b></td>
 				<td colspan="0"   <%=border%>><font><b><%=nombreDocente%></b></font></td>
@@ -142,7 +161,7 @@
 			</tr> 
 
 			<tr>
-				<td colspan="2" style="background-color:#307ECC;color:white;" ><b>DIRECCIÓN:</b></td>
+				<td colspan="0"  <%=borderT%>><b>DIRECCIÓN:</b></td>
 				<td colspan="0" height='50'><font><b><%=direccionDocente%></b></font></td>
 			</tr>
 			<tr>
@@ -154,7 +173,7 @@
 				<td colspan="0" <%=border%> ><font><b><%=promedio%></b></font></td>
 			</tr>
 			<tr> 
-				<td height='10'  colspan="1" ></td>
+				<td height='5'  colspan="1" ></td>
 			</tr> 
 		
 				<tr>
diff --git a/web/vista/exportarHorarioTodoPeriodo2.jsp b/web/vista/exportarHorarioTodoPeriodo2.jsp
index 6480b6e..8816bd6 100644
--- a/web/vista/exportarHorarioTodoPeriodo2.jsp
+++ b/web/vista/exportarHorarioTodoPeriodo2.jsp
@@ -98,10 +98,6 @@
 
         if(segundo<10){ secAc = "0"+segundo; }else{ secAc = ""+segundo; }
         
-        
-        
-        
-        
     %>
    
     
@@ -196,7 +192,7 @@
             %>
 
             <tr>
-                <td height='20' colspan='12' align='center'><H3><font color='#006090'><b>AULA:</b> <%=nomAula%></font> </H3></td>
+                <td height='20' colspan='12' align='center'><H3><font color='#006090'><b>SEDE:</b> <%=nomAula%></font> </H3></td>
             </tr>
             <tr>
                 <td height='15' width='35' ></td>
@@ -212,7 +208,7 @@
                 <td height='15' width='35' ></td>
                 <td height='15' width='130' ></td>
             </tr>
-            <tr >
+            <tr>
                 <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>LUNES</td>
                 <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>MARTES</td>
                 <td width='140' <%=borderColorTitulo%> align='center' colspan='2'>MIÉRCOLES</td>
@@ -223,8 +219,6 @@
 
             <%
             String codPeriodo2 = ""+codPeriodo;
-
-
             String HorIni="";
             String HorFin="";
             int dia1=0; int dia2=0; int dia3=0; int dia4=0; int dia5=0; int dia6=0;
@@ -250,6 +244,7 @@
                                     HorIni=hora1[0];
                                     HorFin=hora1[1];
                                     bloqueGrupoDia = array2[0];
+																	 
                                     if(f==1){ dia1++; diaPos=dia1; diaGen=f;}
                                     else if(f==2){ dia2++; diaPos=dia2; diaGen=f;}
                                     else if(f==3){ dia3++; diaPos=dia3; diaGen=f;}
@@ -269,7 +264,7 @@
                         DatosHorario = serviciosHor.consultarDatosHorarioAulaPorPosicionDiaria(aulas[i],codPeriodo2,dia,posicion);   
 
                     %>    
-                        <td <%=border%> align='center' width='35' style='color:white; background-color:#62A8D1; vertical-align:middle; font-size: 10px; '>
+                        <td <%=border%> align='center' width='35' style='color:white; background-color:#62A8D1; vertical-align:middle; font-size: 10px;'>
                             <%=HorIni%>
                             <br>
                             <%=HorFin%>
@@ -321,7 +316,7 @@
 
                         }else{
                         %>
-                            <td <%=border%> width='130' align='center' style=' font-size: 10px; '>
+                            <td <%=border%> width='130' align='center' style=' font-size: 10px;'>
                                 <b><%=DatosHorario.getH_nombreCurso()%></b><br>
                                 <%=DatosHorario.getH_apellidosDocente()%>, <%=DatosHorario.getH_nombreDocente()%>
                             </td>
diff --git a/web/vista/exportarHorarioTodoPeriodoSedes2doGrado.jsp b/web/vista/exportarHorarioTodoPeriodoSedes2doGrado.jsp
index 0218b80..8c2b1e7 100644
--- a/web/vista/exportarHorarioTodoPeriodoSedes2doGrado.jsp
+++ b/web/vista/exportarHorarioTodoPeriodoSedes2doGrado.jsp
@@ -124,11 +124,12 @@
         
         //String codSede = request.getParameter("codSede");
         String periodo = request.getParameter("periodo");
+				String parte=request.getParameter("parte");
         int codPeriodo = Integer.parseInt(periodo);
         
         AulaServices serviciosAula = new AulaServices();
         ArrayList<Aula> listaDatos = null;
-        listaDatos = serviciosAula.listarDatosHorairo2do(periodo);
+        listaDatos = serviciosAula.listarDatosHorairo2do(periodo,parte);
         
         for(int z=0;z<listaDatos.size();z++){
         
@@ -196,7 +197,7 @@
             %>
 
             <tr>
-                <td height='20' colspan='12' align='center'><H3><font color='#006090'><b>AULA:</b> <%=nomAula%></font> </H3></td>
+                <td height='20' colspan='12' align='center'><H3><font color='#006090'><b>SEDE:</b> <%=nomAula%></font> </H3></td>
             </tr>
             <tr>
                 <td height='15' width='35' ></td>
@@ -334,7 +335,7 @@
 
                     }else{
                         %>
-<!--                            <td colspan='2' width='140' align='center' ></td>-->
+                           <!-- <td colspan='2' width='140' align='center' ></td>-->
                             <td <%=border%> colspan='2' width='140' align='center'  style='background-color: #FF7C80; color: white; vertical-align:middle; font-size: 10px; ' >SIN HORARIO</td>
                         <%
                     }    
diff --git a/web/vista/exportar_registro_eliminacion.jsp b/web/vista/exportar_registro_eliminacion.jsp
new file mode 100644
index 0000000..34f2f15
--- /dev/null
+++ b/web/vista/exportar_registro_eliminacion.jsp
@@ -0,0 +1,145 @@
+<%-- 
+    Document   : exportar_cambios_fijos
+    Created on : 31-oct-2018, 17:01:58
+    Author     : sistem20user
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<%@page import="pe.siso.horario.Beans.HorarioCF"%>
+<%@page import="pe.siso.horario.Beans.Aula"%>
+<%@page import="pe.siso.horario.Beans.Docente"%>
+<%@page import="pe.siso.horario.Services.DocenteServices"%>
+<%@page import="pe.siso.horario.Services.AulaServices"%>
+<%@page import="java.util.ArrayList"%>
+<%@page import="pe.siso.horario.Beans.Usuario"%>
+<%@page import="java.time.format.DateTimeFormatter"%>
+<%@page import="java.time.LocalDateTime"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+						<style>
+			#dg{
+				background-color: #D9D2E9;
+				font-weight: bold;
+			}
+			#ds{
+				background-color: #FFF2CC;
+				font-weight: bold;
+			}
+			#di{
+				background-color: #C9DAF8;
+				font-weight: bold;
+			}
+		</style>
+    </head>
+    <body>
+        <%
+//            
+        response.setContentType("application/vnd.ms-excel; ");
+        response.setHeader("Content-Disposition","attachment; filename=cambio-fijo.xls");
+				
+				
+        HttpSession session_actual = request.getSession(true);
+        Usuario usuario=(Usuario)session_actual.getAttribute("usuario");
+        
+        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");  
+        LocalDateTime now = LocalDateTime.now(); 
+            
+        String fechaDesde = request.getParameter("fechaDesde");
+        String fechaHasta = request.getParameter("fechaHasta");
+        String[] dias = {"Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo"};
+        
+//        String centrado="style='vertical-align:middle;' ";
+        String centrado=" align='center' ";
+        
+        AulaServices serviceAula = new AulaServices();
+        
+        DocenteServices serviceDocente = new DocenteServices();
+        ArrayList<HorarioCF> lista = serviceDocente.listarRegistrosNuevosYEliminados(fechaDesde,fechaHasta);
+        %>
+
+        <table  cellpadding= '0' cellspacing= '0'>
+            <tr>
+                <td <%=centrado%> colspan='5' align='center'><h3>LISTADO DE REGISTROS Y ELIMINACION DE DOCENTES</h3></td>
+            </tr> 
+            <tr>
+                <td colspan='5' height='10'></td>
+            </tr> 
+            <tr>
+                <td colspan='3' >FUENTE: SISTEMA DE HORARIOS</td>
+                <td colspan='2' align='right'>SACO OLIVEROS - SISTEMAS</td>
+            </tr> 
+            <tr>
+                <td colspan='3' >RESPONSABLE: <%=usuario!=null?usuario.getNombreTipoUsuario():""%></td>
+                <td colspan='2' align='right'></td>
+            </tr> 
+            <tr>
+                <td colspan='5' height='20'>FECHA: <%=dtf.format(now)%></td>
+            </tr>
+            <tr>
+                <td colspan='5' height='20'></td>
+            </tr>           
+        </table>
+        <table border="2">
+            <tr>
+                <td <%=centrado%> colspan="7" style="text-align: center;background-color: #D9D2E9;font-weight: bold;">DATOS GENERALES</td>
+            </tr>
+            <tr bgcolor="lightgreen">
+                <td <%=centrado%> style="padding: 10px" id="dg">REGISTRO</td>
+								<td <%=centrado%> style="padding: 10px" id="ds">HORA REGISTRO</td>
+							  <td <%=centrado%> style="padding: 10px" id="dg">SEDE</td>
+							  <td <%=centrado%> style="padding: 10px" id="dg">DIA</td>
+							
+                <td <%=centrado%> style="padding: 10px;"  id="dg">HORARIO</td>
+								
+							  <td <%=centrado%> style="padding: 10px"  id="dg">GRUPO ACADEMICO</td>
+								
+							  <td <%=centrado%> style="padding: 10px"  id="dg">AULAS</td>
+                       
+                
+                <td <%=centrado%> style="padding: 10px" id="di">APELLIDOS Y NOMBRES</td>
+                <td <%=centrado%> style="padding: 10px" id="di">CURSO</td>
+                <td <%=centrado%> style="padding: 10px" id="di">ACCION</td>
+          
+            </tr>
+            <%
+							String estilo="";
+           for(HorarioCF horario : lista){
+						 if(horario.getMotivoCambio().equals("ELIMINADO")){
+						     estilo="style='background-color:#D0CECE;padding : 10px;color:black;'";
+								
+						 }else{
+						    estilo="style='background-color:#FFD966;padding : 10px;'";
+						 }
+          
+            %>
+            <tr>
+							   <td style="padding : 10px"><%=horario.getFechaRegistro()%></td>
+								 <td style="padding : 10px"><%=horario.getHora()%></td>
+								 <td style="padding : 10px"><%=horario.getNombreSede()%></td>
+								 <td style="padding : 10px"><%=horario.getDia()%></td>
+								 
+                <td style="padding : 10px"><%=horario.getHorario()%>   </td>
+								 <td style="padding : 10px"><%=horario.getGrupoAcademico()%></td>
+								 <td style="padding : 10px"><%=horario.getCodigoAula()%></td>
+           
+               
+                
+               
+								<td style="padding : 10px"><%=horario.getDocenteEntrante()%></td>
+                <td style="padding : 10px"><%=horario.getCursoEntrante()%></td>
+                
+                <td <%=estilo%>><%=horario.getMotivoCambio()%></td>
+						
+                
+                
+            
+            </tr>
+            <%
+            }
+            %>
+        </table>
+    </body>
+</html>
diff --git a/web/vista/footer.jsp b/web/vista/footer.jsp
index d1ccaed..ca55f7d 100644
--- a/web/vista/footer.jsp
+++ b/web/vista/footer.jsp
@@ -9,7 +9,7 @@
     <div class="footer-content">
         <span class="bigger-120">
             <span class="blue bolder">Sistema </span>
-            de Horarios &copy; 2017
+            de Horarios &copy; 2019
             &nbsp; &nbsp;
             <img src="../assets/images/icons/internet explorer.png" class="align-middle">
             &nbsp;
diff --git a/web/vista/gen_hor_gen.jsp b/web/vista/gen_hor_gen.jsp
index a67adf2..1254a58 100644
--- a/web/vista/gen_hor_gen.jsp
+++ b/web/vista/gen_hor_gen.jsp
@@ -960,13 +960,10 @@
                                         close_carga();
 //																				debugger
                                         $('#aula').html(resultado);
+																				
 																				let op=$("#cmbSede").val();
-																				if(op === "todo"){
-																					$("#btnExportarHorSede").hide();
-																				}
-																				if(op !== "todo"){
-																					$("#btnExportarTodo").hide();
-																				}
+																				
+
 																				
 																				name=$("#lblUsuario").text();
 																				if(name === "6" || name === "5"){
@@ -1961,8 +1958,15 @@
                         
                         function exportarTodo(){ //--2DOgrado
                             var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>";
-                            window.location="exportarHorarioTodoPeriodoSedes2doGrado.jsp?periodo="+periodo; 
+														let op=$("#cmbSede").val();
+                            window.location="exportarHorarioTodoPeriodoSedes2doGrado.jsp?periodo="+periodo+"&parte="+op; 
                         }
+												
+												
+												function questionPart(){
+												
+												}
+												
                         
                         /*function exportarTodo(){
                             var codSede = $("#cmbSede").val();
diff --git a/web/vista/horario_plana2.jsp b/web/vista/horario_plana2.jsp
index aa4717d..112dac0 100644
--- a/web/vista/horario_plana2.jsp
+++ b/web/vista/horario_plana2.jsp
@@ -718,9 +718,10 @@
                         function buscarCurso(){
                             var periodo = "<%=periodo!=null?periodo.getCodigoPeriodo():""%>";
                             var plana = $("#cmbPlana").val();
+                            var textoplana = $("#cmbPlana option:selected").text();  
                             //alert(periodo+" - "+plana);
 //                            window.location="exportarHorarioPorPlana2.jsp?periodo="+periodo+"&plana="+plana;
-                            window.location="exportarHorarioDocentePersonalizadoPlana.jsp?periodo="+periodo+"&plana="+plana;
+                            window.location="exportarHorarioDocentePersonalizadoPlana.jsp?periodo="+periodo+"&plana="+plana+"&textoplana="+textoplana;
                             /*var codArea = $("#cmbArea").val();
                             var codPlana = $("#cmbPlana").val();
                                $.ajax({
diff --git a/web/vista/man_zona.jsp b/web/vista/man_zona.jsp
index 1d4a6a3..43490d2 100644
--- a/web/vista/man_zona.jsp
+++ b/web/vista/man_zona.jsp
@@ -1075,11 +1075,8 @@
 		<script src="../docs/assets/js/language/generic.js"></script>
 		<script src="../docs/assets/js/language/html.js"></script>
 		<script src="../docs/assets/js/language/css.js"></script>
-		<script src="../docs/assets/js/language/javascript.js"></script>
-                
-                
-                
-                <script src="js/languages/jquery.validationEngine-es.js" type="text/javascript" charset="utf-8"></script>
-                <script src="js/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
+		<script src="../docs/assets/js/language/javascript.js"></script>                
+   <script src="js/languages/jquery.validationEngine-es.js" type="text/javascript" charset="utf-8"></script>
+   <script src="js/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
 
 </html>
diff --git a/web/vista/vistaDobleDisponibilidad.jsp b/web/vista/vistaDobleDisponibilidad.jsp
index f28a677..76b8236 100644
--- a/web/vista/vistaDobleDisponibilidad.jsp
+++ b/web/vista/vistaDobleDisponibilidad.jsp
@@ -103,7 +103,7 @@
 <!--							<a class="btn btn-app btn-light btn-xs align-left" onclick="window.print();" target="_blank" id="iconoImprimir">
 								<i class="ace-icon fa fa-print bigger-160"></i>-->
 								<label>Zona:</label>	
-								<select id="cmbZonas" onchange="listarDisponibilidad();">
+								<select id="cmbZonas" onchange="listarDisponibilidad();activarPrint();">
               	</select>
 										
 						</div>
@@ -150,7 +150,15 @@
 				listarZona()
 
 				document.querySelector('#btnBuscar').addEventListener('click', function () {
-					listarDisponibilidad()
+					debugger
+					  let cmbZonas=$("#cmbZonas option:selected").text();
+		        if(cmbZonas === "[SELECCIONE]"){
+						  alert("ELEGIR UNA ZONA DE BUSQUEDA");
+					  }else{
+								listarDisponibilidad()
+						}
+						
+				
 				})
 				
 			});
@@ -186,18 +194,44 @@
 				
 				let codigoPlana = document.querySelector('#cbPlana').value
 				let codigoPeriodo = '<%= periodo!=null?periodo.getCodigoPeriodo():""%>'
+				console.log(codigoPeriodo)
 				let codigoZona = document.querySelector('#cmbZonas').value
 //        let distritos=new ZonaDistritoServices();
 				
-				if (codigoPlana && codigoPeriodo && codigoZona) {
+				if (codigoPlana  && codigoPeriodo && codigoZona)  {
+					
+					
 					let json = {
 						codigoPlana,
 						codigoPeriodo,
 						codigoZona
 					}
+					
+					peticionWith3Parameters(json);
+			
 
-					$.ajax({
-						url: '../ServletHorario?Accion=listarVistaDobleDisponibilidad',
+					
+				}else{
+					
+					let codigoPeriodo2 = '<%= periodo!=null?periodo.getCodigoPeriodo():""%>'
+					
+//					let codigoPlana2 = document.querySelector('#cbPlana').value
+					
+					let json2={
+						codigoPlana,
+						codigoPeriodo2
+					}
+				
+							peticionSimple(json2);
+				}
+			
+
+			}
+			
+			function peticionSimple(json){
+				
+				$.ajax({
+						url: '../ServletHorario?Accion=listarVistaDobleDisponibilidadSinZona',
 						type: 'POST',
 						dataType: 'json',
 						data: {
@@ -211,7 +245,8 @@
 							let nDia=[]
 							let mensaje='No registrado'
 							data.data.forEach(function (docente) {
-	          if(typeof(docente.celular && docente.distrito && docente.zona)  == "undefined"){
+								console.log(docente)
+	            if(typeof(docente.celular && docente.distrito)  == "undefined"){
 							
 		                  html +=  '<table>'
 								        html += '<div class="divider"></div>'
@@ -225,6 +260,7 @@
 																		html += '<p>Distrito: No registrado</p>'
 																		html += '<p>Direccion: No registrado</p>'
 																		html += '<p>Correo: No registrado</p>'
+																	
 															html += '</tr>'
 																
 																html += '<br>'
@@ -384,23 +420,396 @@
 													} else {
 														html += '<p>EL DOCENTE NO TIENE DISPONIBILIDAD REGISTRADA</p>'
 													}
-                          html += `
-														</div>
-																		`
+                          html += `</div>`
+
+	       }else{
+		
+												html +=  '<div class="divider"></div>'
+												html +=	'<div class="section">'
+			                        
+															html +='<h6 id="nombreDocente" style="font-weight:bold;">' + docente.nombre + '</h6>'
+															html += '<label id="codDocente" style="visibility:hidden;">' + docente.codDocente + '</label>'
+																html += '<p>Celular: '+ docente.celular +'</p>'
+																html += '<p>Distrito: '+ docente.distrito +'</p>'
+																html += '<p>Direccion: '+ docente.direccion +'</p>'
+																html += '<p>Correo: '+ docente.correo +'</p>'
+																
+																html += '<br>'
+
+
+
+
+													if (docente.disponibilidad) {
+                           
+														let disponibilidad = docente.disponibilidad.split('-') || []
+														let diasM = []
+														let diasT = []
+														let aulasM = []
+														let aulasT = []
+
+														if (docente.arrayAulas) {
+															docente.arrayAulas.forEach(v => {
+																if (v.turno == '1') {
+																	aulasM.push(v)
+																} else if (v.turno == '2') {
+																	aulasT.push(v)
+																}
+															})
+														}
+														
+														let diasin=docente.diasin.split('-') || []
+														let diasMS = []
+														let diasTS = []
+														
+														diasin.forEach(function(b){
+															let nTurnoS = b.split('#')[0]
+															let nDiaS = b.split('#')[1]
+															
+															if (nTurnoS == '1') {
+																diasMS.push(nDiaS)
+															} else if (nTurno == '2') {
+																diasTS.push(nDiaS)
+															}
+																
+														})
+														
+														
+														let bloqueo = docente.bloqueo.split('-') || []
+														let diasMB = []
+														let diasTB = []
+														let aulasMB = []
+														let aulasTB = []
+														
+														 bloqueo.forEach(function(b){
+															let nTurno = b.split('#')[0]
+															let nDia = b.split('#')[1]
+															
+															if (nTurno == '1') {
+																diasMB.push(nDia)
+															} else if (nTurno == '2') {
+																diasTB.push(nDia)
+															}
+																
+														})
+														
+
+														disponibilidad.forEach(function (d) {
+															let turno = d.split('#')[0]
+															let dia = d.split('#')[1]
+
+															if (turno == '1') {
+																diasM.push(dia)
+															} else if (turno == '2') {
+																diasT.push(dia)
+															}
+														})
+
+														html += '<p class="col s12">'
+														html += '<table class="centered">'
+													 html += '<thead>'
+														html += '<tr>'
+														html += '<td>TURNO</td>'
+														html += '<td id="dia">LUNES</td>'
+														html += '<td id="dia">MARTES</td>'
+														html += '<td id="dia">MIERCOLES</td>'
+														html += '<td id="dia">JUEVES</td>'
+														html += '<td id="dia">VIERNES</td>'
+														html += '<td id="dia">SABADO</td>'
+														html += '</tr>'
+														html += '</thead>'
+														html += '<tbody>'
+
+
+														html += '<tr>'
+														html += '<td id="turno">M</td>'
+
+														for (let i = 0; i < 6; i++) {
+															let aulas = aulasM.map(a => {
+																if (a.dia == i + 1) {
+																	return a.sede + ' - ' + a.aulas
+																}
+															})
+															
+															if (diasM.some(d => d == (i + 1))) {
+																
+																html +=  `<td class="green" onclick="colorChange(this);"> `+ aulas.join(' \n ') +  `</td> `
+																
+															} else if(diasMB.some(t => t == ( i + 1))){
+																
+																html +=  '<td class="blue"  onclick="colorChange(this);" id="changed"> ' + aulas.join(' \n ') +  '</td> '
+																
+															}else if(diasMS.some(r => r == ( i + 1))){
+																
+																html +=  '<td class="blue"  onclick="colorChange(this);" id="changed"> ' + aulas.join(' \n ') +  '</td> '
+																
+															} else { 
+
+																html +=  '<td class="red"  onclick="colorChange(this);" id="changed"> ' + aulas.join(' \n ') +  '</td> '
+															}
+														}
+
 
-																		
+														html += '</tr>'
+
+														html += '<tr>'
+														html += '<td id="turno">T</td>'
+
+														for (let i = 0; i < 6; i++) {
+															let aulas = aulasT.map(a => {
+																
+																if (a.dia == i + 1) {
+																	return a.sede + ' - ' + a.aulas
+																}
+															})
+															if (diasT.some(d => d == (i + 1))) {
+																
+																html +=  `<td class="green"  onclick="colorChange(this);"> ` + aulas.join(' \n ') +  `</td> `
+																
+																
+															}else if(diasTB.some( t => t == (i + 1))){
+																
+																html +=  '<td class="blue"  onclick="colorChange(this);" id="changed"> ' + aulas.join(' \n ') +  '</td> '
+																
+															}else if(diasTS.some(q => q == ( i + 1))){
+																
+																html +=  '<td class="blue"  onclick="colorChange(this);" id="changed"> ' + aulas.join(' \n ') +  '</td>'
+																
+															} else {
+																
+													
+															html +=  '<td class="red"  onclick="colorChange(this);" id="changed"> ' + aulas.join(' \n ') +  '</td> '
+																
+															}
+														}
 
+														html += '</tr>'
+
+														html += '</tbody>'
+											      html += '</table>'
+														html += '</p>'
+															
+													} else {
+														html += '<p>EL DOCENTE NO TIENE DISPONIBILIDAD REGISTRADA</p>'
+													}
+
+											
+													html += `
+														</div>
+																		`
+																			
+												
 		
 		
+	             }
 		
+																				
+							})
+							document.querySelector('#divListaDisponibilidad').innerHTML = html
+						}
+					})
+				
+			}
+			
+			
+			function peticionWith3Parameters(json){
+				
+				$.ajax({
+						url: '../ServletHorario?Accion=listarVistaDobleDisponibilidad',
+						type: 'POST',
+						dataType: 'json',
+						data: {
+							json: JSON.stringify(json)
+						},
+						success: function (data, textStatus, jqXHR) {
+							
+						
+							let html = ''
+							let nTurno =[]
+							let nDia=[]
+							let mensaje='No registrado'
+							data.data.forEach(function (docente) {
+	            if(typeof(docente.celular && docente.distrito)  == "undefined"){
+							
+		                  html +=  '<table>'
+								        html += '<div class="divider"></div>'
+												html +=	'<div class="section">'
+			                        
+															 html +='<h6 id="nombreDocente">' + docente.nombre + '<span></span><span></span><span style="margin-left:650px;font-size:20px;color:#6C7807"><i class="small material-icons" title="Puesto" style="color:black;">grade</i><strong>No registrado</strong></span></h6>'
+															html += '<label id="codDocente" style="visibility:hidden;">' + docente.codDocente + '</label>'
+														
+			                        html += '<tr>'
+																		html += '<p>Celular: No registrado</p>'
+																		html += '<p>Distrito: No registrado</p>'
+																		html += '<p>Direccion: No registrado</p>'
+																		html += '<p>Correo: No registrado</p>'
+																		html += '<p>Zona: No registrado</p>'
+															html += '</tr>'
+																
+																html += '<br>'
+
+
+
+
+													if (docente.disponibilidad) {
+                           
+														let disponibilidad = docente.disponibilidad.split('-') || []
+														let diasM = []
+														let diasT = []
+														let aulasM = []
+														let aulasT = []
+
+														if (docente.arrayAulas) {
+															docente.arrayAulas.forEach(v => {
+																if (v.turno == '1') {
+																	aulasM.push(v)
+																} else if (v.turno == '2') {
+																	aulasT.push(v)
+																}
+															})
+														}
+														
+														let diasin=docente.diasin.split('-') || []
+														let diasMS = []
+														let diasTS = []
+														
+														diasin.forEach(function(b){
+															let nTurnoS = b.split('#')[0]
+															let nDiaS = b.split('#')[1]
+															
+															if (nTurnoS == '1') {
+																diasMS.push(nDiaS)
+															} else if (nTurno == '2') {
+																diasTS.push(nDiaS)
+															}
+																
+														})
+														
+														
+														let bloqueo = docente.bloqueo.split('-') || []
+														let diasMB = []
+														let diasTB = []
+														let aulasMB = []
+														let aulasTB = []
+														
+														 bloqueo.forEach(function(b){
+															let nTurno = b.split('#')[0]
+															let nDia = b.split('#')[1]
+															
+															if (nTurno == '1') {
+																diasMB.push(nDia)
+															} else if (nTurno == '2') {
+																diasTB.push(nDia)
+															}
+																
+														})
+														
+
+														disponibilidad.forEach(function (d) {
+															let turno = d.split('#')[0]
+															let dia = d.split('#')[1]
+
+															if (turno == '1') {
+																diasM.push(dia)
+															} else if (turno == '2') {
+																diasT.push(dia)
+															}
+														})
+
+														html += '<p class="col s12">'
+														html += '<table class="centered" id="tableDisponibilidad">'
+														html += '<thead>'
+														html += '<tr>'
+														html += '<td>TURNO</td>'
+														html += '<td id="dia">LUNES</td>'
+														html += '<td id="dia">MARTES</td>'
+														html += '<td id="dia">MIERCOLES</td>'
+														html += '<td id="dia">JUEVES</td>'
+														html += '<td id="dia">VIERNES</td>'
+														html += '<td id="dia">SABADO</td>'
+														html += '</tr>'
+													html += '</thead>'
+														html += '<tbody>'
+
+
+														html += '<tr>'
+														html += '<td id="turno">M</td>'
+
+														for (let i = 0; i < 6; i++) {
+															let aulas = aulasM.map(a => {
+																if (a.dia == i + 1) {
+																	return a.sede + ' - ' + a.aulas
+																}
+															})
+															
+															if (diasM.some(d => d == (i + 1))) {
+																
+																html += `<td class="green" onclick="colorChange(this);">` + aulas.join(' \n ') + `</td>`
+																
+															} else if(diasMB.some(t => t == ( i + 1))){
+																
+																html += `<td class="blue"  onclick="colorChange(this);" id="changed">` + aulas.join(' \n ') + `</td>`
+																
+															}else if(diasMS.some(r => r == ( i + 1))){
+																
+																html += `<td class="blue"  onclick="colorChange(this);" id="changed">` + aulas.join(' \n ') + `</td>`
+																
+															} else { 
+
+																html += `<td class="red"  onclick="colorChange(this);" id="changed">` + aulas.join(' \n ') + `</td>`
+															}
+														}
+
+
+														html += '</tr>'
+
+														html += '<tr>'
+														html += '<td id="turno">T</td>'
+
+														for (let i = 0; i < 6; i++) {
+															let aulas = aulasT.map(a => {
+																
+																if (a.dia == i + 1) {
+																	return a.sede + ' - ' + a.aulas
+																}
+															})
+															if (diasT.some(d => d == (i + 1))) {
+																
+																html += `<td class="green"  onclick="colorChange(this);">` + aulas.join(' \n ') + `</td>`
+																
+															}else if(diasTB.some( t => t == (i + 1))){
+																
+																html += `<td class="blue"  onclick="colorChange(this);" id="changed">` + aulas.join(' \n ') + `</td>`
+																
+															}else if(diasTS.some(q => q == ( i + 1))){
+																
+																html += `<td class="blue"  onclick="colorChange(this);" id="changed">` + aulas.join(' \n ') + `</td>`
+																
+															} else {
+																
+													
+															html += `<td class="red"  onclick="colorChange(this);" id="changed">` + aulas.join(' \n ') + `</td>`
+																
+															}
+														}
+
+														html += '</tr>'
+
+														html += '</tbody>'
+														html += '</table>'
+														html += '</p>'
+														
+														
+													} else {
+														html += '<p>EL DOCENTE NO TIENE DISPONIBILIDAD REGISTRADA</p>'
+													}
+                          html += `</div>`
+
 	       }else{
 		
-		              	
-									 
 												html +=  '<div class="divider"></div>'
 												html +=	'<div class="section">'
 			                        
-															html +='<h6 id="nombreDocente" style="font-weight:bold;">' + docente.nombre + '<span></span><span></span><span style="margin-left:650px;font-size:25px;color:#6C7807"><img src="../assets/images/puesto_image.png" alt="" height="42" width="42"/><strong>'+docente.puesto+'</strong></span></h6>'
+															html +='<h6 id="nombreDocente" style="font-weight:bold;">' + docente.nombre + '<span></span><span></span><span style="margin-left:650px;font-size:25px;color:#6C7807"><img src="../assets/images/puesto_image.png" alt="Puesto" height="42" width="42"/><strong>'+docente.puesto+'</strong></span></h6>'
 															html += '<label id="codDocente" style="visibility:hidden;">' + docente.codDocente + '</label>'
 																html += '<p>Celular: '+ docente.celular +'</p>'
 																html += '<p>Distrito: '+ docente.distrito +'</p>'
@@ -573,16 +982,17 @@
 												
 		
 		
-	}
+	             }
 		
 																				
 							})
 							document.querySelector('#divListaDisponibilidad').innerHTML = html
 						}
 					})
-				}
-
+				
 			}
+			
+			
 			function colorChange(obj){
 			
 				
@@ -606,8 +1016,8 @@
 					
 				if($(obj).hasClass('blue')){
 					
-					let isBoss2 = confirm("¿Esta seguro de querer desbloquear el dia "+convertirDia(dia) +" ?");
-					if(isBoss2){
+					let question = confirm("¿Esta seguro de querer desbloquear el dia "+convertirDia(dia) +" ?");
+					if(question){
 							 
 			          $.ajax({
 								url:'../ServletHorario?Accion=rollbackDisponibilidad',
@@ -650,9 +1060,9 @@
 				}else{
 					
 						
-						let isBoss = confirm("¿Esta seguro de querer bloquear el dia "+convertirDia(dia) +" ?");
+						let question = confirm("¿Esta seguro de querer bloquear el dia "+convertirDia(dia) +" ?");
 						
-						if(isBoss){
+						if(question){
 							
 							//aqui realizar peticion AJAX
 							$.ajax({
diff --git a/web/vista/vistaTotalConformidad.jsp b/web/vista/vistaTotalConformidad.jsp
new file mode 100644
index 0000000..2626c3e
--- /dev/null
+++ b/web/vista/vistaTotalConformidad.jsp
@@ -0,0 +1,1040 @@
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<%@ include file="validar.jsp" %>
+<!DOCTYPE html>
+<html lang="es">
+	<head>
+		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+		<meta charset="utf-8" />
+		<title>:::SISTEMA DE HORARIOS:::</title>
+
+		<meta name="description" content="overview &amp; stats" />
+		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
+                
+                
+                
+		<link rel="stylesheet" href="../assets/css/bootstrap.css" />
+		<link rel="stylesheet" href="../assets/css/font-awesome.css" />
+                <link rel="stylesheet" href="../assets/css/jquery-ui.css" />
+		<link rel="stylesheet" href="../assets/css/ace-fonts.css" />
+		<link rel="stylesheet" href="../assets/css/ace.css" class="ace-main-stylesheet" id="main-ace-style" />
+		<script src="../assets/js/ace-extra.js"></script>
+           
+                
+        
+		<!-- inline scripts related to this page -->
+
+	</head>
+
+	<body class="no-skin" onLoad="cargar();">
+		<!-- #section:basics/navbar.layout -->
+		<div id="navbar" class="navbar navbar-default">
+			<script type="text/javascript">
+				try{ace.settings.check('navbar' , 'fixed')}catch(e){}
+			</script>
+
+			<div class="navbar-container" id="navbar-container">
+            <%@ include file="banner.jsp" %>
+			</div><!-- /.navbar-container -->
+			<p id="lblUsuario" style="display: none;"><%=usuario!=null?usuario.getCodigoTipoUsuario():""%></p>
+		
+			
+		</div>
+					
+
+		<!-- /section:basics/navbar.layout -->
+		<div class="main-container" id="main-container">
+			<script type="text/javascript">
+				try{ace.settings.check('main-container' , 'fixed')}catch(e){}
+			</script>
+
+			<!-- #section:basics/sidebar -->
+			<div id="sidebar" class="sidebar                  responsive">
+				<script type="text/javascript">
+					try{ace.settings.check('sidebar' , 'fixed')}catch(e){}
+				</script>
+                                <input id="codModulo" type="hidden" value="<%=menu!=null?menu.getCodModulo():""%>">
+                                <input id="codCategoria" type="hidden" value="<%=menu!=null?menu.getCodCategoria():""%>">
+                                <%@ include file="menu.jsp" %>
+				<!-- #section:basics/sidebar.layout.minimize -->
+				<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
+					<i class="ace-icon fa fa-angle-double-left" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
+				</div>
+				<!-- /section:basics/sidebar.layout.minimize -->
+				<script type="text/javascript">
+					try{ace.settings.check('sidebar' , 'collapsed')}catch(e){}
+				</script>
+			</div>
+
+			<!-- /section:basics/sidebar -->
+			<div class="main-content">
+				<div class="main-content-inner">
+					<!-- #section:basics/content.breadcrumbs -->
+					<div class="breadcrumbs" id="breadcrumbs">
+						<script type="text/javascript">
+							try{ace.settings.check('breadcrumbs' , 'fixed')}catch(e){}
+						</script>
+
+						<ul class="breadcrumb">
+							<li>
+								<i class="ace-icon fa fa-home home-icon"></i>
+								<a href="principal.jsp">INICIO</a>
+							</li>
+							<li class="active">CONFORMIDAD</li>
+						</ul><!-- /.breadcrumb -->
+					</div>
+
+					<!-- /section:basics/content.breadcrumbs -->
+					<div class="page-content">
+						
+						<div class="page-header">
+							<h1>
+								Conformidad
+								<small>
+									<i class="ace-icon fa fa-angle-double-right"></i>
+									Reporte
+								</small>
+							</h1>
+						</div><!-- /.page-header -->
+
+						<div class="row">
+							
+                                                    
+                                                    
+                                                    
+                                                    
+                                                    <!-- ----------- CONTENEDOR DE FORMULARIOS--------INI----- -->
+                                               
+                                                    <div class="col-sm-12" style="width:100%; height: 40px;"></div>
+                                             
+                                                    <!-- ----------- CONTENEDOR DE FORMULARIOS--------FIN----- -->
+                                                    
+                                                                     
+                                                    <!-- ::::::::::-ALERTAS-::::::::::::::: -->
+                                                    
+                                                    <div id="dialog-confirm" class="hide">
+                                                        <br>
+                                                            ¿Está seguro de registrar una nueva zona?
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    
+                                                    <div id="dialog-activo" class="hide">
+                                                            ¿Está seguro de activar/desactivar?
+                                                    </div>
+                                                    
+                                                    <div id="dialog-estado" class="hide">
+                                                            ¿Está seguro de cambiar el estado?
+                                                    </div>
+                                                    
+                                                    <div id="dialog-satisfaccion" class="hide">
+                                                        <br>
+                                                        Se registró con éxito.
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-noti1" class="hide">
+                                                        <br>
+                                                        Se actualizó con éxito.
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-confor1" class="hide">
+                                                        <br>
+                                                        ¿Está seguro de actualizar el registro? 
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-confor2" class="hide">
+                                                        <br>
+                                                        ¿Está seguro de inhabilitar la zona?
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-confor3" class="hide">
+                                                        <br>
+                                                        ¿Está seguro de habilitar el área?
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-advertencia1" class="hide">
+                                                        <br>
+                                                        La zona ingresada ya existe.
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-advertencia2" class="hide">
+                                                        <br>
+                                                        No se puede inhabilitar la zona porque tiene una o más sedes asignadas.
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-advertencia3" class="hide">
+                                                        <br>
+                                                        <p>No se puede editar la zona porque tiene una o más sedes asignadas.</p>
+                                                        <div id="listaSedes"></div>
+                                                        <br>
+                                                    </div>
+                                                    <div id="dialog-Alerta2" class="hide">
+                                                        <br>
+                                                        Ocurrió un error en el registro.
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-edit" class="hide">
+                                                        <br>
+                                                        <form id="actualizar" class="formular" method="post">
+                                                            <div id="divFormulario"></div>
+                                                        </form>
+                                                        <br><br>
+                                                    </div>
+                                                    
+                                                    <div id="dialog-cargando" class="hide">
+                                                        <table cellpadding="0" cellspacing="0" width="100%">
+                                                            <tr><td align="center"><img src="imagenes/cargando.gif" border=0></td></tr>
+                                                        </table>
+                                                    </div>
+                                                    
+                                                    
+                                                    
+                                                    <!-- ::::::::::-ALERTAS-::::::::::::::: -->
+                                                    
+                                                    
+						</div><!-- /.row -->
+					</div><!-- /.page-content -->
+				</div>
+			</div><!-- /.main-content -->
+
+			<div class="footer">
+				<%@ include file="footer.jsp" %>
+			</div>
+
+			<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
+				<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
+			</a>
+		</div><!-- /.main-container -->
+
+		<!-- basic scripts -->
+
+		<!--[if !IE]> -->
+		<script type="text/javascript">
+			window.jQuery || document.write("<script src='../assets/js/jquery.js'>"+"<"+"/script>");
+		</script>
+
+		<!-- <![endif]-->
+
+		<!--[if IE]>
+<script type="text/javascript">
+ window.jQuery || document.write("<script src='../assets/js/jquery1x.js'>"+"<"+"/script>");
+</script>
+<![endif]-->
+		<script type="text/javascript">
+			if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.js'>"+"<"+"/script>");
+		</script>
+                <script src="../assets/js/jquery-ui.js"></script>
+		<script src="../assets/js/bootstrap.js"></script>
+
+		<!-- page specific plugin scripts -->
+                <!--<script src="../assets/js/jquery-ui.js"></script>-->
+		<script src="../assets/js/jquery.ui.touch-punch.js"></script>
+
+		<!--[if lte IE 8]>
+		  <script src="../assets/js/excanvas.js"></script>
+		<![endif]-->
+		<script src="../assets/js/jquery-ui.custom.js"></script>
+		<script src="../assets/js/jquery.ui.touch-punch.js"></script>
+		<script src="../assets/js/jquery.easypiechart.js"></script>
+		<script src="../assets/js/jquery.sparkline.js"></script>
+		<script src="../assets/js/flot/jquery.flot.js"></script>
+		<script src="../assets/js/flot/jquery.flot.pie.js"></script>
+		<script src="../assets/js/flot/jquery.flot.resize.js"></script>
+
+		<!-- ace scripts -->
+		<script src="../assets/js/ace/elements.scroller.js"></script>
+		<script src="../assets/js/ace/elements.colorpicker.js"></script>
+		<script src="../assets/js/ace/elements.fileinput.js"></script>
+		<script src="../assets/js/ace/elements.typeahead.js"></script>
+		<script src="../assets/js/ace/elements.wysiwyg.js"></script>
+		<script src="../assets/js/ace/elements.spinner.js"></script>
+		<script src="../assets/js/ace/elements.treeview.js"></script>
+		<script src="../assets/js/ace/elements.wizard.js"></script>
+		<script src="../assets/js/ace/elements.aside.js"></script>
+		<script src="../assets/js/ace/ace.js"></script>
+		<script src="../assets/js/ace/ace.ajax-content.js"></script>
+		<script src="../assets/js/ace/ace.touch-drag.js"></script>
+		<script src="../assets/js/ace/ace.sidebar.js"></script>
+		<script src="../assets/js/ace/ace.sidebar-scroll-1.js"></script>
+		<script src="../assets/js/ace/ace.submenu-hover.js"></script>
+		<script src="../assets/js/ace/ace.widget-box.js"></script>
+		<script src="../assets/js/ace/ace.settings.js"></script>
+		<script src="../assets/js/ace/ace.settings-rtl.js"></script>
+		<script src="../assets/js/ace/ace.settings-skin.js"></script>
+		<script src="../assets/js/ace/ace.widget-on-reload.js"></script>
+		<script src="../assets/js/ace/ace.searchbox-autocomplete.js"></script>
+		<script src="../assets/js/ace/ace.searchbox-autocomplete.js"></script>
+                
+                
+                <link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css"/>
+                <!--<link rel="stylesheet" href="css/template.css" type="text/css"/>-->
+                
+                
+		<!-- inline scripts related to this page -->
+		<script type="text/javascript">
+                        
+			jQuery(function($) {
+				let reg= $("#lblUsuario").text();
+				if(reg === "6"){
+					$("#btnRegistrar").hide();
+					$("#txtZona").prop('disabled','true');
+				}
+                                
+                                
+				//override dialog's title function to allow for HTML titles
+				$.widget("ui.dialog", $.extend({}, $.ui.dialog.prototype, {
+					_title: function(title) {
+						var $title = this.options.title || '&nbsp;'
+						if( ("title_html" in this.options) && this.options.title_html == true )
+							title.html($title);
+						else title.text($title);
+					}
+				}));
+			
+				
+			
+				$( "#id-btn-dialog2" ).on('click', function(e) {//--
+					e.preventDefault();
+                                    $( "#dialog-confirm" ).removeClass('hide').dialog({
+                                        resizable: false,
+                                        modal: true,
+                                        title: "<div class='widget-header'><h4 class='smaller'><i class='ace-icon fa fa-exclamation-triangle red'></i> Empty the recycle bin?</h4></div>",
+                                        title_html: true,
+                                        buttons: [
+                                            {
+                                                html: "<i class='ace-icon fa fa-trash-o bigger-110'></i>&nbsp; Delete all items",
+                                                "class" : "btn btn-danger btn-xs",
+                                                click: function() {
+                                                    $( this ).dialog( "close" );
+                                                }
+                                            }
+                                            ,
+                                            {
+                                                html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; Cancel",
+                                                "class" : "btn btn-xs",
+                                                click: function() {
+                                                    $( this ).dialog( "close" );
+                                                }
+                                            }
+                                        ]
+                                    });
+				});
+                                
+				$('.easy-pie-chart.percentage').each(function(){
+					var $box = $(this).closest('.infobox');
+					var barColor = $(this).data('color') || (!$box.hasClass('infobox-dark') ? $box.css('color') : 'rgba(255,255,255,0.95)');
+					var trackColor = barColor == 'rgba(255,255,255,0.95)' ? 'rgba(255,255,255,0.25)' : '#E2E2E2';
+					var size = parseInt($(this).data('size')) || 50;
+					$(this).easyPieChart({
+						barColor: barColor,
+						trackColor: trackColor,
+						scaleColor: false,
+						lineCap: 'butt',
+						lineWidth: parseInt(size/10),
+						animate: /msie\s*(8|7|6)/.test(navigator.userAgent.toLowerCase()) ? false : 1000,
+						size: size
+					});
+				})
+			
+				$('.sparkline').each(function(){
+					var $box = $(this).closest('.infobox');
+					var barColor = !$box.hasClass('infobox-dark') ? $box.css('color') : '#FFF';
+					$(this).sparkline('html',
+                                                                    {
+                                                                           tagValuesAttribute:'data-values',
+                                                                           type: 'bar',
+                                                                           barColor: barColor ,
+                                                                           chartRangeMin:$(this).data('min') || 0
+                                                                    });
+				});
+			
+			
+			  //flot chart resize plugin, somehow manipulates default browser resize event to optimize it!
+			  //but sometimes it brings up errors with normal resize event handlers
+			  $.resize.throttleWindow = false;
+			
+			  var placeholder = $('#piechart-placeholder').css({'width':'90%' , 'min-height':'150px'});
+			  var data = [
+				{ label: "social networks",  data: 38.7, color: "#68BC31"},
+				{ label: "search engines",  data: 24.5, color: "#2091CF"},
+				{ label: "ad campaigns",  data: 8.2, color: "#AF4E96"},
+				{ label: "direct traffic",  data: 18.6, color: "#DA5430"},
+				{ label: "other",  data: 10, color: "#FEE074"}
+			  ]
+			  function drawPieChart(placeholder, data, position) {
+			 	  $.plot(placeholder, data, {
+					series: {
+						pie: {
+							show: true,
+							tilt:0.8,
+							highlight: {
+								opacity: 0.25
+							},
+							stroke: {
+								color: '#fff',
+								width: 2
+							},
+							startAngle: 2
+						}
+					},
+					legend: {
+						show: true,
+						position: position || "ne", 
+						labelBoxBorderColor: null,
+						margin:[-30,15]
+					}
+					,
+					grid: {
+						hoverable: true,
+						clickable: true
+					}
+				 })
+			 }
+			 drawPieChart(placeholder, data);
+			
+			 /**
+			 we saved the drawing function and the data to redraw with different position later when switching to RTL mode dynamically
+			 so that's not needed actually.
+			 */
+			 placeholder.data('chart', data);
+			 placeholder.data('draw', drawPieChart);
+			
+			
+			  //pie chart tooltip example
+			  var $tooltip = $("<div class='tooltip top in'><div class='tooltip-inner'></div></div>").hide().appendTo('body');
+			  var previousPoint = null;
+			
+			  placeholder.on('plothover', function (event, pos, item) {
+				if(item) {
+					if (previousPoint != item.seriesIndex) {
+						previousPoint = item.seriesIndex;
+						var tip = item.series['label'] + " : " + item.series['percent']+'%';
+						$tooltip.show().children(0).text(tip);
+					}
+					$tooltip.css({top:pos.pageY + 10, left:pos.pageX + 10});
+				} else {
+					$tooltip.hide();
+					previousPoint = null;
+				}
+				
+			 });
+			
+				/////////////////////////////////////
+				$(document).one('ajaxloadstart.page', function(e) {
+					$tooltip.remove();
+				});
+			
+			
+			
+			
+				var d1 = [];
+				for (var i = 0; i < Math.PI * 2; i += 0.5) {
+					d1.push([i, Math.sin(i)]);
+				}
+			
+				var d2 = [];
+				for (var i = 0; i < Math.PI * 2; i += 0.5) {
+					d2.push([i, Math.cos(i)]);
+				}
+			
+				var d3 = [];
+				for (var i = 0; i < Math.PI * 2; i += 0.2) {
+					d3.push([i, Math.tan(i)]);
+				}
+				
+			
+				var sales_charts = $('#sales-charts').css({'width':'100%' , 'height':'220px'});
+				$.plot("#sales-charts", [
+					{ label: "Domains", data: d1 },
+					{ label: "Hosting", data: d2 },
+					{ label: "Services", data: d3 }
+				], {
+					hoverable: true,
+					shadowSize: 0,
+					series: {
+						lines: { show: true },
+						points: { show: true }
+					},
+					xaxis: {
+						tickLength: 0
+					},
+					yaxis: {
+						ticks: 10,
+						min: -2,
+						max: 2,
+						tickDecimals: 3
+					},
+					grid: {
+						backgroundColor: { colors: [ "#fff", "#fff" ] },
+						borderWidth: 1,
+						borderColor:'#555'
+					}
+				});
+			
+			
+				$('#recent-box [data-rel="tooltip"]').tooltip({placement: tooltip_placement});
+				function tooltip_placement(context, source) {
+					var $source = $(source);
+					var $parent = $source.closest('.tab-content')
+					var off1 = $parent.offset();
+					var w1 = $parent.width();
+			
+					var off2 = $source.offset();
+					//var w2 = $source.width();
+			
+					if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
+					return 'left';
+				}
+			
+			
+				$('.dialogs,.comments').ace_scroll({
+					size: 300
+			    });
+				
+				
+				//Android's default browser somehow is confused when tapping on label which will lead to dragging the task
+				//so disable dragging when clicking on label
+				var agent = navigator.userAgent.toLowerCase();
+				if("ontouchstart" in document && /applewebkit/.test(agent) && /android/.test(agent))
+				  $('#tasks').on('touchstart', function(e){
+					var li = $(e.target).closest('#tasks li');
+					if(li.length == 0)return;
+					var label = li.find('label.inline').get(0);
+					if(label == e.target || $.contains(label, e.target)) e.stopImmediatePropagation() ;
+				});
+			
+				$('#tasks').sortable({
+					opacity:0.8,
+					revert:true,
+					forceHelperSize:true,
+					placeholder: 'draggable-placeholder',
+					forcePlaceholderSize:true,
+					tolerance:'pointer',
+					stop: function( event, ui ) {
+						//just for Chrome!!!! so that dropdowns on items don't appear below other items after being moved
+						$(ui.item).css('z-index', 'auto');
+					}
+					}
+				);
+				$('#tasks').disableSelection();
+				$('#tasks input:checkbox').removeAttr('checked').on('click', function(){
+					if(this.checked) $(this).closest('li').addClass('selected');
+					else $(this).closest('li').removeClass('selected');
+				});
+			
+			
+				//show the dropdowns on top or bottom depending on window height and menu position
+				$('#task-tab .dropdown-hover').on('mouseenter', function(e) {
+					var offset = $(this).offset();
+			
+					var $w = $(window)
+					if (offset.top > $w.scrollTop() + $w.innerHeight() - 100) 
+						$(this).addClass('dropup');
+					else $(this).removeClass('dropup');
+				});
+			
+                        
+                        
+			});
+                        
+                    //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+                    
+                        $(document).ready( function() {
+                            jQuery("#registroEncuesta").validationEngine();
+                        });
+                        
+                        function enter(e) {
+                            tecla = (document.all) ? e.keyCode : e.which;
+                            if (tecla==13) validar_registro();
+                        }
+                        
+                        function segundaCarga(){
+                            listarZona();
+                        }
+                        
+                        function listarZona(){ 
+													let name=''
+                            $.ajax({
+                                    type:'POST',
+                                    url:'../ServletZona?Accion=listarZonas',
+                                    data: null,
+                                    beforeSend: function() {
+                                        cargando();
+                                    },success:function(resultado){
+                                        close_carga();
+                                        $('#divListadoZona').html(resultado);
+																				name=$("#lblUsuario").text();
+																				if(name === "6"){
+																					$("#divListadoZona #btnEdicion").hide();
+																					$("#divListadoZona #validaEstadoZona").hide();
+																					$("#divListadoZona #validaEstadoZona2").hide();
+																				}
+																				
+                                    },complete:function(){ 
+                                        $('[data-rel=tooltip]').tooltip();
+                                    }
+                            });
+                        }
+                        
+                        function validar_registro(){
+                            var estado=$('#registroZona').validationEngine('validate');
+                            if(estado){
+                                alerta1();
+                            }
+                        }
+                                
+                        function alerta1(){
+                            $( "#dialog-confirm" ).removeClass('hide').dialog({
+                                resizable: false,
+                                modal: true,
+                                title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>",
+                                //title: "<div class='widget-header' ><h4 class='smaller'><i class='ace-icon fa fa-exclamation-triangle blue'></i> Alerta</h4></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; SI",
+                                        "class" : "btn btn-primary btn-xs",
+                                        click: function() {
+                                            registrarZonas();
+                                        }
+                                    },{
+                                        html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; NO",
+                                        "class" : "btn btn-danger btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" ); 
+                                        }
+                                    }
+                                ]
+                            });
+                        }
+                        
+                        function registrarZonas(){
+                            var Tzona = $("#txtZona").val();
+                            $.ajax({
+                                    type:'POST',
+                                    url:'../ServletZona?Accion=registrarZonas',
+                                    data: 'Tzona='+Tzona,
+                                    beforeSend: function() {
+                                        cargando();
+                                    },success:function(resultado){
+                                        close_carga();
+                                            if(resultado==0){
+                                                advertenciaDuplicado();
+                                            }else if(resultado==1){
+                                                registroCorrecto();
+                                            } 
+                                    },complete:function(){ 
+                                        $("#txtZona").val("");
+                                        listarZona();
+                                    }
+                            });
+                        }
+                        
+                        
+                        function advertenciaDuplicado(){
+                            $( "#dialog-confirm" ).dialog( "close" );
+                            $( "#dialog-advertencia1" ).removeClass('hide').dialog({
+                                resizable: false,
+                                width:300,
+                                modal: true,
+                                title: "<div class='widget-color-orange' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-exclamation-triangle white'></i> <span class='white'>Advertencia</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; ACEPTAR",
+                                        "class" : "btn btn-warning btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" );
+                                        }
+                                    }
+                                ]
+                            });
+                        
+                        }
+                        
+                        function registroCorrecto(){
+                            $( "#dialog-confirm" ).dialog( "close" );
+                            $( "#dialog-satisfaccion" ).removeClass('hide').dialog({
+                                resizable: false,
+                                width: 300,
+                                modal: true,
+                                title: "<div class='widget-color-green' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span></h4></div></div>",
+                                //title: "<div class='widget-header' ><h4 class='smaller'><i class='ace-icon fa fa-exclamation-triangle blue'></i> Alerta</h4></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; ACEPTAR",
+                                        "class" : "btn btn-success btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" );
+                                        }
+                                    }
+                                ]
+                            });
+                        }
+                //--- fin registro --- //         
+                        
+                        function validar_edicion(codigoZona){
+                            $.ajax({
+                                type:'POST',
+                                url:'../ServletZona?Accion=validarCantidadUsoZona',
+                                data: 'codigoZona='+codigoZona,
+                                beforeSend: function() {
+                                    cargando();
+                                },success:function(resultado){
+                                    close_carga();
+                                    if(resultado==1){
+                                        buscarSedesAsignadas(codigoZona);
+//                                        advertenciaValidarEdicion();      
+                                    }else if(resultado==0){
+                                        armarEdicion(codigoZona);
+                                    }
+                                },complete:function(){ 
+
+                                }
+                            });
+                        }
+                        
+                        function buscarSedesAsignadas(codigoZona){
+                            $.ajax({
+                                type:'POST',
+                                url:'../ServletSede?Accion=buscarSedesAsignadas',
+                                data: 'codigoZona='+codigoZona,
+                                beforeSend: function() {
+                                    cargando();
+                                },success:function(resultado){
+                                    close_carga();
+                                   $("#listaSedes").html(resultado);
+                                },complete:function(){ 
+                                    advertenciaValidarEdicion();
+                                }
+                            });
+                        }
+                        
+                        function advertenciaValidarEdicion(){
+                            $( "#dialog-advertencia3" ).removeClass('hide').dialog({
+                                resizable: false,
+                                width:400,
+                                modal: true,
+                                title: "<div class='widget-color-orange' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-exclamation-triangle white'></i> <span class='white'>Advertencia</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; ACEPTAR",
+                                        "class" : "btn btn-warning btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" );
+                                        }
+                                    }
+                                ]
+                            });
+                       }
+                        function armarEdicion(codzona){
+                            $.ajax({
+                                    type:'POST',
+                                    url:'../ServletZona?Accion=armarEdicion',
+                                    data: 'codigoZona='+codzona,
+                                    beforeSend: function() {
+                                        cargando();
+                                    },success:function(resultado){
+                                        close_carga();
+                                        $("#divFormulario").html(resultado);
+                                    },complete:function(){ 
+                                       mostrarFormularioEditar(codzona);
+                                    }
+                            });
+                        }
+                        
+                        function mostrarFormularioEditar(codzona){
+                            $( "#dialog-edit" ).removeClass('hide').dialog({
+                                resizable: false,
+                                width: 500,
+                                height: 300,
+                                modal: true,
+                                title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-pencil white'></i> <span class='white'>Actualización de Zona</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; ACTUALIZAR",
+                                        "class" : "btn btn-primary btn-xs",
+                                        click: function() {
+                                            validar_actualizar(codzona);
+                                        }
+                                    },{
+                                        html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; CANCELAR",
+                                        "class" : "btn btn-danger btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" ); 
+                                        }
+                                    }
+                                ]
+                            });
+                        }
+                        
+                        function validar_actualizar(codzona){
+                            var estado=$('#actualizar').validationEngine('validate');
+                            if(estado){
+                                alertaConformidad1(codzona);
+                            }
+                        }
+                        
+                        
+                        function alertaConformidad1(codzona){
+                            $( "#dialog-edit" ).dialog('close');
+                            $( "#dialog-confor1" ).removeClass('hide').dialog({
+                                resizable: false,
+                                modal: true,
+                                title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; SI",
+                                        "class" : "btn btn-primary btn-xs",
+                                        click: function() {
+                                            actualizar(codzona); 
+                                        }
+                                    },{
+                                        html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; NO",
+                                        "class" : "btn btn-danger btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" ); 
+                                            mostrarFormularioEditar(codzona);
+                                        }
+                                    }
+                                ]
+                            });
+                        }
+                        
+                        
+                        function actualizar(codzona){
+                            var nombreZona=$("#txt_nom").val();
+                            $.ajax({
+                                type:'POST',
+                                url:'../ServletZona?Accion=actualizarZona',
+                                data: 'codigoZona='+codzona+'&nombreZona='+nombreZona,
+                                beforeSend: function() {
+                                    cargando();    
+                                },success:function(resultado){
+                                   close_carga();
+                                   
+                                },complete:function(){ 
+                                    listarZona();
+                                    actualizarOk();
+                                }
+                            });
+                         }
+                        
+                      
+                        function actualizarOk(){
+//                            $( "#dialog-edit" ).dialog( "close" ); 
+                            $( "#dialog-confor1" ).dialog( "close" ); 
+                            $( "#dialog-noti1" ).removeClass('hide').dialog({
+                                resizable: false,
+                                modal: true,
+                                title: "<div class='widget-color-green' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; ACEPTAR",
+                                        "class" : "btn btn-success btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" );
+                                        }
+                                    }
+                                ]
+                            });
+                        }
+                       
+                      
+                        //-------------------------------
+                        
+                        function validar_estado(dato,codigoZona){
+                            $.ajax({
+                                type:'POST',
+                                url:'../ServletZona?Accion=validarCantidadUsoZona',
+                                data: 'codigoZona='+codigoZona,
+                                beforeSend: function() {
+                                    cargando();
+                                },success:function(resultado){
+                                    close_carga();
+                                    if(resultado==1){
+                                        advertencia2();      
+                                    }else if(resultado==0){
+                                        if(dato==0){
+                                            alertaInhabilitar(dato,codigoZona);
+                                        }
+                                        else{
+                                            alertaHabilitar(dato,codigoZona);  
+                                        } 
+                                    }
+                                },complete:function(){ 
+
+                                }
+                            });
+                      }
+                      
+                        function advertencia2(){
+                            $( "#dialog-advertencia2" ).removeClass('hide').dialog({
+                                resizable: false,
+                                width:400,
+                                modal: true,
+                                title: "<div class='widget-color-orange' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-exclamation-triangle white'></i> <span class='white'>Advertencia</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; ACEPTAR",
+                                        "class" : "btn btn-warning btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" );
+                                        }
+                                    }
+                                ]
+                            });
+                       }
+                       
+                      
+                        function alertaInhabilitar(dato,codigoZona){
+                            $( "#dialog-confor2" ).removeClass('hide').dialog({
+                                resizable: false,
+                                modal: true,
+                                title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; SI",
+                                        "class" : "btn btn-primary btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" ); 
+                                            estado(dato,codigoZona);
+                                        }
+                                    },{
+                                        html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; NO",
+                                        "class" : "btn btn-danger btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" ); 
+                                        }
+                                    }
+                                ]
+                            });
+                        }
+                      
+                        function alertaHabilitar(dato,codigoZona){
+                            $( "#dialog-confor3" ).removeClass('hide').dialog({
+                                resizable: false,
+                                modal: true,
+                                title: "<div class='widget-color-blue' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; SI",
+                                        "class" : "btn btn-primary btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" ); 
+                                            estado(dato,codigoZona);
+                                        }
+                                    },{
+                                        html: "<i class='ace-icon fa fa-times bigger-110'></i>&nbsp; ACEPTAR",
+                                        "class" : "btn btn-danger btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" ); 
+                                        }
+                                    }
+                                ]
+                            });
+                        }
+                        
+                        
+                        function estado(dato,codigoZona){
+                            $.ajax({
+                                type:'POST',
+                                url:'../ServletZona?Accion=cambiarEstado',
+                                data: 'dato='+dato+'&codigoZona='+codigoZona,
+                                beforeSend: function() {
+                                    cargando(); 
+                                },success:function(resultado){
+                                    close_carga();
+
+                                },complete:function(){ 
+                                    listarZona();
+                                    cambiarEstadoOk();
+                                }
+                            });
+                        }
+                        
+                        function cambiarEstadoOk(){
+                            $( "#dialog-noti1" ).removeClass('hide').dialog({
+                                resizable: false,
+                                modal: true,
+                                title: "<div class='widget-color-green' ><div class='widget-header white' ><h4 class='smaller' ><i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span></h4></div></div>",
+                                title_html: true,
+                                buttons: [
+                                    {
+                                        html: "<i class='ace-icon fa fa-check bigger-110'></i>&nbsp; ACEPTAR",
+                                        "class" : "btn btn-success btn-xs",
+                                        click: function() {
+                                            $( this ).dialog( "close" );
+                                        }
+                                    }
+                                ]
+                            });
+                        }
+                        
+                        
+                        //-------------------------------
+                        
+                        
+                        function conMayusculas(field) {
+                            field.value = field.value.toUpperCase()
+                        }
+                        
+                        
+                        
+                        
+                        $('input').keypress(function(e){
+                            if(e.which == 13){
+                                return false;
+                            }
+                        });
+                        
+                        function cargando(){
+                            $( "#dialog-cargando" ).removeClass('hide').dialog({
+                                resizable: false,
+                                modal: true,
+                                title: "<div class='widget-header' ><h4 class='smaller'><i class='fa fa-spinner'></i> Cargando...</h4></div>",
+                                title_html: true
+                            });
+                        }
+                        
+                        function close_carga(){
+                            $( "#dialog-cargando" ).dialog( "close" );
+                        }
+                        
+                        
+                        
+                        
+		</script>
+
+		<!-- the following scripts are used in demo only for onpage help and you don't need them -->
+               
+		<link rel="stylesheet" href="../assets/css/ace.onpage-help.css" />
+		<link rel="stylesheet" href="../docs/assets/js/themes/sunburst.css" />
+                
+		<script type="text/javascript"> ace.vars['base'] = '..'; </script>
+		<script src="../assets/js/ace/elements.onpage-help.js"></script>
+		<script src="../assets/js/ace/ace.onpage-help.js"></script>
+		<script src="../docs/assets/js/rainbow.js"></script>
+		<script src="../docs/assets/js/language/generic.js"></script>
+		<script src="../docs/assets/js/language/html.js"></script>
+		<script src="../docs/assets/js/language/css.js"></script>
+		<script src="../docs/assets/js/language/javascript.js"></script>                
+   <script src="js/languages/jquery.validationEngine-es.js" type="text/javascript" charset="utf-8"></script>
+   <script src="js/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
+
+</html>