$xTxt = new cHText();
$xTxt2 = new cHText();
$xTxt3 = new cHText();
$xTxt4 = new cHText();
$xTxt5 = new cHText();
$xTxt6 = new cHText();
$xSel = new cHSelect();
$xHSel = new cHSelect();
$xTxtE = new cHText();
$xHP->init("initComponents()");
/* verifica si hay un dato */
$tipo_ae = parametro("idactividad", FALLBACK_ACTIVIDAD_ECONOMICA);
$sector_ae = parametro("idsectoreconomico", FALLBACK_SECTOR_ECONOMICO);
$nombre_ae = parametro("idrazonsocialtrabajo");
$domicilio_ae = parametro("iddomiciliodeactividad");
$localidad_ae = parametro("idnombrelocalidad", $xLoc->DomicilioLocalidad());
$idlocalidad = parametro("idlocalidad", $xLoc->DomicilioLocalidadClave(), MQL_INT);
$municipio_ae = parametro("idnombremunicipio", $xLoc->DomicilioMunicipio());
$idmunicipio = parametro("idmunicipio", $xLoc->DomicilioMunicipioClave(), MQL_INT);
$estado = parametro("identidadfederativa", $xLoc->DomicilioEstadoClaveNum(), MQL_INT);
//DEFAULT_NOMBRE_ESTADO
$telefono_ae = parametro("idtelefono");
$extension_ae = parametro("idextension");
$numero_empleado = parametro("idnumeroempleado");
$antiguedad_ae = parametro("idantiguedad", DEFAULT_TIEMPO);
$departamento_ae = parametro("iddepartamento");
$montoper_ae = parametro("idsalario", 0, MQL_FLOAT);
$empresa = parametro("iddependencia", FALLBACK_CLAVE_EMPRESA);
$puesto = parametro("idpuesto");
$nss = parametro("idnss");
$cp = parametro("idcodigopostal", $xLoc->DomicilioCodigoPostal(), MQL_INT);
 /**
  * Agrega una vivienda a la persona
  * @param string $calle
  * @param string $numero_exterior
  * @param string $codigo_postal
  * @param string $numero_interior
  * @param string $referencia
  * @param string $telefono_fijo
  * @param string $telefono_movil
  * @param string $es_principal
  * @param number $regimen
  * @param number $tipo
  * @param number $tiempo_de_residir
  * @param string $colonia				Nombre del colonia
  * @param string $TipoDeAcceso			Calle, Andador, etc
  * @param string $gps					Claves GPS 0,0,0
  * @param string $clave_de_localidad
  * @param string $clave_de_pais			Ejemplo MX
  * @param string $nombre_pais			Ejemplo Mexico
  * @return string	Mensaje de resultado
  */
 function addVivienda($calle, $numero_exterior, $codigo_postal = false, $numero_interior = "", $referencia = "", $telefono_fijo = "0", $telefono_movil = "0", $es_principal = false, $regimen = FALLBACK_PERSONAS_REGIMEN_VIV, $tipo = FALLBACK_PERSONAS_TIPO_VIV, $tiempo_de_residir = DEFAULT_TIEMPO, $colonia = "", $TipoDeAcceso = "", $gps = "", $clave_de_localidad = false, $clave_de_pais = EACP_CLAVE_DE_PAIS, $nombre_pais = "", $nombre_estado = "", $nombre_municipo = "", $nombre_localidad = "")
 {
     //$xViv				= new cPersonasVivienda($this->getCodigo(), $tipo);
     $fechaalta = fechasys();
     $eacp = EACP_CLAVE;
     $socio = $this->mCodigo;
     $xT = new cTipos();
     $xLc = new cLocal();
     $xQL = new MQL();
     //depurar calle y numero 18Jul2013
     $calle = str_replace("CALLE", "", strtoupper($calle));
     //Inicia al Socio 20120620
     $this->init();
     $DSocio = $this->getDatosInArray();
     $TipoDeIngreso = $DSocio["tipoingreso"];
     $codigo_postal = setNoMenorQueCero($codigo_postal);
     $sucursal = getSucursal();
     $sucess = true;
     $usuario = getUsuarioActual();
     //Fixed
     $msg = "";
     $TipoDeAcceso = $TipoDeAcceso == "" ? "calle" : $TipoDeAcceso;
     $clave_de_municipio = $xLc->DomicilioMunicipioClave();
     $clave_de_estado = $xLc->DomicilioEstadoClaveNum();
     $clave_de_localidad = setNoMenorQueCero($clave_de_localidad);
     $clave_de_pais = trim($clave_de_pais) == "" ? EACP_CLAVE_DE_PAIS : $clave_de_pais;
     /* 1 part 2 fiscal 3 laboral*/
     //verifica los codigos postales
     $xCol = new cDomiciliosColonias();
     if ($clave_de_pais == EACP_CLAVE_DE_PAIS) {
         if ($xCol->existe($codigo_postal) == true) {
             $estado = $xCol->getNombreEstado();
             $nombre_localidad = $xCol->getNombreLocalidad();
             $municipio = $xCol->getNombreMunicipio();
             $colonia = trim($colonia) == "" ? $xCol->getNombre() : $xT->cChar($colonia);
             $clave_de_estado = $xCol->getClaveDeEstado();
             $clave_de_municipio = $xCol->getClaveDeMunicipio();
             $msg .= "WARN\t{$socio}\tEl CP queda en {$codigo_postal}, Localidad en {$nombre_localidad}, municipio en {$municipio}, Colonia {$colonia}\r\n";
         } else {
             $msg .= "WARN\tEL C.P.({$codigo_postal}) No existe, se carga el de la Caja Local\r\n";
             if (SISTEMA_CAJASLOCALES_ACTIVA == true) {
                 $this->init();
                 $xCL = new cCajaLocal($this->mCajaLocal);
                 $DCols = $xCL->getDatosInArray();
                 $codigo_postal = isset($DCols["codigo_postal"]) ? setNoMenorQueCero($DCols["codigo_postal"]) : $xLc->DomicilioCodigoPostal();
                 $msg .= "WARN\tSe obtiene el C.P. por caja Local ({$codigo_postal}) \r\n";
                 if ($xCol->existe($codigo_postal) == true) {
                     $estado = $xCol->getNombreEstado();
                     $nombre_localidad = $xCol->getNombreLocalidad();
                     $municipio = $xCol->getNombreMunicipio();
                     $colonia = trim($colonia) == "" ? $xCol->getNombre() : $xT->cChar($colonia);
                     $clave_de_estado = $xCol->getClaveDeEstado();
                     $clave_de_municipio = $xCol->getClaveDeMunicipio();
                 }
             }
             if ($codigo_postal <= 0) {
                 $msg .= "ERROR\tEL C.P.({$codigo_postal}) No existe, se carga el de la Sucursal\r\n";
                 $codigo_postal = $xLc->DomicilioCodigoPostal();
             }
         }
     } else {
         $clave_de_estado = FALLBACK_PERSONAS_DOMICILIO_ID_ESTADO;
         $clave_de_municipio = FALLBACK_PERSONAS_DOMICILIO_ID_MUNICIPIO;
         if ($codigo_postal <= 0) {
             $codigo_postal = 1;
         }
     }
     $xLoc = new cDomicilioLocalidad($clave_de_localidad);
     if ($clave_de_localidad <= 0) {
         $clave_de_localidad = $xLoc->setBuscar($nombre_localidad, $clave_de_estado, $clave_de_municipio);
         if (setNoMenorQueCero($clave_de_localidad) <= 0) {
             $clave_de_localidad = $xLc->DomicilioLocalidadClave();
         }
         $xLoc->set($clave_de_localidad);
     } else {
         $xLoc->init();
     }
     $nombre_localidad = $nombre_localidad == "" ? $xLoc->getNombre() : $nombre_localidad;
     //Tipos de Acceso calle, avenida, callejon privada, andador
     if ($nombre_pais == "") {
         $xPais = new cDomiciliosPaises($clave_de_pais);
         //$xPais->getPaisPorMoneda($moneda)
         $xTP = new cPersonas_domicilios_paises();
         $xTP->setData($xTP->query()->initByID($clave_de_pais));
         $nombre_pais = $xTP->nombre_oficial()->v();
         $municipio = $nombre_municipo == "" ? $nombre_localidad : strtoupper($nombre_municipo);
         $estado = $nombre_estado == "" ? $nombre_localidad : strtoupper($nombre_estado);
     }
     $estado = $nombre_estado == "" ? $xLc->DomicilioEstado() : strtoupper($nombre_estado);
     $nombre_localidad = $nombre_localidad == "" ? $xLc->DomicilioLocalidad() : strtoupper($nombre_localidad);
     $municipio = $nombre_municipo == "" ? $xLc->DomicilioMunicipio() : strtoupper($nombre_municipo);
     $calle = setCadenaVal($calle);
     $colonia = setCadenaVal($colonia);
     $estado = setCadenaVal($estado);
     $nombre_localidad = setCadenaVal($nombre_localidad);
     $municipio = setCadenaVal($municipio);
     $sql = "INSERT INTO socios_vivienda(socio_numero, tipo_regimen, calle, numero_exterior, numero_interior, colonia,\n\t\t\t\tlocalidad, estado, municipio, telefono_residencial, telefono_movil,\n\t\t\t\ttiempo_residencia, referencia, idusuario, principal, tipo_domicilio, codigo_postal,\n\t\t\t\tfecha_alta, codigo , sucursal,\n\t\t\t\teacp, coordenadas_gps, tipo_de_acceso, fecha_de_verificacion, oficial_de_verificacion, estado_actual, clave_de_localidad,\n\t\t\t\tclave_de_pais, nombre_de_pais)\n\t\t\t\tVALUES\n\t\t\t\t({$socio}, {$regimen}, '{$calle}', '{$numero_exterior}', '{$numero_interior}', '{$colonia}',\n\t\t\t\t'{$nombre_localidad}', '{$estado}', '{$municipio}', '{$telefono_fijo}','{$telefono_movil}',\n\t\t\t\t{$tiempo_de_residir}, '{$referencia}', {$usuario}, '{$es_principal}', {$tipo}, '{$codigo_postal}',\n\t\t\t\t'{$fechaalta}', {$socio}, '{$sucursal}',\n\t\t\t\t'{$eacp}', '{$gps}', '{$TipoDeAcceso}', '{$fechaalta}', {$usuario}, 99, {$clave_de_localidad},\n\t\t\t\t'{$clave_de_pais}', '{$nombre_pais}')";
     $sucess = $xQL->setRawQuery($sql);
     if ($sucess != false) {
         $id = $xQL->getLastInsertID();
         $this->mIDVivienda = $id;
         $msg .= "OK\tSe agrega la Vivienda con ID {$id} CP {$codigo_postal} y Localidad {$clave_de_localidad} del pais {$nombre_pais}\r\n";
         //Actualiza el Dato de Domicilio del Grupo Solidario
         if ($TipoDeIngreso == TIPO_INGRESO_GRUPO and intval($es_principal) == SYS_UNO) {
             $xGrp = new cGrupo($this->mCodigo);
             $DDom = $this->getDatosDomicilio();
             $arrUp = array("direccion_gruposolidario" => $this->getDomicilio(), "colonia_gruposolidario" => $DDom["colonia"]);
             $xGrp->setUpdate($arrUp);
             $msg .= $xGrp->getMessages();
         }
         $this->setCuandoSeActualiza();
     }
     $this->mMessages .= $msg;
     return $sucess;
 }
}
$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);
 function __construct($clave = false)
 {
     $xF = new cFecha();
     $xUsr = new cOficial(getUsuarioActual());
     $this->init($clave);
     $xLoc = new cLocal();
     $this->mArr["variable_fecha_larga_actual"] = $xF->getFechaLarga();
     $this->mArr["variable_horario_de_trabajo_de_la_entidad"] = EACP_HORARIO_DE_TRABAJO;
     $this->mArr["variable_nombre_de_presidente_de_vigilancia_de_la_entidad"] = EACP_PDTE_VIGILANCIA;
     $this->mArr["variable_nombre_de_la_sociedad"] = EACP_NAME;
     $this->mArr["variable_nombre_de_la_entidad"] = EACP_NAME;
     $this->mArr["variable_ciudad_de_la_entidad"] = DEFAULT_NOMBRE_LOCALIDAD;
     $this->mArr["variable_domicilio_de_la_entidad"] = EACP_DOMICILIO_CORTO;
     $this->mArr["variable_acta_notarial_de_poder_al_representante"] = EACP_DOCTO_REP_LEGAL;
     $this->mArr["variable_domicilio_de_la_entidad"] = EACP_DOMICILIO_CORTO;
     $this->mArr["variable_entidad_telefono_general"] = EACP_TELEFONO_PRINCIPAL;
     $this->mArr["variable_entidad_telefono_principal"] = EACP_TELEFONO_PRINCIPAL;
     $this->mArr["variable_documento_de_constitucion_de_la_sociedad"] = EACP_DOCTO_CONSTITUCION;
     $this->mArr["variable_rfc_de_la_entidad"] = EACP_RFC;
     $this->mArr["variable_nombre_del_representante_legal_de_la_sociedad"] = EACP_REP_LEGAL;
     $this->mArr["variable_nombre_de_presidente_de_vigilancia_de_la_entidad"] = EACP_PDTE_VIGILANCIA;
     $this->mArr["variable_encabezado_de_reporte"] = getRawHeader();
     $this->mArr["variable_pie_de_reporte"] = getRawFooter();
     $this->mArr["variable_pie_de_reporte"] = getRawFooter();
     $this->mArr["variable_hora_actual"] = date("H:i");
     $this->mArr["variable_marca_de_tiempo"] = date("Ymd:His");
     $this->mArr["variable_url_publica"] = SAFE_HOST_URL;
     $this->mArr["variable_lugar_actual"] = $xLoc->DomicilioLocalidad() . "," . $xLoc->DomicilioEstado();
     $this->mBasicVars = $this->mArr;
 }
