<!DOCTYPE html>
<html lang="en">

<?php $this->load->view("template/header"); ?>
<?php $this->load->view("template/nav"); ?>

<style>
	.autocomplete {
		position: relative;
	}

	.autocomplete-items {
		position: absolute;
		border: 1px solid #d4d4d4;
		border-bottom: none;
		border-top: none;
		z-index: 99;
		/*position the autocomplete items to be the same width as the container:*/
		top: 100%;
		left: 0;
		right: 0;
	}

	.autocomplete-items div {
		padding: 10px;
		cursor: pointer;
		background-color: #fff; 
		border-bottom: 1px solid #d4d4d4; 
	}

	/*when hovering an item:*/
	.autocomplete-items div:hover {
		background-color: #e9e9e9; 
	}

	/*when navigating through the items using the arrow keys:*/
	.autocomplete-active {
		background-color: DodgerBlue !important; 
		color: #ffffff; 
	}

	.required {
		color: red;
		margin-left: 5px;
	}

    .custom-checkbox {
        width: 20px;
        height: 20px;
        margin-top: 15px;
    }

    /* Aumentar el tamaño de la etiqueta */
    .custom-label {
        font-size: 1rem; /* Ajustar el tamaño de la fuente de la etiqueta */
        margin-left: 5px; /* Espaciado entre el checkbox y el label */
        margin-top: 20px; /* Ajuste fino para alinear verticalmente */
    }
    

    .d-flex {
        display: flex;
        align-items: center; /* Alineación vertical centrada */
    }

    .checkbox-container {
        display: flex;
        align-items: center; /* Alineación vertical centrada */
        margin-left: 1rem; /* Ajusta el margen izquierdo para mover el checkbox hacia la derecha */
    }

    .required {
        color: red;
        margin-left: 5px;
	}

    .fixed-height-label {
        height: 20px; /* Ajusta esta altura según tu diseño */
        display: flex;
        align-items: center; /* Alinea verticalmente el texto */
        white-space: nowrap; /* Evita que el texto pase a la siguiente línea */
        overflow: hidden; /* Oculta cualquier desbordamiento de texto */
        text-overflow: ellipsis; /* Muestra los puntos suspensivos si el texto es demasiado largo */
    }

    @media (max-width: 768px) {
        table thead {
            display: none;
        }

        table tbody tr {
            display: block;
            margin-bottom: 10px;
        }

        table tbody td {
            display: flex;
            justify-content: space-between;
            padding: 5px;
            border-bottom: 1px solid #ddd;
        }

        table tbody td::before {
            content: attr(data-label);
            font-weight: bold;
            flex-basis: 40%;
        }
    }
</style>

<div class="content-wrapper">
	<div class="content-header">
		<div class="container-fluid">
			<div class="row mb-2">
				<div class="col-sm-6">
					<h1 class="m-0">Editar Reserva</h1>
				</div>

				<div class="col-sm-6">
					<ol class="breadcrumb float-sm-right">
						<!-- <li class="breadcrumb-item"><a href="#" onclick="mySession()" class="nav-link">Cerrar Sesión</a></li> -->
					</ol>
				</div>
			</div>
		</div>
	</div>

	<section class="content">
		<div class="container-fluid">
			<div class="card card-secondary">
				<div class="card-header">
					<h3 class="card-title">Datos Reserva</h3>
				</div>
				
				<form id="quickForm" autocomplete="off">
					<div class="card-body">
						<fieldset class="border p-2">
							<legend class="w-auto">Información Vehículo</legend>
							<div class="row"> 
								<div class="col-sm-2">
									<div class="form-group">
										<label>Placa</label>
										<input type="text" name="txt_placa_reserva" class="form-control" id="txt_placa_reserva" onkeyup="mayus(this);" readonly></input>
									</div>
								</div>
								
								<div class="col-sm-2">
									<div class="form-group">
										<label>Marca</label>
										<input type="text" name="txt_marca_reserva" class="form-control" id="txt_marca_reserva" onkeyup="mayus(this);" readonly></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label>Modelo</label>
										<input type="text" name="txt_modelo_reserva" class="form-control" id="txt_modelo_reserva" onkeyup="mayus(this);" readonly></input>
									</div>
								</div>
								
								<div class="col-sm-2">
									<div class="form-group">
										<label>Color</label>
										<input type="text" name="txt_color_reserva" class="form-control" id="txt_color_reserva" onkeyup="mayus(this);" readonly></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label>Tipo</label>
										<input type="text" name="txt_tipo_reserva" class="form-control" id="txt_tipo_reserva" onkeyup="mayus(this);" readonly></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label>Matrícula</label>
										<input type="text" name="txt_matricula_reserva" class="form-control" id="txt_matricula_reserva" onkeyup="mayus(this);" readonly></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label>Empresa</label>
										<input type="text" name="txt_empresa_reserva" class="form-control" id="txt_empresa_reserva" onkeyup="mayus(this);" readonly></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label>Nit</label>
										<input type="text" name="txt_nit_reserva" class="form-control" id="txt_nit_reserva" onkeyup="mayus(this);" readonly></input>
									</div>
								</div>
								
								<div class="col-sm-2 pt-3 row">
									<div class="col-sm-12 p-3">
										<button style="" type="button" class="btn btn-primary col-md-12" id="btn_nuevo_vehiculo">Agregar Vehiculo</button>
									</div>
								</div>

                                <div class="col-sm-2 d-flex align-items-center justify-content-start">
                                     <div class="checkbox-container ms-4"> <!--Ajusta el margen izquierdo aquí -->
                                        <input type="checkbox" class="form-check-input custom-checkbox" id="opt_sin_vehiculo">
                                        <label for="opt_sin_vehiculo" class="custom-label ms-2">Sin vehículo</label>
                                    </div>
                                </div>
							</div> 
						</fieldset >
						<br>
						
						<fieldset class="border p-2">
							<legend class="w-auto">Huésped Principal</legend>
							<div class="row"> 
								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Documento</label>
										<input type="text" name="txt_documento_reserva" class="form-control" id="txt_documento_reserva"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Tipo Documento</label>
										<select class="custom-select" id="txt_tipodoc_reserva">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($tipodoc as $k1) { ?>
												<option value="<?=$k1['IdTipoDocumento']?>"> <?=$k1['TipoDocumento']?></option>
											<?php } ?>                                      
										</select>  
									</div>
								</div>
					
								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Nombres</label>
										<input type="text" name="txt_nombres_reserva" class="form-control" id="txt_nombres_reserva" onkeyup="mayus(this);"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Apellidos</label>
										<input type="text" name="txt_apellidos_reserva" class="form-control" id="txt_apellidos_reserva" onkeyup="mayus(this);"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Fecha Nacimiento</label>
										<input type="date" name="txt_fechanac_reserva" class="form-control" id="txt_fechanac_reserva"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Lugar Nacimiento</label>
										<select class="custom-select" id="txt_lugarnac_reserva">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($ciudades as $k2) { ?>
												<option value="<?=$k2['IdCiudad']?>"><?=$k2['CiuDep']?></option>
											<?php } ?>                                      
										</select>   
									</div>
								</div>
							
								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Género</label>
										<select class="custom-select" id="txt_genero_reserva">
											<option value="0">--Seleccionar-- </option>
											<option value="1">MASCULINO</option>
											<option value="2">FEMENINO</option>                                                         
										</select>  
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Teléfono</label>
										<input type="text" name="txt_telefono_reserva" class="form-control" id="txt_telefono_reserva"></input>
									</div>
								</div>
								
								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Móvil</label>
										<input type="text" name="txt_movil_reserva" class="form-control" id="txt_movil_reserva"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Nacionalidad</label>
										<select class="custom-select" id="txt_nacionalidad_reserva">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($paises as $k3) { ?>
												<option value="<?=$k3['IdPais']?>"> <?=$k3['Pais']?></option>
											<?php } ?>                                      
										</select>   
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Ocupación</label>
										<select class="custom-select" id="txt_ocupacion_reserva">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($ocupaciones as $k4) { ?>
												<option value="<?=$k4['IdOcupacion']?>"> <?=$k4['Ocupacion']?></option>
											<?php } ?>                                      
										</select>   
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Correo Electronico</label>
										<input type="text" name="txt_correoelect_reserva" class="form-control" id="txt_correoelect_reserva"></input>
									</div>
								</div>
							
								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">País Residencia</label>
										<select class="custom-select" id="txt_psresidencia_reserva">
											<option value="0" hidden>--Seleccionar-- </option>
											<?php foreach($paises as $k5) { ?>
												<option value="<?=$k5['IdPais']?>"><?=$k5['Pais']?></option>
											<?php } ?>                                        
										</select>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Ciudad Residencia</label>
										<select class="custom-select txt_cdresidencia_reserva" id="txt_cdresidencia_reserva">
											<option value="" hidden>--Seleccionar-- </option>
											<?php foreach($departamentos as $k6) { ?>
												<option value="<?=$k6['IdCiudad']?>"><?=$k6['CiuDep']?></option>
											<?php } ?>    
										</select>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">País Procedencia</label>
										<select class="custom-select" id="txt_psprocedencia_reserva">
											<option value="0" hidden>--Seleccionar-- </option>
											<?php foreach($paises as $k7) { ?>
												<option value="<?=$k7['IdPais']?>"><?=$k7['Pais']?></option>
											<?php } ?>                                        
										</select>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Ciudad Procedencia</label>
										<select class="custom-select txt_cdprocedencia_reserva" id="txt_cdprocedencia_reserva">
											<option value="" hidden>--Seleccionar-- </option>
											<?php foreach($departamentos as $k8) { ?>
												<option value="<?=$k8['IdCiudad']?>"><?=$k8['CiuDep']?></option>
											<?php } ?> 
										</select>
									</div>
								</div>

								<div class="col-sm-4">
									<div class="form-group">
										<label class="fixed-height-label">Dirección</label>
										<input type="text" name="txt_direccion_reserva" class="form-control" id="txt_direccion_reserva" onkeyup="mayus(this);"></input>
									</div>
								</div>
							</div> 

                            <div class="row"> 
                                <div class="col-sm-12 d-flex justify-content-end">
									<div class="form-group">
                                        <button type="button" class="btn btn-primary col-6 col-md-auto" id="btn_huesped_principal">Actualizar</button>
									</div>
								</div>
							</div> 
						</fieldset >
						<br>

						<fieldset class="border p-2">
							<legend class="w-auto">Huésped Acompañante</legend>
							<div class="row"> 
								<div class="col-sm-12">
									<div class="form-group">
										<button style="float: right" type="button" class="btn btn-primary col-md-2 " id="btn_agregar_acompanante">Ingresar Acompañante</button>
									</div>
								</div>
							</div> 

							<div class="row">
                            	<div class="col-sm-12">
                                    <div class="table-responsive">
                                        <table id="example1" class="table table-bordered table-striped dataTable dtr-inline" role="grid" aria-describedby="example1_info">
                                            <thead>
											    <tr role="row">
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Nombres</th>
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Apellidos</th>
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Tipo Documento</th>
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Identificación</th>
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Fecha Nacimiento</th>
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Ocupación</th>
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Nacionalidad</th>
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Email</th>
                                                    <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1" style="">Acciones</th>
                                            </thead>
										    <tbody>		
										    </tbody>
										    <tfoot>
											    <tr>
                                                    <th rowspan="1" colspan="1" style="">Nombres</th>
                                                    <th rowspan="1" colspan="1" style="">Apellidos</th>
                                                    <th rowspan="1" colspan="1" style="">Tipo Documento</th>
                                                    <th rowspan="1" colspan="1" style="">Identificación</th>
                                                    <th rowspan="1" colspan="1" style="">Fecha Nacimiento</th>
                                                    <th rowspan="1" colspan="1" style="">Ocupación</th>
                                                    <th rowspan="1" colspan="1" style="">Nacionalidad</th>
                                                    <th rowspan="1" colspan="1" style="">Email</th>
                                                    <th rowspan="1" colspan="1" style="">Acciones</th>
											    </tr>
										    </tfoot>
                                        </table>
                                    </div>    
                            	</div>
                            </div>
						</fieldset >
						<br>
						
						<fieldset class="border p-2">
							<legend class="w-auto">Información Reserva</legend>
							<div class="row">
								<div class="col-sm-2">
									<div class="form-group"> 
										<label class="fixed-height-label">Hotel</label>
										<select class="custom-select" id="txt_hotel_reserva">
											<option value="0" hidden>-- Seleccionar --</option>
											<?php foreach($hotel as $k9) { ?>
												<option value="<?=$k9['IdEstablecimiento']?>"> <?=$k9['Nombre']?></option>
											<?php } ?>                                      
										</select>    
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Fecha Ingreso</label>
										<input type="date" name="txt_fechaini_reserva" class="form-control" id="txt_fechaini_reserva"></input>
									</div>
								</div> 

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Hora Ingreso</label>
										<input type="time" name="txt_horaini_reserva" class="form-control" id="txt_horaini_reserva"></input>
									</div>
								</div> 
								
								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Fecha Salida</label>
										<input type="date" name="txt_fechafin_reserva" class="form-control" id="txt_fechafin_reserva"></input>
									</div>
								</div> 
								
								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Hora Salida</label>
										<input type="time" name="txt_horafin_reserva" class="form-control" id="txt_horafin_reserva"></input>
									</div>
								</div> 

								<div class="col-sm-2">
									<div class="form-group">  
										<label class="fixed-height-label">Estado</label>  
										<select class="custom-select" id="txt_estado_reserva">
											<?php foreach($estadoR as $k10) { ?>
												<option value="<?=$k10['IdEstado']?>"> <?=$k10['Descripcion']?></option>
											<?php } ?>
										</select>                          
									</div>
								</div>
							</div> 
							
							<div class="row"> 
								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">No.Habitación</label>
										<select class="custom-select" id="txt_numerohab_reserva">
											<option value="0" hidden>--Seleccionar--</option>    
											<?php foreach($habitacion as $k11) { ?>
												<option value="<?=$k11['IdHabitacion']?>"> <?=$k11['NumeroHabitacion']?></option>
											<?php } ?>   
										</select>  
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Habitación</label>
										<input type="text" name="txt_habitacion_reserva" class="form-control" id="txt_habitacion_reserva" onkeyup="mayus(this);"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Motivo Viaje</label>
										<select class="custom-select" id="txt_motivo_reserva">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($motivo as $k12) { ?>
												<option value="<?=$k12['IdMotivo']?>"> <?=$k12['Motivo']?></option>
											<?php } ?>                                      
										</select>  
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Acompañantes</label>
										<input type="text" name="txt_acompanantes_reserva" class="form-control" id="txt_acompanantes_reserva"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Medio Pago</label>
										<select class="custom-select" id="txt_mdpago_reserva">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($mediopago as $k13) { ?>
												<option value="<?=$k13['IdMedioPago']?>"> <?=$k13['MedioPago']?></option>
											<?php } ?>                                      
										</select>  
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">  
										<label class="fixed-height-label">Documento Legal</label>	
										<select class="custom-select" id="txt_tipfac_reserva">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($tipofac as $k14) { ?>
												<option value="<?=$k14['IdTipoFactura']?>"> <?=$k14['TipoFactura']?></option>
											<?php } ?>                                      
										</select>                         
									</div>
								</div>
							</div> 

							<div class="row">    
						    	<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Huésped</label>
										<select class="custom-select" id="txt_claseocupacion">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($claseocupacion as $k15) { ?>
												<option value="<?=$k15['IdClaseMatricula']?>"> <?=$k15['NombreClase']?></option>
											<?php } ?>                                      
										</select> 
									</div>
								</div>

						    	<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Tipo de ocupación</label>
										<select class="custom-select" id="txt_tipoocupacion">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($tipoocupacion as $k16) { ?>
												<option value="<?=$k16['IdTipoOcupacion']?>"> <?=$k16['TipoOcupacion']?></option>
											<?php } ?>                                      
										</select> 
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
                                        <label class="fixed-height-label">Persona Adicional</label>
										<select class="custom-select" id="txt_adicional">
											<option value="0">--Seleccionar-- </option>
											<option value="1">SI</option>
											<option value="2">NO</option>                                                         
										</select>  
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Precio Habitación</label>
										<input type="text" name="txt_precio" class="form-control" id="txt_precio" readonly onmousedown="return false;"></input>
									</div>
								</div>

                                <div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Precio Persona Adicional</label>
										<input type="text" name="txt_precioadicional" class="form-control" id="txt_precioadicional" readonly onmousedown="return false;"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Descuento</label>
										<input type="text" name="txt_descuento" class="form-control" id="txt_descuento"></input>
									</div>
								</div>

								<div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Cargo Adicional</label>
										<input type="text" name="txt_cargoadicional" class="form-control" id="txt_cargoadicional"></input>
									</div>
								</div>

								<div class="col-sm-7">
									<div class="form-group">
										<label class="fixed-height-label">Observación Cargo</label>
										<input type="text" name="txt_observacion" class="form-control" id="txt_observacion" onkeyup="mayus(this);"></input>
									</div>
								</div>

								<div class="col-sm-1">
									<div class="form-group">
										<label class="fixed-height-label">IVA</label>
										<select class="custom-select" id="txt_iva" disabled>
											<option value="0">-- Seleccionar --</option>
											<?php foreach($iva as $k17) { ?>
												<option value="<?=$k17['IdIva']?>"> <?=$k17['Iva']?></option>
											<?php } ?>                                                    
										</select>  
									</div>
								</div>

                                <div class="col-sm-2">
									<div class="form-group">
										<label class="fixed-height-label">Precio Total</label>
										<input type="text" name="txt_preciototal" class="form-control" id="txt_preciototal" readonly onmousedown="return false;"></input>
									</div>
								</div>
							</div>
						</fieldset >
					</div>

					<div class="card-footer d-flex justify-content-between">
						<button type="button" class="btn btn-secondary col-5 col-md-auto" id="btn_cancelar_reserva">Cancelar</button>
						<button type="button" class="btn btn-primary col-5 col-md-auto ml-md-auto" onclick="ValidarGuardar()" id="btn_guardar_reserva">Guardar</button>      
					</div>
				</form>
			</div> 
		
			<div class="row">
				<section class="col-lg-7 connectedSortable"></section>
				<section class="col-lg-5 connectedSortable"></section>
			</div>
		</div>
	</section>
	
