<%@page import="java.util.*, javax.sql.*, java.sql.*, javax.naming.*, java.text.*, m05bClasses.*,
m05bBD.m05bAsignacion, java.io.PrintWriter, m05bSolicitudReservaEJB.*, m05bBD.m05bSolicitudReserva,
m05bBD.m05bSolicitudReserva_Firma, m05bSolicitudReserva_FirmaEJB.*" %>
<jsp:directive.page import="m05bBD.m05bPersonal"/>
<%@include file="/mantenimientosJSP/includes/m05b.inc"%>
<!-- Para poder mostrar los caracteres especiales en los mensajes javascript -->
<%@page contentType="text/html; charset=UTF-8" %>

<!-- Fecha de creacion: (11/12/03) -->
<% // _______________________________XLNETs______________________________________
   // Evaluar variable de session que indica si esta conectado a XLNets
   if (session.getAttribute("objetoSeguridad") == null) {
		// Verificar que no ha transcurrido el tiempo de sesion (web.xml)%>
			<%@ include file="/m05bControlAcceso.inc"%>
<% }
	String persona = (String) session.getAttribute("persona");
	Object documentoAFirmar = request.getAttribute("pdfFicheroEntDev");

	//Agurtzane Feb12: añadir Rango a la búsqueda
    java.sql.Connection conn=null;
    try
    {
		m05bConexion miConex = new m05bConexion();
		conn=miConex.getConnection();	
	//Fin Agurtzane Feb12: añadir Rango a la búsqueda
%>

<%@ include file="/m05bIdioma.inc"%>

<HTML>

<head>
	<title><%= resTit.getString("titAsignaciones")%></title>

	<link rel="stylesheet" href="<%=m05bConstantesPaginas.PATH_ESTILOS%>/m05bestilos.css" type="text/css">
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
	<META http-equiv="Pragma" content="no-cache">
	<META http-equiv="Control" content="no-cache">
	<META http-equiv="Expires" content="0">

	<script language="javascript1.2" src="<%=m05bConstantesPaginas.PATH_SCRIPTS%>/m05Funciones.js"></script>
	<script language="javascript1.2" src="<%=m05bConstantesPaginas.PATH_SCRIPTS%>/m05Horas.js"></script>
	<script language="javascript1.2" src="<%=m05bConstantesPaginas.PATH_SCRIPTS%>/formateador.js"></script>

	<%
	m05bComun miComun = new m05bComun();
	m05bFileLog miLog = new m05bFileLog();

    miLog.addTraza(persona, "Asignaciones JSP" , "INICIO", m05bConstantes.LOG_NIVEL_BAJO);
	

	//20110908 Iñigo Solicitud Reserva
	boolean vieneDeSolicitud = false;
	boolean solicitudBloqueada = false;
	boolean bolSolTel=false; //Agurtzane Feb12: modificación fecha fin
	
	String codigoSolicitudReserva;
	codigoSolicitudReserva = request.getParameter("CodigoSolicitudReserva")==null?"":request.getParameter("CodigoSolicitudReserva");
	m05bSolicitudReserva solicitudReserva = null;
	if (!codigoSolicitudReserva.equals(""))
	{
		vieneDeSolicitud = true;
		bolSolTel=true; //Agurtzane Feb12: modificación fecha fin
		solicitudBloqueada = request.getParameter("SolicitudBloqueada")==null?false:(request.getParameter("SolicitudBloqueada").equals("1"));
		miLog.addTraza(persona , "Asignaciones JSP", "CodigoSolicitudReserva="+codigoSolicitudReserva, m05bConstantes.LOG_NIVEL_BAJO);

		//Obtenemos la Solicitud de reserva
		try
		{
			//Ya la tenemos en sesión, no hace falta volver a cogerla.
			//m05SolicitudReservaPK primaryKey = new m05SolicitudReservaPK();
			//primaryKey.codSolicitud = new Integer(codigoSolicitudReserva);
			//InitialContext ctx2 = new InitialContext();
			//m05SolicitudReservaHome solicitudReservaEBHome = (m05SolicitudReservaHome) ctx2.lookup("m05SolicitudReserva");
			//m05SolicitudReserva solicitudReservaEB = solicitudReservaEBHome.findByPrimaryKey(primaryKey);
			//m05bSolicitudReserva solicitudReserva = solicitudReservaEB.getSolicitudReserva();
			solicitudReserva = (m05bSolicitudReserva)session.getAttribute("m05bSolicitudReserva");
			session.removeAttribute("m05bSolicitudReserva");
		}
		catch (Exception error)
		{
			PrintWriter outMsg = response.getWriter();
			outMsg.println("<script>alert(dameAlerta(idioma, 272));</script>");
			miLog.addTraza(persona , "Asignaciones JSP ERROR AL OBTENER LA SOLICITUD DE RESERVA" , "CodigoSolicitudReserva="+codigoSolicitudReserva, m05bConstantes.LOG_NIVEL_BAJO);
		}
	}
	//

	m05bCombo miCombo= new m05bCombo();
	m05bCombo miComboR = new m05bCombo();	// Cargo
	m05bDescrip Descrip = new m05bDescrip();
	m05bComun comun = new m05bComun ();

	String clave="", codigo;
	String ediFinalizada="", ediNuevo="", ediHasta="", accion="", mensaje;

	codigo = request.getParameter("Codigo");
	m05bAsignacion asignacion = null;
	if (codigo == null || codigo.equals("NUEVO")) {
		m05bGenerarClave genClave = new m05bGenerarClave();
		clave = genClave.getClave(m05bConstantes.TAB_ASIGNACION,m05bConstantes.COL_01_CODASIG);
		int iClave = Integer.parseInt(clave,10);
		iClave = iClave + 1;
		codigo= "" + iClave;
		accion = m05bConstantes.ACC_INSERTAR;
		session.removeAttribute("m05bAsignacion");
	} else {
		accion = m05bConstantes.ACC_ACTUALIZAR;
		asignacion = (m05bAsignacion)session.getAttribute("m05bAsignacion");
	}
	mensaje = request.getParameter("Mensaje");
	if (mensaje == null)
	    mensaje = "false";
	PrintWriter outMsg = response.getWriter();
	if (mensaje.equals("true")) {
		outMsg.println("<script>alert(dameAlerta(idioma, 3));</script>");
	} else if (mensaje.equals("ERROR")) {
		outMsg.println("<script>alert(dameAlerta(idioma, 57));</script>");
		asignacion = null;
	} else if (mensaje.equals(m05bConstantes.MSG_ERRORENFIRMA)) {
		outMsg.println("<script>alert(dameAlerta(idioma, 278));</script>");
	} else if (mensaje.equals(m05bConstantes.MSG_ELIMINAROK)) {
		outMsg.println("<script>alert(dameAlerta(idioma, 281));</script>");
	}
	//Agurtzane Feb12: avisar si más asignaciones
	else if (mensaje.equals(m05bConstantes.MSG_ASIGPEND)) {
		outMsg.println("<script>alert(dameAlerta(idioma, 282));</script>");
	}
	//Fin Agurtzane Feb12: avisar si más asignaciones
	outMsg.close();

	if (asignacion == null) {
		asignacion = new m05bAsignacion();
		session.setAttribute("m05bAsignacion", asignacion);
	}
	String fsolicitud = "", fdevolucion = "", hdevol = "";
	String fdesde = "", fhasta = "", hdesde = "", hhasta = "";
	String strMensFHDif="", strMensFDDif=""; //Agurtzane Feb12: modificación fecha fin

	if (codigo == null)
		codigo = "";
	if (!codigo.equals("NUEVO")) {
		fdesde = asignacion.getAsi_fdesde();
		if (!(fdesde.equals("")))
			hdesde= comun.Hora(fdesde);
		fhasta = asignacion.getAsi_fhasta();

		if (!(fhasta.equals("")))
			hhasta=comun.Hora(fhasta);
		fdevolucion=asignacion.getAsi_fdevolucion();
		if ((fdevolucion==null)||(fdevolucion.equals("")))
			hdevol="";
		else
			hdevol=comun.Hora(fdevolucion);
	} else {
		fdesde="";
		hdesde="";
		fhasta="";
		hhasta="";
		fdevolucion="";
		hdevol="";
	}

	String Nuevo = request.getParameter("Codigo");
	if (Nuevo == null)
		Nuevo = "";
	boolean bolNuevo = false;
	if (Nuevo == null)
		Nuevo = "";
	if (Nuevo.equals("NUEVO")) {
		bolNuevo = true;
		ediNuevo = "";
		ediHasta = "";
	} else {
		ediNuevo = "disabled";
		ediHasta = "";
		if ((asignacion.getAsi_finalizada() == null)
	   		|| !asignacion.getAsi_finalizada().equals("S")) {
			ediHasta = "";
		}
	}
	if (asignacion.getAsi_finalizada() == null)
		ediFinalizada = "";
	else if (asignacion.getAsi_finalizada().equals("S"))
		ediFinalizada="";

	if (asignacion.getAsi_fsolicitud() != null && asignacion.getAsi_fsolicitud().length() >= 1)
		fsolicitud = comun.Mes(asignacion.getAsi_fsolicitud(),campoTexto3);
	if (asignacion.getAsi_fdesde() != null && asignacion.getAsi_fdesde().length() >= 1){
		fdesde = comun.Mes(asignacion.getAsi_fdesde(),campoTexto3);
	
	}
	if (asignacion.getAsi_fhasta() != null && asignacion.getAsi_fhasta().length() >= 1)
		fhasta = comun.Mes(asignacion.getAsi_fhasta(),campoTexto3);
	if (asignacion.getAsi_fdevolucion() != null && asignacion.getAsi_fdevolucion().length() >= 1)
		fdevolucion = comun.Mes(asignacion.getAsi_fdevolucion(),campoTexto3);
	if (fdevolucion == null)
		fdevolucion = "";


	/*20110921 Iñigo Solicitud Reserva INI*/
	//No viene de solicitud de reserva pero igual tiene una solicitud de reserva asociada
	if (codigoSolicitudReserva == null || codigoSolicitudReserva.equals(""))
	{
		//Miramos a ver si tiene una solicitud existente...
		if (asignacion != null && asignacion.getAsi_codigo() != null && !asignacion.getAsi_codigo().equals(""))
		{
			InitialContext ctxSR = new InitialContext();
			m05SolicitudReservaHome solicitudReservaEBHome = (m05SolicitudReservaHome) ctxSR.lookup("m05SolicitudReserva");
			Collection colSolicitudReservaEB = solicitudReservaEBHome.findByCodAsignacion(Integer.valueOf(asignacion.getAsi_codigo()));
			if (colSolicitudReservaEB != null && colSolicitudReservaEB.size() > 0)
			{
				solicitudReserva = ((m05SolicitudReserva)colSolicitudReservaEB.iterator().next()).getSolicitudReserva();
				bolSolTel=true; //Agurtzane Feb12: modificación fecha fin
			}
		}
	}
    
	if (vieneDeSolicitud)
	{		    
		fdesde = comun.formatearFecha(solicitudReserva.getFechaIni(),campoTexto3);
	
		hdesde = comun.Hora(solicitudReserva.getFechaIni());

		fhasta = comun.formatearFecha(solicitudReserva.getFechaFin(),campoTexto3);
		hhasta = comun.Hora(solicitudReserva.getFechaFin());		
				
	}
	//Agurtzane Feb12: modificación fecha fin
	strMensFHDif="";
	strMensFDDif="";
	miLog.addTraza(persona , "Asignaciones JSP", "Asignación codigo= "+codigo, m05bConstantes.LOG_NIVEL_BAJO);
	if (bolSolTel && !bolNuevo)
	{
		String strFHSol="", strHHSol="", strFHAsig="", strHHAsig="", strFDSol="", strHDSol="", strFDAsig="", strHDAsig="";
		strFDSol = comun.formatearFecha(solicitudReserva.getFechaIni(),campoTexto3);
		strHDSol = comun.Hora(solicitudReserva.getFechaIni());
		strFDAsig = comun.formatearFecha(asignacion.getAsi_fdesde(),campoTexto3);
		strHDAsig = comun.Hora(asignacion.getAsi_fdesde());
		miLog.addTraza(persona , "Asignaciones JSP", "Asignación fdesde="+strFDAsig, m05bConstantes.LOG_NIVEL_BAJO);
		miLog.addTraza(persona , "Asignaciones JSP", "Asignación hdesde="+strHDAsig, m05bConstantes.LOG_NIVEL_BAJO);
		miLog.addTraza(persona , "Asignaciones JSP", "Solicitud fdesde="+strFDSol, m05bConstantes.LOG_NIVEL_BAJO);
		miLog.addTraza(persona , "Asignaciones JSP", "Solicitud hdesde="+strHDSol, m05bConstantes.LOG_NIVEL_BAJO);		
		strFHSol = comun.formatearFecha(solicitudReserva.getFechaFin(),campoTexto3);
		strHHSol = comun.Hora(solicitudReserva.getFechaFin());
		strFHAsig = comun.formatearFecha(asignacion.getAsi_fhasta(),campoTexto3);
		strHHAsig = comun.Hora(asignacion.getAsi_fhasta());
		miLog.addTraza(persona , "Asignaciones JSP", "Asignación fhasta="+strFHAsig, m05bConstantes.LOG_NIVEL_BAJO);
		miLog.addTraza(persona , "Asignaciones JSP", "Asignación hhasta="+strHHAsig, m05bConstantes.LOG_NIVEL_BAJO);
		miLog.addTraza(persona , "Asignaciones JSP", "Solicitud fhasta="+strFHSol, m05bConstantes.LOG_NIVEL_BAJO);
		miLog.addTraza(persona , "Asignaciones JSP", "Solicitud hhasta="+strHHSol, m05bConstantes.LOG_NIVEL_BAJO);
		miLog.addTraza(persona , "Asignaciones JSP", "Solicitud comun.FechaBD(strFSol,strHSol)="+comun.FechaBD(strFHSol,strHHSol), m05bConstantes.LOG_NIVEL_BAJO);
		miLog.addTraza(persona , "Asignaciones JSP", "Asignación comun.FechaBD(strFAsig, strHAsig)="+comun.FechaBD(strFHAsig, strHHAsig), m05bConstantes.LOG_NIVEL_BAJO);
		//if(fhasta.equalsIgnoreCase(comun.formatearFecha(asignacion.getAsi_fhasta())) && hhasta.equalsIgnoreCase(comun.Hora(asignacion.getAsi_fhasta())))
		if(comun.FechaBD(strFHSol,strHHSol).equals(comun.FechaBD(strFHAsig, strHHAsig))) 
			{strMensFHDif="";}else{strMensFHDif=res.getString("etFAsigDifFSol") + " (" + strFHSol + " " + strHHSol.substring(0,5) + ") ";}		
		if(comun.FechaBD(strFDSol,strHDSol).equals(comun.FechaBD(strFDAsig, strHDAsig))) 
			{strMensFDDif="";}else{strMensFDDif=res.getString("etFAsigDifFSol") + " (" + strFDSol + " " + strHDSol.substring(0,5) + ") ";}					
	}
	//Fin Agurtzane Feb12: modificación fecha fin
	
	//Agurtzane Feb12: avisar si más asignaciones
//	if (bolSolTel && bolNuevo)
//	{
//		String strSql="";	
//		java.sql.Connection conn=null;
//	     PreparedStatement pstmt = null;
//	     ResultSet rs = null;
//	     try {    
//	       	m05bConexion miConex = new m05bConexion();
//			conn = miConex.getConnection();
//			strSql ="SELECT ID_SOLICITUD_100 FROM M05100S01 WHERE COD_ASIGNACION_100 IS NULL AND ID_SOLICITUD_100 IN" +
//			" (SELECT ID_SOLICITUD_101 FROM M05101S01 WHERE COD_SOLICITANTE_101="+ 
//			" (SELECT COD_SOLICITANTE_101 FROM M05101S01 WHERE ID_SOLICITUD_101=" + codigoSolicitudReserva + "))";
//	        miLog.addTraza(m05bConstantes.LOG_NO_USER , m05bConstantes.LOG_NO_SRC , "SQL avisar si más asignaciones pendientes: " + strSql, m05bConstantes.LOG_NIVEL_BAJO);
//	        pstmt = conn.prepareStatement(strSql);
//	        rs = pstmt.executeQuery();	
//	        if  (rs.next()) { 				
//	        	outMsg = response.getWriter();
//				outMsg.println("<script>alert(dameAlerta(idioma, 282));</script>");			
//		 	}
//	   	} catch (Exception SQLException) {
//	   		miLog.addTraza(SQLException);
//		} finally {
//			if (rs != null)
//	        	rs.close();
//			if (pstmt != null)
//	        	pstmt.close();
//	              if (conn != null)
//	      	        conn.close();
//	      	}	      				
//	}
	//Fin Agurtzane Feb12: avisar si más asignaciones
	 
	/*20110921 Iñigo Solicitud Reserva FIN*/

	%>

	<script language="JavaScript">
	var form = "formAsignaciones";
	var buscar = false;
	var Nuevo = <%=bolNuevo%>;
	var asig = false;
	var edi = "disabled";
	var edi2 = "<%=ediFinalizada%>";
	var isPosSave = true;
	var matriculaIni = '<%=asignacion.getAsi_matricula()%>';

	function fncEliminar(codigo, accion, bVieneDeSolicitud, accionFirma) {
		if (confirm('¿Desea eliminar permanentemente la asignación actual?')) {
			document.formAsignaciones.action="m05bGrabarAsignacionServlet?Codigo=" + document.formAsignaciones.NSolicitud.value + "&Accion=" + accion;
		    document.formAsignaciones.submit();
		} else {
			return false;
		}
	}

	function fncNonSave() {
		if (!Nuevo) {
			//Solamente si cumple:
			//	- No esté en ALTA asignación
			//  - Que la matrícula se haya modificado y no sea la misma que la que inicio la modificación.
			//	  Porque si es la misma, ya no tengo que comprobar que esté libre el coche
			if(matriculaIni.toUpperCase()==document.formAsignaciones.Matricula.value.toUpperCase()) {
		    	isPosSave = false;
		    }
		}
	}

	if (edi == edi2) {
		buscar = true;
	}

	function fncTratarFoco() {
		if (Nuevo) {
			//Asignación Nueva
			ponerHora();
		} else {
			if (buscar == true) {
				// Asignación devuelta
				// document.formAsignaciones.Modelo.focus();
				// document.formAsignaciones.Modelo.select();
			} else {
				// Asignación no devuelta
				document.formAsignaciones.FDevolucion.focus();
				document.formAsignaciones.FDevolucion.select();
			}
		}
	}

	/*
	function fncCochesLibresHoy(){
		var propiedades="left=50,top=100,width=700,height=550,scrollbars=yes";
		var url ="m05bCochesLibresHoyJsp.jsp";
		window.open(url,"CochesLibres",propiedades);
	}  // Fin funcion fncCochesLibresHoy
	*/

	function ponerHora() {
		var Hoy = new Date();
		dia = Hoy.getDate();
		mes = Hoy.getMonth();
		mes++;
		ano = Hoy.getYear();
		horas = Hoy.getHours();
		minutos = Hoy.getMinutes();
		Hor = horas + ":";
		if (minutos < 10) {
			Hor = Hor + "0" + minutos;
		} else {
			Hor = Hor + minutos;
		}
		if(idioma=="es")
			document.formAsignaciones.FSolicitud.value = dia + "/" + mes + "/" + ano;
		else
			document.formAsignaciones.FSolicitud.value = ano + "/" + mes + "/" + dia;
		if (!<%=vieneDeSolicitud%>) {
		
			if(idioma=="es")
			document.formAsignaciones.Desde.value = dia + "/" + mes + "/" + ano;
			else
			document.formAsignaciones.Desde.value = ano + "/" + mes + "/" + dia;
	        document.formAsignaciones.HoraDesde.value=Hor;
        }
		document.formAsignaciones.Hasta.focus();
	}  // Fin funcion ponerHora

	function fncCochesLibres() {
		var docu=document.formAsignaciones;
	    var permanente = "N";
	    if (docu.AsigPermanente.checked == true) {
			permanente = "S";
		}
		if (esVacio(docu.Desde.value) || esVacio(docu.HoraDesde.value)) {
	    	alert(dameAlerta(idioma, 217));
	        return false;
		}
	    if (esVacio (docu.Hasta.value) || esVacio(docu.HoraHasta.value)) {
	    	alert(dameAlerta(idioma, 218));
	        return false;
		}
	    if (esVacio(docu.Rango.value)) {
			alert(dameAlerta(idioma, 168));
	        return false;
		}
	    if (comparaFechas(docu.Desde.value, docu.Hasta.value)) {
	    	if (FechasIguales(docu.Desde.value, docu.Hasta.value)) {
	        	if (ComparaHoras(docu.HoraDesde.value,docu.HoraHasta.value) == false) {
	            	alert(dameAlerta(idioma, 171));
	                docu.HoraDesde.focus();
	                return false;
                }
			}
		}
		else {
	    	alert(dameAlerta(idioma, 172));
	    	return false;
		}
        var propiedades="left=50,top=100,width=700,height=550,scrollbars=yes";
        var url ="m05bCochesLibresJsp.jsp?Rango="+docu.Rango.value+"&Desde="+docu.Desde.value;
        var url =url+"&Hasta="+docu.Hasta.value+"&HoraDesde="+docu.HoraDesde.value+"&HoraHasta="+docu.HoraHasta.value;
        var url =url+"&DescRango="+docu.Rango.options[docu.Rango.selectedIndex].text;
        var url =url+"&Perm="+permanente;
		//docu.DescRango.value=docu.Rango.options[docu.Rango.selectedIndex].text;
        window.open(url,"CochesLibres",propiedades);

	} // Fin funcion fncCochesLibres

    function fncNuevo(clave) {
        document.formAsignaciones.action="m05bAsignacionesJsp.jsp?Codigo=NUEVO&Clave="+clave;
        document.formAsignaciones.submit();
    }

    function fncEntregaDevolucion() {
    	var docu = document.formAsignaciones;
    	docu.NSolicitud.disabled = false;
     	docu.Matricula.disabled = false;
    	docu.Nombre.disabled = false;
    	docu.Comentarios.disabled = false;
        docu.action = "m05bAsigPDFEntDevJsp.jsp";
		//docu.action = "m05bImpEntDevServlet?Matricula=" + document.formAsignaciones.Matricula.value;
		docu.submit();
	}

	function fncDecreto() {
    	var docu = document.formAsignaciones;
     	docu.Matricula.disabled = false;
    	docu.Nombre.disabled = false;
    	docu.CodDpto.disabled = false;
    	docu.CodCargo.disabled = false;
    	docu.NSolicitud.disabled = false;
        docu.action = "m05bAsigPDFDecretoJsp.jsp";
        //document.formAsignaciones.action = "m05bImpDecretoServlet?Matricula=" + docu.Matricula.value;
        docu.submit();
    }

    function fncActaDev() {
		document.formAsignaciones.Matricula.disabled = false;
    	document.formAsignaciones.Nombre.disabled = false;
    	document.formAsignaciones.NSolicitud.disabled = false;
        document.formAsignaciones.action = "m05bAsigPDFRevocarJsp.jsp?Acta=true";
        //document.formAsignaciones.action = "m05bImpActaDevServlet?Matricula=" + document.formAsignaciones.Matricula.value;
        document.formAsignaciones.submit();
    }

    function fncGastos() {
    	var docu = document.formAsignaciones;
        var propiedad="left=50,top=50,width=700,height=550,scrollbars=yes";
        var final = "N";
        if (document.formAsignaciones.Finalizada.checked == true) {
			final = "S";
        }
        var ventanaGas ="m05bRelGastosJsp.jsp?Matricula=" + document.formAsignaciones.Matricula.value + "&Finalizada=" + final;
        var rango = docu.Rango.value;
        if ( rango.substring(0,1) == "C") {
			window.open(ventanaGas, '', propiedad);
        }
        else {
			alert(dameAlerta(idioma, 166));
        }
    }  // Fin fncGastos

    function fncGrabar(codigo, accion, bVieneDeSolicitud, accionFirma) {
		//Lo ejecuto siempre antes de hacer nada (solo tendrá efecto posible 
		//cuando no estemos en el alta)
		var docu = document.formAsignaciones;
        //if (docu.Dni.value.length < 8) {
        //	var msg = "Este Dni menor de 8 cifras es correcto?";
       	//	alert(dameAlerta(idioma, 26));
		//  if (!confirm (msg)){  	
		//		docu.Dni.focus();
		//		return false;
		//	}
		//}
		if(docu.dniIncorrecto.value == "si") {
			alert(dameAlerta(idioma, 223));
		    docu.Dni.focus();
			return false;
		}

        fncNonSave();

		if (docu.AsigPermanente.checked == true) {
			docu.AsigPermanenteVar.value = "S";
        } else {
        	docu.AsigPermanenteVar.value = "N";
		}
        var skLleg = trimPointers(docu.Kmllegada.value);
		var kLleg = parseInt(skLleg,10);
		var skSal = trimPointers(docu.Kmsalida.value);
		var kSal = parseInt(skSal,10);
        if (esVacio(docu.Desde.value) || esVacio(docu.HoraDesde.value)) {
			alert(dameAlerta(idioma, 167));
			return false;
		}else {
			/*20140411 - INIGO*/
			//var horasarray=docu.HoraDesde.value.split(":");
			//var hora=parseInt(horasarray[0],10);
			//var minutos=parseInt(horasarray[1],10);
			//if(hora<8 || hora>14 ||(hora==14 && minutos>30)){
			//	alert(dameAlerta(idioma, 287));
			//	return false;
			//}
			/**/
		}
		/*if ((!(esVacio(docu.FDevolucion.value))) && (docu.FDevolucion.value != formatoFechasConBarra("<%=fdevolucion%>")))         
		  {
          	if ((!(esVacio(document.formAsignaciones.Kmsalida.value))) && (!(esVacio(document.formAsignaciones.Kmllegada.value)))){
            fncCambiaLlegada(document.formAsignaciones.Kmllegada);
          }
        }*/
		if (esVacio (docu.Hasta.value) || esVacio(docu.HoraHasta.value)) {
			alert(dameAlerta(idioma, 167));
		    return false;
		}
		else{
			/*20140411 - INIGO*/
			//var horasarray=docu.HoraHasta.value.split(":");
			//var hora=parseInt(horasarray[0],10);
			//var minutos=parseInt(horasarray[1],10);
			//if(hora<8 || hora>14 ||(hora==14 && minutos>30)){
			//	if(!confirm(dameAlerta(idioma, 288)))
			//	return false;
			//}
			/**/
		}
		if (esVacio(docu.Rango.value)) {
			alert(dameAlerta(idioma, 168));
		    return false;
		}
		if (esVacio(docu.Matricula.value)) {
			alert(dameAlerta(idioma, 169));
		    return false;
        }
		if (esVacio(docu.Dni.value)) {
			alert(dameAlerta(idioma, 170));
		    return false;
		}

		if (comparaFechas(docu.Desde.value,docu.Hasta.value)) {
			if (FechasIguales(docu.Desde.value,docu.Hasta.value)) {

				if (ComparaHoras(docu.HoraDesde.value,docu.HoraHasta.value)==false) {
					alert(dameAlerta(idioma, 171));
			        if(docu.HoraDesde.disabled==false)
			        	docu.HoraDesde.focus();
			        return false;
				}
			}   
		} else {
		   	alert(dameAlerta(idioma, 172));
			return false;
		}

		if (accion == "R") {
			var rdo = window.showModalDialog("/parquemovil/revocar.htm",docu.KmAct.value,"status:no;center:yes;help:no;minimize:no;maximize:no;border:thin;statusbar:no;dialogWidth:400px;dialogHeight:150px");
			if (rdo != -1) {	
				docu.Kmllegada.value=rdo;
				docu.Kmlleg.value=trimPointers(rdo);		              	  	
              	kmRecorridos();
			} else {
				return false;
			}
		} else if ( (!(Nuevo)) && (accion != "R")
					&& ((esVacio(docu.FDevolucion.value)) || (esVacio(docu.HoraDevol.value))) &&
						( ( docu.Kmllegada.value != 0) || (document.formAsignaciones.Finalizada.checked==true)) ) {
			alert(dameAlerta(idioma, 173));
			return false;
		} else if ( (!(Nuevo)) && (accion != "R")
					&& ((!(esVacio(docu.FDevolucion.value))) || (!(esVacio(docu.HoraDevol.value)))) &&
						 (( docu.Kmllegada.value == null) || ( docu.Kmllegada.value == "")) )  {
			alert(dameAlerta(idioma, 260));
			return false;
		} else if ( (!(Nuevo)) && (!(esVacio(docu.FDevolucion.value))) ) {
			if (comparaFechas(docu.Desde.value,docu.FDevolucion.value)) {
		    	if (FechasIguales(docu.Desde.value,docu.FDevolucion.value)) {
		        	if (ComparaHoras(docu.HoraDesde.value,docu.HoraDevol.value)==false) {
			        	alert(dameAlerta(idioma, 174));
			            docu.HoraDevol.focus();
			            return false;
					}
				}

			} else {
				alert(dameAlerta(idioma, 175));
				return false;
			}
	        /*if (!(comparaFechas(docu.FKmAct.value, docu.FDevolucion.value )) ) {
	            var msge = dameAlerta(idioma, 176);
	            msge.replace("replace1", docu.FDevolucion.value);
	            msge.replace("replace2", docu.FKmAct.value);
	            alert(msge);
	            return false;
	        }
			if ( (!(Nuevo)) && (kLleg < kSal ) ){ 
	            alert(dameAlerta(idioma, 177));
				return false;
			}*/
		}

		if(existeCaracter(docu.Dni.value,"\'")||existeCaracter(docu.Dni.value,'\"')) {
   			alert(dameAlerta(idioma, 1));
   			docu.Dni.focus();
   			return;
   		}
   		if(existeCaracter(docu.Nombre.value,"\'")||existeCaracter(docu.Nombre.value,'\"')) {
   			alert(dameAlerta(idioma, 1));
   			docu.Nombre.focus();
   			return;
   		}

   		//20110909 Iñigo Solicitud de Reserva
   		if(bVieneDeSolicitud) {

        	docu.CodCargo.value = docu.Cargo.value
        	docu.RangPer.value = docu.Rang.value;

   			//Obligatorios RangoPersona DepartamentoPersona
			if (esVacio(docu.Rang.value)) {
				alert(dameAlerta(idioma, 276));
				return false;
	        }
	        if (esVacio(docu.CodDpto.value)) {
				alert(dameAlerta(idioma, 277));
				return false;
	        }
   		}
   		//

   		//Solamente si estamos en NO nuevo y si ha cambiado el valor de matrícula
   		//o Si estamos en NUEVO
   		//Se ejecutará la validación
   		if(isPosSave) {
   			fncCambiaMatricula(docu.Matricula.value);
   		} else {
     		//en NO nuevo y no ha cambiado el valor de la matrícula
     		grabacion("S", accionFirma);
     	}

	}   // Fin fncGrabar

	function grabacion(valor, accionFirma) {
		var docu=document.formAsignaciones;
		if(valor == 'S') {
			if(fncCambiaDpto()){
			fncHabilitarMenosCampo(formAsignaciones, "");
			formatearFecha(docu.Desde);
			formatearFecha(docu.Hasta);
			formatearFecha(docu.FDevolucion);
	        formatearFecha(docu.FSolicitud);
		    document.formAsignaciones.action="m05bGrabarAsignacionServlet?Codigo=" + docu.NSolicitud.value + "&Accion=" + '<%=accion%>';

		    /*20110921 Iñigo Solicitud Reserva INI*/
		    <%if (vieneDeSolicitud) {%>
				document.formAsignaciones.action+="&IdSolicitud=<%=solicitudReserva.getIdSolicitud()%>";
				document.formAsignaciones.action+="&SolicitudBloqueada=<%=solicitudBloqueada?"1":"0"%>";
		    <%}%>

		    if (accionFirma == '<%=m05bConstantes.ACC_GUARDAREINICIARFIRMARENTREGA%>'
				|| accionFirma == '<%=m05bConstantes.ACC_GUARDAREINICIARFIRMARDEVOLUCION%>') {
				document.formAsignaciones.action+="&Matricula=" + document.formAsignaciones.Matricula.value;
				document.formAsignaciones.action+="&AccionFirma=" + accionFirma;
				document.formAsignaciones.action+="&ObtenerFichero=1";
			}
			/*20110921 Iñigo Solicitud Reserva FIN*/

	        //Deshabilitar campos modelo, color...
	        docu.Color.disabled=false;
	        docu.Modelo.disabled=false;
	        docu.Marca.disabled=false;
	        document.formAsignaciones.submit();
			}
			else{
				alert(dameAlerta(idioma, 100));
			}
		} else {
			alert(dameAlerta(idioma, 256));
		}
	}

	function fncBusAsig() {
		var docu=document.formAsignaciones;
		if (asig==false){
			docu.reset();
			Habilita();
			desHabilita();
			limpiaCampos();
			alert(dameAlerta(idioma, 181));
			buscar=false;
			asig=true;
		} else {
			docu.action="m05bRelAsignacionesJsp.jsp";
			docu.target="_top";
			docu.submit();
		}
	} // Fin fncBusAsig

    function fncDni() {
		var docu=document.formAsignaciones;
		if(docu.Dni.value == "")
			return false;
		if(existeCaracter(docu.Dni.value,"\'")||existeCaracter(docu.Dni.value,'\"')) {
     		alert(dameAlerta(idioma, 1));
     		docu.Dni.focus();
     		return;
		}
		if (docu.Dni.value.length > 8) {
			var urlIframe="m05bAsigFrameJsp.jsp?Recargar=Dni&Dni="+docu.Dni.value;
			var objIframe = window.frames['cargar'];
			objIframe.document.location.replace(urlIframe);
		} else {
			window.focus();
			var v = fncBuscarPersonas(formAsignaciones);
			v.focus();
		}
	}  // Fin funcion fncDni

	function fncPendientes () {
		var docu=document.formAsignaciones;
        docu.action="m05bAsigPendientesJsp.jsp?Tipo=N&Rango=";
        docu.target="_top";
        docu.submit();
	} // Fin funcion fncPendientes

	/*
	function fncMatricula() {
       var docu=document.formAsignaciones;
       docu.esMatricValid.value="";
       if(fncCambiaMatricula(docu.Matricula.value)==false){
       		docu.Matricula.value="";
       		return;
       }
    } // Fin funcion fncMatricula
    */

	function fncCancelar() {
		var docu=document.formAsignaciones;
	    docu.action="m05bMenu_c.jsp";
	    docu.target="_top";
	    docu.submit();
	} // Fin fncCancelar

	function fncCambiaDpto() {
           var cmbDpto=document.all("CodDpto");
           var index = cmbDpto.selectedIndex;
           if(index==-1)
        	   return false;
           else{
				document.formAsignaciones.DescDpto.value=cmbDpto.item(index).innerHTML;
				return true;
           }
	} // Fin fncCambiaDpto

	function fncCambiaLlegada(campo,tipo) {
		document.formAsignaciones.Kmlleg.value=trimPointers(document.formAsignaciones.Kmllegada.value);
		document.formAsignaciones.Kmsal.value = trimPointers(document.formAsignaciones.Kmsalida.value);
		document.formAsignaciones.KmAct.value = trimPointers(document.formAsignaciones.KmAct.value);
		if (document.formAsignaciones.Kmllegada.value==""){
     			document.formAsignaciones.Kmrecorridos.value="";
		}
		if (tipo == "1" ) {
			if(formatNumero(campo)) {
				if(kmRecorridos())
					return true;
			}
		} else {
			if(formatearFecha(campo)) {
				if(kmRecorridos())
					return true;
			}
		}				
		return false;
	}

	function fncCambiaInicio(campo, tipo) {
		document.formAsignaciones.Kmlleg.value = trimPointers(document.formAsignaciones.Kmllegada.value);
		document.formAsignaciones.Kmsal.value = trimPointers(document.formAsignaciones.Kmsalida.value);
		document.formAsignaciones.KmAct.value = trimPointers(document.formAsignaciones.KmAct.value);
		if (tipo == "1" ) {
			if(formatNumero(campo)) {
				if(kmRecorridosIni())
					return true;
			}
		} else {
			if(formatearFecha(campo)) {
				if(kmRecorridosIni())
					return true;
			}
		}								
	}

	function fncMatricula() {
		var docu=document.formAsignaciones;
		if(existeCaracter(docu.Matricula.value,"\'")||existeCaracter(docu.Matricula.value,'\"')) {
			alert(dameAlerta(idioma, 1));
			docu.Matricula.focus();
			return;
		}
		var permanente = "N";
		if (docu.AsigPermanente.checked==true) {
			permanente = "S";
		}
		if (docu.Rango.value == "") {
			alert(dameAlerta(idioma, 168));
			borraMatricula();
		} else if (docu.Matricula.value == "") {
			docu.Color.value = "";
		    docu.Marca.value = "";
		    docu.Modelo.value = "";
		    docu.Kmsalida.value = "";
		    docu.Kmsal.value = "";
		    docu.Kmrecorridos.value = "";
		} else if (docu.Matricula.value != "") {
			var urlIframe="m05bAsigFrameCompMatJsp.jsp?Matricula="+docu.Matricula.value;
			var objIframe = window.frames['cargar'];
			objIframe.document.location.replace(urlIframe);
		}
	} // Fin funcion fncMatricula

	function fncCambiaMatricula(valor) {
        if(valor == "")
        	return false;

        var docu=document.formAsignaciones;
        var permanente = "N";
        if (docu.AsigPermanente.checked == true) {
			permanente = "S";
        }
   
		var propiedades="left=350,top=300,width=250,height=50,scrollbars=yes";
        var url ="m05bCompruebaCochesLibresJsp.jsp?Rango="+docu.Rango.value+"&Desde="+docu.Desde.value;
        var url =url+"&Hasta="+docu.Hasta.value+"&HoraDesde="+docu.HoraDesde.value+"&HoraHasta="+docu.HoraHasta.value;
        var url =url+"&DescRango="+docu.Rango.options[docu.Rango.selectedIndex].text;
        var url =url+"&Perm="+permanente;
		var url =url+"&matriculaAsig="+valor;
		window.open(url,"CambiaMatricula",propiedades);
		return true;
	} // Fin funcion fncCochesLibres

	var CurrentObj;
	</script>

</head>

<BODY style="cursor: wait" onKeyPress="return cancelaEnter();"  onLoad="javascript:document.body.style.cursor='default';fncTratarFoco();InitMenu();mostrarAltaModificacionUsuario(<%=vieneDeSolicitud%>);comprobarFirma();return false;" onunload="document.body.style.cursor='wait';">

<div id='p01popUpWindowCalendar' style='position:relative; top:15px left:150px'></div>
<%--
<div id='divCargando' name='divCargando' style='position:relative; top:300px left:250px; height:219px; width:282px; vertical-align:middle; text-align:center; margin: 3px 0px 0px 0px; visibility: hidden;'>HOLA ESTOY CARGANDO...</div>
    <img alt="" name="ImgEspera" id="ImgEspera" src="<%=m05bConstantesPaginas.PATH_IMAGENES%>/cargando2.gif" height="32" width="32" style="margin: 100px 0px 0px 0px;" />
    <br />
	<label id="etCargando" style="font:caption;"><%=res.getString("etCARGANDO")%></label>
</div>
--%>

	<SCRIPT language=JavaScript>
		var urlIdioma;		//URL recarga en funcion del idioma
		var rutaCabecera;	//Camino de migas
		var detActual;		//Ventana actual
		urlIdioma = "/m05bParqueMovilWar/m05bAsignacionesJsp.jsp?Codigo=NUEVO&Clave=<%=codigo%>";
		//urlIdioma = "<%//=m05bConstantesPaginas.MTO_REL_AVISOS%>";
		detActual = '<%=resCM.getString("cmAsignaciones")%>';
		rutaCabecera="";
		//rutaCabecera = "<%=m05bConstantesPaginas.DATOS_CABECERA%>" + urlIdioma + "'>\\"+detActual+"</a>";
	</SCRIPT>

	<%@ include file="/mantenimientosJSP/includes/m05Cabecera_c.jsp"%>
<p>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0" align="center">
	<tr><td colspan=3></td></tr>
	<tr valign="top">
		<td width="2%">
			<DIV ID="thessm" style="visibility:hidden;Position : Absolute ;Left : 0 ;Top : 80 ;Z-Index : 20;">
	      		<DIV ID="thessm2" style="Position : Absolute ;Left : (-150) ;Top : 0 ;Z-Index : 20;">
	            	<%@ include file="/m05bMenuInicial.inc"%>
				</DIV>
			</DIV>
		</td>
		<td>&nbsp</td>
		<td width="98%">
			<!--DIV ID="Dpto" style="Position : Absolute ;Left : 0 ;Top : 80 ; Z-Index : 10;"-->
			<FORM NAME="formAsignaciones" METHOD="POST" TARGET="_top">
				<input type="hidden" name="dniIncorrecto" value="">
					<!-- Botonera -->
						<TABLE class="general">
						    <tr>
								<%if ( (mensaje.equals("buscar")) && (asignacion.getAsi_finalizada().equals("S"))) {  %>
							    <td width="30%" align="right">
							    	<input type="button" class="botonAsig" name="<%= res.getString("etBOT_RETORNAR")%>" value="<%= res.getString("etBOT_RETORNAR")%>" ONCLICK="JavaScript:history.back();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSRETORNAR")%>'; return false" onMouseOut="top.status=''; return false" />
							    </td>
								<%} else if (mensaje.equals("buscar")) { %>
					    			<td width="20%" align="right">
					    				<input type="button" class="botonAsig" name="<%= res.getString("etBOT_RETORNAR")%>" value="<%= res.getString("etBOT_RETORNAR")%>" ONCLICK="JavaScript:history.back();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSRETORNAR")%>'; return false" onMouseOut="top.status=''; return false" />
					    			</td>
							  	<%}%>
						      		<td align="right"> 
						      			<input type="button" class="botonAsig" name="<%= res.getString("etBOT_NUEVO")%>" value="<%= res.getString("etBOT_NUEVO")%>" ONCLICK="JavaScript:fncNuevo(<%=codigo%>);return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSNUEVO")%>'; return false" onMouseOut="top.status=''; return false" />
						      		</td>
						      	<%if (!bolNuevo) { %>
						      		<td width="10%" align="right"> 
						      			<input type="button" class="boton" name="<%= res.getString("etBOT_ENTDEV")%>" value="<%= res.getString("etBOT_ENTDEV")%>" ONCLICK="JavaScript:fncEntregaDevolucion();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSENTDEV")%>'; return false" onMouseOut="top.status=''; return false" />
						      		</td>
									<%if (asignacion.getAsi_finalizada().equals("S")) { %>
										<td width="10%" align="right">
								      		<input type="button" class="boton" name="<%= res.getString("etBOT_ACTADEV")%>" value="<%= res.getString("etBOT_ACTADEV")%>" ONCLICK="JavaScript:fncActaDev();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSACTADEV")%>'; return false" onMouseOut="top.status=''; return false" />
							      		</td>
								    <%} else {%>
	                                    <%
	                                    //java.sql.Connection conn=null;
				                        PreparedStatement pstmt = null;
				                        ResultSet rs = null;
	    	                            try {    
		                                	//m05bConexion miConex = new m05bConexion();
											//conn = miConex.getConnection();
				                            String sSentencia=" SELECT  1 "+
										                      " FROM " + m05bConstantes.TAB_ASIGNACION +
		                                                      " WHERE " + m05bConstantes.COL_01_CODASIG+"='"+codigo+
		                                    				  "' AND "+m05bConstantes.COL_01_DECRETO+"='N'";
	    	                                miLog.addTraza(m05bConstantes.LOG_NO_USER , m05bConstantes.LOG_NO_SRC , "sSentencia: " + sSentencia, m05bConstantes.LOG_NIVEL_BAJO);
				                            pstmt = conn.prepareStatement(sSentencia);
						                    rs = pstmt.executeQuery();	%>
				                            <% if  (rs.next() == true) { %>
										    <td width="10%" align="right"> 
										    	<input type="button" class="boton" name="<%= res.getString("etBOT_ACTADECRETO")%>" value="<%= res.getString("etBOT_ACTADECRETO")%>" ONCLICK="JavaScript:fncDecreto();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSACTADECRETO")%>'; return false" onMouseOut="top.status=''; return false" />
										    </td>
										 	<%}%>
			                         	<%} catch (Exception SQLException) {
					                      	miLog.addTraza(SQLException);
										} finally {
											if (rs != null)
									        	rs.close();
											if (pstmt != null)
									        	pstmt.close();
							                //if (conn != null) conn.close();
							        	}
									}%>
																		
									
									<td width="10%" align="right"> 
								    	<input type="button" class="botonAsig" name="<%= res.getString("etBOT_GASTOS")%>" value="<%= res.getString("etBOT_GASTOS")%>" ONCLICK="javascript:fncGastos();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSGASTOS")%>'; return false" onMouseOut="top.status=''; return false" />
								    </td>
									
									<%if (asignacion.getAsi_finalizada().equals("N")) { %>
							      		<td width="10%" align="right"> 
							      			<input type="button" class="botonAsig" name="<%= res.getString("etBOT_REVOCAR")%>" value="<%= res.getString("etBOT_REVOCAR")%>" ONCLICK="JavaScript:fncGrabar(NSolicitud.value, '<%=m05bConstantes.ACC_REVOCAR%>', <%=vieneDeSolicitud%>, '');return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSREVOCAR")%>'; return false" onMouseOut="top.status=''; return false" />
							      		</td>
							    	<%}
							    	
							    	if (asignacion.getAsi_finalizada().equals("N")
							    		&& asignacion.getAsi_entrega().equals("N")) {

										//java.sql.Connection conn = null;
				                        PreparedStatement pstmt = null;
				                        ResultSet rs = null;
	    	                            try {    
		                                	//m05bConexion miConex = new m05bConexion();
											//conn = miConex.getConnection();
				                            String sSentencia=" select 1 from DETALLE_SOLICITUD " +
										                      " where ESTADO_102 = 'REC' " +
										                      " and COD_ASIGNACION_100 = " + codigo;
	    	                                miLog.addTraza(m05bConstantes.LOG_NO_USER , m05bConstantes.LOG_NO_SRC , "sSentencia: " + sSentencia, m05bConstantes.LOG_NIVEL_BAJO);
				                            pstmt = conn.prepareStatement(sSentencia);
						                    rs = pstmt.executeQuery();	%>
				                            <% if (rs.next()) { %>
										    <td width="10%" align="right"> 
								      			<input type="button" class="botonAsig" name="<%= res.getString("etBOT_ELIMINAR")%>" value="<%= res.getString("etBOT_ELIMINAR")%>" ONCLICK="JavaScript:fncEliminar(NSolicitud.value, '<%=m05bConstantes.ACC_ELIMINAR%>', <%=vieneDeSolicitud%>, '');return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSELIMINAR")%>'; return false" onMouseOut="top.status=''; return false" />
										    </td>
										 	<%}
			                         	} catch (Exception SQLException) {
					                      	miLog.addTraza(SQLException);
										} finally {
											if (rs != null)
									        	rs.close();
											if (pstmt != null)
									        	pstmt.close();
							                //if (conn != null)  conn.close();
							        	}
							    	}
								} else {%>
									<td width="10%" align="right">
							        	<input type="button" class="boton" name="<%= res.getString("etBOT_COCHESLIB")%>" value="<%= res.getString("etBOT_COCHESLIB")%>" ONCLICK="JavaScript:fncCochesLibres();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSCOCHESLIB")%>'; return false" onMouseOut="top.status=''; return false" />
							        </td>
						       	<%}%>
								<td width="10%" align="right">
                                	<input type="button" class="boton" name="<%= res.getString("etBOT_PENDIENTES")%>" value="<%= res.getString("etBOT_PENDIENTES")%>" ONCLICK="JavaScript:fncPendientes(); return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSPENDIENTES")%>'; return false" onMouseOut="top.status=''; return false" />				      								      							          							          							         							         							         
								</td>								       
							    <td width="10%" align="right"> 
							    	<input type="button" class="boton" name="<%= res.getString("etBOT_GRABAR")%>" value="<%= res.getString("etBOT_GRABAR")%>" ONCLICK="JavaScript:fncGrabar(NSolicitud.value, '<%=accion%>', <%=vieneDeSolicitud%>, '');return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSGRABAR")%>'; return false" onMouseOut="top.status=''; return false" />
							    </td>
							    <td width="12%" align="right"> 
							    	<input type="button" class="boton" name="<%= res.getString("etBOT_CANCELAR")%>" value="<%= res.getString("etBOT_CANCELAR")%>" ONCLICK="JavaScript:fncCancelar();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSCANCELAR")%>'; return false" onMouseOut="top.status=''; return false" />
							      	<input type="text" name="esMatricValid" value="" style="width:1px;height:1px;" readOnly onfocus="javascript:grabacion(this.value, '');"/>
								</td>	

							</tr>
					  	</TABLE>

						<!-- Calendarios -->
						<%String m05bCalendarEstilo = m05bFicheroProperties.getInstance().getParameter("m05bEstilos.Calendario");%>
						<%=m05bCalendarEstilo%>
						<%String m05bCalendarScripts = m05bFicheroProperties.getInstance().getParameter("m05bScripts.Calendario");%>
						<%=m05bCalendarScripts%>

						<TABLE class="general">
							<tr>
								<td  valign="top" class="searchTitle" colspan="9"><%= res.getString("etDatosSolicitud")%></td>
							</tr>
							<tr>
								<!-- Agurtzane Feb12: modificación fecha fin -> cambio los width, que eran 10, 25, 25, 40 -->
								<td width="8%" valign="top" class="inputFieldTitle"><%= res.getString("etNumero")%></td>
				      			<td width="30%" valign="top" class="inputFieldTitle" colspan="3"><%= res.getString("etDesde")%></td>
							    <td width="30%" valign="top" class="inputFieldTitle" colspan="3"><%= res.getString("etHasta")%></td>
								<td width="32%" valign="top" class="inputFieldTitle"><%= res.getString("etRango")%></td>
			
						    <tr valign="middle">
								<td valign="middle" align="left"><INPUT class="inputFieldOblig" TYPE="TEXT" NAME="NSolicitud" VALUE="<%=codigo%>" size="6" maxlength="6" onBlur="javascript:fncAsignacion();return false;" onKeyPress="this.style.background=('blue');this.style.color=('white')"/>&nbsp;</td>
							    <td align="left" colspan="3"> 
							    <table width="100%" cellspacing="0" cellpadding="0">
							    	<tr>
								    	<!-- Agurtzane Feb12: modificación fecha fin -> cambio el width, de 36 a 18 y añado with enn las otras 2 td -->
							      		<td width="24%" align="left" ><INPUT class="inputFieldOblig" TYPE="TEXT" NAME="Desde" 
							      		VALUE="<%=fdesde%>" size="10" maxlength="10"  onblur='javascript:formatearFecha(this); if (!(esVacio(document.formAsignaciones.Kmsalida.value))){fncCambiaInicio(this,"2")};return false;'  /></td> 
									    <td align="left" width="10%" ><a href='#' name='anchorDesde'  onClick='JavaScript:if (buscar==false){showCalendar("anchorDesde",idioma,document.all("Desde"),true,200,200,2002);return false;}else{return false;}' onMouseOver="top.status='Ver Calendario'; return true" onMouseOut="top.status=''; return true" ><img border="0"  src='<%=m05bConstantesPaginas.PATH_IMAGENES%>/p01calendario.gif' /></a></td>
									    <td align="left" width="16%" ><INPUT class="inputFieldOblig" TYPE="TEXT" NAME="HoraDesde" VALUE="<%=comun.formatearHora(hdesde)%>" size="5" maxlength="5" onblur="javascript:formatearHora(this);ValidaHoras(this.value);" /></td>
									    
								    	<!--Agurtzane Feb12: modificación fecha fin-->
										<td width="50%">
											<label width="60%" id="lblFDDif" style="color: red;font-size: smaller;"><%=strMensFDDif%><label/>
										</td>
										<!--Fin Agurtzane Feb12: modificación fecha fin-->
											
									</tr>
								</table>
							    </td>

								<td align="left" colspan="3">
							    	<table width="100%" cellspacing="0" cellpadding="0">
							      		<tr>
							      			<td width="24%" align="left"><INPUT class="inputFieldOblig" TYPE="TEXT" NAME="Hasta" VALUE="<%=fhasta%>" 
							      				size="10" maxlength="10" onblur="javascript:formatearFecha(this);return false;" <%=ediHasta%>/>
							      			</td> <!-- Agurtzane Feb12: modificación fecha fin -> cambio el width, de 36 a 18 y añado with enn las otras 2 td -->
											<td width="10%" align="left"><a href='#' name='anchorHasta'  onClick='JavaScript:if (buscar==false)
												{showCalendar("anchorHasta",idioma,document.all("Hasta"),true,200,200,2002);return false;}else{return false;}' 
												onMouseOver="top.status='Ver Calendario'; return true" onMouseOut="top.status=''; return true" >
												<img border="0" src='<%=m05bConstantesPaginas.PATH_IMAGENES%>/p01calendario.gif' /></a>
											</td>
											<td width="16%" align="left"><INPUT class="inputFieldOblig" TYPE="TEXT" NAME="HoraHasta" VALUE="<%=comun.formatearHora(hhasta)%>" 
												size="5" maxlength="5" onBlur="javascript:formatearHora(this);ValidaHoras(this.value);" <%=ediHasta%>/>
											</td>
											

											<!--Agurtzane Feb12: modificación fecha fin-->
											<td width="50%">
												<label width="60%" id="lblFDif" style="color: red;font-size: smaller;"><%=strMensFHDif%><label/>
											</td>
											<!--Fin Agurtzane Feb12: modificación fecha fin-->
							
											
										</tr>
									</table>
								</td>
							       
								<td align="left">
									<select name="Rango" class="inputFieldOblig"  onchange="javascript:borraMatricula();actualizaRangoPersona(<%=vieneDeSolicitud%>);" onKeypress="buscar_op(this,this)" onblur="borrar_buffer()" onclick="borrar_buffer()">
							    		<option value="" > </option>
							        	<%=miCombo.popComboConCod( m05bConstantes.COL_99_CODDESC, "NVL("+ campoTexto+m05bConstantes.COL_99_DESCRIPCION+","+m05bConstantes.COL_99_DESCRIPCION+")",
							        		m05bConstantes.TAB_DESCRIPCIONES, m05bConstantes.COL_99_CODTABLA, m05bConstantes.DESC_RANGOS, asignacion.getAsi_orden() )%>
									</select>
								</td>

							</tr>

						<!--/TABLE>
						<TABLE class="general"-->
							<!--tr>
								<td width="100%" valign="top" class="searchTitle" colspan="3">Datos Asignaci&oacute;n</td>
							</tr-->
						    <tr>
								<!--td width="29%" valign="top" class="inputFieldTitle" colspan="2" >&nbsp;</td-->
							    <td width="20%" colspan="4" valign="top" class="inputFieldTitle"><%= res.getString("etPermanente")%></td> 
							    <td width="80%" colspan="4" valign="top" class="inputFieldTitle"><%= res.getString("etFechaSolicitud")%></td>
						    </tr>
						    <tr> 						    	   
							    <td align="left" colspan="4" ><INPUT class="inputField" TYPE="CHECKBOX" NAME="AsigPermanente" <%if (asignacion.getAsi_permanente().toUpperCase().equals("S")){%> checked <%}%> size="25" /></td>
							    <td align="left" colspan="4" ><INPUT class="inputFieldOblig" TYPE="TEXT" NAME="FSolicitud" VALUE="<%=fsolicitud%>" size="10" maxlength="10" disabled /></td>
						    </tr>
						    <tr>
								<td  valign="top" class="searchTitle" colspan="8"><%= res.getString("etDatosVehiculo")%></td>
						    </tr>
					  	</TABLE>

					  	<TABLE class="general">
							<tr>
								<td width="15%" valign="top" class="inputFieldTitle"><%= res.getString("etMatricula")%></td>
							    <td width="25%" valign="top" class="inputFieldTitle"><%= res.getString("etColor")%></td>
							    <td width="25%" valign="top" class="inputFieldTitle"><%= res.getString("etMarca")%></td>
							    <td width="35%" valign="top" class="inputFieldTitle"><%= res.getString("etModelo")%></td>
						    </tr>
						    <%
						      String Vehiculo [];
						      Vehiculo = new String [5];
						      Vehiculo= Descrip.getPropVehiculo(asignacion.getAsi_matricula(),campoTexto);
						      String modelo=Vehiculo[0];
						      String color=Vehiculo[1];
						      String marca=Vehiculo[2];
							  String kmact=Vehiculo[3];
							  String fkmact=Vehiculo[4];
						    %>
						    <tr>
								<td align="left"><INPUT class="inputFieldOblig" TYPE="TEXT" NAME="Matricula" VALUE="<%=asignacion.getAsi_matricula()%>" size="18" maxlength="22"  onblur="javascript:fncMatricula();return false;"/></td>
							    <td align="left"><INPUT class="inputField" TYPE="TEXT" NAME="Color" VALUE="<%= color%>" size="25" disabled/></td>
							    <td align="left"><INPUT class="inputField" TYPE="TEXT" NAME="Marca" VALUE="<%= marca%>" size="30" disabled/></td>
							    <td align="left"><INPUT class="inputField" TYPE="TEXT" NAME="Modelo" VALUE="<%=modelo%>" size="35" disabled/></td>
						    </tr>
					  	</TABLE>

						<TABLE class="general">
							<tr>
								<td valign="top" class="searchTitle" colspan="3"><%= res.getString("etInfUsuario")%></td>
						    </tr>
					  	</TABLE>

						<TABLE class="general">
							<tr>
								<td width="30%" colspan="3" valign="top" class="inputFieldTitle"><%= res.getString("etDNI")%></td>
								<td width="15%" valign="top" class="inputFieldTitle"><%= res.getString("etPersona")%></td>
								<td width="55%" colspan="2" valign="top" class="inputFieldTitle"><%= res.getString("etCargo")%></td>
						    </tr>
						    <tr>
								<%//20110909 Iñigo Solicitud de Reserva
								String strNombre="";
					         	String strTipoPer="";
					         	String strCargo="";
					         	String strRango="";
					         	
					         	String codRangoPersonal = "";
								String codCargoPersonal = "";
								String codDeptoPersonal = "";
						         	
								if (!vieneDeSolicitud) {
									//String strNombre=Descrip.getNombre(asignacion.getAsi_dni());
						         	//String strCargo=Descrip.getCargo(asignacion.getAsi_codcargo());
						         	strNombre=Descrip.getDetalleStr(m05bConstantes.TAB_PERSONAL,m05bConstantes.COL_21_DNI,m05bConstantes.COL_21_NOMBRE,asignacion.getAsi_dni());
						         	strTipoPer=Descrip.getDetalleStr(m05bConstantes.TAB_PERSONAL,m05bConstantes.COL_21_DNI,m05bConstantes.COL_21_TIPOPER,asignacion.getAsi_dni());
						         	strCargo=Descrip.getDetalleStr(m05bConstantes.TAB_CARGOS,m05bConstantes.COL_04_CODCARGO,"NVL("+ campoTexto+m05bConstantes.COL_04_DESCCARG+","+m05bConstantes.COL_04_DESCCARG+")",asignacion.getAsi_codcargo());
						         	strRango= Descrip.getDescripcion("11",asignacion.getAsi_codrango());
									%>
							      	<td align="left"><INPUT class="inputFieldOblig" TYPE="TEXT" NAME="Dni" VALUE="<%= asignacion.getAsi_dni()%>" size="12" maxlength="22" onchange="javaScript:fncDni();"></td>
									<% if (!ediFinalizada.equals("")) {%>
										<td>&nbsp;</td>
									<%} else {%>
										<td>
											<input type="button" class="botonS" name="<%= res.getString("etBOT_BUSCAR")%>" value="<%= res.getString("etBOT_BUSCAR")%>" ONCLICK="JavaScript:fncBuscarPersonas(formAsignaciones);return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSBUSCAR")%>'; return false" onMouseOut="top.status=''; return false" />
										</td>
									<%}%>
					      			<td>&nbsp;</td>
					      			<td align="left"><INPUT class="inputField" TYPE="TEXT" NAME="Nombre" VALUE="<%= strNombre%>" onblur="javaScript:fncDni();" size="44" maxlength="100" ></td>
									<td align="left"><INPUT class="inputField" disabled TYPE="TEXT" NAME="Cargo" VALUE="<%=strCargo%>" size="41" readonly /></td>
								<%} else {
						         	strNombre=solicitudReserva.getUsuario().getNombre_apellidos();
						         	strTipoPer=Descrip.getDetalleStr(m05bConstantes.TAB_PERSONAL,m05bConstantes.COL_21_DNI,m05bConstantes.COL_21_TIPOPER,asignacion.getAsi_dni());
						         	strCargo="";
									strRango="";

									/*20111202 IÑIGO INI*/
									/*Hay que mirar a ver si existe la persona en la tabla de personal*/
									/*para coger el cargo, el rango y el departamento*/
									m05bPersonal datosPersona = null;

									//java.sql.Connection conn = null;
			                        PreparedStatement pstmt = null;
			                        ResultSet rs = null;
    	                            try {
	                                	//m05bConexion miConex = new m05bConexion();
										//conn = miConex.getConnection();
										//Le quitamos la letra al dni
										String dni = solicitudReserva.getUsuario().getDni();
										try {
											if (!Character.isDigit(dni.charAt(dni.length()-1))) {
												solicitudReserva.getUsuario().setDni(dni.substring(0, dni.length()-1));
											}
										} catch(Exception e) {
											solicitudReserva.getUsuario().setDni(dni);
										}

			                            String sSentencia=" SELECT DNI_21, CODRANG_P_21, CODCARGO_21 " +
									                      " FROM m0521t00" +
	                                                      " WHERE DNI_21 LIKE '" + solicitudReserva.getUsuario().getDni() + "%'";
    	                                miLog.addTraza(m05bConstantes.LOG_NO_USER , m05bConstantes.LOG_NO_SRC , "sSentencia: " + sSentencia, m05bConstantes.LOG_NIVEL_BAJO);
			                            pstmt = conn.prepareStatement(sSentencia);
					                    rs = pstmt.executeQuery();
			                            if  (rs.next()) {
											codRangoPersonal = rs.getString("CODRANG_P_21");
											codCargoPersonal = rs.getString("CODCARGO_21");
											solicitudReserva.getUsuario().setDni(rs.getString("DNI_21"));
									 	}
									 	if (codRangoPersonal == null) {
									 		codRangoPersonal = "";
									 	}
									 	if (codCargoPersonal == null) {
									 		codCargoPersonal = "";
									 	}
									 	
									 	sSentencia=" select COD_DPTO_06 from m0506t00 where COD_XLNET_06 = '" + solicitudReserva.getUsuario().getCodDepartamento() + "'";
    	                                miLog.addTraza(m05bConstantes.LOG_NO_USER , m05bConstantes.LOG_NO_SRC , "sSentencia: " + sSentencia, m05bConstantes.LOG_NIVEL_BAJO);
			                            pstmt = conn.prepareStatement(sSentencia);
					                    rs = pstmt.executeQuery();
			                            if  (rs.next()) {
											codDeptoPersonal = rs.getString("COD_DPTO_06");
									 	}
		                         	} catch (Exception SQLException) {
				                      	miLog.addTraza(SQLException);
									} finally {
										if (rs != null)
								        	rs.close();
										if (pstmt != null)
								        	pstmt.close();
						                //if (conn != null) conn.close();
						        	}
									/*20111202 IÑIGO FIN*/
								%>
							      	<td align="left">
							      		<INPUT class="inputFieldOblig" disabled="disabled" TYPE="TEXT" NAME="Dni" VALUE="<%=solicitudReserva.getUsuario().getDni()%>" size="12" maxlength="22"></td>
									<% if (!ediFinalizada.equals("")) {%>
										<td>&nbsp;</td>
									<%} else {%>
										<td>
											<input style="visibility: hidden;" type="button" class="botonS" name="<%= res.getString("etBOT_BUSCAR")%>" value="<%= res.getString("etBOT_BUSCAR")%>" ONCLICK="JavaScript:fncBuscarPersonas(formAsignaciones);return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUSBUSCAR")%>'; return false" onMouseOut="top.status=''; return false" />
										</td>
									<%}%>
					      			<td>&nbsp;</td>
									<td align="left"><INPUT class="inputField" disabled TYPE="TEXT" NAME="Nombre" VALUE="<%=strNombre%>" onblur="javaScript:fncDni();" size="44" maxlength="100" ></td>
									<td align="left">
										<select name="Cargo" class="inputField" onKeypress="buscar_op(this,this)" onblur="borrar_buffer()" onclick="borrar_buffer()">
											<option type="submit"></option>
											<%=miComboR.popComboConCod(m05bConstantes.COL_04_CODCARGO, m05bConstantes.COL_04_DESCCARG, 
											m05bConstantes.TAB_CARGOS, m05bConstantes.COL_04_CODCARGO, m05bConstantes.COL_04_CODCARGO,
											codCargoPersonal)%>
						                </select>
									</td>

							  	<%}%>
							  	<td>
									<input type="button" style="width: 160px;" class="botonS" name="<%= res.getString("etBOT_VER_DATOS_PERSONALES")%>" value="<%= res.getString("etBOT_VER_DATOS_PERSONALES")%>" ONCLICK="JavaScript:mostrarDatosPersonalesGIP();return false;" onMouseOver="top.status='<%= res.getString("etBOT_STATUS_VER_DATOS_PERSONALES")%>'; return false" onMouseOut="top.status=''; return false" />							  		
							  	</td>
	   					    </tr>
					  	</TABLE>

						<TABLE class="general">
							<tr>
								<td width="48%" valign="top" class="inputFieldTitle" ><%= res.getString("etRango")%></td>
								<td colspan="2" width="52%" valign="top" class="inputFieldTitle" ><%= res.getString("etDepartamento")%></td>
							</tr>
							<tr>
								<%//20110909 Iñigo Solicitud de Reserva
								if (!vieneDeSolicitud) {%>
									<td align="left"><INPUT class="inputField" TYPE="TEXT" NAME="Rang" VALUE="<%= strRango%>" size="53" disabled /></td>
									<INPUT class="inputField" TYPE="hidden" NAME="DescDpto"/>
									<td align="left" colspan="2">
										<select class="inputField"  NAME="CodDpto" onchange="javascript:fncCambiaDpto();return false" <%=ediFinalizada%> onKeypress="buscar_op(this,this)" onblur="borrar_buffer()" onclick="borrar_buffer()" />
									    	<option value=""></option>
									    	<%if (asignacion.getAsi_coddpto()==null || asignacion.getAsi_coddpto()=="") {%>
										    	<%=miCombo.popCombo(m05bConstantes.COL_06_CODDPTO,"NVL("+campoTexto2+m05bConstantes.COL_06_DESCDPTO+","+m05bConstantes.COL_06_DESCDPTO+")", m05bConstantes.TAB_DEPARTAMENTOS, "SIT_06", "'A'", "")%>
											<%} else {%>
												<%=miCombo.popCombo(m05bConstantes.COL_06_CODDPTO,"NVL("+campoTexto2+m05bConstantes.COL_06_DESCDPTO+","+m05bConstantes.COL_06_DESCDPTO+")", m05bConstantes.TAB_DEPARTAMENTOS, "COD_DPTO_06="+asignacion.getAsi_coddpto()+" OR SIT_06", "'A'", asignacion.getAsi_coddpto())%>
											<%}%>
									        <%--<%=miCombo.popCombo(m05bConstantes.COL_06_CODDPTO,m05bConstantes.COL_06_DESCDPTO, m05bConstantes.TAB_DEPARTAMENTOS, "", "",asignacion.getAsi_coddpto())%>
									        --%>
										</select>
									</td>
								<%} else {%>
									<td align="left">
										<select name="Rang" class="inputFieldOblig" onKeypress="buscar_op(this,this)" onblur="borrar_buffer()" onclick="borrar_buffer()">
							            	<option value=""></option>
						                	<%=miCombo.popComboConCod(m05bConstantes.COL_99_CODDESC, m05bConstantes.COL_99_DESCRIPCION,
						        				m05bConstantes.TAB_DESCRIPCIONES, m05bConstantes.COL_99_CODTABLA, m05bConstantes.DESC_RANGOS,
						        				asignacion.getAsi_orden())%>
										</select>
									</td>
									<INPUT class="inputField" TYPE="hidden" NAME="DescDpto"/>
									<td align="left" colspan="2">
										<select class="inputFieldOblig" NAME="CodDpto" onchange="javascript:fncCambiaDpto();return false" <%=ediFinalizada%> onKeypress="buscar_op(this,this)" onblur="borrar_buffer()" onclick="borrar_buffer()" />
									    	<option value=""></option>
									    	<%if (asignacion.getAsi_coddpto()==null || asignacion.getAsi_coddpto()=="") {%>
										    	<%=miCombo.popCombo(m05bConstantes.COL_06_CODDPTO,"NVL("+campoTexto2+m05bConstantes.COL_06_DESCDPTO+","+m05bConstantes.COL_06_DESCDPTO+")", m05bConstantes.TAB_DEPARTAMENTOS, "SIT_06", "'A'", "")%>
											<%} else {%>
												<%=miCombo.popCombo(m05bConstantes.COL_06_CODDPTO,"NVL("+campoTexto2+m05bConstantes.COL_06_DESCDPTO+","+m05bConstantes.COL_06_DESCDPTO+")", m05bConstantes.TAB_DEPARTAMENTOS, "COD_DPTO_06="+asignacion.getAsi_coddpto()+" OR SIT_06", "'A'", asignacion.getAsi_coddpto())%>
											<%}%>
									        <%--<%=miCombo.popCombo(m05bConstantes.COL_06_CODDPTO, m05bConstantes.COL_06_DESCDPTO, m05bConstantes.TAB_DEPARTAMENTOS, "", "", asignacion.getAsi_coddpto())%>
									        --%>
										</select>
									</td>
								<%}%>
							</tr>
						<%//20110909 Iñigo Solicitud de Reserva
						if (vieneDeSolicitud) {%>
							<tr>
								<td colspan="3" width="100%" valign="top" class="inputFieldTitle" ><%=res.getString("etPuesto")%></td>
							</tr>
							<tr>
								<td align="left">
									<INPUT class="inputField" TYPE="TEXT" NAME="Puesto" VALUE="" size="53" disabled/>
								</td>
							</tr>
						<%}%>
					  </TABLE>
					  <input TYPE="hidden" name="CodCargo" value="<%=asignacion.getAsi_codcargo()%>">
					  <input TYPE="hidden" name="RangPer" value="<%=asignacion.getAsi_codrango()%>">
					  <TABLE class="general">
						    <tr>
								<td class="searchTitle" colspan=4><%= res.getString("etMotivoSolicitud")%></td>
						    </tr>
						    <tr>
						       <%
								String comentarios=asignacion.getAsi_observaciones();
								if ( (comentarios==null) || (comentarios.equals("")) ) {
									comentarios="";
								}

								/*20110921 Iñigo Solicitud de Reserva INI*/
								if (vieneDeSolicitud)
								{
									if (comentarios.equals(""))
									{
										comentarios = solicitudReserva.obtenerValidacionSolicitada().getMotivo();
									}
								}
								/*20110921 Iñigo Solicitud de Reserva FIN*/
						       %>
							   <td align="left"> <TEXTAREA class="inputField" TYPE="TEXT" NAME="Comentarios"  cols="120" rows="3" <%=ediFinalizada%>><%=comentarios%></TEXTAREA> </td>
						    </tr>
						  
					  </TABLE>
					 
					  <%//20110909 Iñigo Solicitud de Reserva
					  	if (true || vieneDeSolicitud || solicitudReserva != null) {%>
						  <TABLE class="general">
						    <tr>
							      <td colspan="7" valign="top" class="searchTitle"><%= res.getString("etDatosEntrega")%></td>
						    </tr>
						    <tr>
							      <td width="25%" colspan="4" valign="top" class="inputFieldTitle"></td>
							      <td width="25%" colspan="3" valign="top" class="inputFieldTitle"><%= res.getString("etEntregado")%></td>
						    </tr>
						    <tr>
								  <td>
									<input style="width: 142px" type="button" class="botonS" 
										name="BOT_FIRMARENTREGA"
										value="<%= res.getString("etBOT_FIRMARENTREGA")%>" 
										ONCLICK="JavaScript:fncFirmarEntregaParte1(formAsignaciones);return false;" 
										onMouseOver="top.status='<%= res.getString("etBOT_STATUSFIRMARENTREGA")%>'; return false" 
										onMouseOut="top.status=''; return false" />
							      </td>
   								  <td>
									<input style="width: 142px" type="button" class="botonS" 
										name="BOT_VERFIRMAENTREGA"
										value="<%= res.getString("etBOT_VERFIRMAENTREGA")%>"
										ONCLICK="JavaScript:fncVerFirmaEntrega(formAsignaciones);return false;" 
										onMouseOver="top.status='<%= res.getString("etBOT_STATUSVERFIRMAENTREGA")%>'; return false" 
										onMouseOut="top.status=''; return false" />
							      </td>
							         
						    	  <td align="left" colspan="4">
						    	  	<input class="inputField" type="checkbox" name="Entregado" value="S"
									<%if (asignacion.getAsi_entrega() != null && asignacion.getAsi_entrega().equals(m05bConstantes.VERIFICADO_SI))
									{%>
										checked
									<%}%>/>
								  </td>
							</tr>					    	  
						  </TABLE>
				      <%}%>

					  <TABLE class="general">
						    <tr>
							      <td colspan="7" valign="top" class="searchTitle"><%= res.getString("etDatosDevolucion")%></td>
						    </tr>
						    <tr>
							      <td width="25%" colspan="3" valign="top" class="inputFieldTitle"><%= res.getString("etFecha")%></td>
							      <td width="20%" valign="top" class="inputFieldTitle"><%= res.getString("etKmSalida")%></td>
							      <td width="20%" valign="top" class="inputFieldTitle"><%= res.getString("etKmLlegada")%></td>
							      <td width="20%" valign="top" class="inputFieldTitle"><%= res.getString("etKmRecorridos")%></td>
							      <td width="15%"  valign="top" class="inputFieldTitle"><%= res.getString("etFinalizada")%></td>
						    </tr>
						         <%
						         String kllegada=asignacion.getAsi_kmllegada();
						         if ((kllegada==null) ||(kllegada.equals("0")))
						             kllegada="";
						         String ksalida=asignacion.getAsi_kmsalida();
						         if ((ksalida==null)||(ksalida.equals("0")))
						             ksalida="";
						         /*else
						         	 ksalida=comun.formatearMiles((double)ksalida);*/
						         String krecorridos=asignacion.getAsi_kmrecorridos();
						         if ((krecorridos==null)||(krecorridos.equals("0")))
						             krecorridos="";
						     %>
						    <tr>
							      <td align="left" colspan="3">
							      	<table width="100%" cellspacing="0" cellpadding="0">
							      		<tr>
							      			<td width="36%" align="left"><INPUT class="inputField" TYPE="TEXT" NAME="FDevolucion" VALUE="<%=fdevolucion%>" size="10" maxlength="10" onblur='javascript:if (formatearFecha(this)==0){document.formAsignaciones.HoraDevol.focus();} return false;' onchange='javascript:if (this.value != "" ) { document.formAsignaciones.Finalizada.checked=true;} '></td>
							      			<td align="left"><a href='#' name='anchorFDevolucion'  onMouseOver="top.status='Ver Calendario'; return true" onMouseOut="top.status=''; return true" ><img border="0"  src='<%=m05bConstantesPaginas.PATH_IMAGENES%>/p01calendario.gif' name="c4" onClick='JavaScript:if (buscar==false){showCalendar("anchorDesde",idioma,document.all("FDevolucion"),true,200,200,2002);return false;}else{return false;}' /></a></td>	
							      			<td align="left"><INPUT class="inputField" TYPE="TEXT" NAME="HoraDevol" VALUE="<%=comun.formatearHora(hdevol)%>" size="8" maxlength="5" onBlur='javascript:if (formatearHora(this)==0){fncCambiaLlegada(document.formAsignaciones.FDevolucion,"2");}return false;'/> </td>
							      		</tr>
							      	</table>
							      </td>
							      <td align="left"><INPUT class="inputField" TYPE="TEXT" NAME="Kmsalida" VALUE="<%=ksalida%>" size="10" maxlength="9" onBlur='javascript:Kmsal.value=trimPointers(Kmsalida.value);formatNumero(this);fncCambiaInicio(this,"1");return false;' <%=ediFinalizada%> /> </td>
							      <input type="hidden" name="FKmAct" value="<%=fkmact%>">
								  <input type="hidden" name="KmAct" value="<%=kmact%>">
							      <td align="left"><INPUT class="inputField" TYPE="TEXT" NAME="Kmllegada" VALUE="<%=kllegada%>" size="10" maxlength="9" onBlur='javascript:fncCambiaLlegada(this,"1");return false;'/> </td>
							      <input type="hidden" name="Kmsal" value="<%=ksalida%>">
								  <input type="hidden" name="Kmlleg" value="<%=kllegada%>">
							      <td align="left"><INPUT class="inputField" TYPE="TEXT" readonly NAME="Kmrecorridos" VALUE="<%=krecorridos%>" size="10" maxlength="9" > </td>
							      <td align="left"> <INPUT class="inputField" TYPE="CHECKBOX" NAME="Finalizada" VALUE="S" <%if (asignacion.getAsi_finalizada()!=null && asignacion.getAsi_finalizada().toUpperCase().equals("S")){%> checked <%}%> size="4" maxlength="4" <%=ediFinalizada%>/></td>
						    </tr>
					  </TABLE>	    
						    <%//20110909 Iñigo Solicitud de Reserva
						  	if (true || vieneDeSolicitud || solicitudReserva != null) {%>
						  		<TABLE class="general">
							    <tr>
								      <td width="25%" colspan="4" valign="top" class="inputFieldTitle"></td>
								      <td width="25%" colspan="3" valign="top" class="inputFieldTitle"></td>
							    </tr>
							    <tr>
									  <td>
										<input style="width: 142px" type="button" class="botonS" 
											name="BOT_FIRMARDEVOLUCION" 
											value="<%= res.getString("etBOT_FIRMARDEVOLUCION")%>" 
											ONCLICK="JavaScript:fncFirmarDevolucionParte1(formAsignaciones);return false;" 
											onMouseOver="top.status='<%= res.getString("etBOT_STATUSFIRMARDEVOLUCION")%>'; return false" 
											onMouseOut="top.status=''; return false" />
								      </td>
	   								  <td>
										<input style="width: 142px" type="button" class="botonS" 
											name="BOT_VERFIRMADEVOLUCION"
											value="<%= res.getString("etBOT_VERFIRMADEVOLUCION")%>"
											ONCLICK="JavaScript:fncVerFirmaDevolucion(formAsignaciones);return false;" 
											onMouseOver="top.status='<%= res.getString("etBOT_STATUSVERFIRMADEVOLUCION")%>'; return false" 
											onMouseOut="top.status=''; return false" />
								      </td>
								      <td align="left" colspan="4">
								      </td>
								</tr>
								</TABLE>
					      <%}%>
					  </TABLE>
					  <TABLE>
			   				<tr>
								<td> <input type='hidden' name="DescRango"></td>
							</tr>
					  </TABLE>
						    <% // Poner atributos en sesion
						   		 session.setAttribute("PDFTipoPer",strTipoPer);
						   	 	 session.setAttribute("PDFNombre",strNombre);
						   	 	 session.setAttribute("PDFCargo",strCargo);
						   	 	 session.setAttribute("PDFCodCargo",asignacion.getAsi_codcargo() );
						   	 	 session.setAttribute("PDFDpto",asignacion.getAsi_descdpto() );
						   	 	 session.setAttribute("PDFCodDpto",asignacion.getAsi_coddpto() );
						   	 	 session.setAttribute("PDFFSolicitud",fsolicitud);
						   	 	 session.setAttribute("PDFMotivo",comentarios);
						   	 	 session.setAttribute("PDFKmSalida",ksalida);
						   	 	 session.setAttribute("PDFKmLLegada",kllegada);
						   	 	 session.setAttribute("PDFFDevolucion",fdevolucion);
						   	 	 session.setAttribute("PDFHDevolucion",comun.formatearHora(hdevol));
						   	 	 //if ((fdevolucion != null)&&(!(fdevolucion.equals("")))){
						  	 	 // session.setAttribute("GastosHasta",fdevolucion);
						  	 	 // session.setAttribute("GastosHHasta",comun.formatearHora(hdevol));
						  	 	 //}else{		
						  	 	 //session.setAttribute("GastosHasta",fhasta);
						  	 	 //session.setAttribute("GastosHHasta",comun.formatearHora(hhasta));
						  	 	 //}	
						  	 	 session.setAttribute("GastosHasta",fhasta);
						  	 	 session.setAttribute("GastosHHasta",comun.formatearHora(hhasta));						  	 	 		   	 	 
						   	 	 session.setAttribute("GastosAsig",codigo);
						  	 	 session.setAttribute("GastosDesde",fdesde);
						  	 	 session.setAttribute("GastosHDesde",comun.formatearHora(hdesde));
						  	 	 
						    %>
						    <INPUT class="inputField" TYPE="hidden" NAME="AsigPermanenteVar"/>

						    <!-- PARA LA FIRMA -->
							<INPUT TYPE="hidden" name="pdfFicheroEntDev" value="">
							<INPUT TYPE="hidden" name="strFirma" value="">

			</FORM>
		  <!--/DIV-->
		</td>
	</tr>
	<tr>
			<td colspan="3"><%@ include file="/mantenimientosJSP/includes/m05Pie_c.jsp"%></td>
	</tr>
