示例#1
0
function avisoCompra($idTramite, $mensaje)
{
    $cnn = new conexion();
    // Buscamos quien debe aprobar esta solicitud
    $tramite = new Tramite();
    $tramite->Load_Tramite($idTramite);
    $t_dueno = $tramite->Get_dato("t_dueno");
    $sql = "SELECT sv_id_agencia, h_id_agencia, t_id_agencia\n\t\t\t\tFROM solicitud_viaje \n\t\t\t\tLEFT JOIN sv_itinerario ON svi_solicitud = sv_id\n\t\t\t\tLEFT JOIN hospedaje ON h_id_itinerario = svi_id\n\t\t\t\tLEFT JOIN traslados ON t_id_itinerario = svi_id\n\t\t\t\tWHERE sv_tramite = " . $idTramite;
    //error_log('QUERY......'.$sql);
    $res = @mysql_query($sql);
    $parametro = '';
    //llenado de parametros
    while ($row = @mysql_fetch_assoc($res)) {
        $parametro .= validaDatos($row['sv_id_agencia'], $row['h_id_agencia'], $row['t_id_agencia']);
        /*construccion de sentencia anterior
         * $validacion.= " OR u_id = ".$row['sv_id_agencia'];
         * $validacion.= " OR u_id = ".$row['h_id_agencia'];
         * $validacion.= " OR u_id = ".$row['t_id_agencia'];	
         */
    }
    $sql = "SELECT DISTINCT u_id FROM usuario WHERE 1!=1 {$parametro}";
    //error_log('QUERY'.$sql);
    //error_log('QUERY CON PARAMETROS'.$parametro);
    $res = @mysql_query($sql);
    //enviara a laos usuarios correspondientes.
    while ($row = @mysql_fetch_assoc($res)) {
        $tramite->EnviaNotificacion($idTramite, $mensaje, $t_dueno, $row['u_id'], "0");
        //"0" para no enviar email y "1" para enviarlo
    }
}
示例#2
0
 public function ModificaEtapaDelegados($t_id, $etapa, $flujo, $dueno, $ruta, $iduser, $delegado)
 {
     $tramite = new Tramite();
     $existeDelegado = $this->existenciaDelegado($iduser, $delegado);
     $tramite->Load_Tramite($t_id);
     $iniciador = $tramite->Get_dato("t_iniciador");
     if ($existeDelegado) {
         $etapatramite = $this->obtenerEtapaDelegados($flujo);
         $tramite->Modifica_Etapa($t_id, $etapatramite, $flujo, $iniciador, "");
     } else {
         $tramite->Modifica_Etapa($t_id, $etapa, $flujo, $dueno, $ruta);
         $ruta_autorizacion = new RutaAutorizacion();
         $ruta_autorizacion->generaRutaAutorizacionSolicitudInvitacion($tramite_editar, $iduser);
         $aprobador = $ruta_autorizacion->getSiguienteAprobador($t_id, $iduser);
         return $aprobador;
     }
 }
示例#3
0
 public function validarPresupuesto($idTramite)
 {
     $tramites = new Tramite();
     $tramites->Load_Tramite($idTramite);
     $flujoTramite = $tramites->Get_dato('t_flujo');
     switch ($flujoTramite) {
         case FLUJO_SOLICITUD:
             $campos = 'sv_ceco_paga AS idCeco, sv_total AS total';
             $tabla = 'solicitud_viaje';
             $condicion = sprintf('sv_tramite = %s', $idTramite);
             break;
         case FLUJO_SOLICITUD_GASTOS:
             $campos = 'sg_ceco AS idCeco, sg_monto_pesos AS total';
             $tabla = 'solicitud_gastos';
             $condicion = sprintf('sg_tramite = %s', $idTramite);
             break;
         case FLUJO_COMPROBACION:
             $campos = 'co_cc_clave AS idCeco, co_total AS total';
             $tabla = 'comprobaciones';
             $condicion = sprintf('co_mi_tramite = %s', $idTramite);
             break;
         case FLUJO_COMPROBACION_GASTOS:
             $campos = 'co_cc_clave AS idCeco, co_total AS total';
             $tabla = 'comprobacion_gastos';
             $condicion = sprintf('co_mi_tramite = %s', $idTramite);
             break;
     }
     $queryCeco = sprintf("SELECT %s FROM %s WHERE %s", $campos, $tabla, $condicion);
     $rst = parent::consultar($queryCeco);
     $cc_id = mysql_result($rst, 0, "idCeco");
     $total = mysql_result($rst, 0, "total");
     // Obtener presupuesto
     $presupuestoCECO = $this->obtenerPresupuestoporCeco($cc_id, date("m"));
     $presupuestoDisponible = $presupuestoCECO['pp_presupuesto_disponible'];
     $excedePresupuesto = $presupuestoDisponible < $total ? true : false;
     $diferenciaPresupuesto = (double) $presupuestoDisponible - (double) $total;
     $presupuesto = array('excedePresupuesto' => $excedePresupuesto, 'diferenciaPresupuesto' => $diferenciaPresupuesto, 'presupuestoDisponible' => $presupuestoDisponible);
     return json_encode($presupuesto);
 }
			<td valign="top"><div align="right">Observaciones:</div></td>
			<td colspan="3" rowspan="1" class="alignLeft" valign="top">
			<textarea name="observ" cols="80" rows="5" id="observ"></textarea>
			</td>
			<td >&nbsp;</td>
        </tr>
		<?}?>
        <tr><td colspan="5"></td></tr>
        <tr>
            <td colspan="5"><br />
              <div align="center">
				<?php 