</div>

<?php $this->load->view("template/footer"); ?>

<aside class="control-sidebar control-sidebar-dark">
</aside>

<!--===================================================================================================================== -->
	<!-- Modal para Crear Acompañante -->
	<div class="modal fade show" id="modal_acompanante_nuevo" aria-modal="true" role="dialog">
		<div class="modal-dialog modal-lg modal_acompanante_nuevo">
			<div class="modal-content">
				<div class="modal-header">
					<h4 class="modal-title titulo_acompanante"></h4>
					<button type="button" class="close" id="cerrar_modal" data-dismiss="modal" aria-label="Close">
						<span aria-hidden="true">×</span>
					</button>
				</div>

				<form id="quickForm"  autocomplete="off" >
					<div class="modal-body">
						<div class="card-body">
							<dl class="row">
								<dt class="col-sm-4">Identificación<span class="required">*</span></dt>
									<dd class="col-sm-8"><input type="text" value="" class="form-control" name="opt_identificacion_huespedes" id="opt_identificacion_huespedes"></dd>

								<dt class="col-sm-4">Nombres<span class="required">*</span></dt>
									<dd class="col-sm-8"><input value="" type="text" class="form-control" name="opt_nombre_huespedes" id="opt_nombre_huespedes" onkeyup="mayus(this);"></dd>
								
								<dt class="col-sm-4">Apellidos<span class="required">*</span></dt>
									<dd class="col-sm-8"><input type="text" value="" class="form-control" name="opt_apellido_huespedes" id="opt_apellido_huespedes" onkeyup="mayus(this);"></dd>

								<dt class="col-sm-4">Tipo Documento<span class="required">*</span></dt>
									<dd class="col-sm-8">
										<select class="custom-select" id="opt_tipodoc_huespedes">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($tipodoc as $k18) { ?>
												<option value="<?=$k18['IdTipoDocumento']?>"> <?=$k18['TipoDocumento']?></option>
											<?php } ?>                                      
										</select>    
									</dd>	

								<dt class="col-sm-4">Fecha Nacimiento</dt>
									<dd class="col-sm-8"><input type="date" class="form-control" name="opt_fecnac_huespedes" id="opt_fecnac_huespedes"></dd>

								<dt class="col-sm-4">Lugar Nacimiento</dt>
									<dd class="col-sm-8">
										<select class="custom-select" id="opt_lugarnac_huespedes">
											<option value="">--Seleccionar-- </option>
											<?php foreach($departamentos as $k19) { ?>
												<option value="<?=$k19['IdCiudad']?>"><?=$k19['CiuDep']?></option>
											<?php } ?>                                    
										</select>    
									</dd>
								
								<dt class="col-sm-4">Género</dt>
									<dd class="col-sm-8">
										<select class="custom-select" id="opt_genero_huespedes">
											<option value="0">--Seleccionar-- </option>
											<option value="1">MASCULINO</option>
											<option value="2">FEMENINO</option>                                       
										</select>    
									</dd>

								<dt class="col-sm-4">Teléfono</dt>
									<dd class="col-sm-8"><input type="text" value="" class="form-control" name="opt_telefono_huespedes" id="opt_telefono_huespedes"></dd>

								<dt class="col-sm-4">Móvil</dt>
									<dd class="col-sm-8"><input type="text" value="" class="form-control" name="opt_movil_huespedes" id="opt_movil_huespedes"></dd>

								<dt class="col-sm-4">Nacionalidad</dt>
									<dd class="col-sm-8">
										<select class="custom-select" id="opt_nacionalidad_huespedes">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($paises as $k20) { ?>
												<option value="<?=$k20['IdPais']?>"> <?=$k20['Pais']?></option>
											<?php } ?>                                      
										</select>    
									</dd>
								
								<dt class="col-sm-4">Ocupación</dt>
									<dd class="col-sm-8">
										<select class="custom-select" id="opt_ocupacion_huespedes">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($ocupaciones as $k21) { ?>
												<option value="<?=$k21['IdOcupacion']?>"> <?=$k21['Ocupacion']?></option>
											<?php } ?>                                      
										</select> 
									</dd>
									<!-- <dd class="col-sm-8"><input type="text" value="" class="form-control" name="opt_ocupacion_huespedes" id="opt_ocupacion_huespedes" onkeyup="mayus(this);"></dd> -->

								<dt class="col-sm-4">Correo Electronico</dt>
									<dd class="col-sm-8"><input type="text" value="" class="form-control" name="opt_correo_huespedes" id="opt_correo_huespedes"></dd>
								
								<dt class="col-sm-4">Ciudad Residencia<span class="required">*</span></dt>
									<dd class="col-sm-8">
										<select class="custom-select" id="opt_residencia_huespedes">
											<option value="">--Seleccionar-- </option>
											<?php foreach($departamentos as $k22) { ?>
												<option value="<?=$k22['IdCiudad']?>"><?=$k22['CiuDep']?></option>
											<?php } ?>                                    
										</select>    
									</dd>
								
								<dt class="col-sm-4">Ciudad Procedencia<span class="required">*</span></dt>
									<dd class="col-sm-8">
										<select class="custom-select" id="opt_procedencia_huespedes">
											<option value="">--Seleccionar-- </option>
											<?php foreach($departamentos as $k23) { ?>
												<option value="<?=$k23['IdCiudad']?>"><?=$k23['CiuDep']?></option>
											<?php } ?>                                    
										</select>    
									</dd>
							</dl>
						</div>
						<!-- /.card-body -->
					</div>
					<!-- /.modal-body -->
				</form>
				<!-- /.form -->

				<div class="modal-footer justify-content-between">
					<button style="float: left" type="button" class="btn btn-secondary col-md-3" id="btn_cancelar_huespedes" onclick="LimpiarModal()" data-dismiss="modal">Cancelar </button>  
					<button style="float: right" type="button" class="btn btn-primary col-md-3" id="btn_guardar_acompanante" onclick="AgregarAcompañantes()">Confirmar </button>   
				</div>
				<!-- /.modal-footer -->
			</div>
			<!-- /.modal-content -->
		</div>
		<!-- /.modal-dialog -->
	</div>
	<!-- /.modal fade show -->

	<!-- ======================================================================================================================================================================================================= -->
	<!-- Modal para crear nuevo vehiculo -->
	<div class="modal fade show" id="modal_vehiculo_nuevo" aria-modal="true" role="dialog">
		<div class="modal-dialog modal-lg modal_vehiculo_nuevo">
			<div class="modal-content">
				<div class="modal-header">
					<h4 class="modal-title">Agregar Vehículo</h4>
					<button type="button" class="close" data-dismiss="modal" aria-label="Close">
						<span aria-hidden="true">×</span>
					</button>
				</div>
				
				<form id="quickForm"  autocomplete="off" >
					<div class="modal-body">
						<div class="card-body">
							<fieldset class="border p-2">
								<legend>Información Vehiculo</legend>
								<div class="row">
									<div class="col-sm-6">
										<label>Placa</label>
										<input type="text" class="form-control" name="opt_placa_veh" id="opt_placa_veh" onkeyup="mayus(this);">
									</div>

									<div class="col-sm-6">
										<label>Clase Matricula</label>
										<select class="custom-select" id="opt_clasemat">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($claseocupacion as $k24) { ?>
												<option value="<?=$k24['IdClaseMatricula']?>"> <?=$k24['NombreClase']?></option>
											<?php } ?> 
										</select> 
									</div>
								</div>
								
								<div class="row">
									<div class="col-sm-6 autocomplete">
										<label>Marca</label>
										<input type="text" class="form-control" name="myInput2" id="myInput2" onkeyup="mayus(this);">
									</div>
									
									<div class="col-sm-6">
										<label>Color</label>
										<input type="text" class="form-control" name="opt_color_veh" id="opt_color_veh" onkeyup="mayus(this);">
									</div>
								</div>
							
								<div class="row">
									<div class="col-sm-6 autocomplete">
										<label>Modelo</label>
										<input type="text" class="form-control" name="opt_modelo_veh" id="opt_modelo_veh" onkeyup="mayus(this);">
									</div>

									<div class="col-sm-6">
										<label>Tipo Vehiculo</label>
										<select class="custom-select" id="opt_tipo_veh">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($tipov as $k25) { ?>
												<option value="<?=$k25['IdTipoVehiculo']?>"> <?=$k25['TipoVehiculo']?></option>
											<?php } ?>                                      
										</select>    
									</div>	
								</div>

								<div class="row">
									<div class="col-sm-6 autocomplete">
										<label>Empresa</label>
										<input type="text" class="form-control" name="opt_empresa_veh" id="opt_empresa_veh" onkeyup="mayus(this);">
									</div>
									
									<div class="col-sm-6">
										<label>Nit</label>
										<input type="text" class="form-control" name="opt_nit_veh" id="opt_nit_veh" onkeyup="mayus(this);">
									</div>
								</div>
							</fieldset>
							<br>
							<fieldset class="border p-2">
								<legend>Información Huésped</legend>
								<div class="row">
									<div class="col-sm-6">
										<label>Tipo Documento</label>
										<select class="custom-select" id="opt_tipo_doc">
											<option value="0">-- Seleccionar --</option>
											<?php foreach($tipodoc as $k26) { ?>
												<option value="<?=$k26['IdTipoDocumento']?>"> <?=$k26['TipoDocumento']?></option>
											<?php } ?> 
										</select>  
									</div>
							
									<div class="col-sm-6">
										<label>Identificación</label>
										<input type="text" class="form-control" name="opt_identificacion" id="opt_identificacion">
									</div>
								</div>
								
								<div class="row">
									<div class="col-sm-6">
										<label>Nombres</label>
										<input type="text" class="form-control" name="opt_nombres" id="opt_nombres">
									</div>

									<div class="col-sm-6">
										<label>Apellidos</label>
										<input type="text" class="form-control" name="opt_apellidos" id="opt_apellidos">
									</div> 
								</div>
							</fieldset>
						</div>
					</div>
					<!-- /.modal-body -->
				</form>
				<!-- /.form -->
				
				<div class="modal-footer justify-content-between">
					<button style="float: left" type="button" class="btn btn-secondary col-md-3" id="btn_cancelar_veh" data-dismiss="modal">Cancelar </button>  
					<button style="float: right" type="button" class="btn btn-primary col-md-3" id="btn_guardar_veh" data-dismiss="modal" onclick="GuardarVehiculo()">Agregar</button>   
				</div>
				<!-- /.modal-footer -->
			</div>
       		 <!-- /.modal-content -->
		</div>
		<!-- /.modal-dialog -->
	</div>
	<!-- /.modal fade show -->