</table>
<SCRIPT language='javascript'>
    setTimeout('initSlide();', 1);
	formatNumero(parent.document.formAsignaciones.Kmsalida);
	formatNumero(parent.document.formAsignaciones.Kmllegada);
	formatNumero(parent.document.formAsignaciones.Kmrecorridos);
	if (parent.document.formAsignaciones.FDesde != null) {
		formatearFecha(parent.document.formAsignaciones.FDesde);
	}
	if (parent.document.formAsignaciones.FHasta != null) {
		formatearFecha(parent.document.formAsignaciones.FHasta);
	}
	if (parent.document.formAsignaciones.FHasta != null) {
		formatearFecha(parent.document.formAsignaciones.FDevolucion);
	}

	<%//20110909 Iñigo Solicitud de Reserva%>
	function mostrarAltaModificacionUsuario(bVieneDeSolicitud)
	{
		document.getElementById("BOT_FIRMARENTREGA").disabled = true;
		document.getElementById("BOT_VERFIRMAENTREGA").disabled = true;
		document.getElementById("BOT_FIRMARDEVOLUCION").disabled = true;
		document.getElementById("BOT_VERFIRMADEVOLUCION").disabled = true;

		<%
		if (asignacion != null && asignacion.getAsi_codigo() != null && !asignacion.getAsi_codigo().equals(""))
		{
			//Obtenemos las firmas de la asignación
			InitialContext ctxFirma = new InitialContext();
			m05SolicitudReserva_FirmaHome solicitudReserva_FirmaEBHome = (m05SolicitudReserva_FirmaHome) ctxFirma.lookup("m05SolicitudReserva_Firma");

			m05SolicitudReserva_FirmaPK primaryKey = new m05SolicitudReserva_FirmaPK();
			primaryKey.codAsignacion = new Integer(asignacion.getAsi_codigo());
			m05bSolicitudReserva_Firma firmaEntrega = null;
			m05bSolicitudReserva_Firma firmaDevolucion = null;
			
			try
			{
				primaryKey.tipoFirma = m05bConstantes.FIRMAENTREGA; //"E"
				m05SolicitudReserva_Firma solicitudReserva_FirmaEB = solicitudReserva_FirmaEBHome.findByPrimaryKey(primaryKey);
				firmaEntrega = solicitudReserva_FirmaEB.getSolicitudReserva_Firma();
				if (firmaEntrega != null)
				{
					%>document.getElementById("BOT_VERFIRMAENTREGA").disabled = false;<%
				}
			}
			catch (Exception ex)
			{
				if (asignacion.getAsi_fentrega() == null || asignacion.getAsi_fentrega().equals(""))
				{
					%>document.getElementById("BOT_FIRMARENTREGA").disabled = false;<%
				}
			}

			try
			{
				primaryKey.tipoFirma = m05bConstantes.FIRMADEVOLUCION; //"D";
				m05SolicitudReserva_Firma solicitudReserva_FirmaEB = solicitudReserva_FirmaEBHome.findByPrimaryKey(primaryKey);
				firmaDevolucion = solicitudReserva_FirmaEB.getSolicitudReserva_Firma();
				if (firmaDevolucion != null)
				{
					%>document.getElementById("BOT_VERFIRMADEVOLUCION").disabled = false;<%
				}
			}
			catch (Exception ex)
			{
				if (firmaEntrega != null
					//&& (asignacion.getAsi_fdevolucion() == null || asignacion.getAsi_fdevolucion().equals(""))
					)
				{
					%>document.getElementById("BOT_FIRMARDEVOLUCION").disabled = false;<%
				}
			}
		}
		%>
		//

		if (bVieneDeSolicitud)
		{
			<%
			if (vieneDeSolicitud) {
				session.setAttribute("m05bSolicitudReserva", solicitudReserva);

				%>
				document.getElementById("Dni").value='<%=solicitudReserva.getUsuario().getDni()%>';
				document.getElementById("Nombre").value='<%=solicitudReserva.getUsuario().getNombre_apellidos()%>';
				document.getElementById("Cargo").value='<%=codCargoPersonal%>';
				document.getElementById("Rang").value='<%=codRangoPersonal%>';
				document.getElementById("DescDpto").value='';
				document.getElementById("CodDpto").value='<%=codDeptoPersonal%>';
				document.getElementById("Puesto").value='<%=solicitudReserva.getUsuario().getPuesto()==null?"":solicitudReserva.getUsuario().getPuesto()%>';
				<%
			}
			%>

			<%--
			<%
			if (vieneDeSolicitud) {
				session.setAttribute("m05bSolicitudReserva", solicitudReserva);
				%>document.formAsignaciones.Dni.value = '<%=solicitudReserva.getUsuario().getDni()%>';<%
				%>fncDni();<%
			}
			%>
			--%>

			<%--document.getElementById('divCargando').style.display = "inline";

			var rdo = window.showModalDialog("m05bPersonalSolicitudReservaJsp.jsp", "", "status:no; center:yes; help:no; minimize:no; maximize:no; border:thin; statusbar:no; dialogWidth:770px; dialogHeight:600px");
			if (rdo != -1)
			{
				alert('rdo='+rdo);
				document.formAsignaciones.Dni.value = rdo;
				fncDni();
			}

			<%--document.getElementById('divCargando').style.display = "none";--%>

			<%--
			if (vieneDeSolicitud) {
				session.removeAttribute("m05bSolicitudReserva");
			}
			--%>
		}
	}

	<%//20110928 Iñigo Solicitud de Reserva%>
	function actualizaRangoPersona(bVieneDeSolicitud)
	{
		if (bVieneDeSolicitud)
		{
			if (document.getElementById("Rang").value=="")
			{
				document.getElementById("Rang").value = document.getElementById("Rango").value;
			}
		}
	}

	function mostrarDatosPersonalesGIP()
	{
		var propiedades="left=50,top=100,width=472,height=351,scrollbars=auto";
    	var ventana ='m05bVisorDatosPersonalesGipJsp.jsp?IdAsignacion=' + document.formAsignaciones.NSolicitud.value
        												+'&Dni=' + document.formAsignaciones.Dni.value;
    	ventanaFirma = window.open(ventana,'',propiedades);
	}

	var ventanaFirma;

	function fncFirmarEntregaParte1(formAsignaciones)
	{
		document.formAsignaciones.Entregado.checked = true;
		obtenerFicheroAFirmar('<%=m05bConstantes.ACC_GUARDAREINICIARFIRMARENTREGA%>');
	}
	function fncFirmarEntregaParte2(formAsignaciones)
	{
		document.formAsignaciones.pdfFicheroEntDev.value='<%=documentoAFirmar%>';
		var propiedades="left=50,top=100,width=700,height=640,scrollbars=auto";
    	var ventana ='m05bFirmarDocumentoJsp.jsp?IdAsignacion=' + document.formAsignaciones.NSolicitud.value
    											+'&Accion=' + '<%=m05bConstantes.ACC_FIRMARENTREGA%>'
    											+'&TipoFirma=' + '<%=m05bConstantes.FIRMAENTREGA%>';
    	ventanaFirma = window.open(ventana,'',propiedades);
	}
	function fncFirmarEntregaFIN()
	{
		ventanaFirma.close();
		window.focus();
		var signedData = firmar();
		document.formAsignaciones.strFirma.value = signedData;
		if (signedData != undefined && signedData != -1 && signedData != -2 && signedData != -3 && signedData != 999)
		{
			//Si todo ha ido ok --> guardamos la firma
			document.formAsignaciones.action = "m05bGrabarAsignacionServlet?Codigo=" + document.formAsignaciones.NSolicitud.value
												 + "&Accion=" + '<%=m05bConstantes.ACC_FIRMARENTREGA%>'
												 + "&GuardarEnBD=0";
			document.formAsignaciones.submit();
		}
	}
	
	function fncVerFirmaEntrega(formAsignaciones)
	{
		var propiedades="left=50,top=100,width=700,height=640,scrollbars=auto";
	    var ventana ='m05bVisorDocumentoFirmaJsp.jsp?IdAsignacion=' + document.formAsignaciones.NSolicitud.value
	    											  +'&Accion=' + '<%=m05bConstantes.ACC_FIRMARENTREGA%>'
	    											  +'&TipoFirma=' + '<%=m05bConstantes.FIRMAENTREGA%>';
	    window.open(ventana,'',propiedades);
	}

	function fncFirmarDevolucionParte1(formAsignaciones)
	{
		//Comprobamos que se hayan introducido los campos obligatorios
		if ( esVacio(document.formAsignaciones.FDevolucion.value)
			 || esVacio(document.formAsignaciones.HoraDevol.value)
			 || esVacio(document.formAsignaciones.Kmllegada.value)
			 || esVacio(document.formAsignaciones.Kmrecorridos.value)
			) {
			alert(dameAlerta(idioma, 279));
			return false;
		} else {
			//Ponemos el check finalizada a true
			document.formAsignaciones.Finalizada.checked = true;
			obtenerFicheroAFirmar('<%=m05bConstantes.ACC_GUARDAREINICIARFIRMARDEVOLUCION%>');
			return;
		}
	}
	function fncFirmarDevolucionParte2(formAsignaciones)
	{
		document.formAsignaciones.pdfFicheroEntDev.value='<%=documentoAFirmar%>';
		var propiedades="left=50,top=100,width=700,height=640,scrollbars=auto";
    	var ventana ='m05bFirmarDocumentoJsp.jsp?IdAsignacion=' + document.formAsignaciones.NSolicitud.value
	    											+'&Accion=' + '<%=m05bConstantes.ACC_FIRMARDEVOLUCION%>'
	    											+'&TipoFirma=' + '<%=m05bConstantes.FIRMADEVOLUCION%>';
    	ventanaFirma = window.open(ventana,'',propiedades);
	}
	function fncFirmarDevolucionFIN()
	{
		ventanaFirma.close();
		window.focus();
		var signedData = firmar();
		document.formAsignaciones.strFirma.value = signedData;
		if (signedData != undefined && signedData != -1 && signedData != -2 && signedData != -3 && signedData != 999)
		{
			//Si todo ha ido ok --> guardamos la firma
			document.formAsignaciones.action = "m05bGrabarAsignacionServlet?Codigo=" + document.formAsignaciones.NSolicitud.value
												 + "&Accion=" + '<%=m05bConstantes.ACC_FIRMARDEVOLUCION%>'
												 + "&GuardarEnBD=0";
			document.formAsignaciones.submit();
		}
	}

	function fncVerFirmaDevolucion(formAsignaciones)
	{
	    var propiedades="left=50,top=100,width=700,height=640,scrollbars=auto";
	    var ventana ='m05bVisorDocumentoFirmaJsp.jsp?IdAsignacion=' + document.formAsignaciones.NSolicitud.value
	    											  +'&Accion=' + '<%=m05bConstantes.ACC_FIRMARDEVOLUCION%>'
	    											  +'&TipoFirma=' + '<%=m05bConstantes.FIRMADEVOLUCION%>';
	    window.open(ventana,'',propiedades);
	}