//$xFRM->addHElem( "<hr />");
$xHSel->setEnclose(false);
$xHSel->addOptions(array("calle" => "Calle", "avenida" => "Avenida", "andador" => "Andador", "camino_rural" => "Camino Rural"));
$xTxtE->setDivClass("");
$xFRM->addDivSolo($xHSel->get("idtipoacceso", "", "calle"), $xTxtE->getNormal("idnombreacceso", ""), "tx14", "tx34");
$xFRM->addHElem($xTxt->getNormal("idnumeroexterior", "", "TR.Numero_Exterior"));
$xTX2->addEvent("jsaGetDatosHeredados()", "onblur");
$xFRM->addHElem($xTX2->getNumero("idcodigopostal", DEFAULT_CODIGO_POSTAL, "TR.codigo_postal"));
$xTx3->addEvent("getListaColoniasPorNombre()", "onkeyup");
$xFRM->addHElem($xTx3->getNormal("idnombrecolonia", "", "TR.Colonia"));
$sentidades = $xSel->getListaDeEntidadesFed();
$sentidades->addEvent("onblur", "jsaGetMunicipios");
$xFRM->addHElem($sentidades->get(true));
if (PERSONAS_VIVIENDA_MANUAL == true) {
    $xFRM->addHElem($xTxt->getDeNombreDeMunicipio("idnombremunicipio", $xLoc->DomicilioMunicipio(), "TR.Municipio"));
    $xFRM->addHElem($xTxt->getDeNombreDeLocalidad("idnombrelocalidad", $xLoc->DomicilioLocalidad(), "TR.localidad"));
} else {
    $xFRM->addHElem("<div class='tx4' id='txtmunicipio'></div>");
    $xFRM->addHElem("<div class='tx4' id='txtlocalidad'></div>");
}
$xFRM->OHidden("idpais", EACP_CLAVE_DE_PAIS, "TR.Pais");
//$xFRM->addHElem( "<hr />");
$xFRM->addObservaciones();
$xFRM->addFootElement("<input type='hidden' name='credito' id='credito' value='{$credito}' />");
$xFRM->addFootElement("<input type='hidden' name='personarelacionada' id='personarelacionada' value='' />");
$xFRM->addFootElement("<input type='hidden' id='idcolonia' name='idcolonia' value='' />");
if ($action == SYS_DOS) {
    $xSuc = new cSucursal(getSucursal());
    $xSuc->init();
    $cajalocal = $xSuc->getCajaLocalResidente();
    $xCL = new cCajaLocal($cajalocal);