$idTramite = $_GET['id'];
$tramites = new Tramite();
$tramites->Load_Tramite($idTramite);
$t_iniciador = $tramites->Get_dato("t_iniciador");
$t_dueno = $tramites->Get_dato("t_dueno");
$t_ruta_autorizacion = $tramites->Get_dato("t_ruta_autorizacion");
$iduser = $_SESSION["idusuario"];
$encontrado = encuentraAutorizador($t_ruta_autorizacion, $iduser);
$privilegios = 0;
if (isset($_SESSION['iddelegado'])) {
    $query = sprintf("SELECT privilegios FROM usuarios_asignados WHERE id_asignador = '%s' AND id_delegado = '%s'", $_SESSION["idusuario"], $_SESSION['iddelegado']);
    $rst = $cnn->consultar($query);
    $fila = mysql_fetch_assoc($rst);
    $privilegios = $fila["privilegios"];
    //error_log($query);
}
if (isset($_GET['view']) && $t_etapa == SOLICITUD_INVITACION_ETAPA_EN_APROBACION_POR_DIRECTOR && !isset($_SESSION['iddelegado'])) {
    ?>
					<input type="submit" value="    Aprobar" id="aprobar_si" name="aprobar_si"  style="background:url(../../images/ok.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;" />
 $rows = $_POST['total_rows'];
 $observaciones = $_POST['campo_observaciones'];
 $historialObservaciones = $_POST["campo_historial"];
 $cecoNuevo = $_POST['centro_de_costos_new'];
 $cecoOriginal = $_POST['centro_de_costos_old'];
 $divisaEuro = $_POST["valorDivisaEUR"];
 $divisaDolar = $_POST["valorDivisaUSD"];
 if ($observaciones != "") {
     $notificacion = new Notificacion();
     $observaciones = $notificacion->anotaObservacion($idusuario, $historialObservaciones, $observaciones, FLUJO_COMPROBACION, COMPROBACION_ETAPA_EN_APROBACION);
     $sql = "UPDATE comprobaciones \n\t\t\t\t\tSET co_observaciones = '{$observaciones}' \n\t\t\t\t\tWHERE co_mi_tramite = '{$idTramite}'";
     $cnn->ejecutar($sql);
 }
 $tramite = new Tramite();
 $tramite->Load_Tramite($idTramite);
 $t_ruta_autorizacion = $tramite->Get_dato("t_ruta_autorizacion");
 $t_delegado = $tramite->Get_dato("t_delegado");
 $t_dueno = $tramite->Get_dato("t_dueno");
 $t_iniciador = $tramite->Get_dato("t_iniciador");
 $rutaAutorizacion = new RutaAutorizacion();
 //print_r($_REQUEST);
 if ($modo == "autorizar") {
     $finRuta = false;
     //$siguienteAprobador = $rutaAutorizacion->AutorizarFinanzas($idTramite, $cecoNuevo , 1);
     $siguienteAprobador = $rutaAutorizacion->getSiguienteAprobador($idTramite, $t_dueno);
     if ($siguienteAprobador == "") {
         $finRuta = true;
         $siguienteAprobador = $t_iniciador;
     }
     $duenoActual01 = new Usuario();
     if ($duenoActual01->Load_Usuario_By_ID($t_dueno)) {
示例#6
0
         if (isset($_POST['id_itinerario_auto' . $i])) {
             $nId_itinerario = $_POST['id_itinerario_auto' . $i];
             $empresa_auto = $_POST['empresa_auto' . $i];
             $tipo_de_auto = $_POST['tipo_de_auto' . $i];
             $dias_de_renta_auto = $_POST['dias_de_renta' . $i];
             $costo_x_dia_auto = $_POST['costo_x_dia' . $i];
             $subtotal_auto = $_POST['subtotal_auto' . $i];
             $CViaje->Edit_Itinerario_Viaje_Auto($nId_itinerario, $empresa_auto, $tipo_de_auto, $dias_de_renta_auto, $costo_x_dia_auto, $subtotal_auto);
         }
     }
     //for
     // Actualiza el campo de observaciones
     $Csv = new C_SV();
     $Csv->Load_Solicitud_tramite($idTramite);
     $tramite->Load_Tramite($idTramite);
     $iniciador = $tramite->Get_dato("t_iniciador");
     $agencia = $tramite->Get_dato("t_dueno");
     $usuarioAgencia = new Usuario();
     $usuarioAgencia->Load_Usuario_By_ID($agencia);
     // Se envia el mensaje a las 3 partes de la transaccion
     $mensaje = sprintf("La solicitud <strong>%05s</strong> ha sido <strong>COMPRADA</strong> por <strong>(AGENCIA) %s</strong>.", $idTramite, $usuarioAgencia->Get_dato('nombre'));
     $tramite->EnviaNotificacion($idTramite, $mensaje, $agencia, $agencia);
     $tramite->EnviaNotificacion($idTramite, $mensaje, $agencia, $iniciador);
 }
 $empleado = new Empleado();
 $empleado->Load_datos_por_usuario2($iniciador);
 $iniciador = $empleado->Get_dato("jefe");
 //Se modifica la etapa
 $aprobador = $_POST['iniciador'];
 $ruta_autorizadores = "";
 if ($exedeParametrosDeTolerancia == true) {
示例#7
0
} else {
    $id_empresa = $U->Get_dato("u_empresa");
    $Empresa->Load_Empresa($id_empresa);
    $_SESSION["idusuario"] = $U->Get_dato("u_id");
    $_SESSION["usuario"] = $U->Get_dato("u_paterno") . " " . $U->Get_dato("u_materno") . " " . $U->Get_dato("u_nombre");
    $_SESSION["empresa"] = $id_empresa;
    $_SESSION["nombreempresa"] = $Empresa->Get_dato("e_codigo") . " - " . $Empresa->Get_dato("e_nombre");
    if ($U->find_tipos($U->Get_dato("u_id")) && $notification_by_email == 0) {
        header("Location: accesotipo.php");
    } else {
        if ($U->find_delegaciones($U->Get_dato("u_id")) && $notification_by_email == 0) {
            header("Location: ./flujos/delegacion/delegaciones.php");
        } else {
            if ($hidTramite != null && $notification_by_email != 0) {
                $tramite_aux->Load_Tramite($hidTramite);
                $t_flujo = $tramite_aux->Get_dato("t_flujo");
                $etapa_tramite = $tramite_aux->Get_dato("t_etapa_actual");
                error_log("Flujo del tramite: " . $t_flujo);
                error_log("Etapa del tramite: " . $etapa_tramite);
                if ($t_flujo == "") {
                    header("Location: inicial.php?error");
                }
                // Perfil de Agencia para Solicitudes de Viaje
                if ($t_flujo == FLUJO_SOLICITUD && $etapa_tramite == SOLICITUD_ETAPA_AGENCIA) {
                    $_SESSION["perfil"] = "4";
                } else {
                    if ($t_flujo == FLUJO_SOLICITUD && $etapa_tramite == SOLICITUD_ETAPA_EN_APROBACION) {
                        $_SESSION["perfil"] = "1";
                    } else {
                        $_SESSION["perfil"] = "1";
                    }
 public function getNombreAutorizadores($tramiteId)
 {
     $ruta_del = array();
     $usuarioAprobador = new Usuario();
     $tramite = new Tramite();
     $tramite->Load_Tramite($tramiteId);
     $tramite_ruta = $tramite->Get_dato("t_ruta_autorizacion");
     //error_log("--->>> Ruta de Autorizacion: ".$tramite_ruta." <<<---");
     //Obtener los nombres de los Autorizadores
     $token = strtok($tramite_ruta, "|");
     $autorizadores = "";
     $encontrado = false;
     if ($token != false) {
         if ($usuarioAprobador->Load_Usuario_By_ID($token)) {
             $usuarioAprobador->Load_Usuario_By_ID($token);
             $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno");
         } else {
             $agrup_usu = new AgrupacionUsuarios();
             $agrup_usu->Load_Grupo_de_Usuario_By_ID($token);
             $nombre_autorizadores = $agrup_usu->Get_dato("au_nombre");
         }
         $encontrado = strpos($token, "*");
         if ($encontrado) {
             $ruta_del = explode("*", $token);
             $usuarioAprobador->Load_Usuario_By_ID($ruta_del[0]);
             $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno");
             $autorizadores .= "<font color='#0000CA'>" . $nombre_autorizadores . "</font> AUTORIZO EN NOMBRE DE: ";
             $usuarioAprobador->Load_Usuario_By_ID($ruta_del[1]);
             $nombre_autorizadores1 = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno");
             $autorizadores .= $nombre_autorizadores1;
         } else {
             $autorizadores .= $nombre_autorizadores;
         }
         $token = strtok("|");
         while ($token != false) {
             $autorizadores .= ", ";
             if ($usuarioAprobador->Load_Usuario_By_ID($token)) {
                 $usuarioAprobador->Load_Usuario_By_ID($token);
                 $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno");
             } else {
                 $agrup_usu = new AgrupacionUsuarios();
                 $agrup_usu->Load_Grupo_de_Usuario_By_ID($token);
                 $nombre_autorizadores = $agrup_usu->Get_dato("au_nombre");
             }
             $encontrado = strpos($token, "*");
             if ($encontrado) {
                 $ruta_del = explode("*", $token);
                 $usuarioAprobador->Load_Usuario_By_ID($ruta_del[0]);
                 $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno");
                 $autorizadores .= "<font color='#0000CA'>" . $nombre_autorizadores . "</font> AUTORIZO EN NOMBRE DE: ";
                 $usuarioAprobador->Load_Usuario_By_ID($ruta_del[1]);
                 $nombre_autorizadores1 = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno");
                 $autorizadores .= $nombre_autorizadores1;
             } else {
                 $autorizadores .= $nombre_autorizadores;
             }
             $token = strtok("|");
         }
     }
     return $autorizadores;
 }
示例#9
0
	function getNombreAutorizadoresReporte($tramiteId, $ruta=true){
		$ruta_del = array();
		$usuarioAprobador = new Usuario();
		$tramite = new Tramite();
		$tramite->Load_Tramite($tramiteId);
		$tramite_ruta = ($ruta) ?  $tramite->Get_dato("t_ruta_autorizacion") : $tramite->Get_dato("t_autorizaciones"); 
		
		//Obtener los nombres de los Autorizadores
		$token = strtok($tramite_ruta,"|");
		$autorizadores = "";
		$encontrado = false;
		if($token != false){
			if($usuarioAprobador->Load_Usuario_By_ID($token)){
				$usuarioAprobador->Load_Usuario_By_ID($token);
				$nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno");
			}else{
				$agrup_usu = new AgrupacionUsuarios();
				$agrup_usu->Load_Grupo_de_Usuario_By_ID($token);
				$nombre_autorizadores = $agrup_usu->Get_dato("au_nombre");
			}

			$encontrado = strpos($token, "*");
			if($encontrado){
				$ruta_del = explode("*", $token);
				$usuarioAprobador->Load_Usuario_By_ID($ruta_del[0]);
				$nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno");
				$autorizadores .= " ".$nombre_autorizadores." AUTORIZO EN NOMBRE DE: ";
				$usuarioAprobador->Load_Usuario_By_ID($ruta_del[1]);
				$nombre_autorizadores1 = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno");
				$autorizadores .= $nombre_autorizadores1;
			}else{
				$autorizadores .= $nombre_autorizadores;
			}
			$token = strtok("|");
			while($token != false){
				$autorizadores .= ", ";
				if($usuarioAprobador->Load_Usuario_By_ID($token)){
					$usuarioAprobador->Load_Usuario_By_ID($token);
					$nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno");
				}else{
					$agrup_usu = new AgrupacionUsuarios();
					$agrup_usu->Load_Grupo_de_Usuario_By_ID($token);
					$nombre_autorizadores = $agrup_usu->Get_dato("au_nombre");
				}
				$encontrado = strpos($token, "*");
				if($encontrado){
					$ruta_del = explode("*", $token);
					$usuarioAprobador->Load_Usuario_By_ID($ruta_del[0]);
					$nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno");
					$autorizadores .= " ".$nombre_autorizadores."AUTORIZO EN NOMBRE DE: ";
					$usuarioAprobador->Load_Usuario_By_ID($ruta_del[1]);
					$nombre_autorizadores1 = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno");
					$autorizadores .= $nombre_autorizadores1;
				}else{
					$autorizadores .= $nombre_autorizadores;
				}
				$token = strtok("|");
			}
		}

		return $autorizadores;
	}
示例#10
0
        $I = new Interfaz("Solicitud de Gastos", true);
        require_once "solicitud_viaje_new.php";
        $I->Footer();
    }
} else {
    if (isset($_GET['view']) || isset($_GET['VIEW'])) {
        /*Se obtiene la etapa de la solicitud, si la etapa es igual a "Devuelta" entonces se "Muestra la Solicitud para su edicion",ven caso de ser diferente a "Devuelta" se muestra solo la "Consulta de la Solicitud".*/
        if (isset($_GET['view'])) {
            $t_id = $_GET['id'];
        }
        if (isset($_GET['VIEW'])) {
            $t_id = $_GET['ID'];
        }
        $tramite = new Tramite();
        $tramite->Load_Tramite($t_id);
        $id_etapa = $tramite->Get_dato("t_etapa_actual");
        if ($id_etapa == SOLICITUD_ETAPA_RECHAZADA) {
            $I = new Interfaz("Solicitud de Gastos", true);
            require_once "solicitud_viaje_new.php";
            $I->Footer();
        } else {
            $I = new Interfaz("Solicitud de Viaje", true);
            include "solicitud_view.php";
            $I->Footer();
        }
    } else {
        if (isset($_GET['edit_view'])) {
            $I = new Interfaz("Solicitud de Viaje", true);
            require_once "solicitud_view.php";
            $I->Footer();
        } else {
$co_tipo = $comp_inv->Get_dato("co_tipo");
$motivo = $comp_inv->Get_dato("co_motivo");
$ciudad = $comp_inv->Get_dato("co_ciudad");
$co_tramite = $comp_inv->Get_dato("co_tramite");
$co_cc_clave = $comp_inv->Get_dato("co_cc_clave");
$subtotal_comp = number_format($comp_inv->Get_dato("co_subtotal"), 2, ".", ",");
$iva_comp = number_format($comp_inv->Get_dato("co_iva"), 2, ".", ",");
$total_comp = number_format($comp_inv->Get_dato("co_total"), 2, ".", ",");
$co_total_aprobado = number_format($comp_inv->Get_dato("co_total_aprobado"), 2, ".", ",");
$co_pendiente = number_format($comp_inv->Get_dato("co_total") - $comp_inv->Get_dato("co_total_aprobado"), 2, ".", ",");
$observaciones = $comp_inv->Get_dato("co_observaciones");
$co_num_invitados = $comp_inv->Get_dato("co_num_invitado");
$co_lugar = $comp_inv->Get_dato("co_lugar");
$co_fecha_invitacion = cambiarFormatoFecha($comp_inv->Get_dato("co_fecha_invitacion"));
$co_hubo_excedente = $comp_inv->Get_dato("co_hubo_exedente");
$referencia = $tramite->Get_dato("t_etiqueta");
$t_owner = $tramite->Get_dato("t_dueno");
$t_iniciador = $tramite->Get_dato("t_iniciador");
$comprobacion_etapa = $tramite->Get_dato("t_etapa_actual");
$comprobacion_flujo = $tramite->Get_dato("t_flujo");
$t_delegado = $tramite->Get_dato("t_delegado");
$sql = "SELECT nombre FROM empleado WHERE idfwk_usuario = " . $t_delegado;
$rst = $cnn->consultar($sql);
$fila = mysql_fetch_assoc($rst);
$t_delegado = $fila['nombre'];
$usu = new Usuario();
$usu->Load_Usuario_By_ID($t_iniciador);
$nombreEmpleado = $usu->Get_dato("nombre");
$query = "SELECT FORMAT(dc_monto,2) AS dc_monto, FORMAT(dc_iva,2) AS dc_iva, FORMAt(dc_propinas,2) AS dc_propinas, dc_divisa, dc_proveedor, pro_proveedor, pro_rfc,\n\t\t\tFORMAT(dci_monto_total_pesos,2) AS dci_monto_total_pesos, dc_concepto\n\t\t\tFROM detalle_comprobacion_invitacion AS dci \n\t\t\tLEFT JOIN proveedores AS p on p.pro_id = dci.dc_proveedor \n\t\t\tWHERE dc_comprobacion = {$idComprobacion}";
$rst = $cnn->consultar($query);
$fila = mysql_fetch_assoc($rst);
示例#12
0
    ?>
	</html>
<?php 
}
if (isset($_POST['autorizar_cotizacion']) && isset($_POST['idT']) && $_POST['idT'] != "" && isset($_POST['iu']) && $_POST['iu'] != "") {
    $idTramite = $_POST['idT'];
    $sObser = $_POST['observ_to_emple'];
    $sv_total = str_replace(',', '', $_POST['totalSolicitud']);
    $delegado = $_POST['delegado'];
    $HObser = $_POST['campo_historial'];
    $cnn = new conexion();
    $delegados = new Delegados();
    $ruta_autorizacion = new RutaAutorizacion();
    $tramite = new Tramite();
    $tramite->Load_Tramite($idTramite);
    $t_dueno = $tramite->Get_dato("t_dueno");
    $t_delegado = $tramite->Get_dato("t_delegado");
    //error_log("Delegado: ".$delegado);
    //Datos usuario
    if ($delegado == 0) {
        $iduser = $_POST['iu'];
        $delegado = 0;
    } else {
        $iduser = $delegado;
        $delegado = $_POST['iu'];
    }
    $existeDelegado = $delegados->existenciaDelegado($iduser, $delegado);
    /*
     * Actualizamos el campo de t_delegado, pues si es el delegado quien aprueba la cotización entonces hay que guardar su ID.
     */
    $tramite->actualizaDelegado($idTramite, $delegado);
    function forma_comprobacion()
    {
        $tipoUsuario = $_SESSION["perfil"];
        ?>
<!-- Inicia forma para comprobación -->
<script language="JavaScript" src="js/backspaceGeneral.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/jquery/jquery-1.3.2.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/jquery/jquery.date_input.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/jquery/jquery.tablesorter.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/jquery/jquery.autocomplete.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/jquery/jquery.bgiframe.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/jquery/jquery.tableEditor.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/jquery/jquery.fadeSliderToggle.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/jquery/jquery.blockUI.js" type="text/javascript"></script>
<script language="JavaScript" src="../../lib/js/formatNumber.js" type="text/javascript"></script>
<script language="JavaScript" type ="text/javascript" src="../../lib/js/jquery/jquery.jdpicker.js"></script>
<script language="JavaScript" type ="text/javascript" src="../../lib/js/jquery/jquery.jdpicker2.js"></script>
<script language="JavaScript" src="../solicitudes/js/solicitud_viaje.js" type="text/javascript"></script>
<script language="JavaScript" src="js/communication_ajax.js" type="text/javascript"></script>
<link rel="stylesheet" href="../../css/jdpicker.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../../css/jdpicker2.css" type="text/css" media="screen" />	
<script language="JavaScript" type="text/javascript">
//variables
var doc;
var arreglovalores=new Array();
var arregloestatus=new Array();
var arreglodescripcion=new Array();


doc = $(document);
doc.ready(inicializarEventos);//cuando el documento esté listo
function inicializarEventos(){
	var frm=document.invitacion_comp;
	// Bloqueamos la pantalla
	$.blockUI({
		message: '<h1>Espere un momento...</h1>',
		css:{
			border: 'none', 
			padding: '15px', 
			backgroundColor: '#000', 
			'-webkit-border-radius': '10px', 
			'-moz-border-radius': '10px', 
			opacity: .5, 
			color: '#fff'
		}
	});
	
	var tramite_id=gup("edit2");
	//alert(tramite_id);
	fillform(tramite_id);
	    $("#tramite_id").val(tramite_id);
	//genera la lista de sugerencia: nombre proveedor
	$("#proveedor").autocomplete("catalogo_proveedores.php", {
		minChars:1,
		matchSubset:1,
		matchContains:1,
		cacheLength:10,
		onItemSelect:seleccionaItem2,
		onFindValue:buscaRFC,
		formatItem:arreglaItem,
		maxItemsToShow:5,
		autoFill:false,
		extraParams:{tip:1}
	});//fin autocomplete

	//genera la lista de sugerencia: rfc proveedor
	$("#rfc").autocomplete("catalogo_proveedores.php", {
		minChars:1,
		matchSubset:1,
		matchContains:1,
		cacheLength:10,
		onItemSelect:seleccionaItem,
		onFindValue:buscaProveedor,
		formatItem:arreglaItem,
		maxItemsToShow:5,
		autoFill:false,
		extraParams:{tip:2}
	});//fin autocomplete
	
	// Se usa para controlar el div de agregar proveedor
	$(".fadeNext").click(function(){
		$(this).next().fadeSliderToggle();

		return false;
	});

	$("#fecha").jdPicker({
		date_format:"dd/mm/YYYY", 
		//date_min:"<?php 
        echo date("d/m/Y");
        ?>
",
		month_names: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
		short_month_names: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
		short_day_names: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"]
	});

	if(navigator.appName!='Netscape'){
		document.getElementById('msg_div').style.width="800px";
		document.getElementById('msg_div').style.height="300px";
		document.getElementById('msg_div').style.top="25%";
		document.getElementById('msg_div').style.left="18.5%";
	}

	$('#fecha').keydown(function(e){
		ignoraEventKey(e);				
	});
	
	$("input").bind("keydown", function(e){
		if(!isAlphaNumeric(e)) return false;
	});

	//bloqueo de teclas en caracteres extraños para proveedor
	
	$("#new_proveedor").bind("keydown", function(e){		
		if(!isAlphaNumericRFC(e)) return false;
	});	

	$("#new_p_rfc").bind("keydown", function(e){					
		if(!isAlphaNumericRFC(e)) return false;
	});

	$("#rfc").bind("keydown", function(e){					
		if(!isAlphaNumericRFC(e)) return false;
	});
	
	/* 
	 * Impedimos que salga de la pantalla al teclear el backspace en algún botón
	 */
	 
	$('#agregarInv').focus(function() {
		confirmaRegreso('agregarInv');
	});
	
	$('#add_rem_prv').focus(function() {
		confirmaRegreso('add_rem_prv');
	});

	$('#agregar').focus(function() {
		confirmaRegreso('agregar');
	});
	
	$('#guardarCompprevedit').focus(function() {
		confirmaRegreso('guardarCompprevedit');
	});

	$('#guardarCompedit').focus(function() {
		confirmaRegreso('guardarCompedit');
	});
	
	$('#fact_chk').focus(function() {
		confirmaRegreso('fact_chk');
	});	

	$('#cambia_table').focus(function() {
		confirmaRegreso('cambia_table');
	});

	$('#enviaDirector').focus(function() {
		confirmaRegreso('enviaDirector');
	});
	
}//fin ready ó inicializarEventos

function gup(name){
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp ( regexS );
	var tmpURL = window.location.href;
	var results = regex.exec( tmpURL );
	if( results == null )
		return"";
	else
		return results[1];
}			

/*--------------Begin  Fillform------------------------------------------------------------------------------*/
function fillform(id_solicitud){
	var frm=document.invitacion_comp;
	var etapa = 0;
	var tipo_comp = 0;
	var Cecos = 0;
	var divisa = 0;
	var rfcFactura = "";
	var dc_rfc = "";
	var dc_folio_factura = "";

	    $.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "comprobacionSI="+id_solicitud,
			dataType: "json",
			timeout: 10000,
			success: function(json){
				// Etapa de la Comprobación 
				etapa = json[0].t_etapa_actual;
				$("#etapa").val(etapa);
				
				// Cargar ID del Tramite
				$("#solicitud_de_invitacion").val(json[0].co_tramite);

				// Cargar Ciudad de la Solicitud de Invitación
				$("#ciudad_data").html(json[0].si_ciudad);
				$("#co_ciudad_data").val(json[0].si_ciudad);

				// Cargar el lugar de Invitación
				$("#lugar_inv").val(json[0].co_lugar);

				// Cargar Fecha de Factura
				$("#fecha").val(json[0].dc_factura);

				// Cargar Fecha de Invitación
				$("#invitacion_dato").html(json[0].si_fecha_invitacion);
				$("#fechainvitacion").val(json[0].si_fecha_invitacion_bd);

				// Cargar Monto de la Comprobación
				$("#monto").val(json[0].dc_monto);

				// Cargar IVA de la Comprobación
				$("#impuesto").val(json[0].dc_iva);

				// Cargar Propinas de la Comprobación
				$("#propina_dato").val(json[0].dc_propinas);
				
				// Carga de Observaciones
				if(etapa == 4 || etapa == 5 || etapa == 10 || json[0].t_autorizaciones_historial != ""){
					$("#historial_observaciones").val(json[0].co_observaciones);
				}

				$("#observ").val(json[0].co_observaciones_edicion);
				
				/* Almacenamos el tipo de comprobación para cuando este se haya completado, 
				*  enviemos el dato como parametro 
				*/
				tipo_comp = json[0].co_tipo;

				/*
				* Guardamos el CECO en una variable
				*/
				Cecos = json[0].cc_centrocostos;

				/*
				* Guardamos la Divisa de la Comprobación
				*/
				divisa = json[0].dc_divisa;
				
				/*
				* Guardamos el RFC de la Comprobación
				*/
				rfcFactura = json[0].pro_proveedor;
				$("#rfcComprobacion").val(rfcFactura);
				if(rfcFactura != ""){
					dc_rfc = json[0].dc_rfc;
					dc_folio_factura = json[0].dc_folio_factura;
				}
			}, 
			complete: function(json){
				// Traer el compentario de la Comprobación
				$.ajax({
					type: "POST",
					url: "services/Ajax_comprobacion.php",
					data: "tram_coment="+id_solicitud,
					timeout: 10000,
					success: function(jsonComentarios){
						// Carga de los comentarios de la Comprobación
						$("#comentarios").val(jsonComentarios);
					},
					complete: function(jsonComentarios){
						// Carga Tipo de Comprobación
						var combo = document.invitacion_comp.tipo;
						var cantidad = combo.length;
						
						for (var i = 1; i < cantidad; i++) {
							var toks=combo[i].value;
							if (toks==tipo_comp){
								combo[i].selected = true;
								
								if(tipo_comp=="amex"){
									//En este ajax se obtiene el id del cargo que se guardo en el previo
									$.ajax({
										type: "POST",
										url: "services/Ajax_comprobacion.php",
										data: "id_de_comp="+id_solicitud,
										timeout: 10000,
										success: function(jsontipo){
											if(jsontipo != 0){
												$("#select_tipo_tarjeta").val(1);
												//Se guarda el id del cargo amex seleccionado en un campo oculto en el formulario para despues seleccionarlo
												$("#id_cargo_amex_seleccionado").val(jsontipo);
												//La seleccion de un cargo de la lista de cargos se realiza en la funcion "LlenarCombo2"
											}
										},
										complete: function(jsontipo){
											verificar_tipo_tarjeta();
										},
										error: function(x, t, m) {
											if(t==="timeout") {
												location.reload();
												abort();
											}
										}
									});
									tipo_de_comprobacion(tipo_comp);
								}
								break;
							}
						}
						
						// Carga el CECO de la Comprobación
						/* Seleccionar CECO */
						if(Cecos != null){
							seleccionar(Cecos);
						}

						// Carga la divisa de la Comprobación
						var combo = frm.moneda;
						var cantidad = combo.length;
						for (var i = 1; i < cantidad; i++) {
							var toks=combo[i].value;
							if (toks == divisa) {
								combo[i].selected = true;
								break;
							}
						}
						
						// Verificamos si la Comprobación se registro con un RFC
						if(rfcFactura != ""){
							$("input[name=fact_chk]").attr("checked",true);
							$("#fact_chk1").val("on");
							
							$("#iva_label").fadeIn();
							$("#impuesto").fadeIn();
							$("#datosProveedor").fadeIn();
							
						  	$("#proveedor").val(rfcFactura);
						  	$("#rfc").val(dc_rfc);
						  	$("#d_folio").val(dc_folio_factura);

						  	cargarInvitados(id_solicitud, "cargaInicial");
						}else{
							$("input[name=fact_chk]").attr("fact_chk",false);
						  	$("#proveedor").val("");
						  	$("#rfc").val("");
						  	$("#d_folio").val("");
						  	cargarInvitados(id_solicitud, "cargaInicial");
						}
						
						// Inhabilita los campos cuando sea la etapa Devuelto con Observaciones
						verificaEtapaTramite();
					},
					error: function(x, t, m) {
						if(t==="timeout") {
							location.reload();
							abort();
						} 
					}
				});
			},
			error: function(x, t, m) {
				if(t==="timeout") {
					location.reload();
					abort();
				}
			}
		});
		
		if($("#delegado").val != 0){
			$("#enviaDirector").removeAttr("disabled");
		}else{
			$("#guardarCompedit").removeAttr("disabled");
		}
}
/*--------------end Fillform----------------------------------------------------------------------------------*/

function verificaEtapaTramite(){
	var etapa = $("#etapa").val();
	if(etapa != 5){
		// Habilitar botón de Envio de Solicitud
		$("#guardarCompprevedit").removeAttr("disabled");

		// Habilitar Solicitud de Invitación, Tipo de Comprobación y CECOS
		$("#solicitud_de_invitacion").removeAttr("disabled");
		$("#tipo").removeAttr("disabled");
		$("#centro_de_costos").removeAttr("disabled");

		// Habilitar listas de Tipo de Tarjeta y Lista de Cargos 
		$("#solicitud_de_invitacion").removeAttr("disabled");
		$("#select_tipo_tarjeta").removeAttr("disabled");
		$("#select_tarjeta_cargo").removeAttr("disabled");
	}else{
		// Deshabilitar botón de Guardado Previo
		$("#guardarCompprevedit").attr("disabled", "disabled");

		// Desactivar Solicitud de Invitación, Tipo de Comprobación y CECOS
		$("#solicitud_de_invitacion").attr("disabled", "disabled");
		$("#tipo").attr("disabled", "disabled");
		$("#centro_de_costos").attr("disabled", "disabled");
		
		// Desactivar las listas Tipo de Tarjeta y Lista de Cargos
		$("#select_tipo_tarjeta").attr("disabled", "disabled");
		$("#select_tarjeta_cargo").attr("disabled", "disabled");
	}
	$.unblockUI();
}

function clean_comprobacion(){
	$("#monto").val(0);
	$("#monto_pesosDisabled").val(0);
	$("#monto_pesos").val(0);
	$("#propina_dato").val(0);
	$("totalDisabled").val("0");
	$("total").val("0");
	$("#observ").val("");
	$("input[name=fact_chk]").attr("checked",false);
	$("#impuesto").fadeOut();
	$("#datosProveedor").fadeOut();
	document.getElementById("moneda").removeAttribute("disabled");
	document.getElementById("impuesto").value = 0;
  	$("#proveedor").val("");
  	$("#rfc").val("");
  	$("#d_folio").val("");
  	$("#numInvitadosDisabled").val("0");
  	$("#numInvitados").val("0");
  	$("#impuesto").val(""); 
	$("#moneda").val("-1");
	$("#lugar_inv").val("");
	$("#invitacion_dato").html("");
	document.getElementById("fechainvitacion").value = "";
	VaciarTabla();

  	getTotal();
  	//recalculaMontos();
}

function enviar_formulario(){
	document.invitacion_comp.submit();
}
//solicitar confirmación de previo
function solicitarConfirmPrevio(){
	 var frm=document.invitacion_comp;
	if(confirm("¿Desea guardar esta Comprobación como previo?")){
		if($("#tipo").val() == -1){
			alert("Seleccione el tipo de comprobación que desea Guardar.");
			return false;
		}else if($("#centro_de_costos").val() == -1){
			alert("Seleccione un Centro de Costos.");
			return false;
		}else{
			frm.submit();
		}
	}else{
		return false;
	}
}

//Solicitar confirmación de guardado
function solicitarConfirmarGuardado(){
	var frm=document.invitacion_comp;
	var etapa = $("#etapa").val();
	
	if(confirm("¿Desea enviar la Comprobación?")){
		if(etapa == 5){ // Etapa Devuelto con observaciones
			// Habilitar Solicitud de Invitacipon, Tipo de Comprobación y CECOS
			$("#solicitud_de_invitacion").removeAttr("disabled");
			$("#tipo").removeAttr("disabled");
			$("#centro_de_costos").removeAttr("disabled");

			// Habilitar listas de Tipo de Tarjeta y Lista de Cargos 
			$("#solicitud_de_invitacion").removeAttr("disabled");
			$("#select_tipo_tarjeta").removeAttr("disabled");
			$("#select_tarjeta_cargo").removeAttr("disabled");
		}
		return true;
	}else{
		return false;
	}
}
   
function guardaComprobacionprev(){
	var frm=document.invitacion_comp;
	if(parseInt($("#solicitud_de_invitacion").val())>-1)
	{
		$("#guardarCompprevedit").removeAttr("disabled");
	}
	else
	{
		$("#guardarCompprevedit").attr("disabled", "disabled");
	}
}

function buscaProveedor(li) {
    var rfc_pro = $("#rfc").val();        
    var url = "services/catalogo_proveedores.php";
    $.post(url,{nombre:rfc_pro,tip:1},function(data){
            $("#proveedor").val(data);
            $("#load_div").html("");                
    });
}//fin buscaProveedor

function buscaRFC(li) {
    var name_pro = $("#proveedor").val();        
    var url = "services/catalogo_proveedores.php";
    $.post(url,{nombre:name_pro,tip:2},function(data){
            $("#rfc").val(data);
            $("#load_div").html("");                
    });
}//fin buscaRFC

function seleccionaItem(li) {
buscaProveedor(li);
}//fin seleccionaItem

function seleccionaItem2(li) {
buscaRFC(li);
}//fin seleccionaItem

function arreglaItem(row) {
//da el formato a la lista
return row[0];
}//fin arreglaItem

function tipo_de_comprobacion(valor){
	var frm=document.invitacion_comp;
	
	if(frm.tipo.value == "amex"){
		$("#seccion_amex").slideDown(500);
		$("#seccion_amex").css("display", "block");
		$("#seccion_amex").addClass("visible");
	}else{
		//ocultar "seccion_amex"
		if($("#seccion_amex").hasClass("visible")){
			$("#seccion_amex").slideUp(500);
			$("#seccion_amex").removeClass("visible");
			$("#fact_chk").removeAttr("disabled");
		}
	}
	if(valor == "reembolso_para_empleado"){
		$("#g_reembolso").html($("#monto_pesos").val().replace(/,/g,"")+" MXN");
		$("#t_reembolso").val($("#monto_pesos").val());
		$("#g_amex_comprobado").html("0.00 MXN");
		$("#t_amex_comprobado").val(0);
		$("#g_comprobado").html($("#monto_pesos").val().replace(/,/g,"")+" MXN");
		$("#t_comprobado").val($("#monto_pesos").val());
	}else if(valor == "amex"){
		$("#g_amex_comprobado").html($("#monto_pesos").val().replace(/,/g,"")+" MXN");
		$("#t_amex_comprobado").val($("#monto_pesos").val());
		$("#g_reembolso").html("0.00 MXN");
		$("#t_reembolso").val(0);
		$("#g_comprobado").html($("#monto_pesos").val().replace(/,/g,"")+" MXN");
		$("#t_comprobado").val($("#monto_pesos").val());
	}else if(valor == "-1"){
		$("#g_amex_comprobado").html("0.00 MXN");
		$("#t_amex_comprobado").val(0);
		$("#g_reembolso").html("0.00 MXN");
		$("#t_reembolso").val(0);
		$("#g_comprobado").html("0.00 MXN");
		$("#t_comprobado").val(0);
	}
	limpiar_cuadro_amex();
}

function verificar_tipo_tarjeta(){
	var frm= document.invitacion_comp;
	var tipo_tarjeta=frm.select_tipo_tarjeta.value;
	var etapa = $("#etapa").val();
	var cargoAMEX = $("#id_cargo_amex_seleccionado").val();
	
	var noemple=<?php 
        if (isset($_SESSION['iddelegado'])) {
            $iduser = $_SESSION['iddelegado'];
        } else {
            $iduser = $_SESSION["idusuario"];
        }
        echo $iduser;
        ?>
;
	var noTarjetaEmpleado = 0;
			
	if(tipo_tarjeta != "" && tipo_tarjeta != "-1"){
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "tipo_tarjeta="+tipo_tarjeta+"&usuario="+noemple,
			dataType: "html",
			timeout: 10000,
			success: function(dato){
				if(dato==""){
					$("#no_tarjeta_credito").html("Datos no Encontrados");
					$("#select_tarjeta_cargo").empty();
					$("#select_tarjeta_cargo").append('<option value="-1">Sin Datos</option>');
				}else{
					$("#no_tarjeta_credito").html(dato);
					noTarjetaEmpleado = dato;
				}
			},
			complete: function(dato){
				if(etapa == 5){
					// Etapa Devuelto con Observaciones solo cargará el cargo que se asocio a la Comprobación 
					cargoAmex(cargoAMEX);
				}else{
					obtenercargos(noTarjetaEmpleado);
				}
			},
			error: function(x, t, m) {
				if(t==="timeout") {
					location.reload();
					abort();
				} 
			}
		});
	}else{
		limpiar_cuadro_amex();
	}
}

function limpiar_cuadro_amex(){
	var frm= document.invitacion_comp;
	arreglovalores.splice(0,arreglovalores.length);
	arregloestatus.splice(0,arregloestatus.length);
	arreglodescripcion.splice(0,arreglodescripcion.length);
	LimpiarCombo(frm.select_tarjeta_cargo);
	
	$("#fecha_cargo").html("");
	$("#establecimiento_cargo").html("");
	$("#monto_cargo").html(""); 
	$("#rfc_cargo").html("");
	$("#moneda_local").html("");
	$("#amex_pesos").html("");
	$("#amex_dolar").html("");
	$("#moneda_fact_val").val("");
	$("#fecha_cargo_val").val("");
	$("#establecimiento_cargo_val").val("");
	$("#monto_cargo_val").val("");
	$("#amex_pesos_val").val("");
	$("#amex_dolar_val").val("");
	$("#rfc_cargo_val").val("");
	$("#moneda_local_val").val("");
	$("#no_tarjeta_credito").html("");
	
	$("#select_tipo_tarjeta").val("-1");
}

function deshabilitar_tipo(){
	var etapa = $("#etapa").val();
	var elemento = $("#tipo option:selected").val();

	if(etapa == 5){
		document.getElementById("tipo").setAttribute("disabled","disabled");
		$("#dato002").val(elemento);
		$("#dato002").attr("name", "tipo");
		$("#dato002").attr("id", "tipo");
	}
}

function obtenercargos(valor){
	var frm=document.invitacion_comp;
	var tramite = $("#tramiteID").val();
	LimpiarCombo(frm.select_tarjeta_cargo);
	if(valor != ""){
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "no_tarjeta="+valor+"&comprobacion="+tramite,
			dataType: "json",
			timeout: 10000,
			success: function(json){
				if(json==null){
					$("#select_tarjeta_cargo").append(new Option("Sin Datos"));
				}else{
					arreglovalores.splice(0,arreglovalores.length);
					arregloestatus.splice(0,arregloestatus.length);
					arreglodescripcion.splice(0,arreglodescripcion.length);
					LlenarCombo(json, frm.select_tarjeta_cargo);
					LlenarCombo2(arreglovalores,arreglodescripcion,arregloestatus,frm.select_tarjeta_cargo);
				}
			},
			error: function(x, t, m) {
				if(t==="timeout") {
					location.reload();
					abort();
				} 
			}
		});
	}
}

function LimpiarCombo(combo){
while(combo.length > 0){
	combo.remove(combo.length-1);
}
}
function LlenarCombo(json, combo){
	combo.options[0] = new Option('Selecciona un item', '');
	for(var i=0;i<json.length;i++){
		var str=json[i];
		var str1=str.slice(str.search(":")+1);
		var str2=str.substr(0,str.search(":"));
		//combo.options[combo.length] = new Option(str1,str2);
		arreglovalores[arreglovalores.length]=str1;
		arreglodescripcion[arreglodescripcion.length]=str2;
		if(arregloestatus[arregloestatus.length]!=false)
		arregloestatus[arregloestatus.length]=true;	
	}
}

function LlenarCombo2(arregloval,arreglodesc,arreglosts,combo){
	var frm=document.invitacion_comp;

	LimpiarCombo(combo);
	combo.options[0]=new Option('Selecciona un item', '');
	for(var i=0;i<arregloval.length;i++){
		if(arreglosts[i]==true){
			combo.options[combo.length] = new Option(arregloval[i],arreglodesc[i]);
			//alert(combo.options[i+1].value);
			if(combo.options[i+1].value == frm.id_cargo_amex_seleccionado.value){
				combo.options[i+1].selected = true;
				cargar_detalles();
			}
		}
	}
}

function cambiarestatusamex(valor,estatus){
	for(var i=0;i<arreglovalores.length;i++){
		if(arreglovalores[i]==valor){
			arregloestatus[i]=estatus;
			}
		}
}

//Función para rellenar combos.
function cargar_detalles(){
	var frm=document.invitacion_comp;
	var cargo_localizar=frm.select_tarjeta_cargo.value;
	$.ajax({
		type: "POST",
		url: "services/Ajax_comprobacion.php",
		data: "no_cargo="+cargo_localizar,
		dataType: "json",
		success: function(json){	
			if(json==""){
				//$("#no_corporacion").html("Datos no Encontrados");
				$("#fecha_cargo").html("Datos no Encontrados");
				$("#establecimiento_cargo").html("Datos no Encontrados");
				$("#monto_cargo").html("Datos no Encontrados"); 
				$("#rfc_cargo").html("NA");
				$("#moneda_local").html("Datos no Encontrados");
				$("#amex_pesos").html("Datos no Encontrados");
				$("#amex_dolar").html("Datos no Encontrados");
				//$("#no_corporacion_val").val("");
				$("#moneda_fact_val").val("");
				$("#fecha_cargo_val").val("");
				$("#establecimiento_cargo_val").val("");
				$("#monto_cargo_val").val("");
				$("#amex_pesos_val").val("");
				$("#amex_dolar_val").val("");
				$("#rfc_cargo_val").val("");
				$("#moneda_local_val").val("");

			}else{					
	               $("#rfc_cargo").html(json[0].rfc_establecimiento);
				   $("#rfc_cargo_val").val(json[0].rfc_establecimiento);
				   //$("#no_corporacion").html(json[0].corporacion);
	               $("#fecha_cargo").html(json[0].fecha_cargo);   
	               $("#establecimiento_cargo").html(json[0].concepto);   
	               $("#monto_cargo").html(number_format(json[0].monto,2,".",",")+" "+json[0].moneda_local);
	               //$("#amex_pesos").html("$"+json[0].monto);
	               $("#amex_dolar").html(number_format(json[0].montoAmex,2,".",",")+" "+json[0].monedaAmex);
	               $("#amex_dolar_val").val(json[0].montoAmex);
	               //$("#rfc_cargo").html(json[0].rfc_establecimiento);   
	               $("#moneda_local").html(json[0].moneda_local);
	               //$("#no_corporacion_val").val(json[0].corporacion);
	               $("#moneda_fact_val").val(json[0].monedaAmex);   
	               $("#fecha_cargo_val").val(json[0].fecha_cargo);   
	               $("#establecimiento_cargo_val").val(json[0].concepto);   
	               $("#monto_cargo_val").val(json[0].monto);
	               //$("#amex_pesos_val").val(json[0].monto);
	               $("#moneda_local_val").val(json[0].moneda_local);
	               
	               var tipo_cambio = parseFloat(json[0].montoAmex/json[0].monto);
					$("#tipo_cambio").val(tipo_cambio.toFixed(2));
					$("#div_tipo_cambio").html(tipo_cambio.toFixed(5));
	               
	               if(json[0].conversion_pesos != "" || json[0].conversion_pesos != null){
						$("#amex_pesos").html(number_format(json[0].conversion_pesos,2,".",","));
						$("#amex_pesos_val").val(json[0].conversion_pesos);
					}else{
						$("#amex_pesos").html("0");
						$("#amex_pesos_val").val("0");
					}

	               if($("#rfcComprobacion").val() != "" && json[0].rfc_establecimiento != ""){
						$("#fact_chk").attr("checked",true);
						$("#fact_chk").attr("disabled",true);
						verDatosProveedor();
	               }else if(json[0].rfc_establecimiento == "" || json[0].rfc_establecimiento == null){
						$("#fact_chk").attr("checked",false);
						$("#fact_chk").removeAttr("disabled");
						verDatosProveedor();
					}else{
						$("#fact_chk").attr("checked",true);
						$("#fact_chk").attr("disabled",true);
						verDatosProveedor();
					}
			}
		}
	});
}
	
	// Muestra el div y el campo de IVA
	function muestraIva(){
		var divisa = $("#moneda").val();
		if (divisa == "MXN"){
			$("#div_iva").css("display", "block"); 
			$("#impuesto").css("display", "block"); 
			$("#impuesto").val($("#monto").val()*.16);
			$("#totalDisabled").val( parseFloat($("#monto").val()) + parseFloat($("#impuesto").val()) );
			$("#total").val( parseFloat($("#monto").val()) + parseFloat($("#impuesto").val()) );									
		}else if(!$("#fact_chk").is(":checked")){
			$("#div_iva").css("display", "none"); 
			$("#impuesto").css("display", "none"); 				
			$("#impuesto").val(0);
			$("#totalDisabled").val( parseFloat($("#monto").val()));
			$("#total").val( parseFloat($("#monto").val()));	
		}			
		calculaTotalDolares();
	}

function calculaTotalDolares(){
	var divisa = $("#moneda option:selected").text();
	var monto = parseFloat($("#monto").val().replace(/,/g,""));
	var iva = ($("#impuesto").val() =="")? 0 : parseFloat($("#impuesto").val().replace(/,/g,""));				
	var propina = ($("#propina_dato").val() == "") ? 0 : parseFloat($("#propina_dato").val().replace(/,/g,""));
	var total = parseFloat(iva)+parseFloat(monto)+parseFloat(propina);
	total = total.toFixed(2);
	
	$("#total").val(number_format(total,2,".",","));
	var montoPesos = 0.00;
	$.ajax({
		type: "POST",
		url: "services/Ajax_comprobacion.php",
		data: "convierteDivisa="+total+"&divisa="+divisa,
		dataType: "json",
		timeout: 10000,
		success: function(json){
			montoPesos = json;
		},
		complete: function(json){
			$("#monto_pesos").val(number_format(montoPesos,2,".",","));
		}
	});
}

function obtener_tasa_USD(){
	var cargo_val = parseFloat($("#monto_cargo_val").val());
	var dolar = parseFloat($("#valorDivisaUSD").val());
	var euro = parseFloat($("#valorDivisaEUR").val());

	if($("#moneda_fact_val").val() == "MXN"){
		var monto_dolar = (cargo_val / dolar);
		var redondea_dolar = Math.round(monto_dolar * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
		$("#amex_dolar").html(number_format(redondea_dolar,2,".",",")+" USD");
		$("#amex_dolar_val").val(redondea_dolar);
		$("#amex_pesos").html(number_format(cargo_val,2,".",",")+" MXN");
		$("#amex_pesos_val").val(cargo_val);
	}else if($("#moneda_fact_val").val() == "EUR"){
		var monto_pesos = (cargo_val * euro);
		var monto_dolar = (monto_pesos / dolar);
		var redondea_dolar = Math.round(monto_dolar * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
		$("#amex_dolar").html(number_format(redondea_dolar,2,".",",")+" USD");
		$("#amex_dolar_val").val(redondea_dolar);
		$("#amex_pesos").html(number_format(cargo_val,2,".",",")+" MXN");
		$("#amex_pesos_val").val(cargo_val);
	}else{
		var monto_dolar = (cargo_val * dolar);
		var redondea_dolar = Math.round(monto_dolar * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
		$("#amex_dolar").html(number_format(cargo_val,2,".",",")+" USD");
		$("#amex_dolar_val").val(cargo_val);
		$("#amex_pesos").html(number_format(redondea_dolar,2,".",",")+" MXN");
		$("#amex_pesos_val").val(redondea_dolar);
	}
}

// Convierte una fecha del formato "2011-02-27 00:00:00" al formato "27/02/2011"
function fecha_to_mysql(strFecha){
	var toks1=strFecha.split(" ");
	var toks=toks1[0].split("-");

	var strFechaN = toks[2]+"/"+toks[1]+"/"+toks[0];
	return strFechaN;
}

function fecha_to_mysql_normal(strFecha){
	var toks1=strFecha.split(" ");
	var toks=toks1[0].split("-");

	var strFechaN = toks[0]+"/"+toks[1]+"/"+toks[2];
	return strFechaN;
}

		/***************************************************************************/
		//VARIABLE GLOBAL
		var textoAnterior = '';

		//ESTA FUNCIÓN DEFINE LAS REGLAS DEL JUEGO
		function cumpleReglas(simpleTexto){
			//la pasamos por una poderosa expresión regular
			//var expresion = new RegExp("^(|([0-9]{1,2}(\\.([0-9]{1,2})?)?))$");
			var expresion = new RegExp("^(|([0-9]{1,30}(\\.([0-9]{1,2})?)?))$");

			//si pasa la prueba, es válida
			if(expresion.test(simpleTexto))
				return true;
			return false;
		}//end function checaReglas

		//ESTA FUNCIÓN REVISA QUE TODO LO QUE SE ESCRIBA ESTÉ EN ORDEN
		function revisaCadena(textItem){
			//si comienza con un punto, le agregamos un cero
			if(textItem.value.substring(0,1) == '.') 
				textItem.value = '0' + textItem.value;

			//si no cumples las reglas, no te dejo escribir
			if(!cumpleReglas(textItem.value))
				textItem.value = textoAnterior;
			else //todo en orden
				textoAnterior = textItem.value;
		}//end function revisaCadena
		/***************************************************************************/
			function NumCheck(e, field) { 
				key = e.keyCode ? e.keyCode : e.which ;
				valor = field.value+String.fromCharCode(key);
				// backspace 
				if (key == 8) return true ;
				// 0-9 
				if ((key > 47 && key < 58)) { 
					if (valor == "") return true ;
					//regexp = /.[0-9]{2}$/ 
					regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ;
					return (regexp.test(valor)) ;
				} 
				// . 
				if (key == 46) { 
					if (valor == "") return false ;
					//regexp = /^[0-9]+$/ ;
					regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ;
					return regexp.test(valor) ;
				} 
				// other key 
				return false ;
			}
//validación campos numericos
function validaNum(valor){
	cTecla=(document.all)?valor.keyCode:valor.which;
	if(cTecla==8) return true;
	if(cTecla==37) return true;
	if(cTecla==39) return true;
	patron=/^([0-9.]{1,2})?$/;
	cTecla= String.fromCharCode(cTecla);
	return patron.test(cTecla);
}
function validaNum2(valor){
	cTecla=(document.all)?valor.keyCode:valor.which;
	if(cTecla==8) return true;
	if(cTecla==37) return "ok";
	if(cTecla==39) return "ok";
	return true;
}
function format_input(valor){
	valor = valor.replace(/,/g,"");
	//valor = number_format(valor,0,".",",")
	valor = number_format_sin_redondeo(valor);
	return valor;
}

function getTotal(){
	var frm=document.invitacion_comp;

	var propinaDato = frm.propina_dato.value;
	propinaDato = propinaDato.replace(/,/g,"");
	
	var montoValue = frm.monto.value;
	montoValue = montoValue.replace(/,/g,"");

	var impuestoValue = frm.impuesto.value;
	impuestoValue = impuestoValue.replace(/,/g,"");
	
	if (impuestoValue == 0 || impuestoValue == ""){
		if(propinaDato == "" || propinaDato == 0){
			if(montoValue == "" || montoValue == 0){
				frm.totalDisabled.value=0;
				frm.total.value=0;
			} else {
				//total
				var tot = parseFloat(montoValue);
				frm.totalDisabled.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
				frm.total.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			}
		} else {
			if(montoValue == "" || montoValue == 0){
				var tot = parseFloat(propinaDato);
				frm.totalDisabled.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
				frm.total.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			} else {
				//total
				var tot = parseFloat(montoValue)+parseFloat(propinaDato);
				frm.totalDisabled.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
				frm.total.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			}
		}
	} else { 
		if(propinaDato == "" || propinaDato == 0){
			if(montoValue == "" || montoValue == 0){
				var tot = parseFloat(impuestoValue);
				frm.totalDisabled.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
				frm.total.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			} else {
				//total
				var tot = parseFloat(montoValue) + parseFloat(impuestoValue);
				frm.totalDisabled.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
				frm.total.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			}
		} else {
			if(montoValue == "" || montoValue == 0){
				var tot = parseFloat(propinaDato) + parseFloat(impuestoValue);
				frm.totalDisabled.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
				frm.total.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			} else {
				//total
				var tot = parseFloat(montoValue)+parseFloat(propinaDato) + parseFloat(impuestoValue);
				frm.totalDisabled.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);
				frm.total.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			}
		}
	}
	frm.totalDisabled.value = number_format(frm.total.value,2,".",",");
	frm.total.value = number_format(frm.total.value,2,".",",");
}

function evaluaMonto(monto){
	$("#capaWarning").html("");
    var mensajeExcedePoliticas = undefined;
    //Variables de las cajas de Texto 
    var divEuro = parseFloat($("#valorDivisaEUR").val());
    //var monto = parseFloat($("#tpesos").val());
    var num_invitados = parseFloat($("#numInvitados").val());
    //Variable para guardar 
    var monto2 = 0;
    monto2 = ((monto / divEuro) / num_invitados );
    
    if(monto2 > 50 && mensajeExcedePoliticas == undefined){
    	mensajeExcedePoliticas = "<strong>Esta rebasando la pol&iacute;tica del concepto. <br>El monto m&aacute;ximo es de 50.00 Euros por persona.</strong>";
    	conceptoExcedePoliticas = true;                                        
    } else {
    	conceptoExcedePoliticas = false;
    }
    
    if(conceptoExcedePoliticas){
        $("#capaWarning").html(mensajeExcedePoliticas);
        $("#obsjus").html("Agregar justificaci&oacute;n detallada del motivo del excedente<span class='style1'>*</span>:");
        //$("#comment").html("Comentarios <span class='style1'>*</span>: "); 
        document.getElementById("banderavalida").value = 1;                   
    } else {
    	$("#obsjus").html("Observaciones: ");
    	//$("#comment").html("Comentarios: "); 
    	document.getElementById("banderavalida").value = 0;
    }
}

function recalculaMontos(){
    var total = parseFloat(($("#total").val()).replace(/,/g,""));
    var totalAnticipo = 0;
	var divisas = $("#moneda").val();
	var etapa = $("#etapa").val();
	var tipo = "";

	var tasaNueva = 1;
	if(divisas != 1){ //Si la divisa es diferente a MXN
		//Se obtiene las tasas de las divisas
		var tasa = "<?
		$query = sprintf('SELECT DIV_ID,DIV_TASA FROM divisa');
		$var = mysql_query($query);
		$aux="";
		while ($arr = mysql_fetch_assoc($var)) {
			$aux.=$arr['DIV_ID'].":".$arr['DIV_TASA'].":";
		}
		echo $aux;?>";
		var tasa2 = tasa.split(":");
		
		//Se obtiene la tasa de la divisa seleccionada
		for(var i=0;i<=tasa2.length;i=i+2){
			if(tasa2[i] == divisas){
				tasaNueva = tasa2[i+1];
			}
		}
	}
	document.getElementById("tasa").value = tasaNueva;
	var redondear = 0;
	var frm=document.invitacion_comp;
	var totalTotal = total * parseFloat(tasaNueva);
	var redondear = Math.round(totalTotal * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
	//document.invitacion_comp.total.value = Math.round(totalTotal * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
	document.invitacion_comp.monto_pesosDisabled.value = number_format(redondear,2,".",",");	
	document.invitacion_comp.monto_pesos.value = number_format(redondear,2,".",",");
	
	if(etapa != 5){
		tipo = document.invitacion_comp.tipo.value;
	}else{
		tipo = $("#tipo").val();
	}
	
	if(tipo == "reembolso_para_empleado"){
		$("#g_reembolso").html(number_format(redondear,2,".",",")+" MXN");
		$("#t_reembolso").val(redondear);
		$("#g_amex_comprobado").html("0.00 MXN");
		$("#t_amex_comprobado").val(0);
		$("#g_comprobado").html(number_format(redondear,2,".",",")+" MXN");
		$("#t_comprobado").val(redondear);
	}else if(tipo == "amex"){
		$("#g_amex_comprobado").html(number_format(redondear,2,".",",")+" MXN");
		$("#t_amex_comprobado").val(redondear);
		$("#g_reembolso").html("0.00 MXN");
		$("#t_reembolso").val(0);
		$("#g_comprobado").html(number_format(redondear,2,".",",")+" MXN");
		$("#t_comprobado").val(redondear);
	}else if(tipo == "-1"){
		$("#g_amex_comprobado").html("0.00 MXN");
		$("#t_amex_comprobado").val(0);
		$("#g_reembolso").html("0.00 MXN");
		$("#t_reembolso").val(0);
		$("#g_comprobado").html("0.00 MXN");
		$("#t_comprobado").val(0);
	}
	
    evaluaMonto(totalTotal);
    
}

function getTotal2(){
	var frm=document.invitacion_comp;
	if(frm.propina_dato.value=="")
		frm.propina_dato.value=0;				
	frm.select_impuesto.value=0;
	if(frm.impuesto.value!="" && frm.impuesto.value>0 )
		frm.totalDisabled.value=parseFloat(frm.impuesto.value)+parseFloat(frm.monto.value)+parseFloat(frm.propina_dato.value);
		frm.total.value=parseFloat(frm.impuesto.value)+parseFloat(frm.monto.value)+parseFloat(frm.propina_dato.value);
}

//IVA
function valor($combo){
	var frm=document.invitacion_comp;
	if(frm.monto.value=="" || frm.monto.value==0)
	{
		frm.monto.value=0;
		frm.impuesto.value=0;
		frm.totalDisabled.value=0;
		frm.total.value=0;
		if(frm.select_impuesto.value==0)
		{
			frm.impuesto.value=0;
			frm.impuesto.disabled=true;
			frm.totalDisabled.value=parseFloat(frm.monto.value);
			frm.total.value=parseFloat(frm.monto.value);
		}
		else
		{
			//frm.impuesto.disabled=false;
			//impuesto
			Total = frm.total.value;
			Iva = ((frm.select_impuesto.options[frm.select_impuesto.selectedIndex].value / 100)+1);
			var imp = Total / Iva;
			//SubTotal
			frm.impuesto.disabled=false;
			frm.monto.value=Math.round(imp * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			//Iva
			MontoIva = (Iva - 1) * imp;
			var tot=MontoIva;
			frm.impuesto.value=Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
		}
	}
	else
	{
		if(frm.select_impuesto.value==0)
		{
			frm.impuesto.value=0;
			frm.impuesto.disabled=true;
			frm.totalDisabled.value=parseFloat(frm.monto.value);
			frm.total.value=parseFloat(frm.monto.value);
		}
		else
		{
			//impuesto
			var imp=(frm.select_impuesto.options[frm.select_impuesto.selectedIndex].value*0.01)*(frm.monto.value);
			frm.impuesto.disabled=false;
			frm.impuesto.value=Math.round(imp * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			//total
			var tot=parseFloat(frm.impuesto.value)+parseFloat(frm.monto.value);
			frm.totalDisabled.value=Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
			frm.total.value=Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales
		}

	}
}//fin valor

//Checar fechas
function checafecha(strFecha, diasmax){
	var toks=strFecha.split("/");

	strFechaN=toks[2]+"/"+toks[1]+"/"+toks[0];
	var fecha = new Date();
	fecha.setTime(Date.parse(strFechaN));
	var today=new Date();
	var agedays = Math.floor((today - fecha) / 24 / 60 / 60 / 1000);
	if(agedays>diasmax){
		var hoystr=<?php 
        echo "\"" . date("d/m/Y") . "\";";
        ?>
		document.invitacion_comp.fecha.value=hoystr;
		return false;
	}else{
		return true;
	}
}
//FIN checar fechas

function limpiarCamposDeProveedor(valor){
	if(valor){
		$("#new_proveedor").val("");
		$("#new_p_rfc").val("");
		$("#new_p_addr").val("");
	}else{
		$("#proveedor").val("");
		$("#rfc").val("");
		$("#d_folio").val("");
	}
}

// Ver los datos del proveedor
function verDatosProveedor(){
	var frm=document.invitacion_comp;
	if(frm.fact_chk.checked){
		$("#iva_label").css("display", "block");
		$("#impuesto").css("display", "block");
		$("#datosProveedor").css("display", "block");
		frm.moneda.selectedIndex = 1;
		activaIva();
		getTotal();
		recalculaMontos();
		$("#fact_chk1").val("on");		
	}else{
		$("#iva_label").css("display", "none");
		$("#impuesto").css("display", "none");
		$("#datosProveedor").css("display", "none");
		activaIva();
		getTotal();
		recalculaMontos();
		limpiarCamposDeProveedor(0);
	}
	// Bandera para indicar que se ha concluido la carga de la página
	$("#cargaEdicion").val(0);
}
//FIN ver los datos del proveedor

//Activar campo IVA
function activaIva(){
	var cargaPagina = $("#cargaEdicion").val();
	var proveedor_amex = ($("#fact_chk").is(':checked'))?true:false;
	var moneda = $("#moneda option:selected").val();
	if(moneda == 1 || proveedor_amex){
		var monto = $("#monto").val().replace(/,/g,"");
		$("#iva_label").css("display", "block");
		$("#impuesto").css("display", "block");

		if(cargaPagina != 1){
			$("#impuesto").val(monto * .16);
		}
		
		getTotal();
		recalculaMontos();		
	}else if(!$("#fact_chk").is(":checked")){
		$("#iva_label").css("display", "none");
		$("#impuesto").css("display", "none");
		$("#impuesto").val(0);
		getTotal();
		recalculaMontos();
	}
}
//FIN de activar campo IVA

//Divisa
function cambiaTasa(divisa){
	var frm=document.invitacion_comp;
	if(divisa != ""){
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "divisa="+divisa+"&divisa2='1'",
			dataType: "json",
			success: function(json){
				if(json==null){
				}else{
					document.getElementById("tasa").value = json[0];
				}
			}
		});
	}
}

function seleccionar_centro_de_costos(valor){
	var frm=document.invitacion_comp;
	//centro_de_costos;
	document.getElementById("tipo").removeAttribute("disabled");
	document.getElementById("centro_de_costos").removeAttribute("disabled");

	if (frm.solicitud_de_invitacion.selectedIndex ==0 || frm.solicitud_de_invitacion.value=="-1"){
		document.getElementById("tipo").setAttribute("disabled","disabled");
		document.getElementById("centro_de_costos").setAttribute("disabled","disabled");
	}

	
	if(valor != "" && valor != "-1"){
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "t_id4="+valor,
			dataType: "json",
			success: function(json){
				if(json==null){
				}else{
					seleccionar(json[0]);
				}
			}
		});
	}
}
//Seleccionar elemento de un combo
function seleccionar(elemento) {
	var etapa = "<?php 
        $tramite = $_GET['edit2'];
        $FTramite = new Tramite();
        $FTramite->Load_Tramite($tramite);
        $tEtapa = $FTramite->Get_dato("t_etapa_actual");
        //error_log("Ettttttttttttttapa: ".$tEtapa);
        echo $tEtapa;
        ?>
";
		
   var combo = document.invitacion_comp.centro_de_costos;
   var cantidad = combo.length;
   for (var i = 1; i < cantidad; i++) {
      var toks=combo[i].text.split("-");
      if (toks[0] == elemento) {
         combo[i].selected = true;
		 break;
      }
   }
   
	if(etapa == 5){
		document.getElementById("centro_de_costos").setAttribute("disabled","disabled");
		$("#devuelto").val(elemento);
		$("#devuelto").attr("name", "centro_de_costos");
		$("#devuelto").attr("id", "centro_de_costos");
	}
}
//Cargar invitados en la tabla
function cargarInvitados(valor, carga){
	var frm=document.invitacion_comp;
	if(valor != "" && valor!="-1"){
		if(carga === "cargaSeleccionLista"){
			$.blockUI({
				message: '<h1>Espere un momento...</h1>',
				css:{
					border: 'none', 
					padding: '15px', 
					backgroundColor: '#000', 
					'-webkit-border-radius': '10px', 
					'-moz-border-radius': '10px', 
					opacity: .5, 
					color: '#fff'
				}
			});
		}
		
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "t_id2="+valor,
			dataType: "json",
			timeout: 10000, 
			success: function(json){			
				if(json==null){
					VaciarTabla();
					document.getElementById("numInvitadosDisabled").value = 0;
					document.getElementById("numInvitados").value = 0;
				}else{
					VaciarTabla();
					LlenarTabla(json, frm.invitado_table);
				}
			},
			complete: function(json){
				activaIva();
				getTotal();
				recalculaMontos();
				if(carga === "cargaSeleccionLista"){
					$.unblockUI();
				}
			},
			error: function(x, t, m) {
				if(t==="timeout") {
					location.reload();
					abort();
				} 
			}
		});
	}
}

function cargarCiudad(valor){
	if(valor!="" && valor!="-1"){
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "sol_ciud="+valor,
			success: function(json){			
				if(json==null){
					$("#ciudad_data").html("Datos no encontrados");
				}else{
					$("#ciudad_data").html(json);
					$("#co_ciudad_data").val(json);
				}
			}
		});
		}
}

