function init($principal = false, $datos = false)
 {
     $ByPrinc = "";
     //($principal  == false) ? "" : " AND principal='1' ";
     $xDB = new cSAFETabla(TPERSONAS_DIRECCIONES);
     $sql = $xDB->getQueryInicial();
     $ByTipo = "";
     if ($this->mIDCargado > 0) {
         $sql .= " WHERE `idsocios_vivienda` = " . $this->mIDCargado . " LIMIT 0,1";
     } else {
         $sql .= " WHERE socio_numero=" . $this->mPersona . " {$ByPrinc} {$ByTipo} ORDER BY principal DESC, fecha_alta DESC LIMIT 0,1";
     }
     //setLog($sql);
     if (is_array($datos)) {
         $this->mDatosInArray = $datos;
     } else {
         $this->mDatosInArray = obten_filas($sql);
     }
     $this->mOB = new cSocios_vivienda();
     $this->mCodigoPostal = EACP_CODIGO_POSTAL;
     $this->mClaveDeLocal = EACP_CLAVE_DE_LOCALIDAD;
     $this->mClaveDePais = EACP_CLAVE_DE_PAIS;
     $this->mClaveDeMun = EACP_CLAVE_DE_MUNICIPIO;
     $this->mClaveDeEstadoABC = EACP_CLAVE_DE_ENTIDADFED;
     $this->mClaveDeEstado = EACP_CLAVE_NUM_ENTIDADFED;
     $this->mClaveDeEstadoSIC = EACP_CLAVE_DE_ENTIDAD_SIC;
     $this->mNombrePais = EACP_DOMICILIO_PAIS;
     $this->mNombreLocalidad = EACP_LOCALIDAD;
     $this->mInit = isset($this->mDatosInArray["idsocios_vivienda"]) ? true : false;
     //DEFAULT_TIPO_DOMICILIO
     //setLog($sql);
     if ($this->mInit == false) {
         $this->mIDCargado = false;
     } else {
         $this->mIDCargado = $this->mDatosInArray["idsocios_vivienda"];
         $this->mOB->setData($this->mDatosInArray);
         $this->mCodigoPostal = setNoMenorQueCero($this->mOB->codigo_postal()->v());
         $this->mClaveDeLocal = $this->mOB->clave_de_localidad()->v();
         $this->mClaveDePais = strtoupper($this->mOB->clave_de_pais()->v());
         $this->mNombrePais = strtoupper($this->mOB->nombre_de_pais()->v());
         $this->mNombreLocalidad = strtoupper($this->mOB->localidad()->v());
         $this->mNombreColonia = strtoupper($this->mOB->colonia()->v());
         $this->mNombreCiudad = strtoupper($this->mOB->localidad()->v());
         //setLog($this->mCodigoPostal);
         //iniciar colonia
         if ($this->mCodigoPostal > 0) {
             $xCol = new cDomiciliosColonias();
             if ($xCol->existe($this->mCodigoPostal) == true) {
                 $this->mClaveDeMun = $xCol->getClaveDeMunicipio();
                 $this->mObjColonia = $xCol;
                 $this->mClaveDeEstadoABC = $xCol->getClaveDeEstadoABC();
                 $this->mClaveDeEstado = $xCol->getClaveDeEstado();
                 $this->mClaveDeEstadoSIC = $xCol->getClaveEstadoEnSIC();
                 $this->mNombreCiudad = $xCol->getNombreCiudad();
             } else {
                 $xCol = null;
                 if (isset($_SESSION[SYS_LOCAL_VARS_LOAD])) {
                     $xLoc = new cLocal();
                     $this->mClaveDeMun = $xLoc->DomicilioMunicipioClave();
                     $this->mClaveDeEstadoABC = $xLoc->DomicilioEstadoClaveABC();
                     $this->mClaveDeEstado = $xLoc->DomicilioEstadoClaveNum();
                     $this->mClaveDeEstadoSIC = $xLoc->DomicilioEstadoClaveSIC();
                     $this->mCodigoPostal = $xLoc->DomicilioCodigoPostal();
                 }
             }
         }
     }
     return $this->mDatosInArray;
 }
 function getListaDeEntidadesFed($id = "", $numerico = false, $estado = false)
 {
     $xLoc = new cLocal();
     $id = $id == "" ? "identidadfederativa" : $id;
     $this->mLIDs[] = $id;
     $mid = $numerico == false ? " `general_estados`.`clave_alfanumerica` " : " `general_estados`.`clave_numerica` ";
     $estado = setNoMenorQueCero($estado) <= 0 ? $xLoc->DomicilioEstadoClaveNum() : $estado;
     $sel = $numerico == false ? strtoupper($xLoc->DomicilioEstadoClaveABC()) : $estado;
     $sqlSc = "SELECT {$mid}, `general_estados`.`nombre` FROM\t`general_estados` `general_estados`";
     $xS = new cSelect($id, $id, $sqlSc);
     $xS->setOptionSelect($sel);
     $xS->addEvent("onblur", "var xDG= new DomGen();xDG.setAccionPorEstado(this);");
     $xS->setLabel("TR.entidad_federativa");
     $xS->setEsSql();
     return $xS;
 }
