function getListenPermissions($iMenu)
{
    $sql = "SELECT\n\t\t\t\tmenu_rules\n\t\t\tFROM\n\t\t\t\t`general_menu` `general_menu`\n\t\t\tWHERE idgeneral_menu='{$iMenu}' LIMIT 0,1";
    $Itbl = obten_filas($sql);
    $sPerms = $Itbl["menu_rules"];
    $aPerms = explode(",", $sPerms);
    //Array de Tipos de Permisos
    $aTipoPerms = array(0 => "false", 1 => "rw", 2 => "ro");
    $options = "";
    $sqlP = "SELECT\n\t\t\t\t`general_niveles`.`idgeneral_niveles`,\n\t\t\t\t`general_niveles`.`descripcion_del_nivel` \n\t\t\tFROM\n\t\t\t\t`general_niveles` `general_niveles` WHERE idgeneral_niveles != 99 ";
    $rs = getRecordset($sqlP);
    $xHSel = new cHSelect();
    $xHSel->addOptions(array("" => "Ninguno", "ro" => "Solo Puede Ver", "rw" => "Todo"));
    while ($rw = mysql_fetch_array($rs)) {
        $nivel = $rw["idgeneral_niveles"];
        $desc = $rw["descripcion_del_nivel"];
        $tds = "";
        $selOp = "";
        foreach ($aTipoPerms as $key => $value) {
            if (in_array("{$nivel}@{$value}", $aPerms)) {
                $selOp = $value;
            }
        }
        $xHSel->setDivClass("tx1");
        $mNivel = $xHSel->get("idNiv{$nivel}", "{$desc}", $selOp);
        $options .= $mNivel;
    }
    return $options;
}
function jsaGetLetras($idcredito)
{
    $idcred = setNoMenorQueCero($idcredito);
    $xF = new cFecha();
    if ($idcred > DEFAULT_CREDITO) {
        $xCred = new cCredito($idcred);
        $xCred->init();
        if ($xCred->getEsAfectable() == false or $xCred->getSaldoActual() <= 0) {
            if (MODO_CORRECION == true) {
                $xTxt = new cHText();
                $xTxt->setDivClass("");
                return $xTxt->getNumero("idparcialidad", $xCred->getPeriodoActual() + 1, "TR.Numero de Parcialidad");
            } else {
                return $xCred->getMessages();
            }
        } else {
            if ($xCred->getPeriocidadDePago() == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
                //
                $xTxt = new cHText();
                $xTxt->setDivClass("");
                return $xTxt->getNumero("idparcialidad", $xCred->getPeriodoActual() + 1, "TR.Numero de Parcialidad");
            } else {
                $plan = $xCred->getNumeroDePlanDePagos();
                if ($plan != false) {
                    $xPlan = new cPlanDePagos($plan);
                    $xPlan->init();
                    $parcs = $xPlan->getParcsPendientes();
                    //$txt		= "";
                    $arrD = array();
                    foreach ($parcs as $p) {
                        //setLog( $p[SYS_NUMERO]. " " . $xF->getFechaDDMM($p[SYS_FECHA]) . " ". getFMoney($p[SYS_TOTAL]));
                        if (setNoMenorQueCero($p[SYS_TOTAL]) > 0) {
                            $arrD[$p[SYS_NUMERO]] = $p[SYS_NUMERO] . " " . $xF->getFechaDDMM($p[SYS_FECHA]) . " " . getFMoney($p[SYS_TOTAL]);
                        }
                    }
                    $xSel = new cHSelect();
                    $xSel->addOptions($arrD);
                    $xSel->setEnclose(false);
                    return $xSel->get("idparcialidad", "TR.Numero de Parcialidad", $xCred->getPeriodoActual() + 1);
                } else {
                    if (MODO_CORRECION == true) {
                        $xTxt = new cHText();
                        $xTxt->setDivClass("");
                        return $xTxt->getNumero("idparcialidad", $xCred->getPeriodoActual() + 1, "TR.Numero de Parcialidad");
                    }
                }
            }
        }
    }
}
function jsaCargaDeCreditos($persona)
{
    $xL = new cSQLListas();
    $ql = new MQL();
    $xs = new cHSelect();
    $xs->setDivClass("");
    $sql = $xL->getListadoDeCreditos($persona);
    $rs = $ql->getDataRecord($sql);
    $aOpts = array();
    //setLog($sql);
    foreach ($rs as $row) {
        $aOpts[$row["credito"]] = $row["credito"] . "-" . $row["producto"] . "-" . $row["periocidad"] . "-" . $row["saldo"];
    }
    $xs->addOptions($aOpts);
    return $xs->get("idcreditodescontado", "TR.CLAVE_de_credito");
}
function jsaListadoDeEventos($generadoEn, $programado)
{
    $xPRG = new cAlertasDelSistema();
    $cnt = "";
    $xSel = new cHSelect();
    $xRuls = new cReglaDeNegocio();
    if ($generadoEn == SYS_ALERTA_POR_EVENTO) {
        $xProg = new cAlertasDelSistema();
        $xSel->addOptions($xRuls->getEventos());
        $cnt = $xSel->get("idprogramacion", "TR.Evento Marcado");
    } else {
        $xTxtA = new cHTextArea();
        $xFld = new cHFieldset("TR.Programacion");
        if ($programado == "") {
            //$xFld->addHElem(  );
        } else {
            //$xFld->addHElem(  );
        }
        $xFld->addHElem($xTxtA->get("idprogramacion", "", "TR.programacion"));
        $cnt .= $xFld->get();
    }
    return $cnt;
}
 function getListaDeDias($events = false)
 {
     $selDias = "";
     $xLn = new cLang();
     $dias = $xLn->get("dias");
     if (CAPTACION_INVERSIONES_POR_DIA == true) {
         $xTxt = new cHText();
         if (is_array($events)) {
             foreach ($events as $evento => $func) {
                 $xTxt->addEvent($func, $evento);
             }
         }
         $selDias = $xTxt->getNormal("iddias", INVERSION_DIAS_MINIMOS, "TR.Plazo de Inversion");
     } else {
         $xSel = new cHSelect();
         if (is_array($events)) {
             foreach ($events as $evento => $func) {
                 $xSel->addEvent($func, $evento);
             }
         }
         $xSel->addOptions(array(7 => "7 {$dias}", 14 => "14 {$dias}", 28 => "28 {$dias}", 30 => "30 {$dias}", 60 => "60 {$dias}", 90 => "90 {$dias}", 120 => "120 {$dias}", 180 => "180 {$dias}", 360 => "360 {$dias}"));
         $selDias = $xSel->get("iddias", "TR.Plazo de Inversion", INVERSION_DIAS_MINIMOS);
     }
     return $selDias;
 }
    }
}
$xTx3 = new cHText();
//$gssql= "SELECT * FROM socios_aeconomica_dependencias";
$cDE = $xSel->getListaDeEmpresas("iddependencia");
// new cSelect("iddependencia", "iddependencia", $gssql);
$cDE->addEvent("onchange", "jsGetDatosEmpresa");
$cDE->addEvent("onblur", "jsGetDatosEmpresa");
$cDE->setEsSql();
$cDE->setOptionSelect($empresa);
$xFRM->addHElem($cDE->get("TR.Empresa Relacionada", true));
$xFRM->addHElem($xTxt2->get("idrazonsocialtrabajo", $nombre_ae, "TR.Nombre_Comercial / razon_social"));
$xFRM->addHElem($xTxt6->getDeActividadEconomica("idactividad", $tipo_ae, "TR.Clave de Actividad"));
$xTxt->setClearEvents();
$xHSel->setEnclose(false);
$xHSel->addOptions(array("calle" => "Calle", "avenida" => "Avenida", "andador" => "Andador", "camino_rural" => "Camino Rural"));
$xTxtE->setDivClass("");
$xFRM->addDivSolo($xHSel->get("idtipoacceso", "TR.calle", $tipo_acceso), $xTxtE->getNormal("idnombreacceso", $calle), "tx14", "tx34");
$xFRM->OText("idnumeroexterior", $nexterior, "TR.Numero_Exterior");
$xFRM->addHElem($xTxt->getDeMoneda("idtelefono", "TR.Telefono", $telefono_ae));
$xFRM->addHElem($xTxt->getDeMoneda("idextension", "TR.Extension", ""));
$xCP = new cHText();
$xFRM->addHElem($xCP->getNumero("idcodigopostal", $xLoc->DomicilioCodigoPostal(), "TR.codigo_postal"));
$xFRM->addHElem($xTx3->getDeNombreDeColonia("idnombrecolonia", EACP_COLONIA, "TR.Colonia"));
$xFRM->addHElem($xSel->getListaDePaises()->get(true));
$xFRM->addHElem($xSel->getListaDeEntidadesFed("", true)->get(true));
$xFRM->addHElem("<div class='tx4' id='txtmunicipio'></div>");
$xFRM->addHElem("<div class='tx4' id='txtlocalidad'></div>");
$xTxt->setClearProperties();
if ($asalariado == true) {
    $xFRM->OText("idpuesto", $puesto, "TR.Cargo");
    $beneficiario = $xSoc->getNombreCompleto();
}
$jsb = new jsBasicForm("bancos_operaciones", iDE_OPERACION);
$jsb->setIncludeOnlyCommons();
//$jsb->show();
//$jxc ->drawJavaScript(false, true);
echo $jsb->setIncludeJQuery();
echo $xHP->setBodyinit();
$xTxt = new cHText();
$xBtn = new cHButton();
$xFRM = new cHForm("bancos_operaciones", "movimientos_bancarios.frm.php");
//id,	label value, size,	class,	options[])
$xSel = new cSelect("idcuenta", "idcuenta", TBANCOS_CUENTAS);
$xSel->setOptionSelect($numero_de_cuenta);
$xHSel = new cHSelect();
$xHSel->addOptions(array("cheque" => "Cheque", "deposito" => "Deposito", "retiro" => "Retiro"));
$selOperacion = $xHSel->get("idoperacion", "operacion", $operacion);
$xHSel->setClearOptions();
$xHSel->addOptions(array("autorizado" => "Autorizado", "noautorizado" => "No Autorizdo", "cancelado" => "Cancelado"));
$selEstatus = $xHSel->get("idestatus", "Estatus", $estado);
$xF = new cHDate(0, $fecha, TIPO_FECHA_OPERATIVA);
$xFRM->addHElem($xF->get("Fecha de Operacion"));
$xFRM->addHElem($xSel->get("Cuenta", true));
$xFRM->addHElem($selOperacion);
$xFRM->addHElem($selEstatus);
$xFRM->addHElem($xTxt->get("idsocio", $socio, "Persona"));
$xFRM->addHElem($xTxt->get("idbeneficiario", $beneficiario, "Beneficiario(Nombre)"));
$xFRM->addHElem($xTxt->get("iddocumento", $documento, "Documento"));
$xFRM->addHElem($xTxt->get("idrecibo", $recibo, "Recibo"));
$xFRM->addHElem($xTxt->getDeMoneda("idmonto", "Monto", $monto));
$xFRM->addHTML("<div class='aviso'>{$msg}</div>");
//$jxc = new TinyAjax();
//$jxc ->exportFunction('datos_del_pago', array('idsolicitud', 'idparcialidad'), "#iddatos_pago");
//$jxc ->process();
echo $xHP->getHeader();
$jsb = new jsBasicForm("tesoreria_operaciones", iDE_OPERACION);
$jsb->setIncludeOnlyCommons();
//$jxc ->drawJavaScript(false, true);
echo $xHP->setBodyinit();
$xFRM = new cHForm("tesoreria_operaciones", "./tesoreria_operaciones.frm.php");
$xBtn = new cHButton();
$xTxt = new cHText();
$xTest = new cCaja();
//$xTest->addOperacion($recibo, )
$xHCob = new cHCobros();
$xHSel = new cHSelect();
$xHSel->addOptions(array(1 => "INGRESO", 0 => "NINGUNO", -1 => "EGRESO"));
$xHSel->setDefault(SYS_UNO);
//$selOperacion		= $xHSel->get("idoperacion", "operacion", $operacion);
$xSel = new cSelect("idbanco", "idbanco", TBANCOS_ENTIDADES);
$xSel->setOptionSelect($banco);
$xSel2 = new cSelect("idcuenta", "idcuenta", TBANCOS_CUENTAS);
$xSel2->setOptionSelect($CuentaBancaria);
/*
SELECT idtesoreria_cajas_movimientos, codigo_de_caja, idusuario, documento, recibo, tipo_de_movimiento, tipo_de_exposicion, fecha, hora,
monto_del_movimiento, monto_recibido, monto_en_cambio, banco, numero_de_cheque,
observaciones, sucursal,
eacp, cuenta_bancaria, documento_descontado 
    FROM tesoreria_cajas_movimientos
*/
$xF = new cHDate(0, $fecha, TIPO_FECHA_OPERATIVA);
$xFRM->addHElem($xF->get("Fecha de Operacion"));
//$jxc ->process();
echo $xHP->getHeader();
echo $xHP->setBodyinit("initComponents()");
$fecha = fechasys();
//$xFrm->addHElem()
$xTxt = new cHText();
$xBtn = new cHButton();
$xSel = new cHSelect();
$xFRM = new cHForm("bancos_operaciones", "movimientos_bancarios.frm.php");
//id,	label value, size,	class,	options[])
$selBanco = $xSel->getListaDeCuentasBancarias("");
$selBanco->addEspOption(SYS_TODAS);
$selBanco->setOptionSelect(SYS_TODAS);
//$xSel->setOptionSelect($numero_de_cuenta);
$xHSel = new cHSelect();
$xHSel->addOptions(array("cheque" => $xHP->lang("Cheque"), "deposito" => $xHP->lang("Deposito"), "retiro" => $xHP->lang("Retiro")));
$selOperacion = $xHSel->get("idoperacion", $xHP->lang("operacion"), $operacion);
$xHSel->setClearOptions();
$xHSel->addOptions(array("autorizado" => $xHP->lang("Autorizado"), "noautorizado" => $xHP->lang("No Autorizado"), "cancelado" => $xHP->lang("Cancelado")));
$selEstatus = $xHSel->get("idestatus", $xHP->lang("Estatus"));
$xF = new cHDate(0, $fecha, TIPO_FECHA_OPERATIVA);
$xF2 = new cHDate(1, $fecha, TIPO_FECHA_OPERATIVA);
$xFRM->addHElem($xF->get($xHP->lang("Fecha Inicial")));
$xFRM->addHElem($xF2->get($xHP->lang("Fecha Final")));
$xFRM->addHElem($selBanco->get("TR.Cuenta Bancaria", true));
$xFRM->addHElem($selOperacion);
$xFRM->addHElem($selEstatus);
$xFRM->addHElem($xTxt->getNormal("idbeneficiario", "", "TR.Beneficiario"));
$xFRM->addToolbar($xBtn->getBasic($xHP->lang("Obtener"), "jsGetReporte", "guardar", "cmdsave", false));
//$xFRM->addSubmit("Guardar Movimiento", "setGuardar");
$xFRM->addFootElement("<div id='content'><object type=\"text/html\" id=\"idFPrincipal\" data=\"./utils/frm_calendar_tasks.php\" width='100%' height=\"1200px\" ></object></div>");
 function OSelect($id, $valor, $titulo, $options = false, $add = true)
 {
     $xSel = new cHSelect();
     if (is_array($options)) {
         $xSel->addOptions($options);
     }
     if ($add == true) {
         $this->addHElem($xSel->get($id, $titulo, $valor));
     }
     return $xSel;
 }