function cargarLugar(valor){
	var tramite = <?php 
        $tramiteComp = $_GET['edit2'];
        echo $tramiteComp;
        ?>
;
	if(valor!="" && valor!="-1"){
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "tramSolicitud="+tramite,
			success: function(json){
				if(json == null){
					document.getElementById("lugar_inv").value = "NULL";
				} else {
					document.getElementById("lugar_inv").value = json;
				}
			}
		});
	}
}

function inhabilita_campos(elemento){
	var etapa = $("#etapa").val();

	if(etapa == 5){
		document.getElementById("solicitud_de_invitacion").setAttribute("disabled","disabled");
		$("#dato001").val(elemento);
		$("#dato001").attr("name", "solicitud_de_invitacion");
		$("#dato001").attr("id", "solicitud_de_invitacion");
	}
}

function cargarFecha(valor){
	var finvitacion = "";
	var finvitacionbd = "";
	if(valor!="" && valor!="-1"){
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "tramiteid="+valor,
			success: function(json){
				if(json==null){
					$("#invitacion_dato").html("Datos no encontrados");
				} else {
					finvitacion = fecha_to_mysql_normal(json);
					$("#invitacion_dato").html(finvitacion);
					finvitacionbd = fecha_to_mysql(json);
					document.getElementById("fechainvitacion").value = finvitacionbd;
					inhabilita_campos(valor);
				}
			}
		});
	}
}