</SCRIPT>
		<IFRAME src="" width="0" height="0" scrolling="no" frameborder="0" name="cargar">
		</IFRAME>
		
		<applet code=<%=miComun.leerPropiedad("izenpe.idazki.code")%>
			archive=<%=miComun.leerPropiedad("izenpe.idazki.applet")%>
			width="100" height="100" name="applet" MAYSCRIPT>
		</applet>
</BODY>

	<!-- INI PARA LA FIRMA -->



	<script language="javascript">
	
		function firmaFichero() {
			if (document.applet.isActive()) {
				document.applet.init();
				document.applet.setOption("option-waitprogressdialog","1");
				document.applet.setOption("dlgsign-show","0");
				document.applet.setOption("dlgcertsel-checkocsp","0");
				document.applet.setOption("dlgcertsel-selectfirst", "1");
				document.applet.clearInputs();

				document.applet.requestFocus();

				document.applet.setCryptoStoreAuto();
				var Error = document.applet.getLastError();
				if (Error != null && Error.substring(0,4)=="ERR_") {
					//alert("Error:"+Error);
					return 999;
				}

				document.applet.addInput("inline-binary","<%=documentoAFirmar%>","inline",null);
				document.applet.sign("cades-sign-dettached");
				var signedData = document.applet.getOutputContent(0,true);
				var Error = document.applet.getLastError();

				if (Error != null && Error.substring(0,4)=="ERR_") {
					//alert("Error:"+Error);
					return 999;
				} else {
					if(signedData!=-1 && signedData!=-2 && signedData!=-3) {
						//signatureFile = createSignatureFile(signedData);
						return signedData;
					} else {
						return 999;
					}
				}
			} else {
				alert("El applet de firma aún no está listo. Espere a que termine de descargarse.");
	 		}
		}

		function createSignatureFile(signedData) {
		   var str, val;
		   str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "\r\n";
		   str = str + createXmlOpeningTag("ejgvDocument");
		   str = str + createHeader();
		   str = str + createBody(signedData);
		   str = str + createXmlClosingTag("ejgvDocument");
		   return str;
		}

		function createHeader()	{
		   var str;
		   str = createXmlOpeningTag("header");
		   str = str + createXmlSimpleElement("type", "SIMPLE_SIGNATURE");
		   str = str + createXmlSimpleElement("version", "1.0");
		   str = str + createXmlSimpleElement("flags", "0");
		   str = str + createXmlClosingTag("header");
		   return str;
		}

		function createBody(signedData) {
		   var str;
		   str = createXmlOpeningTag("body");
		   str = str + createXmlSimpleElement("simpleSignature", signedData);
		   str = str + createXmlClosingTag("body");
		   return str;
		}

		function createXmlOpeningTag(name) {
   			return "<" + name + ">";
		}

		function createXmlClosingTag(name) {
  			return "</" + name + ">";
		}

		function createXmlSimpleElement(name, val) {
		   return "<" + name + ">" + val + "</" + name + ">";
		}

		function firmar() {
		  signature = firmaFichero();
		  if(signature=="999") {
		  	  return;
	  	  }
		  return signature;
		}

		function obtenerFicheroAFirmar(accionFirma) {
			//document.formAsignaciones.action='/m05bParqueMovilWar/m05bImpEntDevServlet'
		  	//								+ '?Matricula=' + document.formAsignaciones.Matricula.value
		  	//								+ '&Codigo=' + document.formAsignaciones.NSolicitud.value
			//								+ "&Accion=" + accion
		  	//								+ '&ObtenerFichero=1';

		  	fncGrabar(document.formAsignaciones.NSolicitud.value, '<%=accion%>', <%=vieneDeSolicitud%>, accionFirma);

			//document.formAsignaciones.submit();
		}

		function comprobarFirma() {
			<%if (documentoAFirmar != null) {%>
				<%String sAccionFirma = request.getParameter("AccionFirma"); %>
				//continuamos con la firma...
				if ('<%=sAccionFirma%>'=='<%=m05bConstantes.ACC_GUARDAREINICIARFIRMARENTREGA%>') {
					fncFirmarEntregaParte2(formAsignaciones);
				} else if ('<%=sAccionFirma%>'=='<%=m05bConstantes.ACC_GUARDAREINICIARFIRMARDEVOLUCION%>') {
					fncFirmarDevolucionParte2(formAsignaciones);
				}
			<%} %>
		}

	</script>

	<!-- FIN PARA LA FIRMA -->

</HTML>
<%
//Agurtzane Feb12: añadir Rango a la búsqueda
} catch (Exception SQLException) {
	m05bClasses.m05bFileLog miLog = new m05bClasses.m05bFileLog();
		miLog.addTraza(SQLException);
} finally {
		if (conn != null) conn.close();
}
//Fin Agurtzane Feb12: añadir Rango a la búsqueda
%>