$xFRM->OHidden("idfigurajuridica", PERSONAS_FIGURA_FISICA, "");
//$xFRM->addHElem( $xSel->getListaDeFigurasJuridicas("", PERSONAS_ES_FISICA)->get("TR.tipo de figura juridica", true) );
$xTxt2->setProperty("list", "dlBuscarPersona");
$xTxt2->addEvent("getListaSocios(this, event)", "onkeyup");
$xFRM->addHElem($xTxt2->get("idnombrecompleto", "", "TR.nombre completo"));
$xFRM->addHElem($xTxt2->get("idapellidopaterno", "", "TR.primer apellido"));
$xFRM->addHElem($xTxt2->get("idapellidomaterno", "", "TR.segundo apellido"));
$xFRM->addHElem($xSel->getListaDeGeneros()->get("TR.genero", true));
$xFRM->addHElem($xSel->getListaDePaises("idpaisdeorigen")->get("TR.Pais de Origen", true));
if ($con_nacimiento == true) {
    $xFRM->ODate("idfechanacimiento", false, "TR.fecha de Nacimiento");
    $sEstados = $xSel->getListaDeEntidadesFed("identidadfederativanacimiento");
    $xFRM->addHElem($sEstados->get("TR.entidad de nacimiento", true));
    $xFRM->addHElem($xTxt->get("idlugardenacimiento", $xLoc->DomicilioMunicipio(), "TR.localidad de Nacimiento"));
} else {
    $xFRM->OHidden("identidadfederativanacimiento", $xLoc->DomicilioEstadoClaveABC(), "");
    $xFRM->OHidden("idlugardenacimiento", $xLoc->DomicilioMunicipio(), "");
    $xFRM->OHidden("idfechanacimiento", "01-01-2001", "");
}
$xFRM->addHElem($xTxt->getEmail("idemail"));
$xFRM->addHElem($xTxt->getNumero("idtelefono", "", "TR.Telefono"));
$xFRM->OMoneda("iddependientes", 0, "TR.Dependientes_economicos");
if ($con_legal == true) {
    $sCivil = $xSel->getListaDeEstadoCivil();
    $xFRM->addHElem($sCivil->get("TR.estado civil", true));
    $xFRM->addHElem($xSel->getListaDeRegimenMatrimonio()->get(true));
    $xFRM->addHElem($xSel->getListaDeRegimenesFiscales("", PERSONAS_ES_FISICA)->get("TR.Regimen Fiscal", true));
    $sFJ = $xSel->getListaDeTipoDeIdentificacion();
    $xFRM->addHElem($sFJ->get(true));
    $xFRM->OText("idnumerodocumento", "", "TR.Numero de Documento");
    $xTCURP = new cHText();
}
$cTbl = new cTabla($xLi->getListadoDeTareas(getUsuarioActual()));
$cTbl->setKeyField("idusuarios_web_notas");
$cTbl->setKeyTable("usuarios_web_notas");
$cTbl->OButton("TR.Checado", "setUpdateEstatus(_REPLACE_ID_)", $cTbl->ODicIcons()->OK);
$alerts .= $cTbl->Show("TR.Tareas");
$xFRM->OButton("TR.Salir", "var xG = new Gen(); xG.salir()", "salir");
$xFRM->addSeccion("idmastareas", "TR.Tareas");
$xFRM->addHElem("<div id=\"tcalendar-task\">{$alerts}</div>");
$xFRM->endSeccion();
$sysinfo = "";
if (MODO_DEBUG == true and SYSTEM_ON_HOSTING == false) {
    $xUL = new cHUl();
    $xUL2 = new cHUl();
    $sysinfo = $xUL->li("Base de Datos:" . MY_DB_IN)->li("Servidor: " . WORK_HOST)->li("Sucursal: " . getSucursal())->li("Version S.A.F.E.: " . SAFE_VERSION)->li("Revision S.A.F.E: " . SAFE_REVISION)->li("Path Temporal: " . PATH_TMP)->li("Path Backups: " . PATH_BACKUPS)->li("Fecha del Sistema: " . date("Y-m-d H:i:s"))->li("Usuario Activo: " . $xUsr->getNombreCompleto())->li("ID de Usuario: " . $xUsr->getID())->li("Nivel de Usuario: " . $xUsr->getNivel())->li("SAFE DB version : " . SAFE_DB_VERSION)->end();
    $sysinfo2 = $xUL2->li("Caja Local : " . $xLoc->getCajaLocal())->li("Localidad : " . $xLoc->DomicilioLocalidad())->li("Clave Localidad : " . $xLoc->DomicilioLocalidadClave())->li("Municipio : " . $xLoc->DomicilioMunicipio())->li("Estado : " . $xLoc->DomicilioEstado())->li("Clave Estado : " . $xLoc->DomicilioEstadoClaveABC())->li("C.P. : " . $xLoc->DomicilioCodigoPostal())->end();
    $xFRM->addSeccion("idmaslogs", "TR.Sistema");
    $xFRM->addDivSolo($sysinfo, $sysinfo2, "tx24", "tx24");
    $xFRM->endSeccion();
}
if (getUsuarioActual(SYS_USER_NIVEL) == USUARIO_TIPO_CAJERO) {
    $xNot = new cHNotif();
    $xCaja = new cCaja();
    if ($xCaja->getEstatus() == TESORERIA_CAJA_CERRADA) {
        $xNot->get("", "idestadocaja", $xNot->ERROR);
    } else {
    }
}
$xFRM->addAviso("", "idavisos");
$xFRM->OHidden("id-KeyEditable", "", "");
//$xFRM->addHTML($menu);
 $tipoparentesco = parametro("idtipodeparentesco", DEFAULT_TIPO_CONSANGUINIDAD);
 $observaciones = parametro("idobservaciones");
 $xSoc = new cSocio($numeropropio);
 if ($xSoc->existe($numeropropio) == true and $numeropropio != DEFAULT_SOCIO) {
     $msg .= "WARN\tSE ENCONTRARON COINCIDENCIAS CON EL MISMO CODIGO, POR LO QUE SE CARGA LA CLAVE DE PERSONA\r\n";
     //$persona			= $xCL->getUltimoSocioRegistrado(true);
     //$xSoc->set($persona);
 } else {
     $nombre = parametro("nombre");
     $materno = parametro("materno");
     $paterno = parametro("paterno");
     $curp = parametro("curp");
     $rfc = parametro("rfc", DEFAULT_PERSONAS_RFC_GENERICO);
     $fnacimiento = parametro("idfecha-0", false);
     $fnacimiento = $fnacimiento == false ? fechasys() : $xF->getFechaISO($fnacimiento);
     $lnacimiento = $xLoc->DomicilioEstadoClaveABC();
     $tingreso = TIPO_INGRESO_RELACION;
     $ecivil = DEFAULT_ESTADO_CIVIL;
     $genero = DEFAULT_GENERO;
     $regimenmat = DEFAULT_REGIMEN_CONYUGAL;
     $figura = FALLBACK_PERSONAS_FIGURA_JURIDICA;
     $gposol = DEFAULT_GRUPO;
     $identicado_con = FALLBACK_PERSONAS_TIPO_IDENTIFICACION;
     $documento_de_identificacion = "NOIDENTIFICADO";
     $correo = "";
     $movil = parametro("telefono");
     //verificar si existe el socio , $correo, $dependientes, $fentrevista, AML_PERSONA_BAJO_RIESGO, $fiel, $pais
     $xSoc->add($nombre, $paterno, $materno, $rfc, $curp, $cajalocal, $fnacimiento, $lnacimiento, $tingreso, $ecivil, $genero, FALLBACK_CLAVE_EMPRESA, $regimenmat, $figura, $gposol, $observaciones, $identicado_con, $documento_de_identificacion, false, false, $movil);
 }
 $xSoc->init();
 $numeropropio = $xSoc->getCodigo();