<!-- ======================================================================================================================================================================================================= -->

     <!-- jQuery -->
    <script src="<?php echo base_url() ?>assets/plugins/jquery/jquery.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/jquery/jquery.min.js"></script>
    <!-- jQuery UI 1.11.4 -->
    <script src="<?php echo base_url() ?>assets/plugins/jquery-ui/jquery-ui.min.js"></script>
    <!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
    <script>
        $.widget.bridge('uibutton', $.ui.button)
    </script>
    <!-- Bootstrap 4 -->
    <script src="<?php echo base_url() ?>assets/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
    <!-- ChartJS -->
    <script src="<?php echo base_url() ?>assets/plugins/chart.js/Chart.min.js"></script>
    <!-- Sparkline -->
    <!-- <script src="<?php echo base_url() ?>assets/plugins/sparklines/sparkline.js"></script> -->
     <!-- JQVMap-->
    <script src="<?php echo base_url() ?>assets/plugins/jqvmap/jquery.vmap.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/jqvmap/maps/jquery.vmap.usa.js"></script> 
    <!-- jQuery Knob Chart -->
    <script src="<?php echo base_url() ?>assets/plugins/jquery-knob/jquery.knob.min.js"></script>
    <!-- daterangepicker -->
    <script src="<?php echo base_url() ?>assets/plugins/moment/moment.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/daterangepicker/daterangepicker.js"></script>
    <!-- Tempusdominus Bootstrap 4 -->
    <script src="<?php echo base_url() ?>assets/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js"></script>
    <!-- Summernote -->
    <script src="<?php echo base_url() ?>assets/plugins/summernote/summernote-bs4.min.js"></script>
    <!-- overlayScrollbars -->
    <script src="<?php echo base_url() ?>assets/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
    <!-- AdminLTE App -->
    <script src="<?php echo base_url() ?>assets/dist/js/adminlte.js"></script>
    <!-- AdminLTE for demo purposes -->
    <script src="<?php echo base_url() ?>assets/dist/js/demo.js"></script>
    <!-- AdminLTE dashboard demo (This is only for demo purposes) -->
     <!-- <script src="<?php echo base_url() ?>assets/dist/js/pages/dashboard.js"></script> -->
	<!-- SweetAlert -->
	<script src="<?php echo base_url() ?>assets/plugins/sweetalert2/sweetalert2.all.min.js"></script>
	<!-- AdminLTE Datatable components -->
	<script src="<?php echo base_url() ?>assets/plugins/datatables/jquery.dataTables.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-responsive/js/dataTables.responsive.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/dataTables.buttons.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/buttons.bootstrap4.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/jszip/jszip.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/pdfmake/pdfmake.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/pdfmake/vfs_fonts.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/buttons.html5.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/buttons.print.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/buttons.colVis.min.js"></script>