function cargarMontoPesos(valor){
	if(valor!=""){
		$.ajax({
			type: "POST",
			url: "services/Ajax_comprobacion.php",
			data: "idsolic="+valor,
			success: function(json){
				if(json == null){
					document.getElementById("monto_pesosDisabled").value = "0";
					document.getElementById("monto_pesos").value = "NULL";
				} else {
					document.getElementById("monto_pesosDisabled").value = number_format(json,0,".",",");
					document.getElementById("monto_pesos").value = number_format(json,0,".",",");
				}
			}
		});
	}
}

function cambiaTitulo(){
	var divEuro = parseFloat($("#valorDivisaEUR").val());
	var total = parseFloat(($("#monto_pesos").val()).replace(/,/g,""));
	var invitados = parseFloat($("#numInvitados").val());

	//Variable para guardar 
    var monto2 = 0;
    monto2 = ((total / divEuro) / invitados );
    
    if(monto2 > 50){
    	mensajeExcedePoliticas = "<strong>Esta rebasando la pol&iacute;tica del concepto. <br>El monto m&aacute;ximo es de 50.00 Euros por persona.</strong>";
    	conceptoExcedePoliticas = true;                                        
    } else {
    	conceptoExcedePoliticas = false;
    }

    if(conceptoExcedePoliticas){
        $("#capaWarning").html(mensajeExcedePoliticas);
        $("#obsjus").html("Agregar justificaci&oacute;n detallada del motivo del excedente<span class='style1'>*</span>:");
        document.getElementById("banderavalida").value = 1;                   
    } else {
    	$("#obsjus").html("Observaciones:");
    	$("#capaWarning").html("");
    	document.getElementById("banderavalida").value = 0;
    }
}

function LlenarTabla(json, tabla){	
	var frm=document.invitacion_comp;
	for(var i=0;i<json.length;i++){
		
		var toks=json[i].split(":");
		
		//Creamos la nueva fila y sus respectivas columnas
		var nuevaFila='<tr>';
		nuevaFila+="<td>"+"<div id='renglonI"+(i+1)+"' name='renglonI"+(i+1)+"'>"+(i+1)+"</div>"+"<input type='hidden' name='row2"+(i+1)+"' id='row2"+(i+1)+"' value='"+(i+1)+"' readonly='readonly' /></td>";
		nuevaFila+="<td><input type='hidden' name='nombre"+(i+1)+"' id='nombre"+(i+1)+"' value='"+toks[0]+"' readonly='readonly' />"+toks[0]+"</td>";
		nuevaFila+="<td><input type='hidden' name='puesto"+(i+1)+"' id='puesto"+(i+1)+"' value='"+toks[1]+"' readonly='readonly' />"+toks[1]+"</td>";
		nuevaFila+="<td><input type='hidden' name='empresa"+(i+1)+"' id='empresa"+(i+1)+"' value='"+toks[2]+"' readonly='readonly' />"+toks[2]+"</td>";
		nuevaFila+="<td ><input type='hidden' name='tipoinv"+(i+1)+"' id='tipoinv"+(i+1)+"' value='"+toks[3]+"' readonly='readonly' />"+toks[3]+"</td>";
		nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aqu&iacute; para Eliminar' name='"+(i+1)+"del' id='"+(i+1)+"del' onmousedown='eliminarInvitado(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>";
		nuevaFila+= '</tr>';
		frm.rowCount2.value=parseInt(frm.rowCount2.value)+parseInt(1);
		$("#invitado_table").append(nuevaFila);
	}
	document.getElementById("numInvitadosDisabled").value = json.length;
	document.getElementById("numInvitados").value = json.length;
}

function VaciarTabla() {
	var TABLE = document.getElementById("invitado_table");
	for(var i=TABLE.rows.length-1;i>=1;i--){
		TABLE.deleteRow(i);
	}
}
//Agregar nuevo invitado
function agregarNuevoInvitado(){
	if(document.getElementById("agregarInv").value == "Agregar Invitado"){
		document.getElementById("agregarInv").value = "Guardar";
		document.getElementById("agregarInvitado").style.display = "";
		//document.getElementById("registrar_comp").setAttribute("disabled","disabled");
	}else{ //en caso de que se oprima el boton Guardar		
		document.getElementById("agregarInv").value = "Agregar Invitado";
		document.getElementById("agregarInvitado").style.display = "none";
		insertarInvitadoTabla();
		//document.getElementById("registrar_comp").removeAttribute("disabled");
	}
}
// FIN Agregar nuevo invitado
// Agregar partida
function insertarInvitadoTabla(){
	var nuevaFila='<tr>';
	var frm=document.invitacion_comp;
	var invitados=parseFloat($("#numInvitados").val());
	id=parseInt($("#invitado_table").find("tr:last").find("div").eq(0).html());

	if($("#nombre_invitado").val()==""){
		alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
		document.getElementById("agregarInv").click();
		$("#nombre_invitado").focus();
	}else if($("#puesto_invitado").val()==""){
		alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
		document.getElementById("agregarInv").click();
		$("#puesto_invitado").focus();
	}else if($("#empresa_invitado").val()==""){
		alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
		document.getElementById("agregarInv").click();
		$("#empresa_invitado").focus();
	}else if($("#tipo_invitado").val()==-1){
		alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");		
		document.getElementById("agregarInv").click();
		$("#tipo_invitado").focus();
	}else{
		if(isNaN(id)){
			id=1;
		}else{
			id+=parseInt(1);
		}
		nuevaFila+="<td>"+"<div id='renglonI"+id+"' name='renglonI"+id+"'>"+id+"</div>"+"<input type='hidden' name='row2"+id+"' id='row2"+id+"' value='"+id+"' readonly='readonly' /></td>";
		nuevaFila+="<td><input type='hidden' name='nombre"+id+"' id='nombre"+id+"' value='"+$("#nombre_invitado").val()+"' readonly='readonly' />"+$("#nombre_invitado").val()+"</td>";
		nuevaFila+="<td><input type='hidden' name='puesto"+id+"' id='puesto"+id+"' value='"+$("#puesto_invitado").val()+"' readonly='readonly' />"+$("#puesto_invitado").val()+"</td>";
		nuevaFila+="<td><input type='hidden' name='empresa"+id+"' id='empresa"+id+"' value='"+$("#empresa_invitado").val()+"' readonly='readonly' />"+$("#empresa_invitado").val()+"</td>";
		nuevaFila+="<td ><input type='hidden' name='tipoinv"+id+"' id='tipoinv"+id+"' value='"+$("#tipo_invitado").val()+"' readonly='readonly' />"+$("#tipo_invitado").val()+"</td>";
		nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aqu&iacute; para Eliminar' name='"+id+"del' id='"+id+"del' onmousedown='eliminarInvitado(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>";
		nuevaFila+= '</tr>';

		$("#invitado_table").append(nuevaFila);
		invitados=invitados+1;
		$("#numInvitadosDisabled").val(invitados);
		$("#numInvitados").val(invitados);
		frm.rowCount2.value=parseInt(frm.rowCount2.value)+parseInt(1);
		$("#nombre_invitado").val("");
		$("#puesto_invitado").val("");
		$("#empresa_invitado").val("");
		$("#tipo_invitado").val("-1");
		// Verificamos que el monto no exceda con el npumero de invitados que resten.
		evaluaMonto($("#monto_pesos").val().replace(/,/g,""));
	}
}
// FIN Agregar partida
// Guardar comprobacion
function guardaComprobacion(){
	var frm=document.invitacion_comp;
	if(parseInt(frm.no_Comprobaciones_parciales.value)>=1){
		if($("#delegado").val() != 0){
        	$("#enviaDirector").removeAttr("disabled");
        }else{
        	$("#guardarCompedit").removeAttr("disabled");
        }		
	}else{
		if($("#delegado").val() != 0){
			$("#enviaDirector").attr("disabled", "disabled");
        }else{
        	$("#guardarCompedit").attr("disabled", "disabled");
        }		
	}
}
// FIN Guardar comprobacion
// Verificar tipo de invitado
function verificar_tipo_invitado(){
	if($("#tipo_invitado").val()=="BMW"){
		$("#empresa_invitado").val("BMW DE MEXICO SA DE CV.");
		$("#empresa_invitado").attr("disabled", "disable");
	}else{
		$("#empresa_invitado").val("");
		$("#empresa_invitado").removeAttr("disabled");

	}
}

//Borrar invitado
function eliminarInvitado(id){
	var no_partidas = parseInt($("#invitado_table>tbody>tr").length);
	// Quitamos el registro de Invitado
	borrarRenglon4(id, "invitado_table", "rowCount2", 0,"renglonI", "edit", "del", "");
	$("#numInvitadosDisabled").val(parseInt(no_partidas - 1));
	$("#numInvitados").val(parseInt(no_partidas - 1));
	$("#rowCount2").val(parseInt(no_partidas - 1));
	evaluaMonto($("#monto_pesos").val().replace(/,/g,""));
}// Borrar invitado
// FIN Borrar partida

function cambiaNombreBtn(obj){
	if(obj.value=='     Agregar Nuevo Proveedor'){
		limpiarCamposDeProveedor(1);
		$("#msg_div").removeAttr('style');
		$('#add_rem_prv').attr("style","background:url(../../images/reject.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;");
		obj.value='     Cerrar Panel de Nuevo Proveedor' ;
	}else{
		limpiarCamposDeProveedor(1);
		$("#msg_div").removeAttr('style');
		$('#add_rem_prv').attr("style","background:url(../../images/add.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;");
		obj.value='     Agregar Nuevo Proveedor' ;
	}
}

//Agrega Nuevo Proveedor al catálogo
function nuevoProveedor(nombreProveedor,rfcProveedor,dirFiscal){
	if(nombreProveedor == "" ){
		alert("Debe ingresar la Razón Social del proveedor.");
		$("#new_proveedor").focus();
		return false;
	}else if(rfcProveedor == ""){
		alert("Debe ingresar el RFC del proveedor.");
		$("#new_p_rfc").focus();
		return false;
	}else if(dirFiscal == ""){
		alert("Debe ingresar el Domicilio Fiscal del proveedor.");
		$("#new_p_addr").focus();
		return false;
	}else{
		if(!valida_formatoRFC(rfcProveedor)){
			$("#new_p_rfc").focus();
			return false;
		}else{
			$.ajax({
				url: 'services/catalogo_proveedores.php',
				type: "POST",
				data: "submit=&nameprov="+nombreProveedor+"&rfcprov="+rfcProveedor+"&dirf="+dirFiscal,
				success: function(datos){
					if (datos==""){
						$("#proveedor").val("");
						$("#rfc").val("");
						$('#new_proveedor').val("");
						$('#new_p_rfc').val("");
						$('#new_p_addr').val("");
						$("#proveedor").focus();
					}else{
						alert(datos);
						$("#new_proveedor").focus();
					}
				}
			});//fin ajax
			return false;
		}
	}//fin if rfc
}
//fin nuevoProveedor

function validaInvitados(){
	var numInv = parseInt($("#numInvitados").val());
	if(numInv < 2){
		alert("Favor de ingresar por lo menos dos invitados.");
		return false;
	}else{
		return true;
	}
}

//Verificar estructura de RFC
function valida_formatoRFC(campo){
	var resultado = campo.match(/[A-Z]{3,4}[0-9]{6}((([A-Z]|[a-z]|[0-9]){3}))/);
	var resultado2 = campo.match(/^[a-zA-Z]{4,4}[0-9]{6,6}[a-zA-Z0-9]*$/) ;
	
	if(resultado == null && resultado2 == null){
		alert("El RFC que intenta ingresar es incorrecto. Favor de verificarlo.");
		return false;
	}else{
		return true;
	}	
}

//VALIDA TODOS LOS CAMPOS Y PARAMETROS marca
function validarcampos(){
	var frm= document.invitacion_comp;

	// Desactivar las listas Tipo de Tarjeta y Lista de Cargos en el caso 
	// que la Comprobación sea Devuelta con Observaciones por Finanzas 
	if($("#etapaComprobacion").val() == 5){
		$("#select_tipo_tarjeta").removeAttr("disabled");
		$("#select_tarjeta_cargo").removeAttr("disabled");
	}
	
	var sol_inv=$("#solicitud_de_invitacion").val();
	var tipo_comp=$("#tipo option:selected").val();
	var cc_costos=$("#centro_de_costos").val();

	if(validaInvitados() && solicitarConfirmarGuardado()){
		if(parseInt(sol_inv)==-1){
			alert("Debe seleccionar una solicitud de invitacion para comprobar. Favor de llenar los datos faltantes.");
			return false;
		}else if(parseInt(tipo_comp)==-1){
			alert("Debe seleccionar un tipo de comprobación. Favor de llenar los datos faltantes.");
			return false;
		}else{
			if(tipo_comp=="amex"){
					var lugar_amex=$("#lugar_inv").val();
					var proveedor_amex=($("#fact_chk").is(':checked'))?true:false;
					var monto_amex=$("#monto").val();
					var monto_pesos_amex=($("#monto_pesos").val()).replace(/,/g,"");
					var moneda_amex=$("#moneda").val();

					var total_comp = ($("#total").val()).replace(/,/g,"");
					var monto_amex_comp = ($("#amex_dolar_val").val()).replace(/,/g,"");
					total_comp = parseFloat(total_comp);
					monto_amex_comp = parseFloat(monto_amex_comp);
					//var dat_fact= checafecha(frm.fecha.value, 60);
					var dat_fact= true;
					var total_amex=$("#total").val();
					var observaciones_amex=$("#banderavalida").val();
					//alert(parseFloat(frm.total.value)+"-"+parseFloat(frm.monto_cargo_val.value));
					var aux_fecha_cargo = frm.fecha_cargo_val.value.split(" ");
					aux_fecha_cargo = aux_fecha_cargo[0];
					aux_fecha_cargo = aux_fecha_cargo.split("-").reverse().join("/");
					if(frm.select_tipo_tarjeta.value==-1){ //tipo de tarjeta
						alert("Debe seleccionar un tipo de cargo para comprobar. Favor de llenar los datos faltantes.");
						return false;
					}else if(frm.select_tarjeta_cargo.value==-1 || frm.select_tarjeta_cargo.value==""){ //lista de cargos
						alert("Debe seleccionar un cargo para comprobar. Favor de llenar los datos faltantes.");
						return false;
					}else{
						if(lugar_amex==""){
							alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
							$("#lugar_inv").focus();
							return false;
						}else if(proveedor_amex){ // Verfificar parte de la edición
							if(monto_amex == "" || monto_amex == "0.00" || monto_amex == 0){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#monto").focus();
								return false;
							}else if(frm.impuesto.value==""){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								frm.impuesto.focus();
								return false;
							}else if (parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){
								alert("El IVA introducido es inválido. Favor de verificarlo.");
								frm.impuesto.focus();
								return false;
							}else if($("#d_folio").val()==""){
								alert("Debe ingresar un folio de factura. Favor de llenar los datos faltantes.");
								$("#d_folio").focus();
								return false;
							}else if((frm.rfc.value.length < 12) || (frm.rfc.value.length > 13)){
								alert("El RFC que intenta ingresar es incorrecto. Favor de verificarlo.");
								frm.rfc.focus();
								return false;
							}else if(frm.proveedor.value==""){
								alert("Los datos del proveedor estan incompletos. Favor de llenar los datos faltantes.");
								frm.rfc.focus();
								return false;
							}else if(!valida_formatoRFC($("#rfc").val()) || (frm.rfc_cargo_val.value.toUpperCase() != frm.rfc.value && ($("#rfc_cargo_val").val()).length > 1)){
								alert("El RFC ingresado difiere del RFC registrado al cargo.");
								frm.rfc.focus();
								return false;
							}else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){
								alert("La moneda de facturación difiere de la divisa ingresada.");
								return false;
							}else if(total_comp != monto_amex_comp){
								alert("El monto ingresado difiere del Total Amex.");
								return false;
							}else if(observaciones_amex == 1 && $("#observ").val() == "" ){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#observ").focus();
								return false;
							}else if(!validaProveedor($("#rfc").val(),$("#proveedor").val())){
								return false;
							}
						}else if(!proveedor_amex){
							if(monto_amex == "" || monto_amex == "0.00" || monto_amex == 0){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#monto").focus();
								return false;
							}else if(parseFloat(monto_amex)<=0){
								alert("El monto introducido no es válido. Favor de verificarlo.");
								$("#monto").focus();
								return false;
							}else if(monto_pesos_amex==""){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#monto").focus();
								return false;
							}else if(parseFloat(monto_pesos_amex)<=0){
								alert("El monto en pesos introducido no es válido. Favor de verificarlo.");
								$("#monto").focus();
								return false;
							}else if(moneda_amex==-1){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#moneda").focus();
								return false;
							}else if(moneda_amex == 1){
								if (parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){
									alert("El IVA introducido es inválido. Favor de verificarlo.");
									frm.impuesto.focus();
									return false;
								}else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){
									alert("La moneda de facturación difiere de la divisa ingresada.");
									return false;
								}else if(total_comp != monto_amex_comp){
									alert("El monto ingresado difiere del Total Amex.");
									return false;
								}else if(observaciones_amex==1 && $("#observ").val().length == 0){
									alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
									$("#observ").focus();
									return false;
								}
							}else if(dat_fact==false){
								alert("Tu comprobante excede el plazo permitido de 60 dias.");                      
								return false;
							}else if(total_amex==""){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#total").focus();
								return false;
							}else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){
								alert("La moneda de facturación difiere de la divisa ingresada.");
								return false;
							}else if(total_comp != monto_amex_comp){
								alert("El monto ingresado difiere del Total Amex.");
								return false;
							}else if(observaciones_amex==1 && $("#observ").val().length == 0){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#observ").focus();
								return false;
							}else{
								return true;
							}
						}else{
							if(monto_amex == "" || monto_amex == "0.00" || monto_amex == 0){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#monto").focus();
								return false;
							}else if(parseFloat(monto_amex)<=0){
								alert("El monto introducido no es válido. Favor de verificarlo.");
								$("#monto").focus();
								return false;
							}else if(monto_pesos_amex==""){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#monto").focus();
								return false;
							}else if(parseFloat(monto_pesos_amex)<=0){
								alert("El monto en pesos introducido no es válido. Favor de verificarlo.");
								$("#monto").focus();
								return false;
							}else if(moneda_amex==-1){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#moneda").focus();
								return false;
							}else if(moneda_amex == 1){
								if (parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){
									alert("El IVA introducido es inválido. Favor de verificarlo.");
									frm.impuesto.focus();
									return false;
								}else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){
									alert("La moneda de facturación difiere de la divisa ingresada.");
									return false;
								}else if(total_comp != monto_amex_comp){
									alert("El monto ingresado difiere del Total Amex.");
									return false;
								}else if(observaciones_amex==1 && $("#observ").val().length == 0){
									alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
									$("#observ").focus();
									return false;
								}
							}else if(dat_fact==false){
								alert("Tu comprobante excede el plazo permitido de 60 dias.");                      
								return false;
							}else if(total_amex==""){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#total").focus();
								return false;
							}else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){
								alert("La moneda de facturación difiere de la divisa ingresada.");
								return false;
							}else if(total_comp != monto_amex_comp){
								alert("El monto ingresado difiere del Total Amex.");
								return false;
							}else if(observaciones_amex==1 && $("#observ").val().length == 0){
								alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
								$("#observ").focus();
								return false;
							}else{
								return true;
							}
						} 
					}
			}else if(tipo_comp == "reembolso_para_empleado"){
					var lugar_reembolso=$("#lugar_inv").val();
					var proveedor_reembolso=($("#fact_chk").is(':checked'))?true:false;
					var monto_amex=$("#monto").val();
					var moneda_amex=$("#moneda").val();
					//var dat_fact= checafecha(frm.fecha.value, 60);
					var dat_fact= true;
					var total_amex=$("#total").val();
					var observaciones_amex=$("#banderavalida").val();
					
					if(lugar_reembolso==""){
						alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
						$("#lugar_inv").focus();
						return false;
					}else if(proveedor_reembolso){
						if(monto_amex == "" || monto_amex == "0.00" || monto_amex == 0){
							alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
							$("#monto").focus();
							return false;
						}else if (frm.impuesto.value==""){
							alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
							frm.impuesto.focus();
							return false;
						}else if (parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0  || frm.impuesto.value == ""){
							alert("El IVA introducido es inválido. Favor de verificarlo.");
							frm.impuesto.focus();
							return false;
						} else if($("#d_folio").val()==""){
							alert("Debe ingresar un folio de factura. Favor de llenar los datos faltantes.");
							$("#d_folio").focus();
							return false;
						}else if((frm.rfc.value.length<12)||(frm.rfc.value.length>13)){
							alert("El RFC que intenta ingresar es incorrecto. Favor de verificarlo e intente nuevamente.");
							frm.rfc.focus();
							return false;
						}else if(frm.proveedor.value==""){
							alert("Los datos del proveedor estan incompletos. Favor de llenar los datos faltantes.");
							frm.rfc.focus();
							return false;
						}else if(!validaProveedor($("#rfc").val(), $("#proveedor").val())){
							return false;
						}						
					}else if(monto_amex==""){
						alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
						$("#monto").focus();
						return false;
					}else if(parseFloat(monto_amex)<=0){
						alert("El monto introducido no es válido. Favor de verificarlo.");
						$("#monto").focus();
						return false;
					}else if(monto_pesos_amex==""){
						alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
						$("#monto").focus();
						return false;
					}else if(parseFloat(monto_pesos_amex)<=0){
						alert("El monto en pesos introducido no es válido. Favor de verificarlo.");
						$("#monto").focus();
						return false;
					}else if(moneda_amex==-1){
						alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
						$("#moneda").focus();
						return false;
					}else if(moneda_amex == 1){
						if(parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){
							alert("El IVA introducido es inválido. Favor de verificarlo.");
							frm.impuesto.focus();
							return false;
						}else if(observaciones_amex == 1 && $("#observ").val() == "" ){
							alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
							$("#observ").focus();
							return false;
						}
					}else if(dat_fact==false){
						alert("Tu comprobante excede el plazo permitido de 60 dias.");                      
						return false;
					}else if(total_amex==""){
						alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
						$("#total").focus();
						return false;
					}else if(parseFloat(total_amex)<=0){
						alert("El Total introducido no es válido. Favor de verificarlo.");
						$("#total").focus();
						return false;
					}else if(observaciones_amex==1 && $("#observ").val() == "" ){
						alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
						$("#observ").focus();
						return false;
					}else{
						return true;
					}
			}
		}
	}else{
		return false;
	}
}
// FIN de Validar campos

function cambiaMotivo(){
	var frm=document.invitacion_comp;

	if(frm.solicitud_de_invitacion.value!="-1" && frm.solicitud_de_invitacion.value!="n"){                                                                                                                                        	
		var tramite=frm.solicitud_de_invitacion.options[frm.solicitud_de_invitacion.selectedIndex].value;			
		frm.motive.value=$("#solicitud_de_invitacion option:selected").text();
		//frm.typedoc.value="1|"+tramite;			
		//getSaldoAnticipo(tramite);		
	}else{
		frm.motive.value="";		
		//frm.typedoc.value="";			
		//$("#g_saldo").html("");
	}
}

function cargar_solicitud(valor){
	guardaComprobacionprev();
	clean_comprobacion();
	cambiaMotivo();
	seleccionar_centro_de_costos(valor);
	cargarInvitados(valor, "cargaSeleccionLista");
	cargarCiudad(valor);
	cargarLugar(valor);
	cargarFecha(valor);
	//cargarMontoPesos(valor);
	cambiaTitulo();
}

function cambiar_divisa(valor){
	$("#divisa_sol").val(valor);
}