$credito = parametro("solicitud", $credito, MQL_INT);
$cuenta = parametro("cuenta", DEFAULT_CUENTA_CORRIENTE, MQL_INT);
$cuenta = parametro("idcuenta", $cuenta, MQL_INT);
$jscallback = parametro("callback");
$tiny = parametro("tiny");
$form = parametro("form");
$action = parametro("action", SYS_NINGUNO);
$xP->init();
$xFRM = new cHForm("frmCompromisos", "frm_agregar_compromisos.php?action=" . MQL_ADD);
$msg = "";
$xFRM->addJsBasico();
$xFRM->addCreditBasico();
$xFRM->addSubmit();
$arr = array("promesa_de_pago" => "Promesa de Pago", "promesa_de_revision" => "Promesa de Revision(Cita)", "promesa_de_reestructuracion" => "Promesa de Reestructuracion", "promesa_de_renovacion" => "Promesa de Renovacion");
$xHSel = new cHSelect();
$xHSel->addOptions($arr);
$xFRM->addHElem($xHSel->get("idtipocompromiso", "TR.Tipo de Compromiso", "promesa_de_pago"));
$xHF = new cHDate();
$cH = new cFecha();
$xFRM->addHElem($xHF->get("TR.Fecha"));
$xFRM->addHElem($cH->getHours(true, "TR.Horario", "idhora"));
$xFRM->OTextArea("idnotas", "", "TR.Notas");
if ($action == MQL_ADD) {
    //Insertar Nuevo Registro
    $socio = $persona;
    $solicitud = $credito;
    $oficial = $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"];
    $fecha = $cH->getFechaISO($_POST["idfecha-0"]);
    $hora = $_POST["idhora"];
    $compromiso = $_POST["idtipocompromiso"];
    $anotacion = $_POST["idnotas"];
     $xHSel = new cHSelect($id);
     if ($Boone->tipo()->v() == "enum") {
         $div = "|";
         $Bdata = explode($div, $Boone->valor()->v());
         $Cdata = array();
         foreach ($Bdata as $clave => $valor) {
             if (trim($valor) != "") {
                 if (strpos($valor, "@") !== false) {
                     $DD = explode("@", $valor);
                     $Cdata[$DD[0]] = strtoupper($DD[1]);
                 } else {
                     $Cdata[$valor] = strtoupper($valor);
                 }
             }
         }
         $xHSel->addOptions($Cdata);
         unset($Bdata);
     } else {
         $xHSel->setSQL($Boone->sql_select()->v());
     }
     $xHSel->setEnclose(true);
     $xFRM->addHElem($xHSel->get($id, $titulo, $valor));
     $proc = false;
 }
 if ($proc == true) {
     //controles normales
     if ($Boone->tipo()->v() == "date") {
         $xHDate = new cHDate($Boone->order_index()->v());
         $xHDate->setID($id);
         $xFRM->addHElem($xHDate->get($titulo, $valor));
     } else {
$sel3 = $xReports->getSelectReportes();
//$rpts->query()->html()->select( $rpts->descripcion_reports()->get(), " aplica='empresas' " );
$emp = new cSocios_aeconomica_dependencias();
$sel = $emp->query()->html()->select($emp->descripcion_dependencia()->get());
$sel->addOptions(array("todas" => "TODAS"));
$per = new cCreditos_periocidadpagos();
$sel4 = $per->query()->html()->select($per->descripcion_periocidadpagos()->get());
$sel4->addOptions(array("todas" => "TODAS"));
$pdto = new cCreditos_tipoconvenio();
$sel2 = $pdto->query()->html()->select($pdto->descripcion_tipoconvenio()->get());
$sel2->addOptions(array("todas" => "TODAS"));
$base = new cEacp_config_bases_de_integracion();
$selB = $base->query()->html()->select($base->descripcion()->get());
//
$xSel = new cHSelect();
$xSel->addOptions(array("chart" => "Grafico", "default" => "Normal", OUT_EXCEL => "Compatible con Excel"));
$xSel->setDefault(SYS_DEFAULT);
$xF1 = new cHDate(0);
$xF2 = new cHDate(1);
//estado
$xBtn = new cHButton("submit", "Ejecutar", "");
$xCbza = new cHCobros();
$oFRM->addHElem($sel->get("idempresa", "Empresa"));
$oFRM->addHElem($sel3);
$oFRM->addHElem($sel2->get("idproducto", "Producto", "todas"));
$oFRM->addHElem($sel4->get("idperiocidad", "Periocidad", "todas"));
$oFRM->addHElem($xCbza->get());
$oFRM->addHElem($selB->get("idbase", "Base de Reporte"));
$oFRM->addHElem($xSel->get("idout", "Formato de Salida"));
$oFRM->addHElem($xF1->get("Fecha Inicial"));
$oFRM->addHElem($xF2->get("Fecha Final"));