<!-- ======================================================================================================================================================================================================= -->

    <script>
		//Definir Variables
        var Acompa         = [];
        var edicion        = '';
        var edicionHuesped = 0;
        var vehiculos;
		var Ident_Ini      = '';
		var Movil_Ini      = '';
		var Placa_Ini      = '';
		var VehiculoId     = 0;
        var TotalPrecio    = 0;
        var Total          = 0;
		var HuespedId      = 0;
		var Nombres        = '';
        var Apellidos      = '';
        var TipoDoc        = '';
        var Identificacion = '';
		var CtrlVehiculo   = '0';
		var CtrlHuesped    = '0';
		var TotalAcom      = '';

		//aca ya carga la data no necesito enviar nuevamente   
		var reservas         = <?php echo json_encode($reservas) ?>;
		var vehiculo         = <?php echo json_encode($vehiculo) ?>;
		var marca            = <?php echo json_encode($marca) ?>;
		var color            = <?php echo json_encode($color) ?>;
		var acompanantes_ini = <?php echo json_encode($acompanantes) ?>;

		//Definir Valores a Variables Fijas
		var ReservaId    = reservas[0].IdReserva;
		var HotelesId    = reservas[0].IdEstablecimiento;
		var HabitaId     = reservas[0].IdHabitacion;
		var HabitacionId = reservas[0].IdHabitacion;
		var HuespedId    = reservas[0].IdHuesped;

		//inicio de Carga
		$(document).ready (function() 
		{
            console.log(reservas[0]);
            
			//bloquear Botones
			$('#btn_cerrar_reserva').hide();
            $('#btn_generar_reporte').hide();
			$('#btn_actualizar_huesped').hide();

			//capturar los valores vehiculo
			if(vehiculo.length > 0) {
				VehiculoId = vehiculo[0].IdVehiculo;
				$('#txt_placa_reserva').val(vehiculo[0].Placa).trigger("change");
			}else{
				VehiculoId = null;
				$('#txt_placa_reserva').val();
                $('#opt_sin_vehiculo').prop('checked', true); // Activar el check
			}	
						
			//Capturar la informacion Huesped
			Identificacion = $('#txt_documento_reserva').val(reservas[0].Identificacion);
			Nombres        = $('#txt_nombres_reserva').val(reservas[0].NomHPrincipal);
			Apellidos      = $('#txt_apellidos_reserva').val(reservas[0].Apellidos);
			$('#txt_tipodoc_reserva').val(reservas[0].IdTipoDocumento);
			$('#txt_fechanac_reserva').val(reservas[0].FechaNac);
			$('#txt_lugarnac_reserva').val(reservas[0].LugarNac);
			$('#txt_genero_reserva').val(reservas[0].Genero);
			$('#txt_telefono_reserva').val(reservas[0].Telefono);
			$('#txt_movil_reserva').val(reservas[0].Movil);
			$('#txt_nacionalidad_reserva').val(reservas[0].IdNacionalidad);
			$('#txt_ocupacion_reserva').val(reservas[0].IdOcupacion);
			$('#txt_correoelect_reserva').val(reservas[0].Email);
			$('#txt_psresidencia_reserva').val(reservas[0].IdPaisR);
			$('#txt_dtresidencia_reserva').val(reservas[0].IdDepartamentoR);
			$('#txt_cdresidencia_reserva').val(reservas[0].CiudadResidencia);
			$('#txt_psprocedencia_reserva').val(reservas[0].IdPaisP);
			$('#txt_dtprocedencia_reserva').val(reservas[0].IdDepartamentoP);
			$('#txt_cdprocedencia_reserva').val(reservas[0].CiudadProcedencia);
			$('#txt_direccion_reserva').val(reservas[0].Direccion);
			
			//capturar la informacion Reserva	
			$('#txt_hotel_reserva').val(reservas[0].IdEstablecimiento);
			$('#txt_numerohab_reserva').val(reservas[0].IdHabitacion);
			$('#txt_fechaini_reserva').val(reservas[0].FechaIni);
			$('#txt_horaini_reserva').val(reservas[0].HoraIni);
			$('#txt_fechafin_reserva').val(reservas[0].FechaFin);
			$('#txt_horafin_reserva').val(reservas[0].HoraFin);
 			$('#txt_estado_reserva').val(reservas[0].IdEstado);
			$('#txt_habitacion_reserva').val(reservas[0].TipoHabitacion);
			$('#txt_motivo_reserva').val(reservas[0].IdMotivo);
			$('#txt_acompanantes_reserva').val(reservas[0].CantAcompanantes);
			$('#txt_mdpago_reserva').val(reservas[0].IdMedioPago);
			$('#txt_tipfac_reserva').val(reservas[0].IdTipoFactura);
			$('#txt_claseocupacion').val(reservas[0].IdClaseMatricula);
			$('#txt_tipoocupacion').val(reservas[0].IdTipoOcupacion);
			$('#txt_adicional').val(reservas[0].Adicional);
			$('#txt_precio').val(reservas[0].PrecioHabitacion);
			$('#txt_precioadicional').val(reservas[0].PrecioAdicional);
			$('#txt_descuento').val(reservas[0].Descuento);
			$('#txt_cargoadicional').val(reservas[0].CargoAdicional);
			$('#txt_observacion').val(reservas[0].Observacion);
			$('#txt_iva').val(reservas[0].IdIva);
			$('#txt_preciototal').val(reservas[0].PrecioTotal);

			//Cargar Acompañantes en la tabla
			Ident_Ini = reservas[0].Identificacion;
			LlenarAcompanantes(); 

			if(reservas[0].Estado == '2')
			{
				BloquearCampos();
			}
			
		});

		// Autocompletar Marcas Vehiculo === OK
        function autocomplete(inp, arr) 
		{
            var currentFocus;
            inp.addEventListener("input", function(e) {
                var a, b, i, val = this.value;
                closeAllLists();
                if (!val) { return false;}
                currentFocus = -1;
                a = document.createElement("DIV");
                a.setAttribute("id", this.id + "autocomplete-list");
                a.setAttribute("class", "autocomplete-items");
                this.parentNode.appendChild(a);
                for (i = 0; i < arr.length; i++) {
                    if (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) {
                        b = document.createElement("DIV");
                        b.innerHTML = "<strong>" + arr[i].substr(0, val.length) + "</strong>";
                        b.innerHTML += arr[i].substr(val.length);
                        b.innerHTML += "<input type='hidden' value='" + arr[i] + "'>";
                        b.addEventListener("click", function(e) {
                            inp.value = this.getElementsByTagName("input")[0].value;
                            closeAllLists();
                        });
                        a.appendChild(b);
                    }
                }
            });

            inp.addEventListener("keydown", function(e) {
                var x = document.getElementById(this.id + "autocomplete-list");
                if (x) x = x.getElementsByTagName("div");
                if (e.keyCode == 40) {
                    currentFocus++;
                    addActive(x);
                } else if (e.keyCode == 38) { 
                    currentFocus--;
                    addActive(x);
                } else if (e.keyCode == 13) {
                    e.preventDefault();
                    if (currentFocus > -1) {
                        if (x) x[currentFocus].click();
                    }
                }      
            });

            function addActive(x) {
                if (!x) return false;
                removeActive(x);
                if (currentFocus >= x.length) currentFocus = 0;
                if (currentFocus < 0) currentFocus = (x.length - 1);
                x[currentFocus].classList.add("autocomplete-active");
            }

            function removeActive(x) {
                for (var i = 0; i < x.length; i++) {
                    x[i].classList.remove("autocomplete-active");
                }
            }

            function closeAllLists(elmnt) {
                var x = document.getElementsByClassName("autocomplete-items");
                for (var i = 0; i < x.length; i++) {
                    if (elmnt != x[i] && elmnt != inp) {
                        x[i].parentNode.removeChild(x[i]);
                    }
                }
            }
  
            document.addEventListener("click", function (e) {
                closeAllLists(e.target);
            });
        };

        var marcas = [];
        for (var index = 0; index < marca.length; index++) 
		{
            marcas.push(marca[index].Marca);  
        };
        autocomplete(document.getElementById("myInput2"), marcas);

		//Autocompletar Color Vehiculo === OK
        // function autocomplete(inp, arr) 
		// {
        //     var currentFocus;
        //     inp.addEventListener("input", function(e) {
        //         var a, b, i, val = this.value;
        //         closeAllLists();
        //         if (!val) { return false;}
        //         currentFocus = -1;
        //         a = document.createElement("DIV");
        //         a.setAttribute("id", this.id + "autocomplete-list");
        //         a.setAttribute("class", "autocomplete-items");
        //         this.parentNode.appendChild(a);
        //         for (i = 0; i < arr.length; i++) {
        //             if (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) {
        //                 b = document.createElement("DIV");
        //                 b.innerHTML = "<strong>" + arr[i].substr(0, val.length) + "</strong>";
        //                 b.innerHTML += arr[i].substr(val.length);
        //                 b.innerHTML += "<input type='hidden' value='" + arr[i] + "'>";
        //                 b.addEventListener("click", function(e) {
        //                     inp.value = this.getElementsByTagName("input")[0].value;
        //                     closeAllLists();
        //                 });
        //                 a.appendChild(b);
        //             }
        //         }
        //     });

        //     inp.addEventListener("keydown", function(e) {
        //         var x = document.getElementById(this.id + "autocomplete-list");
        //         if (x) x = x.getElementsByTagName("div");
        //         if (e.keyCode == 40) {
        //             currentFocus++;
        //             addActive(x);
        //         } else if (e.keyCode == 38) { 
        //             currentFocus--;
        //             addActive(x);
        //         } else if (e.keyCode == 13) {
        //             e.preventDefault();
        //             if (currentFocus > -1) {
        //                 if (x) x[currentFocus].click();
        //             }
        //         }
        //     });

        //     function addActive(x) {
        //         if (!x) return false;
        //         removeActive(x);
        //         if (currentFocus >= x.length) currentFocus = 0;
        //         if (currentFocus < 0) currentFocus = (x.length - 1);
        //         x[currentFocus].classList.add("autocomplete-active");
        //     }

        //     function removeActive(x) {
        //         for (var i = 0; i < x.length; i++) {
        //             x[i].classList.remove("autocomplete-active");
        //         }
        //     }

        //     function closeAllLists(elmnt) {
        //         var x = document.getElementsByClassName("autocomplete-items");
        //         for (var i = 0; i < x.length; i++) {
        //             if (elmnt != x[i] && elmnt != inp) {
        //                 x[i].parentNode.removeChild(x[i]);
        //             }
        //         }
        //     }
  
        //     document.addEventListener("click", function (e) {
        //         closeAllLists(e.target);
        //     });
        // };

        var colorVeh = [];
        for (var index = 0; index < color.length; index++) 
		{
            colorVeh.push(color[index].NombreColor);  
        };
		autocomplete(document.getElementById("opt_color_veh"), colorVeh);

        function VerificarMarca() 
        {
            return new Promise((resolve, reject) => {
                var MarcaV = $('#myInput2').val();
                $.ajax({
                    url: '<?php echo base_url() ?>Vehiculos/searchMarcas',
                    type: "POST",
                    headers: {'X-Requested-With': 'XMLHttpRequest'},
                    data: { 'Opcion': 2, 'Marca': MarcaV }
                }).done(function(dato) {
                    var marca_bus = JSON.parse(dato);
                    if (marca_bus.length == 0) {
                        $('#myInput2').val('');
                        Swal.fire({
                            title: 'Error',
                            text: 'Debe seleccionar una marca de vehículo correcta',
                            icon: 'error',
                            confirmButtonText: 'OK',
                            allowOutsideClick: false,
                            allowEscapeKey: false
                        });
                        resolve(0);
                    } else {
                        resolve(1);
                    }
                }).fail(reject);
            });
        }

        function VerificarColor() 
        {
            return new Promise((resolve, reject) => {
                var ColorV = $('#opt_color_veh').val();
                $.ajax({
                    url: '<?php echo base_url() ?>Vehiculos/searchColores',
                    type: "POST",
                    headers: {'X-Requested-With': 'XMLHttpRequest'},
                    data: { 'Opcion': 3, 'Color': ColorV }
                }).done(function(dato) {
                    var color_bus = JSON.parse(dato);
                    if (color_bus.length == 0) {
                        $('#opt_color_veh').val('');
                        Swal.fire({
                            title: 'Error',
                            text: 'Debe seleccionar un color de vehículo correcto ',
                            icon: 'error',
                            confirmButtonText: 'OK',
                            allowOutsideClick: false,
                            allowEscapeKey: false
                        });
                        resolve(0);
                    } else {
                        resolve(1);
                    }
                }).fail(reject);
            });
        }

		// Cargar habitaciones segun establecimiento === OK
		$('#txt_hotel_reserva').change(function() 
        {
            $('#txt_numerohab_reserva').empty();
            var IdHotel = $('#txt_hotel_reserva').val();
            var Fecha   = $('#txt_fechaini_reserva').val();
            var Hora    = $('#txt_horaini_reserva').val();
            var Opcion  = '1';
                
            //Lamado a ajax para traer los departamentos
            $.ajax({
                url: '<?php echo base_url() ?>Habitaciones/searchHabitacionesDisponibles',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: {	'Opcion'  : Opcion,
                        'IdHotel' : IdHotel,
                        'Fecha'   : Fecha,
                        'Hora'    : Hora}
            }).done(function(IdHotel) 
            {
                //convierto la respuesta json
                var obj1 = JSON.parse(IdHotel);
                $('#txt_numerohab_reserva').append(new Option('--Seleccionar--'));
                for (var x in obj1) {
                    $('#txt_numerohab_reserva').append(new Option(obj1[x].NumeroHabitacion,(obj1[x].IdHabitacion)));
                }                    
            });
            // $('#txt_numerohab_reserva').empty();
            // var IdHotel = $('#txt_hotel_reserva').val();
			// var Opcion = '2';
            // //Lamado a ajax para traer los departamentos
            // $.ajax({
            //     url: '<?php echo base_url() ?>Habitaciones/searchHabitaciones',//controlador
            //     type: "POST",//tipo de peticion POST o GET
            //     headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
			// 	data: {	'Opcion'  : Opcion,
			// 			'IdHotel' : IdHotel }
            // }).done(function(IdHotel) 
            // {
            //     //convierto la respuesta json
            //     var obj1 = JSON.parse(IdHotel);
            //     $('#txt_numerohab_reserva').append(new Option('--Seleccionar--'));
            //     for (var x in obj1) {
            //         $('#txt_numerohab_reserva').append(new Option(obj1[x].NumeroHabitacion,(obj1[x].IdHabitacion)));
            //     }                    
            // });
        });

		//Cargar departamentos residencia ok
		$('#txt_psresidencia_reserva').change(function()
		{
			$('#txt_cdresidencia_reserva').empty();
			var PaisR = $('#txt_psresidencia_reserva').val();

			 //Lamado a ajax para traer los departamentos
			 $.ajax({
                url: '<?php echo base_url() ?>Tipos/searchDepartamentos/'+PaisR,//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
            }).done(function(PaisR) 
            {
                //convierto la respuesta json
                var obj = JSON.parse(PaisR); 
                 $('#txt_cdresidencia_reserva').append(new Option('--Seleccionar--'));                                               
                for (var i in obj) {  
                    $('#txt_cdresidencia_reserva').append(new Option(obj[i].CiuDep,(obj[i].IdCiudad)));  
                }                 
            });
		});

		//Cargar departamentos procedencia ok 
		$('#txt_psprocedencia_reserva').change(function()
		{
			$('#txt_cdprocedencia_reserva').empty();
			var PaisP = $('#txt_psprocedencia_reserva').val();

			 //Lamado a ajax para traer los departamentos
			 $.ajax({
                url: '<?php echo base_url() ?>Tipos/searchDepartamentos/'+PaisP,//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
            }).done(function(PaisP) 
            {
                //convierto la respuesta json
                var obj = JSON.parse(PaisP); 
                $('#txt_cdprocedencia_reserva').append(new Option('--Seleccionar--'));                                               
                for (var i in obj) {  
                    $('#txt_cdprocedencia_reserva').append(new Option(obj[i].CiuDep,(obj[i].IdCiudad)));  
                }                 
            });
		});

		//validar correo Electronico
		$('#txt_correoelect_reserva').change(function() 
		{
			CorreoElec = $('#txt_correoelect_reserva').val();

			if(CorreoElec.indexOf('@', 0) == -1 || CorreoElec.indexOf('.', 0) == -1) {
				Swal.fire("Error", "No es un correo electrónico válido", "error");  
				return false;
			}
		});

		//Validar Existencia de Acompañante === OK
		$('#opt_identificacion_huespedes').change(function()
		{
			//Definir Variables
			// Opcion = '2';
			Opcion = '2';
			Ident_Acompa = $('#opt_identificacion_huespedes').val();

			//validar Huesped con Acompañante
			if(Identificacion == Ident_Acompa){
				Swal.fire("Información","El número de identificación del acompañante es igual al del huésped principal", "error");
				$('#opt_identificacion_huespedes').val('');
				return;
			}

			//Lamado a ajax para traer los acompañantes
			$.ajax({
				url: '<?php echo base_url() ?>Acompanantes/searchAcompanantes',//controlador
				type: "POST",//tipo de peticion POST o GET
				headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
				data: {	'Opcion'         : Opcion, 
						'Identificacion' : Ident_Acompa }//formato json Data
			
			}).done(function(datoct) 
			{
				//convierto la respuesta json
				acompanantes = JSON.parse(datoct);
				TotalAcom    = acompanantes.length;

				if (acompanantes.length > 0) 
				{
					//variable de control
					edicion = '1';
					
					AcompananteId = (acompanantes[0].IdAcompanante);
					$('#opt_nombre_huespedes').val(acompanantes[0].Nombres); 
					$('#opt_apellido_huespedes').val(acompanantes[0].Apellidos); 
					$('#opt_tipodoc_huespedes').val(acompanantes[0].IdTipoDocumento);
					$('#opt_fecnac_huespedes').val(acompanantes[0].FechaNac);
					$('#opt_lugarnac_huespedes').val(acompanantes[0].LugarNac);
					$('#opt_genero_huespedes').val(acompanantes[0].Genero);
					$('#opt_telefono_huespedes').val(acompanantes[0].Telefono);
					$('#opt_movil_huespedes').val(acompanantes[0].Movil); 
					$('#opt_nacionalidad_huespedes').val(acompanantes[0].IdNacionalidad);
					$('#opt_ocupacion_huespedes').val(acompanantes[0].IdOcupacion); 
					$('#opt_correo_huespedes').val(acompanantes[0].Email);
					$('#opt_residencia_huespedes').val(acompanantes[0].CiudadResidencia);
					$('#opt_procedencia_huespedes').val(acompanantes[0].CiudadProcedencia);
					$('.titulo_acompanante').text("Editar Acompañante");
					$("#modal_acompanante_nuevo").modal("show");
					$('#btn_guardar_acompanante').text('Actualizar');

				}else{

					//Lamado a ajax para traer los huespedes
					$.ajax({
						url: '<?php echo base_url() ?>Huespedes/searchHuesped',//controlador
						type: "POST",//tipo de peticion POST o GET
						headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
						data: {	'Opcion' : Opcion, 
							    'Ident'  : Ident_Acompa }//formato json Data
					
					}).done(function(datoct) 
					{
						//convierto la respuesta json
						acompanantes = JSON.parse(datoct);
						TotalAcom    = acompanantes.length;

						if (acompanantes.length > 0) 
						{
							//variable de control
							edicion = '0';

							AcompananteId = (acompanantes[0].IdAcompanante);
							$('#opt_nombre_huespedes').val(acompanantes[0].Nombres); 
							$('#opt_apellido_huespedes').val(acompanantes[0].Apellidos); 
							$('#opt_tipodoc_huespedes').val(acompanantes[0].IdTipoDocumento);
							$('#opt_fecnac_huespedes').val(acompanantes[0].FechaNac);
							$('#opt_lugarnac_huespedes').val(acompanantes[0].IdLugarNac);
							$('#opt_genero_huespedes').val(acompanantes[0].Genero);
							$('#opt_telefono_huespedes').val(acompanantes[0].Telefono);
							$('#opt_movil_huespedes').val(acompanantes[0].Movil); 
							$('#opt_nacionalidad_huespedes').val(acompanantes[0].IdNacionalidad);
							$('#opt_ocupacion_huespedes').val(acompanantes[0].IdOcupacion); 
							$('#opt_correo_huespedes').val(acompanantes[0].Email);
							$('#opt_residencia_huespedes').val(acompanantes[0].IdCiudadResidencia);
							$('#opt_procedencia_huespedes').val(acompanantes[0].IdCiudadProcedencia);
							$('.titulo_acompanante').text("Editar Acompañante");
							$("#modal_acompanante_nuevo").modal("show");
							$('#btn_guardar_acompanante').text('Registrar');
							
						}else{
							//variable de control
							edicion = '0';
						}
					});
				}
			});
		}); 

		//validar correo Electronico
		$('#txt_correoelect_reserva').change(function() 
		{
			CorreoElec = $('#txt_correoelect_reserva').val();

			if(CorreoElec.indexOf('@', 0) == -1 || CorreoElec.indexOf('.', 0) == -1) {
				Swal.fire("Error", "No es un correo electrónico válido", "error");  
				return false;
			}
		});

        $('#opt_sin_vehiculo').change(function() {
            if ($(this).prop('checked')) {
                $('#txt_placa_reserva').val(''); 
                $('#txt_marca_reserva').val(''); 
                $('#txt_modelo_reserva').val('');
                $('#txt_color_reserva').val('');
                $('#txt_tipo_reserva').val('');
                $('#txt_matricula_reserva').val('');
                $('#txt_empresa_reserva').val('');
                $('#txt_nit_reserva').val('');
            }
        });
		
		//Validar fecha de salida
		$('#txt_fechaini_reserva').change(function() 
        {
            $('#txt_numerohab_reserva').empty();
            var IdHotel = $('#txt_hotel_reserva').val();
            var Fecha   = $('#txt_fechaini_reserva').val();
            var Opcion  = '1';
            var Hora    = $('#txt_horaini_reserva').val();

            sumarUnDia();
            //Lamado a ajax para traer los departamentos
            $.ajax({
                url: '<?php echo base_url() ?>Habitaciones/searchHabitacionesDisponibles',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: {	'Opcion'  : Opcion,
                        'IdHotel' : IdHotel,
                        'Fecha'   : Fecha,
                        'Hora'    : Hora  }
            }).done(function(IdHotel) 
            {
                //convierto la respuesta json
                var obj1 = JSON.parse(IdHotel);
                $('#txt_numerohab_reserva').append(new Option('--Seleccionar--'));
                for (var x in obj1) {
                    $('#txt_numerohab_reserva').append(new Option(obj1[x].NumeroHabitacion,(obj1[x].IdHabitacion)));
                }                    
            });
			// //Calcular mes para la fecha fin de Bodegaje
			// var fechafin = new Date($('#txt_fechaini_reserva').val());
			// var dias = 2; // Número de días a agregar
			// fechafin.setDate(fechafin.getDate() + dias);
			// FechaFinRes = formatoFecha(fechafin, 'dd-mm-yyyy');
			// $('#txt_fechafin_reserva').val(FechaFinRes);
		});

        // Verificar que la fecha de salida no sea menor que la fecha de ingreso
        $('#txt_fechafin_reserva').change(function()
        {
            if ($('#txt_fechafin_reserva').val() < $('#txt_fechaini_reserva').val()){
                Swal.fire({
                    title: "Información",
                    text: "La fecha de salida no puede ser inferior a la fecha de ingreso",
                    icon: "info"
                });
                sumarUnDia();
            }
        });

        // Cargar habitaciones segun la hora de ingreso  
        $('#txt_horaini_reserva').change(function() 
        {
            $('#txt_numerohab_reserva').empty();
            var IdHotel = $('#txt_hotel_reserva').val();
            var Fecha   = $('#txt_fechaini_reserva').val();
            var Opcion  = '1';
            var Hora    = $('#txt_horaini_reserva').val();

            //Lamado a ajax para traer los departamentos
            $.ajax({
                url: '<?php echo base_url() ?>Habitaciones/searchHabitacionesDisponibles',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: {	'Opcion'  : Opcion,
                        'IdHotel' : IdHotel,
                        'Fecha'   : Fecha,
                        'Hora'    : Hora  }
            }).done(function(IdHotel) 
            {
                //convierto la respuesta json
                var obj1 = JSON.parse(IdHotel);
                $('#txt_numerohab_reserva').append(new Option('--Seleccionar--'));
                for (var x in obj1) {
                    $('#txt_numerohab_reserva').append(new Option(obj1[x].NumeroHabitacion,(obj1[x].IdHabitacion)));
                }                    
            });
        });

		//Cargar nombre habitacion === OK
		$('#txt_numerohab_reserva').change(function() 
		{
			// //Validar Fechas para reserva
			// var Opcion       = '3';
			// var IdEstado     = '6'
			// var IdHabitacion = $('#txt_numerohab_reserva').val();
				
			// //Lamado a ajax para traer los departamentos
			// $.ajax({
			// 	url: '<?php echo base_url() ?>Reservas/searchReservas',//controlador
			// 	type: "POST",//tipo de peticion POST o GET
			// 	headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
			// 	data: {	'Opcion'       : Opcion,
			// 			'IdEstado'     : IdEstado, 
			// 			'IdHabitacion' : IdHabitacion }//formato json Data
			
			// }).done(function(datoct) 
			// {
			// 	//convierto la respuesta json
			// 	var habita_res = JSON.parse(datoct);

			// 	if (habita_res.length > 0) 
			// 	{
			// 		var F_IniRes = (habita_res[0].FechaIni);
			// 		var F_FinRes = (habita_res[0].FechaFin);
			// 	}

			// 	//Validar Fecha Inicial
			// 	F_Ini = $('#txt_fechaini_reserva').val();
			// 	F_Fin = $('#txt_fechafin_reserva').val();

			// 	if(F_Ini == F_IniRes){
			// 		swal.fire("Error","Ya tiene reserva la habitación para fecha de ingreso","error");
			// 		$('#txt_numerohab_reserva').val('0');
			// 		$('#txt_habitacion_reserva').val('');
			// 		return;
			// 	}else if(F_Ini < F_FinRes){
			// 		swal.fire("Error","Ya tiene reserva la habitación para fecha de salida","error");
			// 		$('#txt_numerohab_reserva').val('0');
			// 		$('#txt_habitacion_reserva').val('');
			// 		return;
			// 	}else{
					//Definir variables
					var Opcion     = '3';
					var Habitacion = $('#txt_numerohab_reserva').val();
					var IdHotel    = $('#txt_hotel_reserva').val();

					//Lamado a ajax para traer los departamentos
					$.ajax({
						url: '<?php echo base_url() ?>Habitaciones/searchHabitaciones',//controlador
						type: "POST",//tipo de peticion POST o GET
						headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
						data: {	'Opcion'       : Opcion, 
								'IdHabitacion' : Habitacion,
							    'IdHotel'      : IdHotel}//formato json Data
					
					}).done(function(datoct){
						//convierto la respuesta json
						var habita = JSON.parse(datoct);
		
						if (habita.length > 0){
							HabitacionId =  habita[0].IdHabitacion;
                            $('#txt_habitacion_reserva').val(habita[0].TipoHabitacion);
						$('#txt_mdpago_reserva').val('1');
						// $('#txt_tipfac_reserva').val('2'); NO APLICA
						$('#txt_tipfac_reserva').val('1'); //RECIBO DE CAJA
						
                        if (ClaseOcupacion != '' && TipoOcupacionId != ''){
                            //Definir variables
                            Opcion           = '4';
                            ClaseOcupacion   = $('#txt_claseocupacion').val();
                            TipoOcupacionId  = $('#txt_tipoocupacion').val();
                            PersonaAdicional = $('#txt_adicional').val();

                            if ($('#txt_tipoocupacion').val() != 0){
                                //Lamado a ajax para traer los departamentos
                                $.ajax({
                                    url: '<?php echo base_url() ?>ValorHabitacion/searchValorHabitacion',//controlador
                                    type: "POST",//tipo de peticion POST o GET
                                    headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                                    data:{  'Opcion'           : Opcion, 
                                            'IdHabitacion'     : HabitacionId,
                                            'TipoOcupacionId'  : TipoOcupacionId,
                                            'IdClaseMatricula' : ClaseOcupacion
                                         }//formato json Data
                                }).done(function(datoct){
                                    //convierto la respuesta json
                                    var ocupa = JSON.parse(datoct);
                                    
                                    if (ocupa.length != 0){
                                        $('#txt_precio').val(ocupa[0].Precio);
                                        PrecioTotalHab();
                                    }
                                });

                            }
                        } 
							// $('#txt_habitacion_reserva').val(habita[0].TipoHabitacion);
							// $('#txt_mdpago_reserva').val('1');
							// $('#txt_tipfac_reserva').val('2');
						
							// if(HabitacionId != HabitaId){
							// 	$('#txt_claseocupacion').val('0');
							// 	$('#txt_tipoocupacion').val('0');
							// 	$('#txt_adicional').val('0');
							// 	$('#txt_precio').val('0');
							// 	$('#txt_precioadicional').val('0');
							// }			
						}
					});
				// }
			});
        // });

		//Traer Valores de habitacion por la clase ok
		$('#txt_claseocupacion').change(function()
		{
            //Definir variables
            Opcion           = '4';
            ClaseOcupacion   = $('#txt_claseocupacion').val();
            TipoOcupacionId  = $('#txt_tipoocupacion').val();
            PersonaAdicional = $('#txt_adicional').val();

            if ($('#txt_tipoocupacion').val() != 0){
                console.log('tipo ocupacion:', $('#txt_tipoocupacion').val()); 
                //Lamado a ajax para traer los departamentos
                $.ajax({
                    url: '<?php echo base_url() ?>ValorHabitacion/searchValorHabitacion',//controlador
                    type: "POST",//tipo de peticion POST o GET
                    headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                    data: {	'Opcion'          : Opcion, 
                            'IdHabitacion'    : HabitacionId,
                            'TipoOcupacionId' : TipoOcupacionId,
                            'IdClaseMatricula'        : ClaseOcupacion
                            }//formato json Data
                }).done(function(datoct){
                    //convierto la respuesta json
                    var ocupa = JSON.parse(datoct);
                    console.log('precio ocupacion:', ocupa);
                    
                    if (ocupa.length != 0) 
                    {
                        $('#txt_precio').val(ocupa[0].Precio);
                        PrecioTotalHab();
                    }
                });
            }
			// //Definir variables
			// Opcion = '4';
			// ClaseOcupacion  = $('#txt_claseocupacion').val();
			// TipoOcupacionId = $('#txt_tipoocupacion').val();

			// //Lamado a ajax para traer los departamentos
			// $.ajax({
			// 	url: '<?php echo base_url() ?>ValorHabitacion/searchValorHabitacion',//controlador
			// 	type: "POST",//tipo de peticion POST o GET
			// 	headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
			// 	data: {	'Opcion'           : Opcion, 
			// 			'IdHabitacion'     : HabitacionId,
			// 			'IdClaseMatricula' : ClaseOcupacion }//formato json Data
			
			// }).done(function(datoct) 
			// {
			// 	//convierto la respuesta json
			// 	var valorhab = JSON.parse(datoct);
				
			// 	if (valorhab.length > 0) 
			// 	{
			// 		for(i=0; i<valorhab.length; i++){
			// 			if (valorhab[i].IdTipoOcupacion == TipoOcupacionId)
			// 			{ 
			// 				$('#txt_precio').val(valorhab[i].Precio);
			// 				$('#txt_iva').val('0').trigger("change");
			// 				break;
			// 			}
			// 		}
			// 	}
			
			// });
		});

		//Traer Valores de habitacion por el tipo === OK
		$('#txt_tipoocupacion').change(function()
		{
            //Definir variables
            Opcion = '4';
            ClaseOcupacion  = $('#txt_claseocupacion').val();
            TipoOcupacionId = $('#txt_tipoocupacion').val();
            
            //Lamado a ajax para traer los departamentos
            $.ajax({
                url: '<?php echo base_url() ?>ValorHabitacion/searchValorHabitacion',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: {	'Opcion'          : Opcion, 
                        'IdHabitacion'    : HabitacionId,
                        'TipoOcupacionId' : TipoOcupacionId,
                        'IdClaseMatricula'        : ClaseOcupacion
                        }//formato json Data
            }).done(function(datoct){
                //convierto la respuesta json
                var ocupa = JSON.parse(datoct);
                console.log('precio ocupacion:', ocupa);
                
                if (ocupa.length != 0) 
                {
                    $('#txt_precio').val(ocupa[0].Precio);
                }
            });
			// //Definir variables
			// Opcion = '4';
			// ClaseOcupacion  = $('#txt_claseocupacion').val();
			// TipoOcupacionId = $('#txt_tipoocupacion').val();

			// //Lamado a ajax para traer los departamentos
			// $.ajax({
			// 	url: '<?php echo base_url() ?>ValorHabitacion/searchValorHabitacion',//controlador
			// 	type: "POST",//tipo de peticion POST o GET
			// 	headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
			// 	data: {	'Opcion'           : Opcion, 
			// 			'IdHabitacion'     : HabitacionId,
			// 			'TipoOcupacionId'  : TipoOcupacionId,
			// 			'IdClaseMatricula' : ClaseOcupacion }//formato json Data
			
			// }).done(function(datoct) 
			// {
			// 	//convierto la respuesta json
			// 	var valorhab = JSON.parse(datoct);
				
			// 	if (valorhab.length > 0) 
			// 	{
			// 		for(i=0; i<valorhab.length; i++){
			// 			if (valorhab[i].IdTipoOcupacion == TipoOcupacionId)
			// 			{ 
			// 				$('#txt_precio').val(valorhab[i].Precio);
			// 				$('#txt_iva').val('0').trigger("change");
			// 				break;
			// 			}
			// 		}
			// 	}
			
			// });
		});

		//Calcular total si cambia el iva
		$('#txt_iva').change(function()
		{
			PrecioTotalHab();
		});
		
		$('#txt_adicional').change(function() //OK
		{
			PrecioAdicionalHab()
		});

		//Calcular total si cambia el iva
		$('#txt_descuento').change(function()
		{
            var Descuento = Number($('#txt_descuento').val());
            var Precio = Number($('#txt_precio').val());
            console.log('Descuento:', Descuento);
            console.log('Precio:', Precio);
            
            if (Descuento > Precio){
                Swal.fire({
                    title: 'Error',
                    text: 'El descuento no puede ser mayor al precio de la habitación.',
                    icon: 'error',
                    confirmButtonText: 'OK',
                    allowOutsideClick: false, // Deshabilita el cierre al hacer clic fuera del modal
                    allowEscapeKey: false // Deshabilita el cierre al presionar la tecla "Escape"
                });
                $('#txt_descuento').val('')
            } else {
                PrecioTotalHab();
            }
			// PrecioTotalHab();
		});

		//Calcular total si cambia el iva
		$('#txt_cargoadicional').change(function()
		{
			PrecioTotalHab();
		});

		//Cargar informacion adicional del Vehiculo === OK
		$('#txt_placa_reserva').change(function() 
		{
			//definir variable
			$('input[type="text"]').val('');
			VehiculoId =  reservas[0].IdVehiculo
			

			//validar permisos de acceso
			for(i=0; i<vehiculo.length; i++){
				if (vehiculo[i].IdVehiculo == VehiculoId)
				{ 
                   
                    $('#txt_marca_reserva').val(vehiculo[i].Marca);
                    $('#txt_modelo_reserva').val(vehiculo[i].Modelo);
                    $('#txt_color_reserva').val(vehiculo[i].NombreColor);
	                $('#txt_tipo_reserva').val(vehiculo[i].TipoVehiculo);
					$('#txt_matricula_reserva').val(vehiculo[i].NombreClase);
	                $('#txt_empresa_reserva').val(vehiculo[i].Empresa);
	                $('#txt_nit_reserva').val(vehiculo[i].Nit);
					break;
				}

			}
			var find = vehiculo.filter(x => x.IdVehiculo == VehiculoId);
			
			$('#txt_placa_reserva').val(find[0].Placa);
			// OpcionesVehiculos(find);
		});
		
		//Boton Cancelar Reserva
		$("#btn_cancelar_reserva").click(function ()
		{ 
			window.location.href="<?php echo base_url() ?>Reservas/listReservas";
		});

		//Cargar informacion adicional del Vehiculo === OK
		$('#opt_placa_veh').change(function() 
		{
			//Definir variables
			var Opcion = '4';
			var Placa = $('#opt_placa_veh').val();
				
			//Lamado a ajax para traer los departamentos
			$.ajax({
				url: '<?php echo base_url() ?>Vehiculos/searchVehiculos',//controlador
				type: "POST",//tipo de peticion POST o GET
				headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
				data: {	'Opcion' : Opcion, 
						'Placa'  : Placa }//formato json Data
			
			}).done(function(datovh) 
			{
				//convierto la respuesta json
				var vehiculo_bus = JSON.parse(datovh);

				if (vehiculo_bus.length > 0) 
				{
					CtrlVehiculo = '1';
					VehiculoId = vehiculo_bus[0].IdVehiculo;
					$('#opt_clasemat').val(vehiculo_bus[0].IdClaseMatricula); 
					$('#myInput2').val(vehiculo_bus[0].Marca);
					$('#opt_color_veh').val(vehiculo_bus[0].NombreColor);
					$('#opt_modelo_veh').val(vehiculo_bus[0].Modelo);
					$('#opt_tipo_veh').val(vehiculo_bus[0].IdTipoVehiculo);
					$('#opt_empresa_veh').val(vehiculo_bus[0].Empresa);
					$('#opt_nit_veh').val(vehiculo_bus[0].Nit);
				}else{
					CtrlVehiculo = '0';
				}
				
				//Activar Boton
				$('#btn_huesped_principal').show();
			});

		});

		//Actualizar Huesped ==== OK
		$("#btn_huesped_principal").click(function ()
		{  
			Nombres           =	$('#txt_nombres_reserva').val();
			Apellidos         = $('#txt_apellidos_reserva').val(); 
			TipoDocumento     = $('#txt_tipodoc_reserva').val();
			Identificacion    = $('#txt_documento_reserva').val();
			FechaNac          = $('#txt_fechanac_reserva').val();
			LugarNac          = $('#txt_lugarnac_reserva').val();
			Genero            = $('#txt_genero_reserva').val();
			Telefono          = $('#txt_telefono_reserva').val();
			Movil             = $('#txt_movil_reserva').val();
			Nacionalidad      = $('#txt_nacionalidad_reserva').val();
			Ocupacion         = $('#txt_ocupacion_reserva').val(); 
			Email             = $('#txt_correoelect_reserva').val();
			Direccion         = $('#txt_direccion_reserva').val();
			CiudadResidencia  = $('#txt_cdresidencia_reserva').val();
			CiudadProcedencia = $('#txt_cdprocedencia_reserva').val();
			Placa             = VehiculoId;
				
            //Validaciones de front end
            
			//llamada a micro servicio de validacion
            $.ajax({
                url: '<?php echo base_url() ?>Huespedes/updateHuespedes',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: {'Huesped'           : HuespedId, 
					   'Nombres'           : Nombres, 
					   'Apellidos'         : Apellidos, 
					   'TipoDocumento'     : TipoDocumento, 
					   'Identificacion'    : Identificacion, 
					   'FechaNac'          : FechaNac, 
					   'LugarNac'          : LugarNac, 
					   'Genero'            : Genero,
					   'Telefono'          : Telefono,
					   'Movil'             : Movil,
					   'Nacionalidad'      : Nacionalidad,
					   'Ocupacion'         : Ocupacion,  
					   'Email'             : Email,
					   'CiudadResidencia'  : CiudadResidencia,
					   'CiudadProcedencia' : CiudadProcedencia,
					   'Direccion'         : Direccion,
					   'Placa'    		   : VehiculoId}//formato json Data   
                        
            }).done(function(dato) 
            {
				var obj = JSON.parse(dato); 
                if (obj.res == 'ok') 
				{
					Swal.fire("Información",obj.msg, "success");
               	}
				
            });
        });

		//Ejecutar el modal - Crear Acompanante
		$("#btn_agregar_acompanante").click(function ()
		{  
			LimpiarModal();
			$('.titulo_acompanante').text("Nuevo Acompañante");
			$("#modal_acompanante_nuevo").modal("show");
			$('#btn_guardar_acompanante').text('Registrar');
		});
		
		// Editar el acompañante === OK
        function btn_editar_acompanante(Valor)
		{
			//Asignar Variables
			edicion       = '1';
			AcompananteId = Valor;

			//Limpiar campos del Modal
			LimpiarModal();
			
			$('#opt_nombre_huespedes').val(acompanantes_ini[0].Nombres); 
			$('#opt_apellido_huespedes').val(acompanantes_ini[0].Apellidos); 
			$('#opt_tipodoc_huespedes').val(acompanantes_ini[0].IdTipoDocumento);
			$('#opt_identificacion_huespedes').val(acompanantes_ini[0].Identificacion);
			$('#opt_fecnac_huespedes').val(acompanantes_ini[0].FechaNac);
			$('#opt_lugarnac_huespedes').val(acompanantes_ini[0].LugarNac);
			$('#opt_genero_huespedes').val(acompanantes_ini[0].Genero);
			$('#opt_telefono_huespedes').val(acompanantes_ini[0].Telefono);
			$('#opt_movil_huespedes').val(acompanantes_ini[0].Movil); 
			$('#opt_nacionalidad_huespedes').val(acompanantes_ini[0].IdNacionalidad);
			$('#opt_ocupacion_huespedes').val(acompanantes_ini[0].IdOcupacion); 
			$('#opt_correo_huespedes').val(acompanantes_ini[0].Email);
			$('#opt_residencia_huespedes').val(acompanantes_ini[0].CiudadResidencia);
			$('#opt_procedencia_huespedes').val(acompanantes_ini[0].CiudadProcedencia);
					
			$('.titulo_acompanante').text("Editar Acompañante");
			$("#modal_acompanante_nuevo").modal("show");
			$('#btn_guardar_acompanante').text('Actualizar');
		};

		//Agregar Acompañantes al huesped === OK
		function AgregarAcompañantes()
		{
            var Identificacion = $('#opt_identificacion_huespedes').val();
            var Nombres        = $('#opt_nombre_huespedes').val(); 
            var Apellidos      = $('#opt_apellido_huespedes').val(); 
            var TipoDocumento  = $('#opt_tipodoc_huespedes').val();
            var FechaNac       = $('#opt_fecnac_huespedes').val();
            var LugarNac       = $('#opt_lugarnac_huespedes').val();
			if (LugarNac == null){LugarNac = '1'}; 
            var Genero         = $('#opt_genero_huespedes').val();
            var Telefono       = $('#opt_telefono_huespedes').val();
            var Movil          = $('#opt_movil_huespedes').val(); 
            var Nacionalidad   = $('#opt_nacionalidad_huespedes').val();
            var Ocupacion      = $('#opt_ocupacion_huespedes').val(); 
            var CorreoElec     = $('#opt_correo_huespedes').val();
            var Residencia     = $('#opt_residencia_huespedes').val();
            var Procedencia    = $('#opt_procedencia_huespedes').val();

            var btnCerrar      = document.getElementById("cerrar_modal");

			//Validar si es Creacion o Actualizacion
            if (edicion == '0') 
			{
				//llamada a micro servicio de validacion
				$.ajax({
					url: '<?php echo base_url() ?>Acompanantes/insertAcompanantes',//controlador
					type: "POST",//tipo de peticion POST o GET
					headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
					data: { 'ReservaId'      : ReservaId, 
							'HuespedId'      : HuespedId, 
							'Nombres'        : Nombres, 
							'Apellidos'      : Apellidos, 
							'TipoDocumento'  : TipoDocumento, 
							'Identificacion' : Identificacion, 
							'FechaNac'       : FechaNac,
							'LugarNac'       : LugarNac,
							'Genero'         : Genero,
							'Telefono'       : Telefono,
							'Movil'          : Movil,  
							'Nacionalidad'   : Nacionalidad,
							'Ocupacion'      : Ocupacion,
							'CorreoElec'     : CorreoElec,
							'Residencia'     : Residencia,
							'Procedencia'    : Procedencia }//formato json Data   
							
				}).done(function(dato) 
				{
					//convierto la respuesta json
					var obj = JSON.parse(dato); 
					if (obj.res == 'ok') 
					{
						$('#btn_huesped_principal').hide(); 
						Swal.fire("Información",obj.msg, "success");
					}

				});	

				btnCerrar.click();
				LlenarAcompanantes();     
				LimpiarModal();

            }else{

				//llamada a micro servicio de validacion
				$.ajax({
					url: '<?php echo base_url() ?>Acompanantes/updateAcompanantes',//controlador
					type: "POST",//tipo de peticion POST o GET
					headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
					data: { 'AcompananteId'  : AcompananteId, 
							'ReservaId'      : ReservaId, 
							'HuespedId'      : HuespedId, 
							'Nombres'        : Nombres, 
							'Apellidos'      : Apellidos, 
							'TipoDocumento'  : TipoDocumento, 
							'Identificacion' : Identificacion, 
							'FechaNac'       : FechaNac,
							'LugarNac'       : LugarNac,
							'Genero'         : Genero,
							'Telefono'       : Telefono,
							'Movil'          : Movil,  
							'Nacionalidad'   : Nacionalidad,
							'Ocupacion'      : Ocupacion,
							'CorreoElec'     : CorreoElec,
							'Residencia'     : Residencia,
							'Procedencia'    : Procedencia }//formato json Data   
							
				}).done(function(dato) 
				{
					//convierto la respuesta json
					var obj = JSON.parse(dato); 
					if (obj.res == 'ok') 
					{
						$('#btn_huesped_principal').hide(); 
						Swal.fire("Información",obj.msg, "success");
					}

				});	

				btnCerrar.click();
				LlenarAcompanantes();     
				LimpiarModal();
            }
        };

		//LLenar tabla de Acompañantes
		function LlenarAcompanantes()
		{
			//Definir Variables
			Opcion = '1';

			//Lamado a ajax para traer los departamentos
			$.ajax({
				url: '<?php echo base_url() ?>Acompanantes/searchAcompanantes',//controlador
				type: "POST",//tipo de peticion POST o GET
				headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
				data: {	'Opcion'    : Opcion, 
						'HuespedId' : HuespedId }//formato json Data
			
			}).done(function(datoct) 
			{
				//convierto la respuesta json
				acompanantes = JSON.parse(datoct);
				TotalAcom    = acompanantes.length;
									
				//Cantidad de Acompañantes
				$('#txt_acompanantes_reserva').val(TotalAcom); 

				if (acompanantes.length > 0) 
				{
					$("#example1").DataTable({
						data: acompanantes,
						destroy: true,
						responsive: true,
						searching: false,
						columns:
						[
							// {data : 'IdAcompanante'},
							{data : 'Nombres'},
							{data : 'Apellidos'},
							{data : 'TipoDocumento'},
							{data : 'Identificacion'},
							{data : 'FechaNac'},
							{data : 'Ocupacion'},
							{data : 'Nacionalidad'},
							{data : 'Email'},
							{data : 'IdAcompanante',
								render: function ( data, type, customer ) {
									
									AcompananteId = customer.IdAcompanante;
									return '<a href="#" onclick="btn_editar_acompanante('+ AcompananteId +')" data-id="' + AcompananteId + '"  class="table-edit" >Editar</a>&nbsp;&nbsp;<a href="#" onclick="EliminarAcompanante('+ AcompananteId +')" data-id="' + AcompananteId + '" class="table-edit" >Bloquear</a>';
								}
							}
						],
						responsive: true, "lengthChange": false, "autoWidth": false
					}).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(0)');
				}
			});
			//vaciar Modal
			LimpiarModal();
        };

		//Eliminar el registro del modal === OK
		function EliminarAcompanante(Valor)
		{
        	Swal.fire({
				title: "¿Está seguro de bloquear el acompañante?",
				text: "Esta opción quitará el acompañante seleccionado de la lista",
				icon: "warning",
				showCancelButton: true,
				confirmButtonColor: '#3085d6',
				cancelButtonColor: '#d33',
				confirmButtonText: 'Bloquear',
				cancelButtonText: 'Cancelar'
			}).then((result) => {
				if (result.isConfirmed)
				{
					//Definir Variables
					Opcion     = '1';
					Huesped_Id = '0';

					//Registro de sesion cerrada.
					$.ajax({
						url: '<?php echo base_url() ?>Acompanantes/blockAcompanantes',//controlador
						type: "POST",//tipo de peticion POST o GET
						headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
						data: { 'AcompananteId' : Valor,
								'HuespedId'     : Huesped_Id }//formato json Data

					}).done(function(dato){

						var obj = JSON.parse(dato); 
						if (obj.res == 'ok')
						{
							//Actualizar Tabla Acompañantes
							$("#example1").DataTable().clear().draw();
							LlenarAcompanantes();				
						}
					});		   
				} 
			});
        };

		//Validar cantidad de acompañantes para guardar === OK
		function ValidarGuardar()
		{
           //Definir variables
			var Opcion    = '3';
			var AcompaNum = $('#txt_acompanantes_reserva').val();

			//Lamado a ajax para traer los departamentos
			$.ajax({
				url: '<?php echo base_url() ?>Acompanantes/searchAcompanantes',//controlador
				type: "POST",//tipo de peticion POST o GET
				headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
				data: {	'Opcion'    : Opcion, 
						'ReservaId' : ReservaId,
						'HuespedId' : HuespedId }//formato json Data

			}).done(function(datoct) 
			{
				//convierto la respuesta json
				var acompanante_bus = JSON.parse(datoct);
				var TotalAcompa     = acompanante_bus.length;

				if (acompanante_bus.length > 0) 
				{
					if(AcompaNum == TotalAcompa){
						ActualizarReserva();
					}else{
						Swal.fire("Acción Denegada", "El número de acompañantes no coincide con el digitado", "info");
					}

				}else{

					if(AcompaNum == TotalAcompa){
						ActualizarReserva();
					}else{
						Swal.fire("Acción Denegada", "El número de acompañantes no coincide con el digitado", "info");
					}  
				}
			});
        };

		//Actualizar Reserva === OK
		function ActualizarReserva()
		{
			Nombres          = $('#txt_nombres_reserva').val();
            Apellidos        = $('#txt_apellidos_reserva').val();
            TipoDoc          = $('#txt_tipodoc_reserva').val();
            Identificacion   = $('#txt_documento_reserva').val();
            FechaNac         = $('#txt_fechanac_reserva').val();
            LugarNac         = $('#txt_lugarnac_reserva').val();
            Genero           = $('#txt_genero_reserva').val();
            Telefono         = $('#txt_telefono_reserva').val();
            Movil            = $('#txt_movil_reserva').val();
            Nacionalidad     = $('#txt_nacionalidad_reserva').val();
            Ocupacion        = $('#txt_ocupacion_reserva').val();
            CorreoElec       = $('#txt_correoelect_reserva').val();
            Residencia       = $('#txt_psresidencia_reserva').val();
            Procedencia      = $('#txt_psprocedencia_reserva').val();
            // Placa            = $('#txt_placa_reserva').val();
            FechaIni         = $('#txt_fechaini_reserva').val();
            HoraIni          = $('#txt_horaini_reserva').val();
            FechaFin         = $('#txt_fechafin_reserva').val();
            HoraFin          = $('#txt_horafin_reserva').val();
            Estado           = $('#txt_estado_reserva').val();
            Habitacion       = $('#txt_numerohab_reserva').val();
            Motivo           = $('#txt_motivo_reserva').val();
            Acompanantes     = $('#txt_acompanantes_reserva').val();
            MedioPago        = $('#txt_mdpago_reserva').val();
            ValorReserva     = $('#txt_preciototal').val();
			Hotel            = $('#txt_hotel_reserva').val();
            TipoFac          = $('#txt_tipfac_reserva').val();
            PrecioHabitacion = $('#txt_precio').val();
            PrecioAdicional  = $('#txt_precioadicional').val();
			Descuento        = $('#txt_descuento').val();
			CargoAdicional   = $('#txt_cargoadicional').val();
            PrecioTotal      = $('#txt_preciototal').val();
            IdTipoOcupacion  = $('#txt_tipoocupacion').val();
            IdClaseOcupacion = $('#txt_claseocupacion').val();
            Adicional        = $('#txt_adicional').val();
			Observacion      = $('#txt_observacion').val();
			Iva              = $('#txt_iva').val();
			if(Iva = ' ') {
				Iva = '1';
			}else{
				Iva = $('#txt_iva').val();
			}	

            ListAcompanante  = Acompa;
			Accion           = edicionHuesped;
			IdReserva        = ReservaId;
			IdVehiculo       = VehiculoId;

			if (IdVehiculo == null){IdVehiculo = 0;}

            // Validar si el checkbox está seleccionado para asignar la placa
            if ($('#opt_sin_vehiculo').prop('checked')) {
                IdVehiculo = 0; // Si el checkbox está marcado, la placa es 0
            } else {
                IdVehiculo = VehiculoId; // Si no está marcado, asignar el valor de VehiculoId
            }

			$.ajax({
				url: '<?php echo base_url() ?>Reservas/updateReservas',//controlador
				type: "POST",//tipo de peticion POST o GET
				headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
				data: { "IdReserva"         : IdReserva,
						"NombresH"          : Nombres,
						"ApellidosH"        : Apellidos,
						"TipoDocH"          : TipoDoc,
						"IdentificacionH"   : Identificacion,
						"FechaNacH"         : FechaNac,
						"LugarNacH"         : LugarNac,
						"GeneroH"           : Genero,
						"TelefonoH"         : Telefono, 
						"MovilH"            : Movil,
						"NacionalidadH"     : Nacionalidad,
						"OcupacionH"        : Ocupacion,
						"CorreoElecH"       : CorreoElec,
						"ResidenciaH"       : Residencia,
						"ProcedenciaH"      : Procedencia,
						"PlacaH"            : Placa,
						"FechaIniR"         : FechaIni,
						"HoraIniR"          : HoraIni,
						"FechaFinR"         : FechaFin,
						"HoraFinR"          : HoraFin,
						"EstadoR"           : Estado,
						"HabitacionR"       : Habitacion,
						"MotivoR"           : Motivo,
						"AcompanantesR"     : Acompanantes,
						"MedioPagoR"        : MedioPago,
						"ValorReservaR"     : ValorReserva,
						"HuespedR"          : HuespedId,
						"HotelR"            : Hotel,
						"TipoFacR"          : TipoFac,
						"ListAcompanante"   : ListAcompanante,
						"Accion"            : Accion,
						"Disponibilidad"    : 'R',
                        "PrecioHabitacion"  : PrecioHabitacion,
                        "PrecioAdicional"   : PrecioAdicional,
                        "Descuento"         : Descuento,
						"CargoAdicional"    : CargoAdicional,
                        "Iva"               : Iva,
                        "PrecioTotal"       : PrecioTotal,
                        "IdTipoOcupacion"   : IdTipoOcupacion, 
                        "IdClaseOcupacion"  : IdClaseOcupacion, 
                        "Adicional"         : Adicional,
						"Observacion"       : Observacion,
						"IdVehiculo"        : IdVehiculo }//formato json Data   
						
			}).done(function(dato) 
			{
				var obj = JSON.parse(dato); 

                if (obj.res == 'ok') 
				{
					//Cambiar el esta de la habitacion
					if( HabitacionId != HabitaId)
					{
						ActualizarHabitacion();
						Swal.fire("Información","Actualizada Reserva", "success").then((res)=>{
							window.location.href="<?php echo base_url() ?>Reservas/listReservas";
						});

					}else{
						
						Swal.fire("Información","Actualizada Reserva", "success").then((res)=>{
							window.location.href="<?php echo base_url() ?>Reservas/listReservas";
						});
					} 
               	}
			});
		};
		
		//Actualizar Habitacion ////// ======== 14/03/2024 ===========////////////
		function ActualizarHabitacion()
		{
            $.ajax({
                url: '<?php echo base_url() ?>Habitaciones/updateHabDisponible',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: { "IdHabitacion"   : HabitaId,
                        "Disponibilidad" : '4' }//formato json Data   
                        
            }).done(function(dato) 
            {
                
            });
        };

		//Ejecutar el modal - Crear Vehiculo
		$("#btn_nuevo_vehiculo").click(function ()
		{  
			$('#opt_placa_veh').val(''); 
            $('#opt_clasemat').val(''); 
            $('#myInput2').val('');
            $('#opt_color_veh').val('');
            $('#opt_modelo_veh').val('');
			$('#opt_tipo_veh').val('');
			$('#opt_emrpesa_veh').val('');
			$('#opt_nit_veh').val('');
			
			$('#opt_tipo_doc').val(reservas[0].IdTipoDocumento);
            $('#opt_identificacion').val(reservas[0].Identificacion);
            $('#opt_nombres').val(reservas[0].NomHPrincipal);
            $('#opt_apellidos').val(reservas[0].Apellidos);

			//Cargar Modal
			$("#modal_vehiculo_nuevo").modal("show");
		});

		//Agregar Vehiculo === OK
        function GuardarVehiculo()
		{
            var PlacaV    = $('#opt_placa_veh').val(); 
            var ClaseV    = $('#opt_clasemat').val(); 
            var MarcaV    = $('#myInput2').val();
            var ColorV    = $('#opt_color_veh').val();
            var ModeloV   = $('#opt_modelo_veh').val();
            var TipoV     = $('#opt_tipo_veh').val();
            var EmpresaV  = $('#opt_empresa_veh').val();
            var NitV      = $('#opt_nit_veh').val();
			
            var IdTipoDocumento = $('#opt_tipo_doc').val();
            var Identif         = $('#opt_identificacion').val();
            var Nombres         = $('#opt_nombres').val();
            var Apellidos       = $('#opt_apellidos').val();
			var IdReserva = ReservaId;

			//validar si es creacion y actualizacion
			if(CtrlVehiculo == '0')
			{
				$.ajax({
					url: '<?php echo base_url() ?>Vehiculos/insertVehiculos',//controlador
					type: "POST",//tipo de peticion POST o GET
					headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
					data: { 'Placa'           : PlacaV, 
							'ClaseMat'        : ClaseV, 
							'Marca'           : MarcaV,
							'Color'           : ColorV,
							'Tipo'            : TipoV,
							'Modelo'          : ModeloV,
							'Empresa'         : EmpresaV,
							'Nit'             : NitV,
							'HuespedId'       : HuespedId,
							'Identificacion'  : Identif,
							'Nombres'         : Nombres,
							'Apellidos'       : Apellidos,
							'IdReserva'       : IdReserva}//formato json Data   

				}).done(function(dato) 
				{
					//convierto la respuesta json
					var obj = JSON.parse(dato); 
					if (obj.res == 'ok') {
						VehiculoId = obj.id;
						$('#btn_huesped_principal').show();
						$('#btn_huesped_principal').text('Actualizar');

						//Traer informacion vehiculo 
						Opcion    = '8';
						InformacionInicialVehiculo();

					}else{
						Swal.fire("error",obj.msg, "error");     
					}
				});

			}else{
				$.ajax({
					url: '<?php echo base_url() ?>Vehiculos/updateVehiculos',//controlador
					type: "POST",//tipo de peticion POST o GET
					headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
					data: { 'VehiculoId'      : VehiculoId, 
							'Placa'           : PlacaV, 
							'ClaseMat'        : ClaseV, 
							'Marca'           : MarcaV,
							'Color'           : ColorV,
							'Modelo'          : ModeloV,
							'Tipo'            : TipoV,
							'Empresa'         : EmpresaV,
							'Nit'             : NitV,
							'HuespedId'       : HuespedId,
							'Identificacion'  : Identif,
							'Nombres'         : Nombres,
							'Apellidos'       : Apellidos,
							'IdTipoDocumento' : IdTipoDocumento,
						    'IdReserva'       : ReservaId }//formato json Data   

				}).done(function(dato) 
				{
					//convierto la respuesta json
					var obj = JSON.parse(dato); 
					
					if (obj.res == 'ok') {
						
						$('#btn_huesped_principal').attr("disabled",false);
						$('#btn_huesped_principal').text('Actualizar');

						//Traer informacion vehiculo 
						Opcion    = '9'
						InformacionInicialVehiculo();
						
					}else{
						Swal.fire("error",obj.msg, "error");     
					}
				});
			}
        };

		//Traer Vehiculo de inicio === OK
		function InformacionInicialVehiculo()
		{
			//Lamado a ajax para traer los departamentos
			$.ajax({
				url: '<?php echo base_url() ?>Vehiculos/searchVehiculos',//controlador
				type: "POST",//tipo de peticion POST o GET
				headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
				data: {	'Opcion'     : Opcion, 
						'Ident'      : Ident_Ini,
						'IdVehiculo' : VehiculoId}//formato json Data
			
			}).done(function(datohd) 
			{
				//convierto la respuesta json
				vehiculos = JSON.parse(datohd);

				if (vehiculos.length > 0) 
				{
					//OpcionesVehiculos(vehiculos);
					//validar permisos de acceso
					for(i=0; i<vehiculos.length; i++){
						if (vehiculos[i].IdVehiculo == VehiculoId)
						{ 
							$('#txt_placa_reserva').val(vehiculos[i].Placa);
							$('#txt_marca_reserva').val(vehiculos[i].Marca);
							$('#txt_modelo_reserva').val(vehiculos[i].Modelo);
							$('#txt_color_reserva').val(vehiculos[i].NombreColor);
							$('#txt_tipo_reserva').val(vehiculos[i].TipoVehiculo);
							$('#txt_matricula_reserva').val(vehiculos[i].NombreClase);
							$('#txt_empresa_reserva').val(vehiculos[i].Empresa);
							$('#txt_nit_reserva').val(vehiculos[i].Nit);
							break;
						}
					}
				}

			});
		};

		//Boton Cerrar Reserva
		$("#btn_cerrar_reserva").click(function ()
		{ 
			window.location.href="<?php echo base_url() ?>Reservas/listReservas";
		});

		// Muestra opciones de vehiculos
		function OpcionesVehiculos(placas)
		{
            $('#txt_placa_reserva').html(()=>{
                var html = '<option value="0" hidden>--Seleccionar-- </option>';
            
                if (placas.length > 0) {
                    placas.forEach(x=>{
                        html += 
                                `
                                    <option value="${x.IdVehiculo}">${x.Placa}</option>
                                `;
                    });
                } else {
                    $('#txt_habitacion_reserva').val("");
                }

                return html;
            });
        };

		// Muestra opciones de habitaciòn
        function OpcionesHabitacion(data)
		{
            $('#txt_numerohab_reserva').html(()=>{
                var html = '<option value="0" hidden>--Seleccionar-- </option>';
                if (data.length > 0) {
                    data.forEach(x=>{
                        html += 
                                `
                                    <option value="${x.IdHabitacion}">${x.NumeroHabitacion} - ${x.Nombres}</option>
                                `;
                    });
                } else {
                    $('#txt_habitacion_reserva').val("");
                }

                return html;
            });
        };

		// Muestra opciones de departamentos
		function OpcionesDepartamentos(data)
		{
            $('#txt_dtresidencia_reserva').html(()=>{
                var html = '<option value="0" hidden>--Seleccionar-- </option>';
                if (data.length > 0) {
                    data.forEach(x=>{
                        html += 
                                `
                                    <option value="${x.IdDepartamento}">${x.Nombre}</option>
                                `;
                    });
                } else {
                    // $('#txt_habitacion_reserva').val("");
                }

                return html;
            });
        };

        // Muestra opciones de ciudades
        function OpcionesCiudades(data)
		{
            $('#txt_cdresidencia_reserva').html(()=>{
                var html = '<option value="0" hidden>--Seleccionar-- </option>';
                if (data.length > 0) {
                    data.forEach(x=>{
                        html += 
                                `
                                    <option value="${x.IdCiudad}">${x.Nombre}</option>
                                `;
                    });
                } else {
                    // $('#txt_habitacion_reserva').val("");
                }

                return html;
            });
        };

		// Muestra opciones de departamentos
		function OpcionesDepartamentosP(data)
		{
            $('#txt_dtprocedencia_reserva').html(()=>{
                var html = '<option value="0" hidden>--Seleccionar-- </option>';
                if (data.length > 0) {
                    data.forEach(x=>{
                        html += 
                                `
                                    <option value="${x.IdDepartamento}">${x.Nombre}</option>
                                `;
                    });
                } else {
                    // $('#txt_habitacion_reserva').val("");
                }

                return html;
            });
        };

        // Muestra opciones de ciudades
        function OpcionesCiudadesP(data)
		{
            $('#txt_cdprocedencia_reserva').html(()=>{
                var html = '<option value="0" hidden>--Seleccionar-- </option>';
                if (data.length > 0) {
                    data.forEach(x=>{
                        html += 
                                `
                                    <option value="${x.IdCiudad}">${x.Nombre}</option>
                                `;
                    });
                } else {
                    // $('#txt_habitacion_reserva').val("");
                }

                return html;
            });
        };

		//Calcular precio Habitacion
        function PrecioHabitacion()
		{
			var VehiculoId      = $('#txt_placa_reserva').val();
			var HabitacionId    = $('#txt_numerohab_reserva').val();
			var TipoOcupacionId = $('#txt_tipoocupacion').val();
			var ClaseOcupacion  = $('#txt_claseocupacion').val();
            
			if (VehiculoId != 0 && TipoOcupacionId != 0) {
           
		   		var tipoVeh = vehiculos.filter(x => x.IdVehiculo == VehiculoId)[0].ClaseMat;
				var valor   = valorhabitacion.filter(x => x.IdTipoOcupacion == TipoOcupacionId && x.ClaseMat == ClaseOcupacion && x.IdHabitacion == HabitacionId)[0].Precio;
		
				$('#txt_precio').val(valor);
			}
        };

		//Calcular precio Habitacion Adicional === OK
        function PrecioAdicionalHab()
		{
			//Definir Variables
			var Adicional       = $('#txt_adicional').val();
			var HabitacionId    = $('#txt_numerohab_reserva').val();
			var TipoOcupacionId = '4';
			var ClaseOcupacion  = $('#txt_claseocupacion').val();
			var Opcion          = '5'

			if(Adicional == 1)
			{
				//Lamado a ajax para traer los departamentos
				$.ajax({
					url: '<?php echo base_url() ?>ValorHabitacion/searchValorHabitacion',//controlador
					type: "POST",//tipo de peticion POST o GET
					headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
					data: {	'Opcion'           : Opcion, 
							'IdHabitacion'     : HabitacionId,
							'IdClaseMatricula' : ClaseOcupacion,
							'TipoOcupacionId'  : TipoOcupacionId }//formato json Data
			
				}).done(function(datoct) 
				{
					//convierto la respuesta json
					var valorhab = JSON.parse(datoct);
					$('#txt_precioadicional').val(valorhab[0].Precio);
					PrecioTotalHab();
					// $('#txt_iva').val('0').trigger("change");
					// break;
				});
				// var tipoVeh = vehiculos.filter(x => x.IdVehiculo == VehiculoId)[0].ClaseMat;
				// var valor = valorhabitacion.filter(x => x.IdTipoOcupacion == TipoOcupacionId && x.ClaseMat == ClaseOcupacion && x.IdHabitacion == HabitacionId)[0].Precio;
				// $('#txt_precioadicional').val(valor);
				// PrecioTotalHab();

			}else{
				var valor = '0';
				$('#txt_precioadicional').val(valor);
				// $('#txt_descuento').val(valor);
				// $('#txt_cargoadicional').val(valor);
				PrecioTotalHab();

			}
        };

		//Calcular precio total
        function PrecioTotalHab()
		{
            var PrecioHabitacion = $('#txt_precio').val();
            var PrecioAdicional  = $('#txt_precioadicional').val();
            var ValorDescuento   = $('#txt_descuento').val();
			var CargoAdicional   = $('#txt_cargoadicional').val();
            var Iva              = $('#txt_iva').val();
            var FechaIni         = $('#txt_fechaini_reserva').val();
            var FechaFin         = $('#txt_fechafin_reserva').val();

            // Convertir las fechas de string a objetos Date
            var fechaInicio = new Date(FechaIni);
            var fechaFin = new Date(FechaFin);

            // Calcular la diferencia en milisegundos
            var diferenciaMilisegundos = fechaFin - fechaInicio;

            // Convertir la diferencia de milisegundos a días
            var diasDiferencia = diferenciaMilisegundos / (1000 * 60 * 60 * 24);

            // Redondear el resultado (opcional)
            diasDiferencia = Math.round(diasDiferencia);

            var PrecioTotalHabitacion = Number(PrecioHabitacion) * diasDiferencia
        
            TotalPrecio =  ((Number(PrecioTotalHabitacion) + Number(PrecioAdicional) - Number(ValorDescuento) + Number(CargoAdicional))*(Number(Iva)/100));
            Total = (Number(PrecioTotalHabitacion) + Number(PrecioAdicional))  - Number(ValorDescuento)  + Number(CargoAdicional) + TotalPrecio;
            $('#txt_preciototal').val(Total);
        };

		//Limpiar campos del Modal
		function LimpiarModal()
		{
            $('#opt_identificacion_huespedes').val("");
            $('#opt_nombre_huespedes').val(""); 
            $('#opt_apellido_huespedes').val(""); 
            $('#opt_tipodoc_huespedes').val(0);
            $('#opt_fecnac_huespedes').val("");
            $('#opt_lugarnac_huespedes').val(0);
            $('#opt_genero_huespedes').val(0);
            $('#opt_telefono_huespedes').val("");
            $('#opt_movil_huespedes').val(""); 
            $('#opt_nacionalidad_huespedes').val(0);
            $('#opt_ocupacion_huespedes').val(""); 
            $('#opt_correo_huespedes').val("");
            $('#opt_residencia_huespedes').val(0);
            $('#opt_procedencia_huespedes').val(0);
        };

		//Limpiar campos huesped
		function LimpiarHuesped()
		{
            $('#txt_psresidencia_reserva').val(0);
            $('#txt_dtresidencia_reserva').val(0);
            $('#txt_psprocedencia_reserva').val(0);
            $('#txt_dtprocedencia_reserva').val(0);
            $('#txt_tipodoc_reserva').val("");
            $('#txt_nombres_reserva').val("");
            $('#txt_apellidos_reserva').val("");
            $('#txt_fechanac_reserva').val("");
            $('#txt_lugarnac_reserva').val(0);
            $('#txt_genero_reserva').val("");
            $('#txt_telefono_reserva').val("");
            $('#txt_movil_reserva').val("");
            $('#txt_nacionalidad_reserva').val(0);
            $('#txt_ocupacion_reserva').val("");
            $('#txt_correoelect_reserva').val("");
            $('#txt_cdresidencia_reserva').val(0);
            $('#txt_cdprocedencia_reserva').val(0);
            $('#txt_placa_reserva').val("");       
        };

		//Bloquear Campos para Edicion
		function BloquearCampos()
		{
			//Bloquear Botones
			$('#btn_huesped_principal').attr("disabled",true);
			$('#btn_nuevo_vehiculo').attr("disabled",true);
			$('#btn_agregar_acompanante').attr("disabled",true);

			//Bloquer informacion vehiculo
			$('#txt_placa_reserva').attr("disabled",true);
			$('#txt_marca_reserva').attr("disabled",true);
            $('#txt_modelo_reserva').attr("disabled",true);
            $('#txt_color_reserva').attr("disabled",true);
	        $('#txt_tipo_reserva').attr("disabled",true);
	        $('#txt_matricula_reserva').attr("disabled",true);
			$('#txt_empresa_reserva').attr("disabled",true);
			$('#txt_nit_reserva').attr("disabled",true);

			//Bloquear informacion Reserva	
			$('#txt_hotel_reserva').attr("disabled",true);
			$('#txt_numerohab_reserva').attr("disabled",true);
			$('#txt_habitacion_reserva').attr("disabled",true);
			$('#txt_fechaini_reserva').attr("disabled",true);
			$('#txt_horaini_reserva').attr("disabled",true);
			$('#txt_fechafin_reserva').attr("disabled",true);
			$('#txt_horafin_reserva').attr("disabled",true);
			$('#txt_estado_reserva').attr("disabled",true);
			$('#txt_motivo_reserva').attr("disabled",true);
			$('#txt_acompanantes_reserva').attr("disabled",true);
			$('#txt_mdpago_reserva').attr("disabled",true);
			$('#txt_valor_reserva').attr("disabled",true);
			$('#txt_tipfac_reserva').attr("disabled",true);

			//Bloquear informacion Huesped
			$('#txt_huesped_reserva').attr("disabled",true);
			$('#txt_documento_reserva').attr("disabled",true);
			$('#txt_tipodoc_reserva').attr("disabled",true);
			$('#txt_nombres_reserva').attr("disabled",true);
			$('#txt_apellidos_reserva').attr("disabled",true);
			$('#txt_fechanac_reserva').attr("disabled",true);
			$('#txt_lugarnac_reserva').attr("disabled",true);
			$('#txt_genero_reserva').attr("disabled",true);
			$('#txt_telefono_reserva').attr("disabled",true);
			$('#txt_movil_reserva').attr("disabled",true);
			$('#txt_nacionalidad_reserva').attr("disabled",true);
			$('#txt_ocupacion_reserva').attr("disabled",true);
			$('#txt_correoelect_reserva').attr("disabled",true);
			$('#txt_direccion_reserva').attr("disabled",true);
			$('#txt_nombres_reserva').attr("disabled",true);
			$('#txt_apellidos_reserva').attr("disabled",true);
            $('#txt_psresidencia_reserva').attr("disabled",true);
            $('#txt_dtresidencia_reserva').attr("disabled",true);
			$('#txt_cdresidencia_reserva').attr("disabled",true);
            $('#txt_psprocedencia_reserva').attr("disabled",true);
            $('#txt_dtprocedencia_reserva').attr("disabled",true);
			$('#txt_cdprocedencia_reserva').attr("disabled",true);

			//Bloquear Informacion Valores
			$('#txt_claseocupacion').attr("disabled",true);
			$('#txt_tipoocupacion').attr("disabled",true);
			$('#txt_adicional').attr("disabled",true);
			$('#txt_precio').attr("disabled",true);
			$('#txt_precioadicional').attr("disabled",true);
			$('#txt_iva').attr("disabled",true);
			$('#txt_preciototal').attr("disabled",true);
		};

		//funcion pasar a mayusculas
		function mayus(e) 
		{
			e.value = e.value.toUpperCase();
		};

		// //funcion para reemplazar y limpiar caracteres
		// function limpiarCaracteres(Texto1)
		// {
		// 	Texto1 = Texto1 .replaceAll('á', '&aacute')
		// 				    .replaceAll('é', '&eacute')
		// 				    .replaceAll('í', '&iacute')
		// 				    .replaceAll('ó', '&oacute')
		// 				    .replaceAll('ú', '&uacute')
		// 				    .replaceAll('ñ', '&ntilde')
		// 				    .replaceAll('Á', '&Aacute')
		// 				    .replaceAll('É', '&Eacute')
		// 				    .replaceAll('Í', '&Iacute')
		// 				    .replaceAll('Ó', '&Oacute')
		// 				    .replaceAll('Ú', '&Uacute')
		// 				    .replaceAll('Ñ', '&Ntilde')
		// 				    .replaceAll('%', ' ')
		// 				    .replaceAll('"', ' ')
		// 				    .replaceAll('/', ' ')
		// 				    .replaceAll(':', ' ')
		// 				    .replaceAll(';', ' ')
		// 				    .replaceAll('(', ' ')
		// 				    .replaceAll(')', ' ')
		// 				    .replaceAll('#', ' ');
			
		// 	return Texto1;
		// };

		// //funcion para reemplazar y limpiar caracteres
		// function asignarCaracteres(Texto2)
		// {
		// 	Texto2 = Texto2 .replaceAll('&aacute', 'á')
		// 					.replaceAll('&eacute', 'é')
		// 					.replaceAll('&iacute', 'í')
		// 					.replaceAll('&oacute', 'ó')
		// 					.replaceAll('&uacute', 'ú')
		// 					.replaceAll('&ntilde', 'ñ')
		// 					.replaceAll('&Aacute', 'Á')
		// 					.replaceAll('&Eacute', 'É')
		// 					.replaceAll('&Iacute', 'Í')
		// 					.replaceAll('&Oacute', 'Ó')
		// 					.replaceAll('&Uacute', 'Ú')
		// 					.replaceAll('&Ntilde', 'Ñ');

		// 	return Texto2;
		// };

		//Validando los campos de la aplicacion. 
		$("#txt_Numero_reserva").bind('keypress', function(event) 
		{
			var regex = new RegExp("[0-9]");
			var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
			if (!regex.test(key)) {
				event.preventDefault();
				return false;
			}
		});
	
		$("#txt_checkin_reservas_reserva").bind('keypress', function(event) 
		{
			var regex = new RegExp("^[a-zA-Z0-9 ]+$");
			var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
			if (!regex.test(key)) {
				event.preventDefault();
				return false;
			}
		});

		$("#cmb_capacidad_maxima").bind('keypress', function(event) 
		{
			var regex = new RegExp("^[a-zA-Z0-9 ]+$");
			var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
			if (!regex.test(key)) {
				event.preventDefault();
				return false;
			}
		});

		$("#txt_descripcion").bind('keypress', function(event) 
		{
			var regex = new RegExp("^[a-zA-Z0-9 ]+$");
			var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
			if (!regex.test(key)) {
				event.preventDefault();
				return false;
			}
		});

		//funcion para formato de fecha
        function formatoFecha(fecha, formato) 
		{
            dia=fecha.getDate();
                if(dia<10){dia='0'+dia;}
            mes=fecha.getMonth() + 1;
                if(mes<10){mes='0'+mes;}
            ano=fecha.getFullYear();
            return ano+'-'+mes+'-'+dia; 
       
        };

		//funcion para formato de Hora
        function formatoHora(fecha, formato)
		{
            hora = fecha.getHours();
                if(hora<10){hora='0'+hora;}
            minuto = fecha.getMinutes();
                if(minuto<10){minuto='0'+minuto;}
            
				return hora+':'+minuto; 
        };

        function sumarUnDia() 
        {
            // Paso 1: Obtener el valor del campo de fecha inicial
            var fechaInicial = $('#txt_fechaini_reserva').val(); // Formato esperado: YYYY-MM-DD
            console.log('fecha inicial:', fechaInicial);
            
            if (fechaInicial) {
                // Paso 2: Convertir el valor a un objeto Date
                var partes = fechaInicial.split('-');
                var fecha = new Date(Date.UTC(partes[0], partes[1] - 1, partes[2])); // Año, Mes (0-indexado), Día
                
                console.log('fecha:', fecha);
                
                
                // Verificar si la fecha es válida
                if (!isNaN(fecha.getTime())) {
                    // Sumar un día a la fecha
                    fecha.setUTCDate(fecha.getUTCDate() + 1);
                    
                    // Paso 3: Formatear la nueva fecha en formato YYYY-MM-DD
                    var anio = fecha.getUTCFullYear();
                    var mes = (fecha.getUTCMonth() + 1).toString().padStart(2, '0'); // Meses son 0-indexados
                    var dia = fecha.getUTCDate().toString().padStart(2, '0');
                    var fechaFinal = `${anio}-${mes}-${dia}`;
                    console.log('fecha final:', fechaFinal);
                    
                    // Paso 4: Asignar la nueva fecha al otro campo
                    $('#txt_fechafin_reserva').val(fechaFinal);
                } else {
                    console.log('Fecha inicial no válida');
                }
            } else {
                console.log('Campo de fecha inicial está vacío');
            }
        }

	</script> 

</body>
</html>