function validaZeroIzquierda(monto,campo){			
	if( monto.substring(monto.length-1,monto.length) === "." || monto.substring(monto.length-2,monto.length) === ".0" ){
		$("#"+campo).val(monto);
	}else if(monto == 0 || monto == "" || monto == "NaN"){
		$("#"+campo).val(0);
	}else{
		$("#"+campo).val(parseFloat(monto));
	}
}
</script>
<link rel="stylesheet" type="text/css" href="../../css/jquery.autocomplete.css" />
<link rel="stylesheet" type="text/css" href="../../css/date_input.css" />
<link rel="stylesheet" type="text/css" href="../../css/table_style.css" />
<style type="text/css">
.style1 {
	color: #FF0000
}

.fader {
	opacity: 0;
	display: none;
}

.trans {
	background-color: #D7D7D7;
	color: #0000FF;
	position: absolute;
	vertical-align: middle;
	width: 690px;
	height: 200px;
	padding: 65px;
	font-size: 15px;
	font-weight: bold;
	top: 26%;
	left: 18%;
}

.boton {
	background: #666666;
	color: #FFFFFF;
	border-color: #CCCCCC;
}
</style>

<form action="comprobacion_invitacion.php?save" method="post" name="invitacion_comp" id="invitacion_comp">
	<table width="785" border="0" align="center" cellspacing="1" style="border: 1px #CCCCCC solid; margin: auto; margin-top: 5px; text-align: left;" onmouseover="cambiaTitulo();" onblur="cambiaTitulo();" onmouseout="cambiaTitulo();">
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<?
			$cnn = new conexion();
			if(isset($_SESSION['iddelegado'])){ 
				$iduser = $_SESSION['iddelegado']; 
			}else{
				$iduser = $_SESSION["idusuario"];
			}
			//$idusuario=$_SESSION["idusuario"];
			$query = sprintf("SELECT DISTINCT si.si_id AS id, si.si_tramite AS t, t.t_etiqueta AS e
					FROM solicitud_invitacion AS si
					INNER JOIN tramites AS t ON si.si_tramite = t.t_id
					INNER JOIN usuario AS u ON t.t_iniciador = '%s' 
					LEFT JOIN comprobacion_invitacion ON co_tramite = si_tramite
					WHERE t.t_comprobado = '0' AND t.t_etapa_actual = '3' 
					AND co_mi_tramite = '%s'", $iduser, $_GET["edit2"]);
			/*$query = sprintf("select distinct si.si_id as 'id',
					si.si_tramite as 't',
					t.t_etiqueta as 'e'
					from solicitud_invitacion as si
					inner join tramites as t
					on si.si_tramite = t.t_id
					inner join usuario as u
					on t.t_iniciador = $idusuario
					where t.t_comprobado = 0
					and t.t_etapa_actual = 3 or t_etapa_actual=4");*/
					//error_log($query);
			$rst = $cnn->consultar($query);
			$fila = mysql_num_rows($rst);
			?>
			<td colspan="3">Solicitud de invitaci&oacute;n<span class="style1">*</span>:
				<select name="solicitud_de_invitacion" id="solicitud_de_invitacion" onchange="cargar_solicitud(this.value);">
					<option id="-1" value="-1">Seleccione...</option>
					<?php 
        if ($fila > 0) {
            while ($fila = mysql_fetch_assoc($rst)) {
                echo "<option id=" . $fila["id"] . " value=" . $fila["t"] . ">" . $fila["t"] . " - " . $fila["e"] . "</option>";
            }
        } else {
            echo "<option id='-1' value='-1'>No hay Solicitudes Pendientes</option>";
        }
        ?>
				</select>
				<input type="hidden" id="dato001" name="dato001" size="5" readonly="readonly" value="0" />
			</td>
			<td colspan="3">Tipo de comprobaci&oacute;n<span class="style1">*</span>:
				<select name="tipo" id="tipo" onChange="tipo_de_comprobacion(value);"
				disabled="disabled">
					<option id="-1" value="-1">Seleccione...</option>
					<?php 
        if ($tipoUsuario != 3) {
            ?>
						<option name="amex" id="amex" value="amex">Amex</option>
					<?php 
        }
        ?>
					<option name="reembolso_para_empleado" id="reembolso_para_empleado" value="reembolso_para_empleado">Reembolso</option>
			</select>
			<input type="hidden" id="dato002" name="dato002" size="5" readonly="readonly" value="" />
			</td>
			<?
			$cnn = new conexion();
			$iduser=$_SESSION["idusuario"];
			$query = sprintf("SELECT CC.CC_ID AS 'ID',
				CC.CC_CENTROCOSTOS AS 'CC',
				CC.CC_NOMBRE AS 'NOMBRE'
				FROM cat_cecos AS CC
				WHERE cc_estatus = '1' AND cc_empresa_id = '".$_SESSION["empresa"]."' 
				ORDER BY CC.CC_CENTROCOSTOS");
			$rst = $cnn->consultar($query);
			$fila = mysql_num_rows($rst);
			?>
			<td colspan="3">Centro de costos<span class="style1">*</span>: <select
				name="centro_de_costos" id="centro_de_costos" onchange="" disabled="disabled">
					<option id="-1" value="-1">Seleccione...</option>
					<?php 
        if ($fila > 0) {
            while ($fila = mysql_fetch_assoc($rst)) {
                echo "<option id=" . $fila["ID"] . " value=" . $fila["CC"] . ">" . $fila["CC"] . "-" . $fila["NOMBRE"] . "</option>";
            }
        } else {
            echo "<option id='n' value='n'>No hay centro de costos</option>";
        }
        ?>
				</select>
			</td>
			<td><input type="hidden" id="devuelto" name="devuelto" readonly="readonly" value="0" /></td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
	</table>
	<br />
	<!-- Seccion Amex -->
	<!--<div id="seccion_amex" align="right" style="display: none;" onmouseover="obtener_tasa_USD();" onblur="obtener_tasa_USD();" onmouseout="obtener_tasa_USD();">-->
	<div id="seccion_amex" align="right" style="display: none;" >
		<table width="785" border="0" align="center" cellspacing="1" style="border: 1px #CCCCCC solid; margin: auto; margin-top: 5px; text-align: left;">
			<tr>
				<td colspan="3"><h3 align="center">Amex</h3></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td colspan="3">Tipo de cargo: <select name="select_tipo_tarjeta" id="select_tipo_tarjeta" onchange="verificar_tipo_tarjeta();">
						<option id="-1" value="-1">Seleccione...</option>
						<option id="1" value="1">Amex corporativa gastos</option>
						<!-- option id="2" value="2">Amex corporativa Gasolina</option -->
				</select>
				</td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td colspan="3">Tarjeta de Cr&eacute;dito:&nbsp;
					<div name="no_tarjeta_credito" id="no_tarjeta_credito" style="width: 70%"></div>
				</td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<!--<td colspan="3">Lista de Cargos: <select name="select_tarjeta_cargo" id="select_tarjeta_cargo" onchange="cargar_detalles();obtener_tasa_USD();" onmouseover="obtener_tasa_USD();" onblur="obtener_tasa_USD();" onmouseout="obtener_tasa_USD();">-->
				<td colspan="3">Lista de Cargos: <select name="select_tarjeta_cargo" id="select_tarjeta_cargo" onchange="cargar_detalles();">
				</select>
				</td>
			</tr>
			<tr>
				<td colspan="3"><h3 align="center">Detalle del cargo</h3></td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td width="50%">Establecimiento: <input type="hidden" id="establecimiento_cargo_val" name="establecimiento_cargo_val" value="0" readonly="readonly" />
					<div id="establecimiento_cargo" name="establecimiento_cargo" align="left"></div>
				</td>
				<td width="50%">Total Factura: <input type="hidden" id="monto_cargo_val" name="monto_cargo_val" value="0" readonly="readonly" />
					<div id="monto_cargo" name="monto_cargo" align="left"></div>
					<input type="hidden" id="moneda_fact_val" name="moneda_fact_val" readonly="readonly" />
				</td>
				<td>&nbsp;</td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td width="50%">Fecha: <input type="hidden" id="fecha_cargo_val" name="fecha_cargo_val" value="0" readonly="readonly" />
					<div id="fecha_cargo" name="fecha_cargo"></div>
				</td>
				<td width="50%">Total Amex: <input type="hidden" id="amex_dolar_val" name="amex_dolar_val" value="0" readonly="readonly" /> 
					<div id="amex_dolar" name="amex_dolar" align="left"></div>
				</td>
				<td>&nbsp;</td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td width="50%">RFC: <input type="hidden" id="rfc_cargo_val" name="rfc_cargo_val" value="0" readonly="readonly" /><div id="rfc_cargo" name="rfc_cargo" align="left"></div></td>
				<td width="50%">Total MXN: <input type="hidden" id="amex_pesos_val" name="amex_pesos_val" value="0" readonly="readonly" /><div id="amex_pesos" name="amex_pesos" align="left"></div></td>
				<td>&nbsp;</td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td>&nbsp;</td>
				<td colspan="4" width="50%">Tipo de cambio: <input type="hidden" id="tipo_cambio" name="tipo_cambio" value="0.00" readonly="readonly" /><div id="div_tipo_cambio" name="div_tipo_cambio" align="left"></div></td>
				<td>&nbsp;</td>
			</tr>
			<tr>
				<td>&nbsp;</td>
				<td width="50%">&nbsp;</td>
				<td>&nbsp;</td>
				<td>&nbsp;</td>
			</tr>
		</table>
		<br />
	</div>
	<!-- FIN Seccion Amex -->

	<!-- Conceptos a comprobar -->
	<table width="785" border="0" align="center" cellspacing="1" style="border: 1px #CCCCCC solid; margin: auto; margin-top: 5px; text-align: left;" onmouseover="cambiaTitulo();" onblur="cambiaTitulo();" onmouseout="cambiaTitulo();">
		<tr>
			<td colspan="2"></td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td colspan="12"><h3 align="center">Conceptos a comprobar</h3></td>
			<td width="2">&nbsp;</td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td ><div id="ciudad_label">Ciudad: </div></td>
			<td colspan="3" align="left">
				<div id="ciudad_data" name="ciudad_data"></div>
				<input type="hidden" id="co_ciudad_data" name="co_ciudad_data" value="" readonly="readonly"/>
			</td>
			<td >&nbsp;</td>
			<td align="left" colspan="2">
				<table>
					<tr>
						<td align="left"><div id="fecha_inv">Fecha de invitaci&oacute;n: </div></td>
						<td align="left"><div id="invitacion_dato" name="invitacion_dato" align="left"></div><input type="hidden" name="fechainvitacion" id="fechainvitacion"/></td>
					</tr>
				</table>
			</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td colspan="1" width="2">&nbsp;</td>
			<td colspan="12">
			<table>
				<tr>
					<td>Lugar invitaci&oacute;n/Restaurante<span class="style1">*</span>:&nbsp;<input type="text" name="lugar_inv" id="lugar_inv" /></td>
				</tr>
			</table>
			</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td colspan="2">Proveedor Nacional: <input type="checkbox" name="fact_chk" id="fact_chk" onclick="verDatosProveedor();" /></td>
			<td colspan="2"><a href="http://www.oanda.com/lang/es/currency/converter/" target="_black">Realiza la conversi&oacute;n a tu divisa</a></td>
			<td>&nbsp;</td>
			<td colspan="7">
				<table>
					<tr>
						<td><div align="left">Fecha Comprobante<span class="style1">*</span>:&nbsp;</div></td>
						<td><div align="left"><input name="fecha" id="fecha" value="<?php 
        echo date('d/m/Y');
        ?>
" size="10" onfocus="return checafecha(document.invitacion_comp.fecha.value, 60);" /></div></td>
					</tr>
				</table>
			</td>
			<td>&nbsp;</td>
		</tr>
		<tr>
			<td width="2" height="26">&nbsp;</td>
			<td width="70"><div align="left">Subtotal/Monto<span class="style1">*</span>: </div></td>
			<!--<td width="83"><div align="left"><input name="monto" id="monto" value="0" size="10" onkeyup="getTotal();recalculaMontos(); this.value = format_input(this.value);" onchange="getTotal();recalculaMontos();" onkeypress="return validaNum(event)" size="10" autocomplete="off" /></div></td>-->
			<!--<td width="83"><div align="left"><input name="monto" id="monto" value="0" size="10" onkeyup="getTotal();recalculaMontos();" onchange="getTotal();recalculaMontos();" onkeydown="" onkeypress="return NumCheck(event, this);" size="10" autocomplete="off" /></div></td>-->
			<td width="83"><div align="left"><input name="monto" id="monto" value="0" size="10" onkeyup="revisaCadena(this); getTotal();recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onchange="getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onkeydown="validaZeroIzquierda(this.value,this.id);" onkeypress="validaZeroIzquierda(this.value,this.id);" size="10" autocomplete="off" /></div></td>
			<td width="55" colspan="2">
				<table>
				<tr>
					<td><div align="left">Divisa<span class="style1">*</span>:</div></td>
					<td><div align="left">
					<select name="moneda" id="moneda" onchange="cambiaTasa(this.value);recalculaMontos();cambiar_divisa(this.value);activaIva();">
						<option value="-1">Seleccione...</option>
						<option value="1">MXN</option>
						<option value="2">USD</option>
						<option value="3">EUR</option>
					</select>
					</div></td>
				</tr>
				</table>
				<input type="hidden" name="tasa" id="tasa" value="1" />
			</td>
			<td width="4">&nbsp;</td>
			<td width="150">&nbsp;</td>
			<td width="4">&nbsp;</td>
			<td colspan="5" rowspan="8" style="vertical-align: top">&nbsp;</td>
			<td width="4">&nbsp;</td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td width="70"><div align="left" id="iva_label" style ="display:none;">IVA<span class="style1">*</span>: </div></td>
			<!--<td width="83"><div align="left"><input name="impuesto" id="impuesto" value="0" size="10" onkeyup="getTotal();recalculaMontos(); this.value = format_input(this.value);" onchange="getTotal();recalculaMontos();" onkeypress="return validaNum(event);" autocomplete="off" style="display:none;"/></div></td>			<td width="55" colspan="2"><input type="hidden" name="bandera_iva" id="bandera_iva" size="15" /></td>-->
			<!--<td width="83"><div align="left"><input name="impuesto" id="impuesto" value="0" size="10" onkeyup="getTotal();recalculaMontos();" onchange="getTotal();recalculaMontos();" onkeydown="" onkeypress="return NumCheck(event, this);" autocomplete="off" style="display:none;"/></div></td>			<td width="55" colspan="2"><input type="hidden" name="bandera_iva" id="bandera_iva" size="15" /></td>-->
			<td width="83"><div align="left"><input name="impuesto" id="impuesto" size="10" onkeyup="revisaCadena(this); getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onchange="getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onkeydown="validaZeroIzquierda(this.value,this.id);" onkeypress="validaZeroIzquierda(this.value,this.id);" autocomplete="off" style="display:none;"/></div></td>
			<td width="55" colspan="2"><input type="hidden" name="bandera_iva" id="bandera_iva" size="15" /></td>
			<td width="4">&nbsp;</td>
			<td colspan="1" rowspan="3">
				<div align="left" id="datosProveedor" style="display: none;">
					<div align="left" id="div_folio">
						Folio Factura<span class="style1">*</span>:
					</div>
					<div align="left">
						<input name="d_folio" id="d_folio" size="15" onkeypress="return validaNum(event)" />
					</div>
					<div id="rfc_prov_busq_div" align="left">
						RFC<span class="style1">*</span>:
					</div>
					<div align="left">
						<input name="rfc" type="text" id="rfc" value="" size="30" maxlength="13" onkeyup="this.value = this.value.toUpperCase();"/>
					</div>
					<div align="left">
						Raz&oacute;n Social<span class="style1">*</span>:
					</div>
					<div align="left">
						<input name="proveedor" type="text" id="proveedor" value="" size="30" disabled/>
					</div>
					<br />
					<input type="button" class="fadeNext" style='background: url(../../images/add.png); background-position: left; background-repeat: no-repeat; background-color: #E1E4EC;' name="add_rem_prv" id="add_rem_prv" onclick="cambiaNombreBtn(this);" value="     Agregar Nuevo Proveedor" /><div class="fader" align="right">
					<table width="295" border="0" align="center" cellspacing="1" style="border: 1px #CCCCCC solid; margin: auto; margin-top: 5px; padding-left: 5px; text-align: left;">
							<tr>
								<td><div align="left">
										<h3>Agregar nuevo proveedor</h3>
									</div></td>
							</tr>
							<tr>
								<td><div align="left">
										<em><strong>Raz&oacute;n Social<span class="style1">*</span>: </strong></em>
									</div>
									<div align="left">
										<input name="new_proveedor" type="text" id="new_proveedor" value="" size="45" />
									</div></td>
							</tr>
							<tr>
								<td><div align="left">
										<em><strong>RFC<span class="style1">*</span>: </strong></em>
									</div>
									<div align="left">
										<input name="new_p_rfc" type="text" id="new_p_rfc" value="" size="30" maxlength="13" onkeyup="this.value = this.value.toUpperCase();"  onblur="valida_formatoRFC(this.value);" />
									</div></td>
							</tr>
							<tr>
								<td><div align="left">
										<em><strong>Domicilio Fiscal<span class="style1">*</span>:</strong></em>
									</div> <input name="new_p_addr" id="new_p_addr" value="" size="45" /></td>
							</tr>
							<tr>
								<td>
									<div align="left">
										<input type="button" name="agregar" value="    Agregar" onclick="nuevoProveedor(new_proveedor.value,new_p_rfc.value,new_p_addr.value);" style='background: url(../../images/add.png); background-position: left; background-repeat: no-repeat; background-color: #E1E4EC;' />
									</div>
								</td>
							</tr>
						</table>
					</div>
				</div>
			</td>
			<td colspan="1">&nbsp;</td>
			<td >&nbsp;</td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td width="70"><div name="propina" id="propina" align="left">Propina<span class="style1"></span>: </div></td>
			<!--<td width="83"><div align="left"><input name="propina_dato" value="0" id="propina_dato" size="10" onkeyup="getTotal();recalculaMontos(); this.value = format_input(this.value);" onchange="getTotal();recalculaMontos();" onkeypress="return validaNum(event);" /></div></td>-->
			<!--<td width="83"><div align="left"><input name="propina_dato" value="0" id="propina_dato" size="10" onkeyup="getTotal();recalculaMontos();" onchange="getTotal();recalculaMontos();" onkeydown="" onkeypress="return NumCheck(event, this);" /></div></td>-->
			<td width="83"><div align="left"><input name="propina_dato" value="0" id="propina_dato" size="10" onkeyup="revisaCadena(this); getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onchange="getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onkeydown="validaZeroIzquierda(this.value,this.id);" onkeypress="validaZeroIzquierda(this.value,this.id);" /></div></td>
			<td width="55">&nbsp;</td>
			<td width="83" colspan="1">&nbsp;</td>
			<td width="4">&nbsp;</td>
			<td colspan="1">&nbsp;</td>
			<td colspan="1">&nbsp;</td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td width="70"><div align="left">Total<span class="style1">*</span>: </div></td>
			<td ><div align="left"><input type="text" name="totalDisabled" id="totalDisabled" value="0.00" size="10" disabled="disabled" />
				<input type="hidden" name="total" id="total" value="0.00" size="10" readonly="readonly" /></div></td>
			<td colspan="3" align="center">Monto Total en pesos: &nbsp;<input type="text" name="monto_pesosDisabled" id="monto_pesosDisabled" value="0.00" size="12" disabled="disabled"/>
			<input type="hidden" name="monto_pesos" id="monto_pesos" value="0.00" size="12" readonly="readonly"/>&nbsp;MXN</td>
			<td >&nbsp;</td>
			<td >&nbsp;</td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td colspan="6"><div id="capaWarning"></div><input type="hidden" name="banderavalida" id="banderavalida" readonly="readonly" /></td>
			<td width="2">&nbsp;</td>
			<td colspan="5">&nbsp;</td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td colspan="2" valign="top"><div id="comment" align="right">Comentarios: </div></td>
			<td colspan="10"><textarea maxlength="36" name="comentarios" id="comentarios" cols="80" rows="5"></textarea></td>
			<td >&nbsp;</td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td colspan="6">&nbsp;</td>
			<td width="2">&nbsp;</td>
			<td colspan="5">&nbsp;</td>
		</tr>
		<tr>
			<td width="2">&nbsp;</td>
			<td colspan="6">
				<h3>Personas que asistieron:</h3>
				<table id="invitado_table" class="tablesorter" cellspacing="1">
					<thead>
						<tr>
							<th width="5%">No.</th>
							<th width="35%">Nombre</th>
							<th width="25%">Puesto</th>
							<th width="20%">Empresa</th>
							<th width="15%">Tipo de Invitado</th>
							<th width="5%">Eliminar</th>
						</tr>
					</thead>
					<tbody>
						<!-- cuerpo tabla-->
					</tbody>
				</table>
			</td>
			<td colspan="5" rowspan="2">
			<div name="agregarInvitado" id="agregarInvitado" align="left" style="display: none;">
					Agregar un Invitado<br /> 
					Nombre:<span class="style1">*</span><br> <input name="nombre_invitado" type="text" id="nombre_invitado" size="50" maxlength="100" /><br> Puesto:&nbsp;<span class="style1">*</span><br>
					<input name="puesto_invitado" type="text" id="puesto_invitado" size="50" maxlength="100" /><br> 
					Tipo de Invitado:&nbsp;<span class="style1">*</span><br> 
					<select name="tipo_invitado" id="tipo_invitado" onchange="verificar_tipo_invitado();">
						<option value="-1">Seleccione...</option>
						<option value="BMW">Empleado BMW de M&eacute;xico</option>
						<option value="Externo">Externo</option>
						<option value="Gobierno">Gobierno</option>
					</select><br> 
					Empresa:&nbsp;<span class="style1">*</span><br> 
					<input name="empresa_invitado" type="text" id="empresa_invitado" size="50" maxlength="100" disabled="disable" />
				</div></td>
			<td colspan="1" rowspan="2">&nbsp;</td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td colspan="4"><div id="asistentes" align="left">Total de Asistentes:&nbsp; <input type="text" name="numInvitadosDisabled" id="numInvitadosDisabled" value="0" size="2" disabled="disabled" />
			<input type="hidden" name="numInvitados" id="numInvitados" value="0" size="2" readonly="readonly" /><br></div></td>
			<td colspan="2" align="center" valign="middle"><input type="button" id="agregarInv" name="agregarInv" value="Agregar Invitado" onclick="agregarNuevoInvitado();" /></td>
		</tr>
		<tr>
			<td width="2">&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>
			</td>
			<td colspan="6"><div align="center" class="style1" id="load_div"></div>
			</td>
			<td width="2">&nbsp;</td>
			<td >&nbsp;</td>
		</tr>
	</table>
	<!-- FIN Conceptos a comprobar -->

	<div id="msg_div" align="center"></div>
	<br />
	
	<!--FIN DE: function forma_comprobacion() -->
	<?php 
    }
<?php

if (isset($_REQUEST["modo"])) {
    require_once "../../lib/php/constantes.php";
    require_once "../../functions/utils.php";
    require_once "../../Connections/fwk_db.php";
    $cnn = new conexion();
    $modo = $_REQUEST["modo"];
    $idTramite = $_POST['idT'];
    $iduser = $_POST['iu'];
    $observaciones = $_POST['observ'];
    $tramite = new Tramite();
    $tramite->Load_Tramite($idTramite);
    $t_dueno = $tramite->Get_dato('t_dueno');
    $t_delegado = $tramite->Get_dato('t_delegado');
    $iniciador = $tramite->Get_dato('t_iniciador');
    if ($observaciones != "") {
        $query = sprintf("SELECT co_observaciones FROM comprobaciones WHERE co_mi_tramite = '%s'", $idTramite);
        $rst = $cnn->consultar($query);
        $fila = mysql_fetch_assoc($rst);
        $HObser = $fila['co_observaciones'];
        $notificacion = new Notificacion();
        $observaciones = $notificacion->anotaObservacion($t_dueno, $HObser, $observaciones, FLUJO_COMPROBACION, COMPROBACION_ETAPA_EN_APROBACION);
        $queryInsertaObs = sprintf("UPDATE comprobaciones SET co_observaciones = '%s' WHERE co_mi_tramite = '%s'", $observaciones, $idTramite);
        $cnn->ejecutar($queryInsertaObs);
    }
    if ($modo == 'aprobar') {
        $rutaautorizacion = new RutaAutorizacion();
        /**
         * Validacion y guardado de excepcion de presupuesto
         **/
 $cecoOriginal = $_POST['centro_de_costos_old'];
 $divisaEuro = $_POST["valorDivisaEUR"];
 $divisaDolar = $_POST["valorDivisaUSD"];
 $tramite = new Tramite();
 $rutaAutorizacion = new RutaAutorizacion();
 $notificacion = new Notificacion();
 $comprobaciones = new ComprobacionGastos();
 $detalleComprobacion = new DetalleComprobacionGastos();
 $concepto = new Concepto();
 $usuario = new Usuario();
 // Iniciar transaccion en caso de que existir un error
 $tramite->ejecutar("SET AUTOCOMMIT = 0");
 $tramite->ejecutar("BEGIN");
 // Informacion del Tramite
 $tramite->Load_Tramite($idTramite);
 $t_ruta_autorizacion = $tramite->Get_dato("t_ruta_autorizacion");
 $t_delegado = $tramite->Get_dato("t_delegado");
 $t_dueno = $tramite->Get_dato("t_dueno");
 $t_iniciador = $tramite->Get_dato("t_iniciador");
 // Guardado de Observaciones
 if ($observaciones != "") {
     $notificacion = new Notificacion();
     $observaciones = $notificacion->anotaObservacion($t_dueno, $historialObservaciones, $observaciones, FLUJO_COMPROBACION_GASTOS, COMPROBACION_ETAPA_EN_APROBACION);
     $comprobaciones->actualizaObservaciones($observaciones, "", $idTramite);
 }
 //Informacion de la Comprobacion
 $comprobaciones->cargaComprobacionGastosporTramite($idTramite);
 // Obtener ID de la Comprobacion de Gastos
 $co_id = $comprobaciones->Get_dato('co_id');
 // Definicion de mensajes Autorizadores/Usuario
 $mensajeAutorizadores = $tramite->crearMensaje($idTramite, COMPROBACION_GASTOS_ETAPA_APROBACION, true, true, $delegado);
示例#16
0
        $query = sprintf("SELECT sv_observaciones AS observacion, t_etapa_actual AS etapa FROM solicitud_viaje \n\t\t\tJOIN tramites ON t_id = sv_tramite WHERE sv_tramite = '%s'", $id_Solicitud);
    }
    //error_log($query);
    $rst = $cnn->consultar($query);
    while ($fila = mysql_fetch_assoc($rst)) {
        $_arreglo[] = array('observacion' => utf8_encode($fila['observacion']), 'etapa' => $fila['etapa']);
    }
    echo json_encode($_arreglo);
}
//obtener la etapa actual de la solicitud cuando este en edicion
if (isset($_POST['etapaRechazo'])) {
    $idTramiteR = $_POST['etapaRechazo'];
    $etapaR = 0;
    $tramiteR = new Tramite();
    $tramiteR->Load_Tramite($idTramiteR);
    $etapaR = $tramiteR->Get_dato('t_etapa_actual');
    //error_log("etapa :/".$etapaR);
    echo $etapaR;
}
//Total de la solicitud Caso: Rechazada / Guardado previo.
if (isset($_POST['totalBD'])) {
    $idTramiteEdit = $_POST['totalBD'];
    $totSolicitudEdit = 0;
    $cnn = new conexion();
    $queryTotalSol = sprintf("SELECT sv_total FROM solicitud_viaje WHERE sv_tramite='%s'", $idTramiteEdit);
    $rstTotal = $cnn->consultar($queryTotalSol);
    while ($fila = mysql_fetch_array($rstTotal)) {
        $totSolicitudEdit = $fila['sv_total'];
    }
    echo $totSolicitudEdit;
}
 $sObser = $_POST['observ'];
 $idTramite = $_POST['idT'];
 // Actualiza el campo de observaciones
 $Csv = new C_SV();
 $Csv->Load_Solicitud_Amex_Tramite($idTramite);
 $Csv->Modifica_Observaciones($idTramite, $sObser, FLUJO_AMEX);
 // Regresa el monto apartado al ceco
 $idceco = $Csv->Get_dato("sa_ceco_paga");
 $monto = $Csv->Get_dato("sa_anticipo");
 $fecha = $Csv->Get_dato("sa_fecha_viaje");
 $Cc = new CentroCosto();
 $Cc->regresa_monto($idceco, $monto, $fecha);
 // Envia el tramite a cancelacion
 $tramite = new Tramite();
 $tramite->Load_Tramite($idTramite);
 $iniciador = $tramite->Get_dato("t_iniciador");
 $aprobador = $tramite->Get_dato("t_dueno");
 $usuarioAprobador = new Usuario();
 $usuarioAprobador->Load_Usuario_By_ID($aprobador);
 // Busca el usuario agencia para que le podamos notificar
 $Us = new Usuario();
 $agencia = $Us->buscaAgenciaViajesParaSolicitud($idceco);
 $mensaje = sprintf("La solicitud <strong>AMEX %05s</strong> ha sido <strong>CANCELADA</strong> por <strong>%s</strong>.", $idTramite, $usuarioAprobador->Get_dato('nombre'));
 // Manda el mensaje a las 3 partes de la transaccion
 $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $aprobador);
 $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $agencia);
 $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $iniciador);
 //$tramite->EnviaMensaje($idTramite, $mensaje); // Notese que el mensaje se envia antes que se cambia la etapa
 $tramite->Modifica_Etapa($idTramite, ANTICIPO_AMEX_ETAPA_RECHAZADA, FLUJO_AMEX, $iniciador);
 // Regresa a la pagina de solicitudes
 header("Location: ./index.php?action=rechazar");
示例#18
0
$cnn = new conexion();
$query = sprintf("SELECT ut_id, ut_usuario, ut_tipo, tu_id, tu_nombre\n\t\tFROM usuario_tipo AS ut\n\t\tINNER JOIN cat_tipo_usuario AS ctu\n\t\tON ut_tipo = ctu.tu_id\n\t\tWHERE ut_usuario = '%s' AND tu_id = '4'", $idUser);
$rst = $cnn->consultar($query);
$usuariofinanzas = @mysql_result($rst, 0, "tu_id");
$usuariofinanzas == "4" ? $es_finanzas = 1 : ($es_finanzas = 0);
// Permite ver el detalle de una comprobacion sin edicion
if (isset($_GET["view"])) {
    if (!isset($_GET["id"])) {
        $I = new Interfaz("Comprobaciones", true);
        require_once "comprobacion_view.php";
        $I->Footer();
    } else {
        $Tramite = new Tramite();
        $idTramite = $_GET['id'];
        $Tramite->Load_Tramite($idTramite);
        $t_flujo = $Tramite->Get_dato("t_flujo");
        $t_etapa_actual = $Tramite->Get_dato("t_etapa_actual");
        switch ($t_etapa_actual) {
            // TODO: Se tienen que indexar por flujo
            case COMPROBACION_ETAPA_APROBACION:
                $I = new Interfaz("Comprobaciones", true);
                require_once "comprobacion_view.php";
                $I->Footer();
                break;
            case COMPROBACION_ETAPA_APROBADA:
                $I = new Interfaz("Comprobaciones", true);
                require_once "comprobacion_view.php";
                $I->Footer();
                break;
            case COMPROBACION_ETAPA_SIN_ENVIAR || 4:
                $_GET['new'] = 'new';
示例#19
0
 $adjunto = $_POST['archivo'];
 $origen_sol = $_POST['p_origen'];
 $exists_file = $_POST['existe_archivo'];
 $f_salida_s = $viaje != "Solo Ida" ? $_POST['fecha'] : "";
 $f_regreso_r = $viaje != "Solo Ida" ? $_POST['fecha_llegada_input'] : "";
 $tramite_id = $_POST['tramite'];
 // Existe el archivo
 list($result, $archivo_cargado) = cargarReferenciaVuelo($RUTA_A);
 $archivo = $result == '' ? $adjunto : $archivo_cargado;
 $f_salida = fecha_to_mysql($f_salida_s);
 $f_regreso = $viaje != "Solo Ida" ? fecha_to_mysql($f_regreso_r) : "";
 // Enviar notificación a las agencias
 $cotizacion = new Traslado();
 $tramite = new Tramite();
 $tramite->Load_Tramite($tramite_id);
 $iniciador = $tramite->Get_dato("t_iniciador");
 $mensaje = '<a href="' . $RUTA_R . 'flujos/solicitudes/index.php?view=view&id=' . $tramite_id . '">Se ha realizado la cotizaci&oacute;n correspondiente al <strong>Boleto de Avi&oacute;n</strong> perteneciente a la solicitud de viaje <strong>' . $tramite_id . '</strong>.</a>';
 $tramite->EnviaNotificacion($tramite_id, $mensaje, $user, $iniciador, "0");
 $sql = "SELECT IF((sv_vuelo=1 AND sv_id_agencia=0) OR (sv_vuelo=0),1,0) as 'Falta_v', \t   \n\t\t\t\t\t   IF((sv_vuelo=1 AND sv_id_agencia=0) OR (sv_vuelo=0),(SELECT cd_pais FROM ciudad_destino, sv_itinerario sv WHERE sv.svi_ciudad_origen = cd_id AND sv.svi_solicitud = sv_id ORDER BY svi_fecha_salida ASC LIMIT 1),0) as 'Origen_1', \t   \n\t\t\t\t\t   IF(h_id_agencia=0,1,0) AS 'Falta_h',\n\t\t\t\t\t   IF(t_tipo_traslado = 0 AND t_id_agencia=0,1,0) AS 'Falta_to',\n\t\t\t\t\t   IF(t_tipo_traslado = 1 AND t_id_agencia=0,1,0) AS 'Falta_td',\t\t\t\t\t   \n\t\t\t\t\t   (SELECT cd_pais FROM ciudad_destino WHERE cd_id = svi_ciudad_origen) AS 'Origen',\n\t\t\t\t\t   (SELECT cd_pais FROM ciudad_destino WHERE cd_id = svi_ciudad_destino) AS 'Destino'\n\t\t\t\tFROM tramites\n\t\t\t\tJOIN solicitud_viaje ON sv_tramite  = t_id\n\t\t\t\tJOIN sv_itinerario ON svi_solicitud = sv_id\n\t\t\t\tLEFT JOIN hospedaje ON h_id_itinerario = svi_id\n\t\t\t\tLEFT JOIN traslados ON t_id_itinerario = svi_id\n\t\t\t\tWHERE sv_tramite = {$tramite_id}\n\t\t\t\tORDER BY svi_fecha_salida";
 $res = @mysql_query($sql);
 $parametro = '';
 while ($row = @mysql_fetch_assoc($res)) {
     if ($row['Falta_h'] == 1) {
         $parametro .= " OR ut_tipo = 10 AND p_pais_viaje = " . $row['Destino'];
     }
     if ($row['Falta_to'] == 1) {
         $parametro .= " OR ut_tipo = 11 AND p_pais_viaje = " . $row['Origen'];
     }
     if ($row['Falta_td'] == 1) {
         $parametro .= " OR ut_tipo = 11 AND p_pais_viaje = " . $row['Destino'];
     }
示例#20
0
    $tramite = new Tramite();
    $tramite->Load_Tramite($tramiteId);
    $iniciador = $tramite->Get_dato("t_iniciador");
    $tramite->Modifica_Etapa($tramiteId, SOLICITUD_ETAPA_COMPRADA, FLUJO_SOLICITUD, $iniciador, "");
}
if (isset($_POST['tramiteCId'])) {
    $cnn = new conexion();
    $tramiteId = $_POST['tramiteCId'];
    $tramite = new Tramite();
    $tramite->Load_Tramite($tramiteId);
    $sv_ceco_paga = 0;
    $cc_responsable = 0;
    $Gerente_area = 0;
    //Notificacion para empleado
    $mensaje = sprintf("El monto que la agencia de viajes ha registrado para la compra del boleto de avi&oacute;n de la solicitud de viaje <strong>%05s</strong> excede el l&iacute;mite de tolerancia, se enviar&aacute; nuevamente a aprobaci&oacute;n", $tramiteId);
    $remitente = $tramite->Get_dato("t_dueno");
    //enviar la notificacion al empleado ----> t_iniciador
    $destinatario = $tramite->Get_dato("t_iniciador");
    $tramite->EnviaNotificacion($tramiteId, $mensaje, $remitente, $destinatario, "0", "");
    //"0" para no enviar email y "1" para enviarlo
    //Notificacion al gerente de area
    //obtenemos el id del usuario al que pertenece ese Director de area
    $query = sprintf("SELECT sv_ceco_paga FROM solicitud_viaje WHERE sv_tramite=%s", $tramiteId);
    $rst = $cnn->consultar($query);
    while ($fila = mysql_fetch_assoc($rst)) {
        $sv_ceco_paga = $fila['sv_ceco_paga'];
    }
    $queryResp = sprintf("SELECT cc_responsable FROM cat_cecos WHERE cc_id=%s", $sv_ceco_paga);
    $rstResp = $cnn->consultar($queryResp);
    while ($fila = mysql_fetch_assoc($rstResp)) {
        $cc_responsable = $fila['cc_responsable'];
// Rechaza la solicitud de manera definitiva	
} else if(isset($_POST["rechazar"])){ 
    
    // Datos del tramite
    $idTramite	       = $_POST["idTramite"];
    $observaciones	   = $_POST["observaciones"];    
        
    // Actualiza el campo de observaciones
    $Csv=new C_SV();    
    $Csv->Load_Solicitud_tramite($idTramite);
    $Csv->Modifica_Observaciones($idTramite, $observaciones, FLUJO_COMPROBACION);        
    
    // Envia el tramite a cancelacion
    $tramite = new Tramite();
    $tramite->Load_Tramite($idTramite);    
    $iniciador      = $tramite->Get_dato("t_iniciador");
    $aprobador      = $tramite->Get_dato("t_dueno");
    $t_etapa_actual = $tramite->Get_dato("t_etapa_actual"); 
    $t_flujo        = $tramite->Get_dato("t_flujo");    
    
    $usuarioAprobador = new Usuario();
    $usuarioAprobador->Load_Usuario_By_ID($aprobador);   
    $mensaje = sprintf("La comprobaci&oacute;n <strong>%05s</strong> ha sido <strong>RECHAZADA</strong> por <strong>%s</strong>.",
                            $idTramite, $usuarioAprobador->Get_dato('nombre'));
    $tramite->EnviaMensaje($idTramite, $mensaje); // Notese que el mensaje se envia antes que se cambia la etapa 
    if($t_flujo==FLUJO_COMPROBACION){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_ETAPA_RECHAZADA, FLUJO_COMPROBACION, $iniciador);
                       
    } else if($t_flujo==FLUJO_COMPROBACION_TDC){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_TDC_ETAPA_RECHAZADA, FLUJO_COMPROBACION_TDC, $iniciador);
        
示例#22
0
 /**
  * Enter description here...
  *
  * @param unknown_type $tramite
  */
 public function Notificar($tramite, $comentario = "Ninguna", $TipoSolicitud, $etapaComp = "", $coTipo = "")
 {
     //Se agrego $etapaComp para las comprobaciones ya autorizadas.
     //session_start();
     $cad_iniciador = "";
     $cad_grupo = "";
     $cad_usuario = "";
     $U = new Usuario();
     file_put_contents("setsion.txt", $_SESSION["idusuario"]);
     $U->Load_usuario($_SESSION["idusuario"]);
     //echo $_SESSION["idusuario"]." dso";
     $NameUser = $U->Get_dato("u_nombre") . " " . $U->Get_dato("u_paterno") . " " . $U->Get_dato("u_materno");
     $T = new Tramite();
     $F = new Flujo();
     $C = new Comprobacion();
     //$E	= new Etapa();
     $T->Load_Tramite($tramite);
     //$F->Load($T->Get_dato("t_flujo"));
     //$E->Load_Etapa($T->Get_dato("t_etapa_actual"));
     //$nombre_tramite=$F->Get_dato("f_nombre");
     $cad_grupo = "La " . $TipoSolicitud . " No.  <strong>" . sprintf("%05s", $tramite) . "</strong>";
     $cad_iniciador = $cad_grupo;
     $cad_usuario = $cad_grupo;
     $etapa = "";
     if ($T->Get_dato("t_cerrado") == 1) {
         //SI EL TRAMITE SE CERRO
         if ($T->Get_dato("t_cancelado") == 0) {
             $cad_iniciador .= " ha sido <strong> Aprobada </strong> por <strong>{$NameUser}</strong> y  <strong>Cerrada Correctamente</strong> ";
             $etapa = "AUTORIZADA";
             $cad_usuario = "";
             $cad_grupo = "";
         } else {
             $etapa = "CANCELADA";
             $cad_iniciador .= " ha sido <strong>Cancelada</strong> por <strong>{$NameUser}</strong> ";
             $cad_grupo = "";
             $cad_usuario = "";
         }
     } else {
         //PASA A UNA ETAPA DETERMINADA
         //$et_ant=$this->etapa_anterior($T->Get_dato("t_etapa_actual"));
         if ($T->Get_dato("t_etapa_actual") == 2) {
             //SE ACABA DE CAPTURAR
             $cad_usuario .= " ha sido <strong>Generada</strong>";
             $cad_iniciador .= " ha sido <strong>Generada</strong> Correctamente";
             $etapa = "GENERADA";
         } elseif ($T->Get_dato("t_etapa_actual") == 3 && $etapaComp == "") {
             $cad_usuario .= " ha sido <strong>Generada</strong>";
             $cad_iniciador .= " ha sido <strong>Generada</strong> Correctamente";
             $etapa = "GENERADA";
         } elseif ($T->Get_dato("t_etapa_actual") == 3 && isset($etapaComp) && !empty($etapaComp)) {
             $cad_usuario .= " ha sido <strong>Generada</strong>";
             $cad_iniciador .= " ha sido <strong> Aprobada </strong> por <strong>{$NameUser}</strong> y pasa a la siguiente etapa para su aprobación";
             $etapa = "APROBADA";
         } else {
             $cad_iniciador .= " ha sido <strong>APROBADA</strong> por <strong>{$NameUser}</strong> y pasa a la siguiente Etapa para su Aprobación.";
             $etapa = "APROBADA";
         }
         /*if($T->Get_dato("t_grupo")>0){//ES UN GRUPO
         				$G	= new Grupo();
         				$G->Load_data($T->Get_dato("t_grupo"));
         	
         				//$cad_grupo		.=" ha sido asignada al Grupo: <strong>" . $G->Get_dato("g_nombre") . "</strong> y queda en espera de su aprobacion";
         				$cad_grupo			.=" ha sido asignada a tu Grupo para su Aprobación";
         				//MANDAMOS NOTIFICACION PARA TODO EL GRUPO
         				$this->Notifica_grupo($T->Get_dato("t_id"),$cad_grupo,$T->Get_dato("t_grupo"),$comentario);
         				$cad_usuario	="";		
         			}
         			else{*/
         $cad_grupo = "";
         $cad_usuario .= " y te ha sido Asignada para su Aprobación.";
         //MANDAMOS A INSERTAR LA NOTIFICACION
         //}
     }
     $U_Iniciador = new Usuario();
     $U_Iniciador->Load_usuario($T->Get_dato("t_iniciador"));
     if ($T->Get_dato("t_iniciador") != $T->Get_dato("t_owner")) {
         $this->Add($cad_iniciador, $T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_usuario"));
         $this->envia_mail_iniciador($T->Get_dato("t_id"), $T->Get_dato("t_iniciador"), $etapa, $TipoSolicitud, $comentario);
     }
     if ($TipoSolicitud == "Comprobacion") {
         if ($coTipo != "2") {
             $C->Load_Comprobacion($tramite);
             $co_id = $C->Get_dato("co_id");
             $query = sprintf("SELECT * FROM detalle_comprobacion where dc_comprobacion=%s", $co_id);
             $rst = parent::consultar($query);
             if ($fila = mysql_fetch_assoc($rst)) {
                 if (trim($cad_usuario != "")) {
                     $U_Iniciador->Load_usuario($fila['dc_responsable']);
                     $this->Add($cad_usuario, $T->Get_dato("t_id"), $fila['dc_responsable']);
                     $this->envia_mail_usuario($T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_id"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario);
                 }
             }
         } else {
             $C->Load_Comprobacion_Amex($tramite);
             $co_id = $C->Get_dato_amx("co_id");
             $query = sprintf("SELECT * FROM detalle_comprobacion_amex where dca_comprobacion=%s", $co_id);
             $rst = parent::consultar($query);
             if ($fila = mysql_fetch_assoc($rst)) {
                 if (trim($cad_usuario != "")) {
                     $U_Iniciador->Load_usuario($fila['dca_responsable']);
                     $this->Add($cad_usuario, $T->Get_dato("t_id"), $fila['dca_responsable']);
                     $this->envia_mail_usuario($T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_id"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario);
                 }
             }
         }
     } else {
         if (trim($cad_usuario != "")) {
             $U_Iniciador->Load_usuario($T->Get_dato("t_owner"));
             $this->Add($cad_usuario, $T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_usuario"));
             $this->envia_mail_usuario($T->Get_dato("t_id"), $T->Get_dato("t_owner"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario);
         }
     }
 }
示例#23
0
 $pais_itinerario = $filaComp['pais_destino'];
 $ciudad_itinerario = $filaComp['ciudad_destino'];
 $iniciadorTramite = $filaComp['t_iniciador'];
 $duenoTramite = $filaComp['t_dueno'];
 $TramiteSolicitud = $filaComp['co_tramite_solicitud'];
 $etapaComprobacion = $filaComp['etapa'];
 $CecoComprobacion = $filaComp['CECO'];
 $queryEmpleado = "SELECT * FROM empleado WHERE idfwk_usuario = '" . $iniciadorTramite . "'";
 //error_log($query);
 $rstEmpleado = $cnn->consultar($queryEmpleado);
 $filaEmp = mysql_fetch_assoc($rstEmpleado);
 $nombreIniciador = $filaEmp['nombre'];
 //Traerá la ruta de autorización de la solicitud correspondiente
 $tramite = new Tramite();
 $tramite->Load_Tramite($idTramite);
 $tramite_ruta = $tramite->Get_dato("t_ruta_autorizacion");
 //Obtener los nombres de los Autorizadores
 $token = strtok($tramite_ruta, "|");
 $autorizadores = "";
 $usuarioAprobador = new Usuario();
 if ($token != false) {
     $usuarioAprobador->Load_Usuario_By_ID($token);
     $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre");
     $autorizadores .= $nombre_autorizadores;
     $token = strtok("|");
     while ($token != false) {
         $autorizadores .= ", ";
         $usuarioAprobador->Load_Usuario_By_ID($token);
         $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre");
         $autorizadores .= $nombre_autorizadores;
         $token = strtok("|");
    function forma_comprobacion()
    {
        ?>
        <!-- Inicia forma para comprobación -->
        <script language="JavaScript" src="../../lib/js/jquery/jquery-1.3.2.js" type="text/javascript"></script>
        <script language="JavaScript" src="../../lib/js/jquery/jquery.date_input.js" type="text/javascript"></script>       
        <script language="JavaScript" src="../../lib/js/jquery/jquery.autocomplete.js" type="text/javascript"></script>
        <script language="JavaScript" src="../../lib/js/jquery/jquery.bgiframe.js" type="text/javascript"></script>
        <script language="JavaScript" src="../../lib/js/jquery/jquery.blockUI.js" type="text/javascript"></script>
		<script language="JavaScript" type ="text/javascript" src="../../lib/js/jquery/jquery.jdpicker.js"></script>
		<script language="JavaScript" src="../../lib/js/formatNumber.js" type="text/javascript"></script>
		<script language="JavaScript" src="../comprobaciones/js/backspaceGeneral.js" type="text/javascript"></script>
        <link rel="stylesheet" href="../../css/jdpicker.css" type="text/css" media="screen" />  



        <script language="JavaScript" type="text/javascript">
            //variables
            var doc;
            doc = $(document);
            doc.ready(inicializarEventos);//cuando el documento esté listo
            function inicializarEventos(){
            	$.blockUI({
    				message: '<h1>Espere un momento...</h1>',
    				css:{
    					border: 'none', 
    					padding: '15px', 
    					backgroundColor: '#000', 
    					'-webkit-border-radius': '10px', 
    					'-moz-border-radius': '10px', 
    					opacity: .5, 
    					color: '#fff'
    				}
    			});
    			
            	$(document).bind("contextmenu", function(e){ e.preventDefault(); });
				var tramite_id=gup("edit2");
				montoMaximoComidas();
				activa_envio();
				//alert(tramite_id);
				fillform(tramite_id);    
				
                //ajusta tabla
                //$("#solicitud_table").tablesorter({ 
                    //cabeceras deshabilitadas del ordenamiento
                //    headers: { 
                //        4: {sorter: false }, 
                //        7: {sorter: false },
                //        9: {sorter: false },
                //        11:{sorter: false }  
                //    } //headers
                //}); //tabla
                //borrarPartida();
                //guardaComprobacion();
                
                $("#fecha_inv").jdPicker({
                    date_format:"dd/mm/YYYY", 
                    date_min:"<?php 
        echo date("d/m/Y");
        ?>
",
                    month_names: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
                    short_month_names: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
                    short_day_names: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"]
                });
				
				//Seleccionar el centro de costos del usuario actual
				//select idcentrocosto from empleado where idempleado = "110"
				
                var id_centro_de_costos = "<?php 
        $varDelegado = 0;
        if (isset($_SESSION['iddelegado'])) {
            $varDelegado = $_SESSION['iddelegado'];
        }
        $iduser = verificaSesion($_SESSION["idusuario"], $varDelegado);
        $query = sprintf("SELECT cc_centrocostos FROM cat_cecos WHERE cc_id = (SELECT idcentrocosto FROM empleado WHERE idfwk_usuario = '%s')", $iduser);
        $var = mysql_query($query);
        $aux = "";
        while ($arr = mysql_fetch_assoc($var)) {
            $aux .= $arr['cc_centrocostos'];
        }
        echo $aux;
        ?>
";
    			seleccionar(id_centro_de_costos);

    			$('#fecha_inv').keydown(function(e){					
					ignoraEventKey(e);				
				});

    			$("input").bind("keydown", function(e){
    				if(!isAlphaNumeric(e)) return false;
    			});
    			
            }//fin ready ó inicializarEventos
            ////IVA
            function gup(name){
            	var regexS = "[\\?&]"+name+"=([^&#]*)";
            	var regex = new RegExp ( regexS );
            	var tmpURL = window.location.href;
            	var results = regex.exec( tmpURL );
            	if( results == null )
            		return"";
            	else
            		return results[1];
            }

            function montoMaximoComidas(){
            	// Monto máximo de Comidas de Invitación
				$.ajax({
					type: "POST",
					url: "services/ajax_solicitudes.php",
					data: "montoMaximo=ok",
					dataType: "json",
					timeout: 10000,		
					success: function(json){
						$("#montoMaximo").val(parseFloat(json[0].montoCantidad));
						$("#montoMaximoDivisa").val(json[0].divisaMonto);
						$("#montoPolitica").html("<span class='style1'>* Monto m&aacute;ximo por persona: " + parseFloat(json[0].montoCantidad) + " " + json[0].divisaMonto + ".</span>");
					}
				});
            }

			function fillform(id_solicitud){
				var frm=document.detallesItinerarios;
				var etapa = 0;
				var historial_autorizaciones = "";
				
					if(id_solicitud != ""){
						$.ajax({
							type: "POST",
							url: "services/ajax_solicitudes.php",
							data: "mntsolicinv="+id_solicitud,
							dataType: "json",
							timeout: 10000,
							success: function(json){
								etapa = json[0].t_etapa;
								historial_autorizaciones = json[0].si_autorizaciones;
								
								$("#motive").val(json[0].si_motivo);
								$("#tramite_sol").val(parseInt(id_solicitud));
								
								$("#fecha_inv").val(json[0].si_fecha_invitacion);

								$("#lugar_inv").val(json[0].si_lugar);
								
								$("#tpesosdisabled").val(json[0].montoPesos);
								$("#tpesos").val(json[0].si_monto_pesos);

								$("#ciudad_invitacion").val(json[0].si_ciudad);

								$("#monto_solicitado_invitacion").val(json[0].si_monto);								

								$("#divisa_solicitud_invitacion").val(parseInt(json[0].si_divisa));

								if(etapa == 4 || etapa == 6 || historial_autorizaciones != ""){
									$("#historial_observaciones").val(json[0].si_observaciones);
								}
								
								$("#observ").val(json[0].si_observaciones_edicion);
								
							}, // Fin de carga de info de Solicitudes de Invitación
							complete: function (json){
								//alert("Completado 001");
								$.ajax({
									type: "POST",
									url: "../comprobaciones/services/Ajax_comprobacion.php",
									data: "t_id="+id_solicitud,
									dataType: "json",
									timeout: 10000,
									success: function(jsonC){
										if(jsonC==null){
										}else{
											seleccionar(jsonC[0]);
										}								
									}, // Fin de Seleccione CECOs
									complete: function (jsonC){
										//alert("Completado 002");
										$.ajax({
											type: "POST",
											url: "../comprobaciones/services/Ajax_comprobacion.php",
											data: "t_id2="+id_solicitud,
											dataType: "json",
											timeout: 10000,
											success: function(jsonINV){			
												if(jsonINV==null){
													VaciarTabla();
													document.getElementById("numInvitadosDisabled").value = 0;
													document.getElementById("numInvitados").value = 0;
												}else{
													VaciarTabla();									
													LlenarTabla(jsonINV,document.getElementById("invitado_table"));
												}
											},
											complete: function(jsonINV){
												//alert("Completado 003");
												guardaprevioComprobacion1();
												recalculaMontos();
												$.unblockUI();
												guardaComprobacion11();
										    }, // Complete 3er AJAX
										    error: function(x, t, m) {
        										if(t==="timeout") {
            										//alert("tiempo de espera agotado 3");
            										location.reload();
           											 abort();
        										} 
   											 }
										}); // Tercer AJAX - Carga de Invitados
									}, // Complete 2do AJAX
									error: function(x, t, m) {
        								if(t==="timeout") {
            								//alert("tiempo de espera agotado 2");
            								location.reload();
            								abort();
        								}
    								}
								}); // Segundo AJAX - Carga de CECO
							}, // Complete 1er AJAX
							error: function(x, t, m) {
        						if(t==="timeout") {
            						//alert("tiempo de espera agotado 1");
            						location.reload();
            						abort();
        						} 
    						}
						}); // Primer AJAX - INFO SI
					}					
				}

	function activa_envio(){
		var delegado = <?php 
        if (isset($_SESSION['iddelegado'])) {
            echo $_SESSION['iddelegado'];
        } else {
            echo 0;
        }
        ?>
;
        if(delegado != 0){
        	$("#enviaDirector").removeAttr("disabled");
        }else{
        	$("#guardarCompedit").removeAttr("disabled");
        }
	}

    function VaciarTabla() {
    	var TABLE = document.getElementById("invitado_table");
    	for(var i=TABLE.rows.length-1;i>=1;i--){
    		TABLE.deleteRow(i);
    	}
    }


  function LlenarTabla(json, tabla){	
    	var frm=document.detallesItinerarios;
    	frm.rowCount.value=parseInt(0);
    	for(var i=0;i<json.length;i++){
    					
    		var toks=json[i].split(":");
    		
    		//Creamos la nueva fila y sus respectivas columnas
    		var nuevaFila='<tr>';
    		nuevaFila+="<td>"+"<div id='renglon"+(i+1)+"' name='renglon"+(i+1)+"'>"+(i+1)+"</div>"+"<input type='hidden' name='row"+(i+1)+"' id='row"+(i+1)+"' value='"+(i+1)+"' readonly='readonly' /></td>";
    		nuevaFila+="<td><input type='hidden' name='nombre"+(i+1)+"' id='nombre"+(i+1)+"' value='"+toks[0]+"' readonly='readonly' />"+toks[0]+"</td>";
    		nuevaFila+="<td><input type='hidden' name='puesto"+(i+1)+"' id='puesto"+(i+1)+"' value='"+toks[1]+"' readonly='readonly' />"+toks[1]+"</td>";
    		nuevaFila+="<td><input type='hidden' name='empresa"+(i+1)+"' id='empresa"+(i+1)+"' value='"+toks[2]+"' readonly='readonly' />"+toks[2]+"</td>";
    		nuevaFila+="<td ><input type='hidden' name='tipo"+(i+1)+"' id='tipo"+(i+1)+"' value='"+toks[3]+"' readonly='readonly' />"+toks[3]+"</td>";
    		nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aqu&iacute; para Eliminar' name='"+(i+1)+"del' id='"+(i+1)+"del' onmousedown='borrarPartida(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>";
    		nuevaFila+= '</tr>';
    		frm.rowCount.value=parseInt(frm.rowCount.value)+parseInt(1);
    		$("#invitado_table").append(nuevaFila);
    	}
    	document.getElementById("numInvitados").value = parseInt(frm.rowCount.value);
    	document.getElementById("numInvitadosDisabled").value = parseInt(frm.rowCount.value);
  }
  
  function fecha_to_mysql_normal(strFecha){
		var toks1=strFecha.split(" ");
		var toks=toks1[0].split("-");

		strFechaN = toks[0]+"/"+toks[1]+"/"+toks[2];
		return strFechaN;
	}

  function fecha_to_mysql(strFecha){
		var toks1=strFecha.split(" ");
		var toks=toks1[0].split("-");

		strFechaN = toks[2]+"/"+toks[1]+"/"+toks[0];
		return strFechaN;
	}

//Seleccionar elemento de un combo
  function seleccionar(elemento) {
     var combo = document.invitacion_comp.centro_de_costos;
     var cantidad = combo.length;
     for (var i = 1; i < cantidad; i++) {
        var toks=combo[i].text.split("-");
        if (toks[0] == elemento) {
           combo[i].selected = true;
  		 break;
        }
     }
  }
			//Seleccionar elemento del combo de ccentro_costos
			function seleccionar(elemento) {
			   var combo = document.detallesItinerarios.ccentro_costos;
			   var cantidad = combo.length;

			   for (var i = 0; i < cantidad; i++) {
				  var toks=combo[i].text.split(" ");
				  if (toks[0] == elemento) {
					 combo[i].selected = true;
					 break;
				  }
			   }
			}

			function verificar_tipo_invitado(){
				var esDirector = <?php 
        $idusuario = $_SESSION["idusuario"];
        $esDirector = 0;
        $rutaAutorizacion = new RutaAutorizacion();
        $esDirector = $rutaAutorizacion->nivelEmpleado($idusuario);
        echo $esDirector;
        ?>
;
				var directorGeneral = <?php 
        echo DIRECTOR_GENERAL;
        ?>
;
            	if($("#tipo_invitado").val()=="-1"){
            		$("#empresa_invitado").val("");
            		$("#capaDirector").html("");
            		$("#empresa_invitado").attr("disabled", "disable");
                }
            	else{    
                if($("#tipo_invitado").val()=="BMW"){
                    $("#empresa_invitado").val("BMW DE MEXICO SA DE CV.");
                    $("#capaDirector").html("");
                    $("#empresa_invitado").attr("disabled", "disable");
                } else if ($("#tipo_invitado").val() == "Gobierno" && esDirector != directorGeneral){
                	$("#empresa_invitado").val("");
                    $("#empresa_invitado").removeAttr("disabled");
					$("#capaDirector").html("<strong>La solicitud requerir&aacute; ser validada por el Dir. General</strong>");                    
                }else{
                    $("#empresa_invitado").val("");
                    $("#capaDirector").html("");
                    $("#empresa_invitado").removeAttr("disabled");
                                                                                                            
                }
            	}
            }
                            
            function verificar(){
                if($("#motive").val()==""){
                    alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                    $("#motive").focus();
                    return false;
                } else if($("#lugar_inv").val()==""){
                    alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                    $("#lugar_inv").focus();
                    return false;
                } else if($("#nombre_invitado").val()==""){
                    alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                    $("#nombre_invitado").focus();
                    return false;
                }else if($("#puesto_invitado").val()==""){
                    alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                    $("#puesto_invitado").focus();
                    return false;
                }else if($("#empresa_invitado").val()==""){
                    alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                    $("#empresa_invitado").focus();
                    return false;
                }else if($("#tipo_invitado").val()==""){
                    alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                    $("#tipo_invitado").focus();
                    return false;
                }else{
                    return true;
                }
                                
            }
                            
                            
            function agregarPartida(){
                var frm=document.detallesItinerarios;
                                
                id=parseInt($("#invitado_table").find("tr:last").find("div").eq(0).html());
                                                                        
                if(verificar()){
                    
                    if(isNaN(id)){ 
                        id=1; 
                    }else{ 
                        id+=parseInt(1); 
                    }
                    frm.rowCount.value=parseInt(frm.rowCount.value)+parseInt(1);
                    
                    var nuevaFila='<tr>';
                    nuevaFila+="<td>"+"<div id='renglon"+id+"' name='renglon"+id+"'>"+id+"</div>"+"<input type='hidden' name='row"+id+"' id='row"+id+"' value='"+id+"' readonly='readonly' /></td>";                    nuevaFila+="<td><input type='hidden' name='nombre"+id+"' id='nombre"+id+"' value='"+frm.nombre_invitado.value+"' readonly='readonly' />"+frm.nombre_invitado.value+"</td>"; 
                    nuevaFila+="<td><input type='hidden' name='puesto"+id+"' id='puesto"+id+"' value='"+frm.puesto_invitado.value+"' readonly='readonly' />"+frm.puesto_invitado.value+"</td>"; 
                    nuevaFila+="<td><input type='hidden' name='empresa"+id+"' id='empresa"+id+"' value='"+frm.empresa_invitado.value+"' readonly='readonly' />"+frm.empresa_invitado.value+"</td>"; 
                    nuevaFila+="<td><input type='hidden' name='tipo"+id+"' id='tipo"+id+"' value='"+frm.tipo_invitado.value+"' readonly='readonly' />"+frm.tipo_invitado.value+"</td>";
                    nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aqu&iacute; para Eliminar' name='"+id+"del' id='"+id+"del' onmousedown='borrarPartida(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>";
                    nuevaFila+= '</tr>';
                                    
                    
                    $("#invitado_table").append(nuevaFila);
                    $("#numInvitados").val(parseInt(frm.rowCount.value));
                    $("#numInvitadosDisabled").val(parseInt(frm.rowCount.value));
                    $("#nombre_invitado").val("");
                    $("#puesto_invitado").val("");
                    $("#empresa_invitado").val("");
                    //$("#capaDirector").html("");
                    $("#tipo_invitado").val("-1");
                    //guardaComprobacion();       
                    $("#guardarComp").removeAttr("disabled");
                    $("#guardarCompprev").removeAttr("disabled");                    
					$("#capaDirector").html("");
					document.getElementById("empresa_invitado").disabled="disable";
					recalculaMontos();
                }
            }
                                                                         
            function borrarPartida(id){
                var frm=document.detallesItinerarios;
                $("#rowCount").bind("restar",function(e,data,data1){
                	e.stopImmediatePropagation();
            			$("#rowCount").val(parseInt($("#invitado_table>tbody>tr").length));
            			$("#numInvitados").val($("#rowCount").val());
            			$("#numInvitadosDisabled").val($("#rowCount").val());
                    });

                $("#rowDel").bind("cambiar",function(e,inicio,tope){
                    e.stopImmediatePropagation();
                    var renglon="";
            		var jqueryrenglon="";
            		var nextrenglon="";
                	var nextrow="";
            		var row="";
            		var jqueryrow="";
                	var nextnombre="";
            		var nombre="";
            		var jquerynombre="";
                	var nextpuesto="";
            		var puesto="";
            		var jquerypuesto="";
                	var nexttipo="";
            		var tipo="";
            		var jquerytipo="";
                	var nextempresa="";
            		var empresa="";
            		var jqueryempresa="";
                	var nextdel="";
            		var del="";
            		var jquerydel="";
            		
            		 for (var i=parseFloat(inicio);i<=parseFloat(tope);i++){ 

             		   	renglon="renglon"+parseInt(i);
            				jqueryrenglon="#renglon"+parseInt(i);
            				nextrenglon="#renglon"+((parseInt(i)+(1)));
                     	nextrow="#row"+((parseInt(i)+(1)));
            				row="row"+parseInt(i);
            				jqueryrow="#row"+parseInt(i);
                     	nextnombre="#nombre"+((parseInt(i)+(1)));
            				nombre="nombre"+parseInt(i);
            				jquerynombre="#nombre"+parseInt(i);
                     	nextpuesto="#puesto"+((parseInt(i)+(1)));
            				puesto="puesto"+parseInt(i);
            				jquerypuesto="#puesto"+parseInt(i);
                     	nexttipo="#tipo"+((parseInt(i)+(1)));
            				tipo="tipo"+parseInt(i);
            				jquerytipo="#tipo"+parseInt(i);           				
                     	nextempresa="#empresa"+((parseInt(i)+(1)));
            				empresa="empresa"+parseInt(i);
            				jqueryempresa="#empresa"+parseInt(i);
                     	nextdel="#"+((parseInt(i)+(1)))+"del";
            				del=parseInt(i)+"del";
            				jquerydel="#"+parseInt(i)+"del";
            				
            				$(nextrenglon).attr("id",renglon);
            	         	$(jqueryrenglon).attr("name",renglon);
            	         	$(jqueryrenglon).html(parseInt(i));
            	         	$(nextrow).attr("id",row);
            	         	$(jqueryrow).attr("name",row);
            	         	$(jqueryrow).val(parseInt(i));          
            	    	  	$(nextnombre).attr("id",nombre);
                  	 	$(jquerynombre).attr("name",nombre);  		        	 
            	      		$(nextpuesto).attr("id",puesto);
              	      		$(jquerypuesto).attr("name",puesto);      
            	      		$(nexttipo).attr("id",tipo);
              			$(jquerytipo).attr("name",tipo);
              			$(nextempresa).attr("id",empresa);
              			$(jqueryempresa).attr("name",empresa);
              			$(nextdel).attr("id",del);
              			$(jquerydel).attr("name",del); 
             		       //next();                                            
                }
                });
                
                            $("img.elimina").click(function(){
                                
                        		$(this).parent().parent().parent().fadeOut("normal", function () {
            						var i=0;
                    				$(this).remove();	
            						$("#rowCount").trigger("restar");
            						$("#rowCount").unbind("restar");
                      				 var tope=$("#rowCount").val();
									 recalculaMontos();
                      				 i=parseFloat(id);
            						$("#rowDel").trigger("cambiar",[i,tope]);
            						$("#rowDel").unbind("cambiar");
                                }); 
                        		return false;    
                            });    
                                                                                                                                                                                                             
                        }
                                                                           
            function getCentroCostos(){
                var frm=document.detallesItinerarios;
                $("#Cecos").val(frm.ccentro_costos.value);
            }      
                                                                
		/***************************************************************************/
		//VARIABLE GLOBAL
		var textoAnterior = '';

		//ESTA FUNCIÓN DEFINE LAS REGLAS DEL JUEGO
		function cumpleReglas(simpleTexto){
			//la pasamos por una poderosa expresión regular
			//var expresion = new RegExp("^(|([0-9]{1,2}(\\.([0-9]{1,2})?)?))$");
			var expresion = new RegExp("^(|([0-9]{1,30}(\\.([0-9]{1,2})?)?))$");

			//si pasa la prueba, es válida
			if(expresion.test(simpleTexto))
				return true;
			return false;
		}//end function checaReglas

		//ESTA FUNCIÓN REVISA QUE TODO LO QUE SE ESCRIBA ESTÉ EN ORDEN
		function revisaCadena(textItem){
			//si comienza con un punto, le agregamos un cero
			if(textItem.value.substring(0,1) == '.') 
				textItem.value = '0' + textItem.value;

			//si no cumples las reglas, no te dejo escribir
			if(!cumpleReglas(textItem.value))
				textItem.value = textoAnterior;
			else //todo en orden
				textoAnterior = textItem.value;
		}//end function revisaCadena
		/***************************************************************************/
			function NumCheck(e, field) { 
				key = e.keyCode ? e.keyCode : e.which ;
				valor = field.value+String.fromCharCode(key);
				// backspace 
				if (key == 8) return true ;
				// 0-9 
				if ((key > 47 && key < 58)) { 
					if (valor == "") return true ;
					//regexp = /.[0-9]{2}$/ 
					regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ;
					return (regexp.test(valor)) ;
				} 
				// . 
				if (key == 46) { 
					if (valor == "") return false ;
					//regexp = /^[0-9]+$/ ;
					regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ;
					return regexp.test(valor) ;
				} 
				// other key 
				return false ;
			}
            function validaNum(valor){                                                                
                cTecla=(document.all)?valor.keyCode:valor.which;
                if(cTecla==8) return true;
                if(cTecla==37) return true;
                if(cTecla==39) return true;
                patron=/^([0-9.]{1,2})?$/;
                cTecla= String.fromCharCode(cTecla);
                return patron.test(cTecla);
            }
            function validaNum2(valor){
                cTecla=(document.all)?valor.keyCode:valor.which;
                if(cTecla==8) return true;
                if(cTecla==37) return "ok";
                if(cTecla==39) return "ok";
                return true;
            }
			function format_input(valor){
				valor = valor.replace(/,/g,"");
				//valor = number_format(valor,2,".",",");
				valor = number_format_sin_redondeo(valor);
				return valor;
			}

            function guardaComprobacion11(){
                var etapaTramite = parseInt($("#etapa").val());
                
                var frm=document.detallesItinerarios;
                id= parseInt($("#solicitud_table").find("tr:last").find("td").eq(0).html());
                if(($("#numInvitados").val() >= 1)){
					if($("#divisa_solicitud_invitacion").val()=="" ||$("#divisa_solicitud_invitacion").val()==-1 ){
                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                        $("#divisa_solicitud_invitacion").focus();
                        return false;
                    }else if($("#ccentro_costos").val()==""){
                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                        $("#ccentro_costos").focus();
                        return false;
                    }else if($("#ciudad_invitacion").val()==""){
                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
                        $("#ciudad_invitacion").focus();
                        return false;
                    }else if(etapaTramite == 1 && $("#banderavalida").val() == 1 && $("#observ").val().length == 0){
						alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
						$("#observ").focus();
						return false;
                    }else if($("#monto_solicitado_invitacion").val()==0){
                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes. Monto");
                        $("#monto_solicitado_invitacion").focus();
                        return false;
                    }else{
                    	document.getElementById("motive").setAttribute("readonly","readonly");
                        $("#guardarCompprev").removeAttr("disabled");
                        if($("#delegado").val() != 0){
                        	$("#enviaDirector").removeAttr("disabled");
                        }else{
                        	$("#guardarCompedit").removeAttr("disabled");
                        }
                    }
                                            
                }      
            }

            function validaInvitados(){
				var numInv = parseInt($("#numInvitados").val());
				if(numInv < 2){
					alert("Favor de ingresar por lo menos dos invitados.");
					return false;
				}else{
					return true;
				}
			}
                                                       
            function guardaComprobacion(){
                var frm=document.detallesItinerarios;
                if(validaInvitados()){
	                id= parseInt($("#solicitud_table").find("tr:last").find("td").eq(0).html());
	                if(($("#numInvitados").val() >= 1)){
	                	if($("#motive").val()==""){
	                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
	                        $("#motive").focus();
	                        return false;
	                    }else if($("#lugar_inv").val()==""){
	                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
	                        $("#lugar_inv").focus();
	                        return false;
	                    }else if($("#monto_solicitado_invitacion").val()==0){
	                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes. Monto");
	                        $("#monto_solicitado_invitacion").focus();
	                        return false;
	                    }else if($("#divisa_solicitud_invitacion").val()=="" ||$("#divisa_solicitud_invitacion").val()==-1 ){
	                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
	                        $("#divisa_solicitud_invitacion").focus();
	                        return false;
	                    }else if($("#ccentro_costos").val()==""){
	                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
	                        $("#ccentro_costos").focus();
	                        return false;
	                    }else if($("#ciudad_invitacion").val()==""){
	                        alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
	                        $("#ciudad_invitacion").focus();
	                        return false;
	                    } else if ($("#banderavalida").val() == 1){
	                    	if($("#observ").val().length == 0 ){
	                            alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes.");
	                            $("#observ").focus();
	                            return false;
	                        }
	                    } else {
	                    	document.getElementById("motive").setAttribute("readonly","readonly");
	                    	document.getElementById("nombre_invitado").setAttribute("disabled","disabled");
	                    	document.getElementById("puesto_invitado").setAttribute("disabled","disabled");
	                    	document.getElementById("empresa_invitado").setAttribute("disabled","disabled");                    	
	                    	document.getElementById("tipo_invitado").setAttribute("disabled","disabled");						
							document.getElementById("agregar_invitado").setAttribute("disabled","disabled");
	                        $("#guardarCompprev").removeAttr("disabled");
	                        if($("#delegado").val() != 0){
	                        	$("#enviaDirector").removeAttr("disabled");
	                        }else{
	                        	$("#guardarCompedit").removeAttr("disabled");
	                        }
	                    }
	                                            
	                }
                }else{
                    return false;
                }
            }


            function guardaprevioComprobacion(){
                var frm=document.detallesItinerarios;
                    	document.getElementById("motive").setAttribute("readonly","readonly");
						if(document.getElementById("motive").value != "")
							$("#guardarprevCompedit").removeAttr("disabled");
						else if(document.getElementById("motive").value == "")
							frm.guardarprevCompedit.disabled = true;
            }
            function guardaprevioComprobacion1(){
                var frm=document.detallesItinerarios;
                $("#guardarprevCompedit").removeAttr("disabled");                            
            }

            function solicitarConfirmPrevio(){
            	 var frm=document.detallesItinerarios;
        		if(confirm("¿Desea guardar esta Solicitud como previo?")){
        			//frm.submit();
        		}else{
            		return false;
        		}
                }

            function enviarSub(){
                var frm=document.detallesItinerarios;
                document.getElementById("motive").setAttribute("readonly","readonly");                       
            }

            function evaluaMonto(monto){
            	var montoMaximo = 0;
				var montoMaximoDiv = 0;
				
            	var esDirector = <?php 
        $idusuario = $_SESSION["idusuario"];
        $esDirector = 0;
        $rutaAutorizacion = new RutaAutorizacion();
        $esDirector = $rutaAutorizacion->nivelEmpleado($idusuario);
        echo $esDirector;
        ?>
;
				var directorGeneral = <?php 
        echo DIRECTOR_GENERAL;
        ?>
;
				
            	$("#capaWarning").html("");
                var mensajeExcedePoliticas = undefined;
                //Variables de las cajas de Texto 
                var divEuro = parseFloat($("#valorDivisaEUR").val());
                //var monto = parseFloat($("#tpesos").val());
                var num_invitados = parseFloat($("#numInvitados").val());
                //Variable para guardar 
                var monto2 = 0;
                monto2 = ((monto / divEuro) / num_invitados );
                
             	// Monto máximo de Comidas de Invitación
				$.ajax({
					type: "POST",
					url: "services/ajax_solicitudes.php",
					data: "montoMaximo=ok",
					dataType: "json",
					async: false, 
					timeout: 10000, 
					success: function(json){
						montoMaximo = parseFloat(json[0].montoCantidad);
						montoMaximoDiv = json[0].divisaMonto;
					}, 
					complete: function (json){
						//alert("Completo: carga de politicas de comida Invitacion:"+montoMaximo+" "+montoMaximoDiv);
						if(monto2 > montoMaximo && mensajeExcedePoliticas == undefined){
		                    if(esDirector != directorGeneral){
		                		mensajeExcedePoliticas = "<strong>Esta rebasando la pol&iacute;tica del concepto. <br>El monto m&aacute;ximo es de " + montoMaximo + " " + montoMaximoDiv + ".<br /> La solicitud requerir&aacute; ser validada por el Dir. General.</strong>";
		                    }else{
		                    	mensajeExcedePoliticas = "<strong>Esta rebasando la pol&iacute;tica del concepto. <br>El monto m&aacute;ximo es de " + montoMaximo + " " + montoMaximoDiv + ".<br /></strong>";
		                    }
		                	conceptoExcedePoliticas = true;                                        
		                } else {
		                	conceptoExcedePoliticas = false;
		                }
		                
		                if(conceptoExcedePoliticas){
		                    $("#capaWarning").html(mensajeExcedePoliticas);
		                    $("#obsjus").html("Agregar justificaci&oacute;n detallada del motivo del excedente<span class='style1'>*</span>:");
		                    document.getElementById("banderavalida").value = 1;                   
		                } else {
		                	$("#obsjus").html("Observaciones:");
		                	document.getElementById("banderavalida").value = 0;
		                }
					},
					error: function(x, t, m) {
						if(t==="timeout") {
							location.reload();
							abort();
						}else if(montoMaximo == 0 || montoMaximo == ""){
							location.reload();
							abort();
						}
					}
				});
            }
            
            function recalculaMontos(){
                var anticipo = parseFloat(($("#monto_solicitado_invitacion").val()).replace(/,/g,""));

                var totalAnticipo = 0;
				var divisas = $("#divisa_solicitud_invitacion").val();

				var tasaNueva = 1;
				if(divisas != 1){ //Si la divisa es diferente a MXN
					//Se obtiene las tasas de las divisas
					var tasa = "<?php 
        $query = sprintf('SELECT DIV_ID,DIV_TASA FROM divisa');
        $var = mysql_query($query);
        $aux = "";
        while ($arr = mysql_fetch_assoc($var)) {
            $aux .= $arr['DIV_ID'] . ":" . $arr['DIV_TASA'] . ":";
        }
        echo $aux;
        ?>
";
					var tasa2 = tasa.split(":");
					
					//Se obtiene la tasa de la divisa seleccionada
					for(i=0;i<=tasa2.length;i=i+2){
						if(tasa2[i] == divisas){
							tasaNueva = tasa2[i+1];
						}
					}
				}

				totalAnticipo = anticipo * parseFloat(tasaNueva);
				document.getElementById("tpesosdisabled").value = number_format(redondea(totalAnticipo),2,".",",");//redondea a 2 decimales
				document.getElementById("tpesos").value = number_format(redondea(totalAnticipo),2,".",",");//redondea a 2 decimales
                evaluaMonto(totalAnticipo);                	
            }
			
			function redondea(valor){
				return (Math.round(valor * Math.pow(10, 2)) / Math.pow(10, 2));
			}
			            
        </script>

        <link rel="stylesheet" type="text/css" href="../../css/jquery.autocomplete.css"/>
        <link rel="stylesheet" type="text/css" href="../../css/date_input.css"/>
        <link rel="stylesheet" type="text/css" href="../../css/table_style.css"/>
        <link rel="stylesheet" type="text/css" href="../../css/style_Table_Edit.css"/>
        <style type="text/css">
            .style1 {color: #FF0000}

        </style>


        <div id="Layer1" >
            <form action="solicitud_invitacion_new.php?save" method="post" name="detallesItinerarios" id="detallesItinerarios" >
                <center><h3>Solicitud de Invitaci&oacute;n</h3></center>
                <table width="785" border="0" align="center" cellspacing="1" style="border:1px #CCCCCC solid;margin:auto;margin-top:5px;text-align:left;">
                    <tr>
                    <td colspan="9">&nbsp;</td>
                    </tr>
                    <tr style="text-align:center;">
                        <td colspan="9">Motivo<span class="style1">*</span>: <input name="motive" type="text" id="motive" size=50 maxlength="100" onchange="return guardaprevioComprobacion();" onclick="return guardaprevioComprobacion(); " onkeyup="return guardaprevioComprobacion();" />
                        </td>
                    </tr>
                    <tr>
                    	<td>&nbsp;</td>
                    	<td colspan="2" align="right">Fecha de Invitaci&oacute;n<span class="style1">*</span>:</td>
                    	<td align="left"><input name="fecha_inv" id="fecha_inv" value="<?php 
        echo date('d/m/Y');
        ?>
" size="12" readonly="readonly"></td>
						<td>&nbsp;</td>
						<td colspan="2" align="right">Lugar de invitaci&oacute;n/Restaurante<span class="style1">*</span>:</td>
						<td align="left"><input type="text" name="lugar_inv" id="lugar_inv" maxlength="100"/></td>
						<td>&nbsp;</td>
					</tr>
                    <tr>
                    	<td colspan="9"><div>&nbsp;</div></td>
                    </tr>
                </table>
                <br/>
                <center><div id="montoPolitica"></div></center>
                <center><div style="display: none"><span class="style1">* Monto m&aacute;ximo por persona Funcionarios Gubernamentales: 30.00 EUR</span></div></center>
                <br/>
                <center>
                    <table width="785" border="0" cellspacing="1" style="border:1px #CCCCCC solid;margin:auto;margin-top:5px;text-align:left; background-color:#F8F8F8" >  

                        <tr style="text-align:center;" >
                            <td colspan="4"><h3>Invitados</h3></td>
                        </tr>
                        <tr>  
                            <td>&nbsp;</td>
                            <td width="50%">Nombre<span class="style1">*</span>:&nbsp;&nbsp;<input name="nombre_invitado" type="text" id="nombre_invitado" size=50 maxlength="100" />
                            </td>
                            <td width="50%">Tipo de Invitado<span class="style1">*</span>:&nbsp;&nbsp;<select name="tipo_invitado" id="tipo_invitado" onchange="verificar_tipo_invitado();">
                                    <option value="-1">Seleccione...</option>
                                    <option value="BMW">Empleado BMW de M&eacute;xico</option>
                                    <option value="Externo">Externo</option>
                                    <option value="Gobierno">Gobierno</option>
                                </select>

                            </td>
                            <td>&nbsp;</td>
                        </tr> 
                        <tr>
                            <td>&nbsp;</td>
                            <td width="50%">Puesto<span class="style1">*</span>:&nbsp;&nbsp;&nbsp;<input name="puesto_invitado" type="text" id="puesto_invitado" size=50 maxlength="100" />
                            </td>
                            <td width="50%">Empresa<span class="style1">*</span>:&nbsp;&nbsp;<input name="empresa_invitado" type="text" id="empresa_invitado" size=50 maxlength="100" disabled="disable" />
                            </td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td><div id="capaDirector"></div></td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td colspan="2">
                                <div align="center">
                                    <input name="agregar_invitado" type="button" id="agregar_invitado" value="     Agregar Invitado"  onclick="agregarPartida();" style="background:url(../../images/ok.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;"/>
                                </div>
                            </td>
                            <td>&nbsp;</td>
                        </tr>

                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr><td>&nbsp;</td><td colspan="2" style="text-align:center">
                                <table id="invitado_table" class="tablesorter" cellspacing="1"> 
                                    <thead> 
                                        <tr> 
                                            <th width="5%" align="center" valign="middle">No.</th>
                                            <th width="30%" align="center" valign="middle">Nombre</th> 
                                            <th width="30%" align="center" valign="middle">Puesto</th>
                                            <th width="30%" align="center" valign="middle">Empresa</th>
                                            <th width="30%" align="center" valign="middle">Tipo</th>
                                            <th width="5%" align="center" valign="middle">Eliminar</th>
                                        </tr>
                                       
                                    </thead> 
                                    <tbody> 
                                     <tr>	
                                     		<?php 
        // Obtener el puesto del empleado
        //$idempleado = $_SESSION["idusuario"];
        $varDelegado = 0;
        if (isset($_SESSION['iddelegado'])) {
            $varDelegado = $_SESSION['iddelegado'];
        }
        $idempleado = verificaSesion($_SESSION["idusuario"], $varDelegado);
        //$idempleado = verificaSesion($_SESSION["idusuario"], $_SESSION["iddelegado"]);
        error_log("Empleado retornado: " . $idempleado);
        $usuarioActivo = new Usuario();
        $usuarioActivo->Load_Usuario_By_ID($idempleado);
        $nombreUsuario = $usuarioActivo->Get_dato("u_paterno") . " " . $usuarioActivo->Get_dato("u_materno") . " " . $usuarioActivo->Get_dato("u_nombre");
        $id_empresa = $usuarioActivo->Get_dato("u_empresa");
        ?>
                                            <td><div id='renglon1' name='renglon1'>1</div><input type="hidden" name="row1" id="row1" value="1" readonly='readonly'/></td>
                                            <td><input type="hidden" name="nombre1" id="nombre1" value="<?php 
        echo $nombreUsuario;
        ?>
" /><?php 
        echo $nombreUsuario;
        ?>
</td> 
                                            <td><?php 
        $cnn = new conexion();
        $query = sprintf("SELECT npuesto FROM empleado WHERE idfwk_usuario='%s'", $idempleado);
        $rst = $cnn->consultar($query);
        $fila = mysql_fetch_assoc($rst);
        echo $fila['npuesto'];
        ?>
<input type="hidden" name="puesto1" id="puesto1" value="<?php 
        echo $fila['npuesto'];
        ?>
" /></td>
                                            <td aling="center"><?php 
        // Obtener el nombre de la empresa
        $cnn = new conexion();
        $query2 = sprintf("SELECT e_nombre FROM empresas WHERE e_id='%s'", $id_empresa);
        $rst2 = $cnn->consultar($query2);
        $filab = mysql_fetch_assoc($rst2);
        echo $filab['e_nombre'];
        ?>
<input type="hidden" name="empresa1" id="empresa1" value="<?php 
        echo $filab['e_nombre'];
        ?>
" /></td>
                                            <td aling="center">BMW<input type="hidden" name="tipo1" id="tipo1" value="BMW" /></td>
                                            <td><div align='center'><img id="1del" class="elimina" style="cursor:pointer;" onmousedown="borrarPartida(this.id);" name="1del" alt="Click aquí para Eliminar" src="../../images/delete.gif"></div><div align="center">Eliminar Partida</div></td>
                                        </tr> 
                                        <!-- cuerpo tabla-->
                                    </tbody> 
                                </table> 

                            </td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td> 
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>

                            <td colspan="2">N&uacute;mero de invitados<span class="style1">*</span>:&nbsp;
                                <input type="text" name="numInvitadosDisabled" id="numInvitadosDisabled" value="1" size="15" disabled="disabled" />
                                <input type="hidden" name="numInvitados" id="numInvitados" value="1" size="15" readonly="readonly" /></td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>

                    </table>

                    <br/>
                    <br/>
                    <table width="785" border="0" align="center" cellspacing="1">
                        <tr>
                            <td width="3%">&nbsp;</td>
                            <td width="15%">&nbsp;</td>
                            <td width="24%">&nbsp;</td>
                            <td width="23%">&nbsp;</td>
                            <td width="34%">&nbsp;</td>
                            <td width="1%">&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td colspan="3">Total Monto solicitado<span class="style1">*</span>:&nbsp;
                                <!--<input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0.00" onkeydown="aux2 = validaNum2(event); return validaNum(event);" onkeypress="" onkeyup="recalculaMontos(); if(aux2 != 'ok'){this.value = format_input(this.value);}" onchange="recalculaMontos();"/>-->
                                <!--<input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0" onkeydown="/*aux2 = validaNum2(event); return validaNum(event);*/" onkeypress="return NumCheck(event, this);" onkeyup="recalculaMontos(); /*if(aux2 != 'ok'){this.value = format_input(this.value);}*/" onchange="recalculaMontos();"/>-->
                                <input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0" onkeydown="" onkeypress="" onkeyup="revisaCadena(this); recalculaMontos();" onchange="recalculaMontos();"/>
                            </td>
                            <td>Divisa<span class="style1">*</span>:&nbsp;<select name="divisa_solicitud_invitacion" id="divisa_solicitud_invitacion" onchange="recalculaMontos();">
                                    <option value="-1">Seleccione...</option>
                                    <option value="1">MXN</option>
                                    <option value="2">USD</option>
                                    <option value="3">EUR</option>
                                </select></td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td colspan="3">Total en Pesos:&nbsp;<input type="text" name="tpesosdisabled" id="tpesosdisabled" value="0.00" size="15" disabled="disabled" />
                            <input type="hidden" name="tpesos" id="tpesos" value="0.00" size="15" readonly="readonly" /> MXN<div id="capaWarning"></div></td>
                            <td>Ciudad<span class="style1">*</span>:&nbsp;<input name="ciudad_invitacion" type="text" id="ciudad_invitacion" maxlength="100" /></td>
                            <td><input type="hidden" name="banderavalida" id="banderavalida" readonly="readonly" /></td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td colspan="3">Centro de Costos<span class="style1">*</span>:&nbsp;
                                <select name="ccentro_costos" id="ccentro_costos" onchange="getCentroCostos();">
                                    <option id="-1" value="-1">Seleccione...</option>
									<?php 
        $query = sprintf("SELECT cc_id,cc_centrocostos,cc_nombre FROM cat_cecos WHERE cc_estatus = '1' AND cc_empresa_id = '" . $_SESSION["empresa"] . "' order by cc_centrocostos");
        $var = mysql_query($query);
        while ($arr = mysql_fetch_assoc($var)) {
            echo sprintf("<option value='%s'>%s - %s</option>", $arr['cc_id'], $arr['cc_centrocostos'], $arr['cc_nombre']);
        }
        ?>
                    
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                         <?php 
        $tramite = $_GET['edit2'];
        $FTramite = new Tramite();
        $FTramite->Load_Tramite($tramite);
        $tEtapa = $FTramite->Get_dato("t_etapa_actual");
        $tAutorizacionesHistorial = $FTramite->Get_dato("t_autorizaciones_historial");
        //                          error_log("Tramite: ".$tramite);
        //                          error_log("Etapa del tramite: ".$tEtapa);
        if ($tEtapa == SOLICITUD_INVITACION_ETAPA_RECHAZADA || $tEtapa == SOLICITUD_INVITACION_ETAPA_RECHAZADA_POR_DIRECTOR || $tAutorizacionesHistorial != "") {
            ?>
							<tr>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
							</tr>
	                        <tr>
	                        	<td>&nbsp;</td>
								<td align="right" valign="top">Historial de Observaciones:</td>
								<td colspan="3" rowspan="1" class="alignLeft" >
								<textarea name="historial_observaciones" id="historial_observaciones" cols="80" rows="5" readonly="readonly" onkeypress="confirmaRegreso('historial_observaciones');" onkeydown="confirmaRegreso('historial_observaciones');"></textarea>
								</td>
							</tr>
						<?php 
        }
        ?>
                        <tr>
                            <td><input type="hidden" name="etapa" id="etapa" value="<?php 
        echo $tEtapa;
        ?>
" /></td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td align="right" valign="top"><div id="obsjus">Observaciones:</div></td>
                            <td colspan="3" ><div id="areatext"><textarea name="observ" cols="80" rows="5" id="observ"></textarea></div></td>
                            <td>&nbsp;</td>
                        </tr>
                    </table>
                </center>
                <br />
                <div align="center"></div>



            <?php 
    }
if (isset($_POST['devolverObservaciones'])) {
    $cnn = new conexion();
    $tramiteId = $_POST['idtramite'];
    $ObservacionesNuevas = $_POST['devolverObservaciones'];
    $idusuario = $_POST['idUsuario'];
    $observacionesViejas = "";
    $tramite = new Tramite();
    $tramite->Load_Tramite($tramiteId);
    $t_dueno = $tramite->Get_dato("t_dueno");
    $rutaAuto = new RutaAutorizacion();
    $agrup_usu = new AgrupacionUsuarios();
    // Anotar observaciones
    if ($ObservacionesNuevas != "") {
        $tramite = new Tramite();
        $tramite->Load_Tramite($tramiteId);
        $t_dueno = $tramite->Get_dato("t_dueno");
        $query = sprintf("SELECT co_observaciones FROM comprobaciones WHERE co_mi_tramite='%s'", $tramiteId);
        $rst = $cnn->consultar($query);
        $fila = mysql_fetch_assoc($rst);
        $co_observaciones = $fila['co_observaciones'];
        $notificacion = new Notificacion();
        $observacionesNuevasCodificadas = utf8_decode($ObservacionesNuevas);
        $observaciones = $notificacion->anotaObservacion($t_dueno, $co_observaciones, $observacionesNuevasCodificadas, FLUJO_COMPROBACION, COMPROBACION_ETAPA_EN_APROBACION);
        $queryInsertaObs = sprintf("UPDATE comprobaciones SET co_observaciones='%s' WHERE co_mi_tramite='%s'", $observaciones, $tramiteId);
        $cnn->ejecutar($queryInsertaObs);
    }
    //Notificaciones
    $remitente = $t_dueno;
    //enviar la notificacion al empleado ----> t_iniciador
    $destinatario = $tramite->Get_dato("t_iniciador");
    $mensaje = sprintf("<strong>Finanzas</strong> ha realizado observaciones a la comprobacion <strong>%05s</strong>", $tramiteId);
    die();    

//
// Rechaza el gasto adicional
//

} else if(isset($_POST["rechazar"])){ 
    
    // Datos del tramite
    $idTramite	       = $_POST["idTramite"];
    $observaciones	   = $_POST["observaciones"];     
    
    // Carga datos del tramite
    $Tramite	= new Tramite();
    $Tramite->Load_Tramite($idTramite);
    $fecha_Comprobacion = $Tramite->Get_dato("t_fecha_registro");
    $aprobador          = $Tramite->Get_dato("t_dueno");
    $t_etapa_actual     = $Tramite->Get_dato("t_etapa_actual"); 
    $t_flujo            = $Tramite->Get_dato("t_flujo"); 
    $iniciador          =  $Tramite->Get_dato("t_iniciador");
    
    // Carga datos de la comprobacion
    $Comprobacion = new Comprobacion();
    $Comprobacion->Load_Comprobacion($idTramite);
    $TipoComp           = $Comprobacion->Get_dato("co_tipo");           // Tipo de comprobacion: 1: Viaje, 2: Amex, 3: Caja Chica              
    $cc_id_comprobacion = $Comprobacion->Get_dato("co_cc_clave");       // El ceco se captura en el alta de la comprobacion       
    $co_fecha_registro  = $Comprobacion->Get_dato("co_fecha_registro"); // Fecha de la comprobacion
    $co_id              = $Comprobacion->Get_dato("co_id");
    $co_total           = $Comprobacion->Get_dato("co_total");
    $co_total_aprobado  = $Comprobacion->Get_dato("co_total_aprobado");
    $co_pendiente       = $co_total - $co_total_aprobado;   // Cuanto falta por aprobar
    }
}
// Esta seccion muestra la forma de alta de nueva solicitud
if (isset($_GET['new'])) {
    $UsuOb = new Usuario();
    $tramite = new Tramite();
    $UsuOb->Load_Usuario($_SESSION['empleado']);
    $idcentrocosto = $UsuOb->Get_dato('idcentrocosto');
    // Obtiene el usuario actual de la sesion
    $idusuario_actual = $_SESSION["idusuario"];
    $perfil_usuario_actual = $_SESSION["perfil"];
    // Cargar la etapa del tramite en edición
    $etapaEdicion = 0;
    if (isset($_GET['id'])) {
        $tramite->Load_Tramite($_GET['id']);
        $etapaEdicion = $tramite->Get_dato('t_etapa_actual');
    }
    //Obtiene el valor del parámetro para el límite de anticipos abiertos por persona
    $_parametros = new Parametro();
    $_parametros->Load(5);
    //busca parametro de limite de dias de anticipación para hacer solicitud de viaje Nacional
    $RP_LIM_ANTICIPOSABIERTOS = $_parametros->Get_dato("pr_cantidad");
    // Checa si el usuario tiene comprobaciones pendientes
    $sql = "SELECT * FROM solicitud_viaje s inner join tramites on sv_tramite = t_id where t_comprobado = 0 and t_iniciador =" . $idusuario_actual;
    $rst = mysql_query($sql);
    $no_solicitudes_pendientes_de_aprobar = mysql_num_rows($rst);
    ?>
 
    <?php 
    if ($no_solicitudes_pendientes_de_aprobar > $RP_LIM_ANTICIPOSABIERTOS && !isset($_GET['id'])) {
        // Checa si el usuario tiene comprobaciones pendientes //26082011 EL requerimiento para BMW es de 8 documentos