From: <Guardado por Microsoft Internet Explorer 7>
Subject: =?Windows-1252?Q?bcv=5Finternet_Acceso:_Alejandr=EDa_BE_7.0.5b8?=
Date: Tue, 13 Jul 2010 13:43:06 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0049_01CB2291.52CF49F0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512

This is a multi-part message in MIME format.

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?Acceso=T210000075751/0&Nombrebd=bcv_internet

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>bcv_internet Acceso: Alejandr=EDa BE 7.0.5b8</TITLE>
<META http-equiv=3Dcontent-type content=3D"text/html; =
charset=3DISO-8859-1">
<META http-equiv=3DContent-Style-Type content=3Dtext/css><LINK=20
href=3D"http://biblioteca.bcv.org.ve/alexandr/estilos/Sistema.css"=20
rel=3Dstylesheet><LINK=20
href=3D"http://biblioteca.bcv.org.ve/alexandr/estilos/bcv_internet/salida=
s.css"=20
rel=3Dstylesheet><LINK title=3D"RSS - bcv_internet Acceso: Alejandr=EDa =
BE 7.0.5b8"=20
href=3D"/cgi-win/be_alex.exe?Acceso=3DT210000075751/0&amp;Nombrebd=3Dbcv_=
internet&amp;tsalida=3Dxr"=20
type=3Dapplication/rss+xml rel=3Dalternate>
<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
function CambiarDisplayElemento(id,vdispl) {
 var elem;
 if ((navigator.appName =3D=3D 'Microsoft Internet Explorer') &&
		(vdispl =3D=3D 'table-row'))
  vdispl =3D 'inline';
 elem =3D document.getElementById(id);
 if (elem) {
  if (elem.style.display =3D=3D 'none') {
   if (vdispl) elem.style.display =3D vdispl;
   else elem.style.display =3D 'inline';
   return false;
  }
  else {
   elem.style.display =3D 'none';
   return true;
  }
 }
}
function MuestraOcultaElemento(id,vdispl) {
   CambiarDisplayElemento(id,vdispl);
}
function OcultaElemento(id) {
 var elem =3D document.getElementById(id);
 if (elem) {
   elem.style.display =3D 'none';
 }
}
function MuestraElemento(id) {
 var elem =3D document.getElementById(id);
 if (elem) {
   elem.style.display =3D 'inline';
 }
}

//-->
</SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/BeComunes.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/BeLayers.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--

function RegPagIni(iRegIni,iPagIni) {
document.FContinua.RegIni.value =3D iRegIni;
document.FContinua.PagIni.value =3D iPagIni;
document.FContinua.RxMostrar.value=3D'off';
document.FContinua.submit();
}

//-->
</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
function AsignarLogin() {
	Login =3D document.getElementById('Usuario').value;
	Nombrebd =3D document.getElementById('Nombrebd').value;

	if ((!Login) || (Login =3D=3D "")){
		alert('Indique su nombre de conexi=F3n');
	} else
	{=09
		window.location =3D =
'/cgi-win/be_alex.exe?Password=3D'+Login+'&nombrebd=3D'+Nombrebd;
	}
	return false;
}

//-->
</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
function ConfirmaOperacionASF(Mensaje){

	var agree=3Dconfirm(Mensaje);
	if (agree)
		return true;
	else
		return false;
}

//-->
</SCRIPT>
<LINK =
href=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/PopCalendar.css"=20
type=3Dtext/css rel=3Dstylesheet>
<SCRIPT language=3Djavascript=20
src=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/PopCalendar.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/DlgModal.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/DlgModalHelper.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
_editor_url =3D "/alexandr/scripts/HTMLArea";=0A=
_editor_lang =3D "es";=0A=
_barra_completa =3D false;=0A=

//-->
</SCRIPT>
<LINK =
href=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/HTMLArea/htmlarea.c=
ss"=20
type=3Dtext/css rel=3Dstylesheet>
<SCRIPT language=3Djavascript=20
src=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/HTMLArea/htmlarea.js=
"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/ajaxroutine.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--

//-->
</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
var AjaxTimeOut=3Dnew Object();=0A=
=0A=
function CreateAjaxObject() {=0A=
	var XMLHttp=3Dnull=0A=
	try {=0A=
		XMLHttp=3Dnew ActiveXObject("Msxml2.XMLHTTP")=0A=
	}=0A=
	catch(e) {=0A=
	 try {=0A=
		XMLHttp=3Dnew ActiveXObject("Microsoft.XMLHTTP")=0A=
	 }=0A=
	 catch (e){}=0A=
	}=0A=
=0A=
	if (XMLHttp=3D=3Dnull) {=0A=
		XMLHttp=3Dnew XMLHttpRequest()=0A=
	}=0A=
	return XMLHttp=0A=
}=0A=
=0A=
function ChequearTimeOut(sNombrebd,iCodigoSesion) {=0A=
	var urlPage =3D =
'/cgi-win/be_alex.exe?Forma=3DFCTRLSES&nombrebd=3D'+sNombrebd+'&Sesion=3D=
'+iCodigoSesion;=0A=
=0A=
	AjaxTimeOut =3D CreateAjaxObject();=0A=
	if (AjaxTimeOut!=3Dnull) {=0A=
		AjaxTimeOut.onreadystatechange =3D stateTimeOutChanged;=0A=
		AjaxTimeOut.open('GET',urlPage,true);=0A=
		AjaxTimeOut.send(null);=0A=
	}=0A=
	else {=0A=
		alert('El navegador no soporta Httprequest');=0A=
	}=0A=
}=0A=
=0A=
function stateTimeOutChanged(){=0A=
	if (AjaxTimeOut.readyState=3D=3D4 || =
AjaxTimeOut.readyState=3D=3D'complete')	{=0A=
		var xmlObj =3D AjaxTimeOut.responseXML;=0A=
		var bExpirada =3D xmlObj.getElementsByTagName('SesionExpirada');=0A=
=0A=
		if (bExpirada[0] && (bExpirada[0].firstChild.nodeValue =3D=3D 1)) {=0A=
			// La sesi=F3n expir=F3, se llama a la forma de fin de sesi=F3n=0A=
			document.FFINSES.submit();=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function ActivarTimeOut() {=0A=
  var iTimeOut=3DsetInterval("ChequearTimeOut('bcv_internet','');",24000)=0A=
}=0A=
=0A=

//-->
</SCRIPT>

<META content=3D"MSHTML 6.00.5730.13" name=3DGENERATOR></HEAD>
<BODY text=3D#000000 bgColor=3D#ffffff=20
background=3Dhttp://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/fondo.=
jpg=20
onload=3D"if (this.CargarForma) CargarForma();"=20
onunload=3D"if (this.DescargarForma) DescargarForma();"><A =
name=3DInicioSalida></A>
<FORM name=3DFFINSES =
action=3Dhttp://biblioteca.bcv.org.ve/cgi-win/be_alex.exe=20
method=3Dpost><INPUT id=3DForma type=3Dhidden value=3DFFINSES =
name=3DForma> <INPUT=20
id=3DNombrebd type=3Dhidden value=3Dbcv_internet name=3DNombrebd> =
</FORM>
<DIV id=3DEncabezado><!-- Encabezado --><IMG height=3D111=20
src=3D"http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/bcvname2.gif=
"=20
width=3D694> <BR><!-- Fin Encabezado --></DIV>
<TABLE class=3DTabla id=3DPrincipal width=3D"100%">
  <TBODY>
  <TR><!-- Columna resultados -->
    <TD class=3DColumnaResultados id=3DColumnaResultados><BASEFONT>
      <DIV id=3Ddhtmltooltip></DIV>
      <SCRIPT language=3Djavascript=20
      src=3D"http://biblioteca.bcv.org.ve/alexandr/scripts/tooltip.js"=20
      type=3Dtext/javascript></SCRIPT>

      <SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
function SeleccionaTipoRefAnalitica(TipoDoc,TipoRef,Acceso) {
	if (TipoDoc && TipoRef && Acceso) {
		var =
url=3D'/cgi-win/be_alex.exe?RefAnalitica=3D'+Acceso+'&RegIni=3D1&Recupera=
r=3D1/1&Continua=3D0&TipoDoc=3D'+TipoDoc+'/'+TipoRef+'&Nombrebd=3Dbcv_int=
ernet';
		window.location=3Durl;
	}
}

//-->
</SCRIPT>

      <DIV class=3DNroRegistros>S=F3lo un registro cumpli=F3 la =
condici=F3n especificada=20
      en la base de informaci=F3n <B>bcv_internet</B>.</DIV>
      <FORM name=3DFContinua=20
      action=3Dhttp://biblioteca.bcv.org.ve/cgi-win/be_alex.exe =
method=3Dpost><INPUT=20
      id=3DNombrebd type=3Dhidden value=3Dbcv_internet name=3DNombrebd> =
<INPUT=20
      id=3DRxPriReg type=3Dhidden value=3D1 name=3DRxPriReg> <INPUT =
id=3DRxRegRec=20
      type=3Dhidden value=3D1 name=3DRxRegRec> <INPUT id=3DRxYaMarcados =
type=3Dhidden=20
      value=3Doff name=3DRxYaMarcados> <INPUT id=3DRxOrden type=3Dhidden =
value=3DTA=20
      name=3DRxOrden>=20
      <TABLE class=3DTabla width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD colSpan=3D2></TD></TR><!-- Inicio de campos b=E1sicos de =
salida detallada -->
        <TR>
          <TD class=3DCeldaCamposBasicos colSpan=3D2>
            <TABLE class=3DTabla width=3D"100%" border=3D0>
              <TBODY>
              <TR>
                <TD class=3DColumnaReferencias vAlign=3Dtop =
width=3D"20%"><!-- Inicio de columna de referencias -->
                  <TABLE class=3DTabla>
                    <TBODY>
                    <TR>
                      <TD class=3DColumnaReferencias><A=20
                        =
href=3D"http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?SolicitudDoc=3DT=
210000075751/0&amp;Nombrebd=3Dbcv_internet&amp;Usr=3DU2100000000*"><IMG=20
                        title=3D"Solicitud de Monograf=EDa"=20
                        alt=3D"Solicitud de Monograf=EDa"=20
                        =
src=3D"http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/monografias.=
gif"=20
                        border=3D0></A> </TD></TR></TBODY></TABLE><!-- =
Fin de columna de referencias --></TD>
                <TD class=3DColumnaCamposBasicos vAlign=3Dtop =
width=3D"80%"><!-- Inicio de campos b=E1sicos -->
                  <TABLE class=3DTabla>
                    <TBODY>
                    <TR>
                      <TD class=3DEtiqueta vAlign=3Dtop><B>Autor:</B> =
</TD>
                      <TD class=3DValor><A title=3D"Referencias al mismo =
autor"=20
                        =
href=3D"http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?Autor=3DBelandri=
a,+Iraides&amp;Nombrebd=3Dbcv_internet">Belandria,=20
                        Iraides</A> </TD></TR>
                    <TR>
                      <TD class=3DEtiqueta vAlign=3Dtop><B>T=EDtulo:</B> =
</TD>
                      <TD class=3DValor>La mec=E1nica del petr=F3leo ; =
los crudos=20
                        pesados </TD></TR>
                    <TR>
                      <TD class=3DEtiqueta vAlign=3Dtop><B>Cota:</B> =
</TD>
                      <TD class=3DValor>665.5 F B426 </TD></TR>
                    <TR>
                      <TD class=3DEtiqueta =
vAlign=3Dtop><B>Editorial:</B> </TD>
                      <TD class=3DValor><A=20
                        title=3D"Referencias a la misma editorial"=20
                        =
href=3D"http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?Editorial=3DUniv=
ersidad+de+Los+Andes&amp;Nombrebd=3Dbcv_internet">Universidad=20
                        de Los Andes</A> , M=E9rida, VENEZUELA =
</TD></TR>
                    <TR>
                      <TD class=3DEtiqueta vAlign=3Dtop><B>Fecha de =
edici=F3n:</B>=20
                      </TD>
                      <TD class=3DValor>1982 </TD></TR>
                    <TR>
                      <TD class=3DEtiqueta =
vAlign=3Dtop><B>P=E1ginas/Colaci=F3n:</B>=20
                      </TD>
                      <TD class=3DValor>40 p. =
</TD></TR></TBODY></TABLE><!-- Fin de campos b=E1sicos =
--></TD></TR></TBODY></TABLE></TD></TR><!-- Fin Campos b=E1sicos de =
salida detallada -->
        <TR>
          <TD class=3DRenglonDescriptores colSpan=3D2><BR><B>Descriptor=20
            Tem=E1tico</B>: <A title=3D"Palabras: PETR=D3LEO"=20
            =
href=3D"http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?Palabra=3DPETR%D=
3LEO&amp;Nombrebd=3Dbcv_internet"><IMG=20
            title=3D"Palabras: PETR=D3LEO" alt=3D"Palabras: PETR=D3LEO"=20
            =
src=3D"http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/Descriptor.g=
if"=20
            border=3D0></A> <A title=3D"Registros con descriptor =
PETR%D3LEO"=20
            =
href=3D"http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?Descriptor=3DPET=
R%D3LEO&amp;Nombrebd=3Dbcv_internet">PETR=D3LEO</A></TD></TR></TBODY></TA=
BLE>
      <SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
function GotoRegPag(iRegIni,iPagIni) {=0A=
=0A=
	window.location =3D =
'http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?Acceso=3DT210000075751/=
0&Nombrebd=3Dbcv_internet&RegIni=3D'+iRegIni+'&PagIni=3D'+iPagIni+'';=0A=
}=0A=

//-->
</SCRIPT>
      <INPUT id=3DForma type=3Dhidden value=3DAcceso name=3DForma> =
<INPUT id=3DNombrebd=20
      type=3Dhidden value=3Dbcv_internet name=3DNombrebd> <INPUT =
id=3DPagIni type=3Dhidden=20
      value=3D1 name=3DPagIni> <INPUT type=3Dhidden =
value=3DT210000075751/0=20
      name=3Dterm_termino_1> <INPUT id=3Dterm_campo_1 type=3Dhidden =
value=3DAcceso=20
      name=3Dterm_campo_1> <INPUT id=3Dterm_tipo_1 type=3Dhidden =
value=3D=3D=20
      name=3Dterm_tipo_1> <INPUT id=3DDatEnt type=3Dhidden value=3D0 =
name=3DDatEnt> <INPUT=20
      id=3DTSalida type=3Dhidden name=3DTSalida>=20
      =
</FORM>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;=
<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR=
>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR></BASEFONT><=
/TD><!-- Fin de Columna resultados --></TR>
  <TR>
    <TD colSpan=3D3>
      <DIV class=3DPie id=3Dpie><!-- pie -->
      <HR>

      <SCRIPT language=3Djavascript>
function Regresar(){history.go(-1);}
</SCRIPT>
      <A href=3D"javascript:Regresar();"><IMG=20
      =
src=3D"http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/Regresar.gif=
"=20
      border=3D0>Regresar</A>=20
      <P><A href=3D"http://www.bcv.org.ve/biblioteca/biblioep.htm"><IMG=20
      alt=3D"Regresar a la p=E1gina principal"=20
      =
src=3D"http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/regresar.gif=
"=20
      border=3D0>Regresar a la p=E1gina principal</A>=20
      <HR>
<!-- fin Pie --></DIV>
      <HR>

      <CENTER><A title=3D*=20
      =
href=3D"http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?Nombrebd=3Dbcv_i=
nternet&amp;Opc=3DFD_EST;">*</A><A=20
      href=3D"javascript:MuestraOcultaElemento('Conexion');">*</A> <A=20
      style=3D"FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: verdana, =
Arial, Helvetica, Sans-serif"=20
      href=3D"http://alejandria.hacer.ula.ve/">Back-end Alejandr=EDa BE =
7.0.5b8</A>=20
      <A=20
      =
href=3D"http://biblioteca.bcv.org.ve/cgi-win/be_alex.exe?BotonRed&amp;Nom=
brebd=3Dbcv_internet"=20
      target=3DBotonRed>*</A> </CENTER></TD></TR></TBODY></TABLE>
<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
function ActivaCamposSoloLectura() {=0A=
}=0A=

//-->
</SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
if (this.ActivaCamposHTML) javascript:ActivaCamposHTML();
//-->
</SCRIPT>

<DIV class=3DCapaMensajeAjax id=3DLayerAjax=20
style=3D"DISPLAY: none; Z-INDEX: 10000; POSITION: absolute; TOP: =
0px"></DIV></BODY></HTML>

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/bcvname2.gif

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
/Mjf+xEAADs=

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/monografias.gif

R0lGODdhTQBNAPcAAASKvIS21MTS5ESizIzO5GSqzCSaxKTC3Nzq9ITC3GS63Eyu1ASaxNzi7PTy
9KzO5HSu1MTe7FSmzJS61DSmzJTC3BSaxOT2/LTa7BSWxGSy1HS61FyuzDSezLTK3ByizASSxIS+
3ESqzLzO5JTK3ByaxMTa5KTK3Ozu9NTe7HzC3GyuzCSizFS21PT6/FymzIy61OTy9ITK5FSuzLTW
5HS21Jy+3Hy61ASOvEyizJzO5GSuzCyezOTq9IzC3OTm7LTO5JS+1Dyu1JzC3BSexOz29Gyy1Fy2
1AySxEyqzJzK3ByexMza5KzK3NTm7IS61MzW5CSezKzG3Gy63AyaxNzm7PT29Hyy1Mze7FSqzDym
zLza7Fyy1DyizIy+1LzW5Pz6/FyqzFSy1Hy+3KTO5Oz6/ASKxMTW5ESmzGSq1CSazKTG3Nzu9ITG
3GS+3Eyy1KzS5HSy1JS63JTG3BSazByWxGS21HS+3Fyu1DSizLTK5ASWxESq1LzS5JTK5ByazMTa
7CyizHy21Ozy9NTi7HzG3EymzOTu9IzG3LTS5JzG3Gy21AyWxMzi7DyqzLze7Pz+/KTS5KTK5Gyu
1Iy63FSu1Hy63ASOxGSu1JS+3BSezOz2/Eyq1JzK5ByezMza7KzK5NTm9IS63AyazNzm9PT2/FSq
1Iy+3Fyq1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAATQBNAAAI/wAhCRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaJFhwiA0DBBqEeRUhdDUiQ1Z9IOCBCyZIHgZciJRCYaIUBhBYzI
mwUb+dixIo4gPFoCOcLDiEqWOCsgXBH0pMJLE1gQHCpiE2dEMBFCFChgJE6YPIZOeejzxkKSOJgm
GekaJw6Etj4DwKiw5sGXCE56DHJh9WCpLYLCcPUaCEQSD00WBcpjZFIYU1nCSECVZkfanm2vXImz
WTNTL4oewOnRdxANr5Z3ZOGx55JhTlF4HA2TxZBtTmiSRKYdBhUmQXDbAu8sCMKQTTgPkZn0goPl
ApgM8TCwh8GeOkkaWzaJqUCYMIayRP83xElCFlPQdxhZwRYuDJAiEcyRjAnTDlR4wnCoj4kDKgmT
cLdDZfbVt0KAOwxYmwThmWIIGlythdQTifB1ESEJZDEZJt+h8kIW/kXGQRr7+TdigTvgQWBqk4xn
nm3NYbIeWk+A8kVVE2G1gQSTcUDbf1mg0ltvJj72HYdh5IcHdPulZx93BaAC4iQHGrFDjUBggSNE
f9VgiARDTmaelEZm8QKZQqJioilESolKAXjcB6eTK6RlmRFhBADKA32kIJEVcGiQgyG9aXheZJCR
ySZkZRaa5pAmClkgnCtW5tgpoADxxRlYQIQCGagQKqQpDJZXm6kaQqbSf7yRyltkkQn/meSQ+fWX
RpSWhYHlF1/ARBpDYMyhBQ+GyGooj7Yhy6B5Eqh63gtsuhnkmLF+l5+QS+IRZxpZYKrpGUD0gQci
DUXQhSdElGABFUTkMQAaX5pZm4bkLStBec1Ktuq+0Cpq7b/QdZspr4n0IQYjiRxiYUJtYBJAHHhq
kQcPJTBAhRqeBDKAbWx+eG94IBtCaqrfsSmvtG7OKoFY334hABd7jNKBESgsNAUXgnQWQM4QY5JF
IEtEQQcDJfAQiBZffsejhswaCpnJUn4oaxg+Z1HBwGdsCvMeJfgAn0Jj4BEHB2igcZQgOQegdgBX
TIKHIedSUUIJo3jSRdmM0tYss6r6/7uoBFdrCsimGuyxRyCZHNKQJSXsAcLjIEQRhiA7o73U2moL
MgkqWgxrAdFRLMFDF+bt1uG+kYU3BNZ9AKIBIwxU4gEoijN0hxZ1IFEHDxSoR3kAomSOds41oI15
HI4ZwkIUUXz+Bw95IJ1FGkr/l0TgZwwOxSIZaGEJKJKAMkhDMuARQFeCwJDJ+qcEcYoXlMDwBAwB
PME28ZsNTzlwk9SGRhRU+EMJiGC3LKBBC0PQQyI29QVA1IARRliDFNbQBCCMjyF+SEImficK+8Vv
fRXwAvtgEL/5ZY5tS+GMTy6HNqRg4oA8YMAoTtGERJwha2eowR5uoIc1nAAUFbxgQv8QkIBABKIn
v4OB/OInChLCT4QiDAIlTkFC+QXPcjW4Qg0yM7zMxaFGMDlDH0xwgz0sQg8/BCIQttCDUGyJIKFA
w+MugYQldMEQ+6lB/eYHgybGj4qiOMUEqEgJL1CxjyZcm+U8c7k19KGBY3zCHjQAhCYAUQpAAEQK
FrGIhJziCTVAQwccB4JL7CEDUQgEGsIwibjIr4pPoEQsn9DEWiKSiYikpf2YkkkchgAEXACiMBPB
BBrw4RIbaIQQB1IKDgyBEhOAAfL+x4hSusZwS+iAFpKAibhgTm32q9/aaKnEPwqSipnI3hhPAQLZ
rQEU8PzCJxQRBRyAYA9aiIBBLsD/hydkAn7hfBgq0GABRlzioI/bAyMsEIgugAh9KsyZ/na2RxjI
QYR0MUEfmOADw4BiDe98wBlMYAcQ2PMDlvgaQVxgBAt0gRJBIKEJ+/iwLAygBNY0g2sex4gSRIEC
eNyBWpACl6VQjpzxO8EN2YkGKSjCJSJNhBYugQM6aKAJfkKIIAwAAgvgYX3uc58SYwkD4IQhEDg9
KELteU8qQE8LkUkQW44KP0oo4gwV2EMe1jCECqzuDKdghD3x4EggNCIhCTBCDQxghgwYQYSZ8CtY
D6nEAGggDF1gBBLUytmEMoIODTWbjK4glyfooQIg2OsQItsEPczgcWioQCUfAIQq/yRkCyvIRADQ
YAAeBKB97fPrEJ5agUwcEnjnQ0MeqknVnTaXrT2NQh5AFIcH5mEINvBCBZrgA652IQR6aMIPC/Yr
g4BBAV3IhPrEKkgQBkG4wx3CamPKx7JOQgQ8yIA1IXdQHCA0oakdwiczsQY8RA5LabTkA2p2kEgk
IRAZKAEajAADGwQhsu+1QQU03Ff5PpW4mZClCX+ShCgw156XYEQN5lADPHQBcacIQBC8EAUQ1EAP
QBDmR9cQLjhg4I2QSAAETpFZ15SgCxp4woWH8F749jUIHv6wDdQrS/o9DBPD2kMUhpDjJkxQt3Ih
igEqMIITNOEBO+YyKPBQgjYA2f8PXagBJQSRBSowFwSyiUMmoKzh98rXrzaQ7xDWoAgQy89+9KMh
EPi62l0KoguX4MTs3pljQjehCTcoARVIgZBIgIABhoiDGkCgltW0pqtaMIKSV9thv1YAypnwsKxf
/YRTAOEBIK2ALDfDAf0uwgMnkMIDLKmINeghBIE4KCOOQIbaEQQOGfjDg3FgivrFLwCT0EIJDoqE
LnAiAC35c1/9CmUoC/cA8q3LRysgvysYQQsgWEImFk1beGJyDSIo5T0dxwM4EMQmESibAE1BP/v5
MRNPMEIXLEBVEHjCEHh4QqDFvWFXd3jQQDjBEMo6tm0bQhGWhOeZK6kBKuz0noH/sASD/z0HAwjC
ECughLURqTY/BgAVNQaAa1CZhRpI/M9+jnVf4clk4MgRBEaAJzzNDAoP1GAJagUBFZJwij5oySB+
yIAFMhBnJcvS2vYLZxNhYASCNvdxJdBCxIX+6g5T8JlXgPQfMAVSSbxTCqfIQynt6QkN8DhrnTJI
JSSQCR74lwd4WO/X/fiExjdRDoLYQQcM2l8QMCIKWdBAhYULihOsAQZRuIQWpPDRYkswBElojT3z
IIgmjGCBm7KtQRZgAC2IogZ/AAAI/pCFG8hBiiakhIg7GD9KxCELXO1vw0uQh9/AQA9fOIV+a7Do
p67hAKfIgkFxwIgFzPv14erD/xm2gICD4KEOIDDEAWCQb50zItUyDR5Zq9xBmSo8A809KADs+QcO
aOASPDAHevBU8pUJGrBteBZBfZAIQFAwicCANrRyBGEHMyMKF2YDgsAC/mVPPMABAfB1s1RIxTc/
8XMDeMADJnUJUfBuCIgJTcBor2YE28YIaBACoNAH4dcrXQYEZwAKpkAuBdFdMCBWe2YDRJF/EhYH
yDVzIuh4MCBIXqIBOAYKUhAC2/VUexYHeXAJVqUII9AHYEgwOXYCHnBanMADXFB+BfEIl/Ab6vU+
sQYDW+gaVKVXO0BaNUeC/1R88MNlTWB6E7RhQRAHR8cBa/B6vLIpOHhplTQG8P8GABuAEKWQB1pn
BB8kB+0zBC3lX2fnCWfxO7oEVv8EA6vzToRWAcUlCJwgWDzgAzhmQ4rIgOECChvAAwilUEfgbATh
BroHAlogF4b0T6uVBEjgXyZlBjhgAVqwA0pocOojWTwGCgSoWxzwBzjgWK1lFzj0gGAoCRpgAA0H
Oa0xAwsDCTahApdgZziwgvEjB1MEZTeQbGylVnvAA2HgSqewZ9v1UUz2BDvAAlTFCYpwawXDK490
Q4pQCYL1X13VBTOwBaUAZGSABHkQBwiYBDDgBSJEQutTCfhnTyDpGhZgCKo2AahoA00gCUMgB1oI
AmbQAT5QhhXEjYroA0nACDr/pWxRkAQhoFRXdxCNcAks8IFocFBREAd8WEg2IIf6Zk0I1T1GMAHD
pZITkARUYAYlUAOWNHLceAaJEI8uaQYg0D2LUAE29AkmAAifoFLM1AjWiAbpYwT4xwhJIBeMF2sy
uFYpiFCBYAQo+QSBgANIgAk/pGBAEH6gcIA6BQIdsACnIAlfAAWAMDiAYAJnQAjlOBCDkAIb4BpZ
cAVkZ1IgEAhxUHBLdGH5No97J5Y4oAYcYFBdcDWkt5VAMAI+kAWl9AdaIAgDeUM3xCs3VJmAcFgH
4QCE0AeGYEqYAJpZoFaMkAWg2EexdgMo+Dj+FQVliQf4pwY10nneWUmisIUZ/8ABmCJ+OMRAgJA9
m5KeP4AQLoAAgDAEJWAGBuATlIAGGziaPpFEFTYEvQYCXWAJUtAEB/BRT8BjUhBsoNBDiwCOJWAE
kvCFvSJ+iZieWWMCUGACAvAAXOAHQAYGKIAFQHADxRgIVzA/nrBWe3A2TCEKIrQGIWAJFbR0IFVp
kmBJFcABrREFN3ACQOABD0CTm5I16wkFQOADmAB1SMAHyGEQg1AFW6AH/wcCWfCBT5ABxugagbCc
lMORg8YnXzBs8LQGN7oGT3B0A2CDVAhEBflIYXgGAnACIeAIc4kHOqCLBnEIhPAFeiACZgBBJCQI
SCCaVGUWzfiEQbAGXwCGY/8IUkNQA7a4B4ZAYE4VUof5gAWDg4pgB5DWmi1AA8uUEGDQA1hgAkCQ
B2ZABExhgK6BYqtnBB+oPoqwqImwlZmwA9aIBDNwCoQ2XCBlmLXZBCGABxbgXyxgCVsQqsBCqiZw
AhlgBl0gPzYgAq1Kh+nIAYKQj45UMEBwCklQpxWAbu/1Ye/kZY9KAc/qiwkQAVZQEVaAAFjABL90
CQT3BEOwhXPkX7rHejAACmKUCXKEAzxgBLD2hOvjq0NwAzNQY5eQAXxAAingAGAwsUD2EKVACvGq
AbqHlDBleGPJA5NQCUgAACVAWKcAb6MpCMUlS4VUhAmnBfh3CXXAAUpACCj/UAqDsAkReRFgEAMY
ewZ5AAB/UD8IZwgaMAQpaaahBwLbhgRoEAAhJk4yFQdJgII69wcaoARY0AM9cAiHMAg7KxJgcAhO
gAUPUAc4EAhKdAoJVEmMlglZkAEGkAUjtjZxMAMDYHJiiYZrwBGEEApVIBVg2xdW0AOEkAIJcFAa
dGEzqnF7plvhVDxjYwiesFkAgAR9WQEbhQWcSwiBewg3W7EWAQab0AONkAJ4IJgasGc5tm59tD9x
cFl5gFPICKBckAlNEIaViQWeKxUosAmiexGlgAIIQAhnEAh/KghD8AC4JmD0gxZowBqXoFOMkAd4
cAoHUEHh8gUm8AkpQAhO/4AAPRADe9EXBFEKhxAKhOCs64i7jgoDGmAIf1CMVFW92DpoZJopj1SZ
jQC+pNC1g2u+AwEGDtADTkAIIXBQhjCApzADo4YD9sQIPHAWIoS/M8krUIEFTkAKVcAGXxu2AiwQ
LjAIekoIlQAAe2AK27Z/qJQHYQCrBwtytFWQ3cu7hEAKvgu2wWsVOJu+KdAFAGAGmGsEIXAKFhZZ
8vVDDfhI3PsJWNC/nwu6wLvDVgEGONu1gIAJbdAnhPAJC0ib4TJS2cO537vBXosCYOsCVGy+YDDC
5DsIg9ADCIAAB4wFaLm7nAvFNywVoAvHpaDGIQwsLmAFcAzHMYAChyDHdA68wRscuHL8tX78xyEc
EAA7

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/Descriptor.gif

R0lGODlhBwAHANUAAP////r28PLt5/PFnPLCmeWZf7GpoOSVesShea2nn+OPc+SPWN+GaeGEYLeW
cOCBXNyEStx5WNl2VtptSJ6GadhqRtNmQtJgOpN9Zc1lQ89jK8BQFsROJ8BFHH1cOrZFH7U2DK47
FKEtBqUrA5ApB5cnAoIhAXwfAHIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUUACkALAAAAAAHAAcAAAYrQADh
MVkEAIOCInLRABoHhqUDQlQkmY+oRIFwQqTTySDYjEwoD2DtwCTWQQA7

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/Regresar.gif

R0lGODlhEAAQAKL/AP///+fn5y19zwdXqQQDAwAAAMDAwAAAACH5BAEAAAYALAAAAAAQABAAQAMu
aLrcSyJKQcYgzkDCO85cJn6iNlXW5UATpZZwXIYx66ak2aLv00aVnM/TmclkCQA7JBppU13VOmtq
q7ZadkW5vZCxcgo9OmMc8AWyPerY75sEADs=

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/regresar.gif

R0lGODlhEAAQAKL/AP///+fn5y19zwdXqQQDAwAAAMDAwAAAACH5BAEAAAYALAAAAAAQABAAQAMu
aLrcSyJKQcYgzkDCO85cJn6iNlXW5UATpZZwXIYx66ak2aLv00aVnM/TmclkCQA7JBppU13VOmtq
q7ZadkW5vZCxcgo9OmMc8AWyPerY75sEADs=

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://biblioteca.bcv.org.ve/alexandr/iconos/bcentral/fondo.jpg

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
hIXBX2PJRezil8idO9soqFi2Be4w8EisyUJCRMbfhUiX+KfAt6sQuCYcckXL+h8n5CwIWehoN09k
Ohx/sU8/ZDIvSiysH2CegNuP3i4fAhWoGkwl8iU0CetlGgt2J1pyTLshLmeiUUoRYUhNqCIaPSF4
Jukdo5gljfRJNCUSpJGG2WJJf4xrwjZFUZROihh9DzOtjXA3KODMEcjRasTfZD/hQa4+iE+hrTIB
Es2SlNfInynPRJqHQkchxD8Caw6FHHgJv2N7ZJ4PUSbFIQI7vwTY3RAbVEolCBLjBDdv/HtF+hLI
ux0Pkw6ETFfREOR8+C4NxogYYYGt8ogTeyY0SmzsJr0NI/2SNS9EucfZ3m140iwOSUQpI8JfAg2h
QQoolSZwJc/5Jol4f2JvAlyYGiyJsVmxgwFgmPRDyU0dh1aFDQ3BEaaoIohimizIehEcCbWRw0QO
SUQpIZLkkZDiCvA2hL4/y6XhlsVUY9D6IUE8izLGto/AxTHmimTcMjgzRaMslopuS0Uy0KGiOCeR
pMhCU2SiLLE34JqB6DaexJx2JR/ml7+zORVQ3BE2ZJv9xEYJUCrI+Sxj0K7J5I2ieSODsLgTyQoH
PslDRZNkMLgygm+B6QegkFD/ADsCHsUImPRbCgnbBDyZN9EEiIwNzRaHDohocOiGsE3BBLkpkXRL
E0OBLstk6C/8DdPCX68MejodMdYFBPwITsmMiUiWsiuy0KGOhTsbCUEvB6Ebgtkh/wCEQIaIZ2FR
M+xTvxeyC3lUQi36G1wQT5EP/wCLf//aAAwDAQACAAMAAAAQkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklz
7rtZO9EkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknwSPKuuuK+yVEkkkkkkkkkkkkkkkkkkkk
kkkkkkkkkkkkkayaezVxXVz3/f64kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkgRWOz511VVQ1T1XqSV
kkkkkkkkkkkkkkkkkkkkkkkkkkkkg1a/1xxVXz7OqPzzV+a1kkkkkkkkkkkkkkkkkkkkkkkkkkg1
a6R11313OOqueOqPcS61kkkkkkkkkkkkkkkkkkkkkkkkka2++NzlTAnhnDhqzzuatWe0kkkkkkkk
kkkkkkkkkkkkkkkiWK+/3zoxIFnHokPsKVV6+zbckkkkkkkkkkkkkkkkkkkkkl726++5nspSXfTx
339n4z1ReXWkkkkkkkkkkkkkkkkkkkkkKXzaOZvlw4+eD/XX76WDYar1qu1kkkkkkkkkkkkkkkkk
kkmXV1TR6cXJV603jYdu+f8ATCN31X6rJJJJJJJJJJJJJJJJJJEtddVta++v1oktlvnj8A00uMVL
tnuZJJJJJJJJJJJJJJJJJHv/AN4LjTzor6EZOnuGp04ZP2cNO2/ZySSSSSSSSSSSSSSSRK579/1I
JfJVRZLE7RaXTUO2PsZE5e3WSSSSSSSSSSSSSSSZa7qr5rqb6kcnPdRr7NDeCqzf1R1O5rqySSSS
SSSSSSSSSR5HNVltNtLbsHFd7qVx7YcaB1Jx9krWs8iSSSSSSSSSSSSSXtXdZhJ9ekTh63H2k0p/
IPdmS4ib8m/W2qSSSSSSSSSSSSSM575L6obRHH+tXykSIQabs0ZaVQZbDOnbZSSSSSSSSSSSSRJ6
7pVPXZOJX5N0MySXwCK+pF4pJXvaHYin2SSSSSSSSSSSWnP3eZ/rP7Y7P1A0aCSCCGYAkpTnZOEs
3bPKSSSSSSSSSSSZVN4Vvh3/AOeTJgNgikkAGslkEWKuDYzfwpLe0kkkkkkkkkk6Kqo5Rvc2BZAg
ggEgNtYALARkKhzwD3/KW+B1kkkkkkkkkkSuJxeeqpYLg4AAkFt/v/pNoBlkQqz5W8Vp2/Wkkkkk
kkkklTRRj761HZat2FgJtNrprrZpElIhBXGyFiwPIrskkkkkkkkmza71VyYWLkAok0tOTd7f/wCb
yxAJBCuP2W79m8vJJJJJJJJGmi1emmHYvfDADWfT8vnxvv39zZPJrWy9YDBabMJJJJJJJJFf0Vm0
MmNOS3PGwb08ksnkn+8//IB7ztLPM1k3kZJJJJJJIOzonM/dyKvDBQKeR9vQlAg0uvn7gDKwv/k8
wztnpJJJJJJIwrtmL9xfn5LYG5y91b7tu8RlleWRHQBE5nXz2bUjJJJJJJIl1WOuqYkNRxKHuf8A
HuuQAULlZZG8iCAvovVxvZZXSSSSSSSX+72rZrq8SAAMl7A/QXLbYz7LK4UEEg8+BReQEX5SSSSS
SQp/nc/7KcyQgd8l9fEa/wBUKGMrKPZhGDBSnWYVf2ewkkkkkkXH6AXXsiEggD/beaM2SZe4DCm+
XdpgjmJCmvwey20kkkkkkWo9FT3Hc4FO7NeRY6/ZQkwELw3+5rLEJ1VKvVdtb4kkkkkkXVO3fZhZ
VEA9v7hDjpiN3+jbeiObtrItGQFyef221kkkkkgee7K7MgAdjsteeRNbZVWXmbD56a/btElKe+/e
tbtTkkkkkhyL5Tbtnzkgn/fV8I/KqSDflD+WpTZAgUfu8R/AfSOkkkkkjT2eC79RPgAHbKRPL/4y
NeHhM7lvXOZsgOtLTcuTtSkkkkki6t8q4RfTkglT6banvT8ig45+b6zG/fMAhmOfroOSKkkkkkg1
Sxi62SOggl5eTpb/AGTJJIGgE3hjt3yDQZrMkn9r05JJJJJurX6t+K6B/BL3hxXyzNJJJ35Zr6Zt
jaBWlIOH/S8mpJJJJJdclIwtIhBQDaenwS2+ZJJJH6q2SbljTAK+yVe+tjUpJJJJJ8jWaPk36pJP
6dogP+tPpJI+7h+QAuWbZAvsMnPacqJJJJJIk8ly3eI4iJP2+kp//KQBJCf3pMLyv+fxIdiNr/1j
VpJJJJJsnSRntugmJBj9sdh+QKWm62q+Kr68yUABUsv2nbVrpJJJJIc+tOmlGAuZB6+sCF+ZYZH3
Uueuh3m23JJafeixcrcpJJJJIdufg0GuhYwYfS8cM0YeuJWAC/pGN+35IWrkMdmLUipJJJJIeXtu
jzfMmHhM38tRkBml1iwz4dPcjWgCEQseuhVuw5JJJJJMsa2f8ocYDBgyfg5oA/8AiTB/44bRXc8y
BueQt5l3ZWSSSSSS2va3NEtNESS00/JTc+5RKb9l6+rX+uyS3GT9/wC2aVkkkkkkyW9FjBqa8oEA
3783m1f8pqWzMd3Ztfkhdauzo2p38kkkkkkxyWFXb4MqIEs9u6vQ9+S8kJ0Du7vbYkC99tTTlDuU
kkkkkk67t7DyUppDkArP63ZkCpAIUasCxcdgE3rMPSdGrXUkkkkkkj621ms5l0FkAjP52ztgjNoH
2Gf/AKwRI38vXe2q+/rJJJJJJJlbaqs93lc6iBmf+/m6yYLnqksU3BRKXQzBapEfvZJJJJJJIVvz
m/xFNooZRI/2v9ljkCStvST5dIXsllp6/v8A1aSSSSSSSSvkOdQVLPbQXCHt1XdLbYqLo0wiwSec
6APXe9XPWSSSSSSSRHaE49p0HR3wX6nlvPf/AKr3NpoAlte1zF4czPuKUkkkkkkkkvxb0fA6PGL8
kgF/ff7b7d5YrVAAVmPWVX6raLyckkkkkkkknJZpVXszREXMggt75J+b1tJolFFIPKoPU6fVVSkk
kkkkkkklO6WzDcSNWncEVE30nd/NIsFEAss7RFy7wJ3e2kkkkkkkkkkVOJtrawQL0/BgnB8stD5B
BkkdseKEq3buSP6UkkkkkkkkkkGeOJ31xAFGrsFAgcguAlEkkNk4l2tWbaJ9XSckkkkkkkkkkn3r
yXeC6Yk1TVJikAEACOUl8BkuDIW/ZNzeykkkkkkkkkkkkXxvdYTTR7nd35kkFEkhsktBcwVozwKP
uuqVkkkkkkkkkkkkG/2tGqSXu9cN/wAQ6BBCRudm3ecZvimyi+2NJJJJJJJJJJJJJ3yKvXdknp2p
tU+gbRa5L/dtn1r/AJqNFVVKSSSSSSSSSSSSSRc7Wwe1UsJbFi5WT9/2FpsslPKJszZvZniSSSSS
SSSSSSSSSb99XnjKrlXiMezJLMfMIX13L4Ratra7IySSSSSSSSSSSSSSTaEzo99dJLa/pGfrO+3b
wJVDv76b4opOSSSSSSSSSSSSSSSQLbW0v3hNULAHyBsdD/W57pD4nzPXnJySSSSSSSSSSSSSSSSD
N5bVA+p/6ZLdmiqtbbF8rjHf9XXVaSSSSSSSSSSSSSSSSSSbUNrmjhbdfApShNrroccvgYbPfdJy
SSSSSSSSSSSSSSSSSSRLPd94zDtN4IreBK7tzLNIK7Y/P2SSSSSSSSSSSSSSSSSSSSPOrXK5OuYr
7tv+jp5cD056re7CySSSSSSSSSSSSSSSSSSSSSnu7HX/AEDsNWMT6LIFYRT/ALz2kJJJJJJJJJJJ
JJJJJJJJJJJIEE3r1VVzWGa6SagZpfd/7hkZJJJJJJJJJJJJJJJJJJJJJJJIVkf6n319+llMnuux
Vd83lhJJJJJJJJJJJJJJJJJJJJJJJJJJsu02Kmoqnjjm+dtd8+srJJJJJJJJJJJJJJJJJJJJJJJJ
JJJBsn9UXnnvjz/9VdVVlDJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIUsnNZE+8+VVUVn8xJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJGusqnsU808mt9ZJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJXkl
smst4tZJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJP/8QAJREAAwEAAwACAwEBAQADAAAAAAERECAhMTBBQFBhUXFggJCh/9oACAEDAQE/EP8A5+3F
KUpRPLlKUv8A4ylyEz0nwQpNhSl/8JSk24kXGUePGseeE2cL+/pRl1IePL8CxYsfeMmUhCl/dUvC
iGiZeEE8WvHjJngxcLkyl/b3JqLjXCFFiYyjLz9LvuMmzaX9ncmTUXGsuQpVq2ys7OzvKLwWIZMW
Pgtv7GiHxonrWMU7xLhcpco9h2UQu+iPMZSC2/raMoh48peDedbch0TEv8H/AHIUhP8ABdlPBkxN
6e0WNkJl/V3gtZco8zKVnRDspBPP+i/g2Q9P+iGdPZxQnjxnu3Lif6ik2lLqYxXnRSLVHCC4lqHn
3n/Si6H1j2YhRC5v9PRE2jLjZc8KxZR4h6994LoaxcUeZ4eHgntGTLlxIgn+keImp5RhHZ2TOzsT
HiZ7lP8AgmUog2UQpROlLj4IQtWJixEFl1P9JcgspRsSyZ0KD4tnRR0oQYgSDQ0EhOx8AmXXj7xn
9Hwo+LGP9C2IaLsxst2HQ8WtlRSMRS7HiHweIZ4IfY0w39CYniGxKHgj+cG1lyEIX85sWQTxELC5
2RCgn2MRCjKxCYiYi8G+VxnmkheCQz+6sQuIRRavzG+Ey48pGTExlGyra4XVOyhb3mnIxtiYuCW3
/mPcWen0PV0Iv6JvFwo2JZ3j4N4S/wBGLKUbO2LY+aEMazHxMR/gLovCiPoo+NxjL+U+F1s9xPOs
8ywrYg+FK+yMWoR9jw/BC1jESj/weeieXUhcZM+yCGWZNYxi/IeQTJwudaxPKe6o8UJBlxj8EMI+
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
dx4TSYFu/RHgL8y12gsz246IAYgV/wD4tf/Z

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/estilos/Sistema.css

.AdmValor {
	FONT-SIZE: 11px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
.AdmEtiqueta {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
A.EnlaceMenu {
	FONT-SIZE: 11px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
A.EnlaceMenu:visited {
	COLOR: #99664d; TEXT-DECORATION: none
}
A.EnlaceMenu:link {
	COLOR: #000000; TEXT-DECORATION: none
}
A.EnlaceMenu:hover {
	FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; BACKGROUND-COLOR: #bcdbbc; TEXT-DECORATION: none
}
A.EnlaceMenu:active {
	COLOR: #333333; TEXT-DECORATION: none
}
.FondoMenuP {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.CeldaMenuP {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 11px; BORDER-LEFT: #333333 1px solid; =
BORDER-BOTTOM: #333333 1px solid; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif; BACKGROUND-COLOR: #bdb6ad
}
.EncabMenuS {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 11px; BORDER-LEFT: #333333 1px solid; =
COLOR: #333333; BORDER-BOTTOM: #333333 1px solid; FONT-FAMILY: =
"Trebuchet MS",Arial,Helvetica,sans-serif; LETTER-SPACING: 2px; =
BACKGROUND-COLOR: #99b299; TEXT-ALIGN: left
}
.MOverCeldaMenuP {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
FONT-SIZE: 11px; BORDER-LEFT: #333333 1px solid; CURSOR: pointer; COLOR: =
#333333; BORDER-BOTTOM: #333333 1px solid; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif; BACKGROUND-COLOR: #ffca79
}
.AyudaMenu {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
FONT-SIZE: 11px; BORDER-LEFT: #333333 1px solid; CURSOR: pointer; COLOR: =
#333333; BORDER-BOTTOM: #333333 1px solid; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif; BACKGROUND-COLOR: #ffca79
}
.CeldaMenuS {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 10px; BORDER-LEFT: #333333 1px solid; =
BORDER-BOTTOM: #333333 1px solid; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; BACKGROUND-COLOR: #bdb6ad
}
.UrlEncabezado {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #333333; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif; TEXT-ALIGN: left
}
A.UrlEncabezado {
	FONT-SIZE: 12px; FONT-FAMILY: Verdana,Arial,Helvetica,sans-serif
}
A.UrlEncabezado:visited {
	COLOR: #99664d; TEXT-DECORATION: none
}
A.UrlEncabezado:link {
	COLOR: #000000; TEXT-DECORATION: none
}
A.UrlEncabezado:hover {
	FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif; TEXT-DECORATION: none
}
A.UrlEncabezado:active {
	COLOR: #333333; TEXT-DECORATION: none
}
.EncabMenuP {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
FONT-SIZE: 11px; BORDER-LEFT: #333333 1px solid; BORDER-BOTTOM: #333333 =
1px solid; FONT-FAMILY: Verdana,Arial,sans-serif; BACKGROUND-COLOR: =
#ffca79; TEXT-ALIGN: left
}
.FondoMenuS {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
BORDER-LEFT: #333333 1px solid; BORDER-BOTTOM: #333333 1px solid; =
BACKGROUND-COLOR: #99b299
}
.MOverCeldaMenuS {
	BORDER-RIGHT: #333333 1px solid; BORDER-TOP: #333333 1px solid; =
FONT-SIZE: 10px; BORDER-LEFT: #333333 1px solid; CURSOR: pointer; COLOR: =
#333333; BORDER-BOTTOM: #333333 1px solid; FONT-FAMILY: =
Verdana,Arial,Helvetica,sans-serif; BACKGROUND-COLOR: #bcdbbc
}
#tablist {
	PADDING-RIGHT: 5px; MARGIN-TOP: 0.1em; PADDING-LEFT: 5px; =
MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 3px; FONT: bold 8pt Verdana; =
MARGIN-LEFT: 0px; COLOR: #000000; PADDING-TOP: 5px
}
#tablist LI {
	PADDING-RIGHT: 5px; DISPLAY: inline; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; MARGIN: 0px; COLOR: #000000; PADDING-TOP: 5px; LIST-STYLE-TYPE: =
none
}
#tablist LI A {
	BORDER-RIGHT: #778 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: #778 =
1px solid; PADDING-LEFT: 0.5em; BACKGROUND: white; PADDING-BOTTOM: 3px; =
MARGIN-LEFT: 3px; BORDER-LEFT: #778 1px solid; COLOR: #000000; =
PADDING-TOP: 3px; BORDER-BOTTOM: medium none; TEXT-DECORATION: none
}
#tablist LI A:link {
	COLOR: navy
}
#tablist LI A:visited {
	COLOR: navy
}
#tablist LI A.current {
	BACKGROUND: lightyellow
}
#tabcontentcontainer {
	BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: black =
1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: black =
1px solid; WIDTH: 100%; PADDING-TOP: 0px; BORDER-BOTTOM: black 1px solid
}
.tabcontent {
	DISPLAY: none
}
.ContenidoTab {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; BORDER-LEFT-COLOR: #11467d; =
BORDER-BOTTOM-COLOR: #11467d; PADDING-BOTTOM: 20px; BORDER-TOP-STYLE: =
outset; BORDER-TOP-COLOR: #11467d; PADDING-TOP: 20px; =
BORDER-RIGHT-STYLE: outset; BORDER-LEFT-STYLE: outset; BACKGROUND-COLOR: =
#bfcfff; BORDER-RIGHT-COLOR: #11467d; BORDER-BOTTOM-STYLE: outset
}

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/estilos/bcv_internet/salidas.css

BODY {
	FONT-SIZE: 11px; BACKGROUND-REPEAT: no-repeat; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #ffffff
}
P {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: black; FONT-STYLE: normal; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
A:link IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
A:visited IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
A:active IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
A:link {
	COLOR: #0066cc
}
A:visited {
=09
}
A:active {
	COLOR: #99ccff
}
A:link {
	TEXT-DECORATION: underline
}
A:visited {
	TEXT-DECORATION: underline
}
A:active {
	TEXT-DECORATION: underline
}
A {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 15px; =
BORDER-BOTTOM-WIDTH: 0px; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; BORDER-RIGHT-WIDTH: 0px
}
IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px; Hspace: 1px
}
BR {
	FONT-SIZE: 11px; COLOR: black; FONT-STYLE: normal; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
B {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Verdana, Verdana, =
Arial, Helvetica, sans-serif; Helvetica:=20
}
I {
	FONT-SIZE: 11px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/PopCalendar.css

.table-style {
	BORDER-RIGHT: #a0a0a0 1px solid; BORDER-TOP: #a0a0a0 1px solid; =
FONT-SIZE: 11px; BORDER-LEFT: #a0a0a0 1px solid; BORDER-BOTTOM: #a0a0a0 =
1px solid; FONT-FAMILY: arial; BACKGROUND-COLOR: #ffffff
}
.div-style {
	Z-INDEX: 999; VISIBILITY: hidden; POSITION: absolute
}
.title-style {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 11px; PADDING-BOTTOM: =
2px; COLOR: #3a6ea5; PADDING-TOP: 2px; FONT-FAMILY: arial
}
.title-background-style {
	BACKGROUND-COLOR: #cee3ef
}
.title-control-normal-style {
	BORDER-RIGHT: #3a6ea5 1px solid; BORDER-TOP: #3a6ea5 1px solid; =
BORDER-LEFT: #3a6ea5 1px solid; CURSOR: pointer; BORDER-BOTTOM: #3a6ea5 =
1px solid
}
.title-control-select-style {
	BORDER-RIGHT: #3a6ea5 1px solid; BORDER-TOP: #3a6ea5 1px solid; =
BORDER-LEFT: #3a6ea5 1px solid; CURSOR: pointer; BORDER-BOTTOM: #3a6ea5 =
1px solid
}
.dropdown-style {
	BORDER-RIGHT: #a0a0a0 1px solid; BORDER-TOP: #a0a0a0 1px solid; =
FONT-SIZE: 11px; BORDER-LEFT: #a0a0a0 1px solid; CURSOR: pointer; =
BORDER-BOTTOM: #a0a0a0 1px solid; FONT-FAMILY: arial; BACKGROUND-COLOR: =
#cee3ef
}
.dropdown-select-style {
	BACKGROUND-COLOR: #3a6ea5
}
.dropdown-normal-style {
	BACKGROUND-COLOR: #000000
}
.body-style {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 10px; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px; FONT-FAMILY: verdana; BACKGROUND-COLOR: #cee3ef
}
.current-day-style {
	FONT-WEIGHT: bold; COLOR: red; TEXT-DECORATION: none
}
.end-of-weekday-style {
	COLOR: #909090; TEXT-DECORATION: none
}
.normal-day-style {
	COLOR: black; TEXT-DECORATION: none
}
.selected-day-style {
	BORDER-RIGHT: #a0a0a0 1px solid; BORDER-TOP: #a0a0a0 1px solid; =
BORDER-LEFT: #a0a0a0 1px solid; BORDER-BOTTOM: #a0a0a0 1px solid
}
.holiday-style {
	BACKGROUND-COLOR: #ffdddd
}
.today-style {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; COLOR: =
black; PADDING-TOP: 0px; BACKGROUND-COLOR: #cee3ef; TEXT-ALIGN: center; =
TEXT-DECORATION: none
}
.weeknumber-div-style {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; BACKGROUND-COLOR: #d0d0d0
}

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/HTMLArea/htmlarea.css

.htmlarea {
	BORDER-RIGHT: buttonface 1px solid; BORDER-TOP: buttonface 1px solid; =
BACKGROUND: #fff; BORDER-LEFT: buttonface 1px solid; BORDER-BOTTOM: =
buttonface 1px solid
}
.htmlarea .toolbar {
	BORDER-RIGHT: buttonshadow 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
buttonhighlight 1px solid; PADDING-LEFT: 1px; BACKGROUND: buttonface; =
PADDING-BOTTOM: 2px; BORDER-LEFT: buttonhighlight 1px solid; CURSOR: =
default; PADDING-TOP: 1px; BORDER-BOTTOM: buttonshadow 1px solid
}
.htmlarea .toolbar TABLE {
	FONT-SIZE: 11px; FONT-FAMILY: tahoma,verdana,sans-serif
}
.htmlarea .toolbar IMG {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.htmlarea .toolbar .label {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.htmlarea .toolbar .button {
	BORDER-RIGHT: buttonface 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
buttonface 1px solid; PADDING-LEFT: 1px; BACKGROUND: buttonface; =
PADDING-BOTTOM: 1px; MARGIN: 0px; BORDER-LEFT: buttonface 1px solid; =
WIDTH: 18px; COLOR: buttontext; PADDING-TOP: 1px; BORDER-BOTTOM: =
buttonface 1px solid; HEIGHT: 18px
}
.htmlarea .toolbar .buttonHover {
	BORDER-RIGHT: buttonshadow 1px solid; BORDER-TOP: buttonhighlight 1px =
solid; BORDER-LEFT: buttonhighlight 1px solid; BORDER-BOTTOM: =
buttonshadow 1px solid
}
.htmlarea .toolbar .buttonActive {
	BORDER-RIGHT: buttonhighlight 1px solid; PADDING-RIGHT: 0px; =
BORDER-TOP: buttonshadow 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; BORDER-LEFT: buttonshadow 1px solid; PADDING-TOP: 2px; =
BORDER-BOTTOM: buttonhighlight 1px solid
}
.htmlarea .toolbar .buttonPressed {
	BORDER-RIGHT: buttonhighlight 1px solid; PADDING-RIGHT: 0px; =
BORDER-TOP: buttonshadow 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; BORDER-LEFT: buttonshadow 1px solid; PADDING-TOP: 2px; =
BORDER-BOTTOM: buttonhighlight 1px solid
}
.htmlarea .toolbar .buttonPressed {
	BACKGROUND: buttonhighlight
}
.htmlarea .toolbar .indicator {
	BORDER-RIGHT: buttonshadow 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
buttonshadow 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 0px; =
OVERFLOW: hidden; BORDER-LEFT: buttonshadow 1px solid; WIDTH: 20px; =
CURSOR: default; PADDING-TOP: 0px; BORDER-BOTTOM: buttonshadow 1px =
solid; TEXT-ALIGN: center
}
.htmlarea .toolbar .buttonDisabled IMG {
	-moz-opacity: 0.25
}
.htmlarea .toolbar .separator {
	BORDER-RIGHT: buttonhighlight 1px solid; PADDING-RIGHT: 0px; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: =
buttonshadow 1px solid; WIDTH: 0px; PADDING-TOP: 0px; POSITION: =
relative; HEIGHT: 16px
}
.htmlarea .toolbar .space {
	WIDTH: 5px
}
.htmlarea .toolbar SELECT {
	FONT: 11px Tahoma,Verdana,sans-serif
}
.htmlarea .toolbar SELECT {
	BACKGROUND: buttonface; COLOR: buttontext
}
.htmlarea .toolbar SELECT:hover {
	BACKGROUND: buttonface; COLOR: buttontext
}
.htmlarea .toolbar SELECT:active {
	BACKGROUND: buttonface; COLOR: buttontext
}
.htmlarea .statusBar {
	BORDER-RIGHT: buttonhighlight 1px solid; PADDING-RIGHT: 4px; =
BORDER-TOP: buttonshadow 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: =
2px; FONT: 11px Tahoma,Verdana,sans-serif; BORDER-LEFT: buttonshadow 1px =
solid; COLOR: buttontext; PADDING-TOP: 2px; BORDER-BOTTOM: =
buttonhighlight 1px solid; BACKGROUND-COLOR: buttonface
}
.htmlarea .statusBar .statusBarTree A {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; COLOR: =
#00f; PADDING-TOP: 2px
}
.htmlarea .statusBar .statusBarTree A:visited {
	COLOR: #00f
}
.htmlarea .statusBar .statusBarTree A:hover {
	BORDER-RIGHT: highlighttext 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: =
highlighttext 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; =
BORDER-LEFT: highlighttext 1px solid; COLOR: highlighttext; PADDING-TOP: =
1px; BORDER-BOTTOM: highlighttext 1px solid; BACKGROUND-COLOR: highlight
}
.dialog {
	BACKGROUND: buttonface; COLOR: buttontext
}
.dialog .content {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
.dialog {
	FONT: 11px Tahoma,Verdana,sans-serif
}
.dialog BUTTON {
	FONT: 11px Tahoma,Verdana,sans-serif
}
.dialog INPUT {
	FONT: 11px Tahoma,Verdana,sans-serif
}
.dialog SELECT {
	FONT: 11px Tahoma,Verdana,sans-serif
}
.dialog TEXTAREA {
	FONT: 11px Tahoma,Verdana,sans-serif
}
.dialog TABLE {
	FONT: 11px Tahoma,Verdana,sans-serif
}
.dialog TABLE {
	BORDER-COLLAPSE: collapse
}
.dialog .title {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; BACKGROUND: #008; PADDING-BOTTOM: 2px; CURSOR: default; COLOR: =
#ff8; PADDING-TOP: 1px; BORDER-BOTTOM: #000 1px solid
}
.dialog .title .button {
	BORDER-RIGHT: #66a 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #66a 1px =
solid; PADDING-LEFT: 2px; FLOAT: right; PADDING-BOTTOM: 0px; =
BORDER-LEFT: #66a 1px solid; COLOR: #fff; MARGIN-RIGHT: 1px; =
PADDING-TOP: 0px; BORDER-BOTTOM: #66a 1px solid; TEXT-ALIGN: center
}
.dialog .title .button-hilite {
	BORDER-LEFT-COLOR: #88f; BACKGROUND: #44c; BORDER-BOTTOM-COLOR: #88f; =
BORDER-TOP-COLOR: #88f; BORDER-RIGHT-COLOR: #88f
}
.dialog BUTTON {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 5em; =
PADDING-TOP: 0px
}
.dialog .buttonColor {
	BORDER-RIGHT: buttonshadow 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
buttonhighlight 1px solid; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; =
BORDER-LEFT: buttonhighlight 1px solid; CURSOR: default; PADDING-TOP: =
1px; BORDER-BOTTOM: buttonshadow 1px solid
}
.dialog .buttonColor-hilite {
	BORDER-LEFT-COLOR: #000; BORDER-BOTTOM-COLOR: #000; BORDER-TOP-COLOR: =
#000; BORDER-RIGHT-COLOR: #000
}
.dialog .buttonColor .chooser {
	BORDER-RIGHT: buttonhighlight 1px solid; PADDING-RIGHT: 1em; =
BORDER-TOP: buttonshadow 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: =
0px; BORDER-LEFT: buttonshadow 1px solid; PADDING-TOP: 0px; =
BORDER-BOTTOM: buttonhighlight 1px solid; HEIGHT: 0.6em
}
.dialog .buttonColor .nocolor {
	BORDER-RIGHT: buttonhighlight 1px solid; PADDING-RIGHT: 1em; =
BORDER-TOP: buttonshadow 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: =
0px; BORDER-LEFT: buttonshadow 1px solid; PADDING-TOP: 0px; =
BORDER-BOTTOM: buttonhighlight 1px solid; HEIGHT: 0.6em
}
.dialog .buttonColor .nocolor {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.dialog .buttonColor .nocolor-hilite {
	COLOR: #f00; BACKGROUND-COLOR: #fff
}
.dialog .label {
	WIDTH: 6em; TEXT-ALIGN: right
}
.dialog .value INPUT {
	WIDTH: 100%
}
.dialog .buttons {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 2px; TEXT-ALIGN: right
}
.dialog LEGEND {
	FONT-WEIGHT: bold
}
.dialog FIELDSET TABLE {
	MARGIN: 2px 0px
}
.popupdiv {
	BORDER-RIGHT: buttonshadow 2px solid; BORDER-TOP: buttonhighlight 2px =
solid; BORDER-LEFT: buttonhighlight 2px solid; BORDER-BOTTOM: =
buttonshadow 2px solid
}
.popupwin {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.popupwin .title {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
120%; BACKGROUND: #fff; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 3px; COLOR: =
#000; PADDING-TOP: 3px; BORDER-BOTTOM: black 1px solid; LETTER-SPACING: =
2px
}
FORM {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: 0px; =
BORDER-LEFT: medium none; BORDER-BOTTOM: medium none
}

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/BeComunes.js

<!-- BeComunes.js

function Regresar() {
 history.go(-1);
}
function Avanzar() {
 history.go(+1);
}
function Estatus(txt) {
 window.status =3D txt;
 setTimeout("window.status =3D ''",5000);
}
function ColocaTituloPaginaWeb(winObj,titulo) {
	winObj.title =3D titulo;
}
function ObtieneTituloPaginaWeb(winObj) {
	return winObj.title;
}

=09
function UpdateDlg(pCampo) {
	top.document.getElementById(pCampo).value =3D dlgModal.returnedValue;
	return false;
}

function AsignaValorCampoTexto(pCampo,pValor) {
	top.document.getElementById(pCampo).value =3D pValor;
=09
	return;
}

function AsignaValorCampoLista(pCampo,pValor,pTexto) {
	var Valores;
	var Texto;
	var i;
	var Lista;
=09
	if (!pCampo || !pValor)
		return;
	=09
	if (!pTexto)
		pTexto =3D pValor;

	if (pValor !=3D "") {
		Valores =3D pValor.split(";");
=09
		if (pTexto && pTexto !=3D "")
			Texto =3D pTexto.split(";");
		else
			Texto =3D pValor.split(";");

		i =3D 0;=09

		Lista =3D top.document.getElementById(pCampo);

		while (i < Valores.length)  {

			Lista.options[i] =3D new Option(Texto[i],Valores[i]);=09

			i++;
		}
	}
	return;
}=09

function TextoSelecionado() {=20
	var txt =3D '';
	var foundIn =3D '';
	if (window.getSelection) {
		txt =3D window.getSelection();
		foundIn =3D 'window.getSelection()';
	}
	else if (document.getSelection) {
		txt =3D document.getSelection();
		foundIn =3D 'document.getSelection()';
	}
	else if (document.selection) {
		txt =3D document.selection.createRange().text;
		foundIn =3D 'document.selection.createRange()';
	}
=09
	return txt;
}=20

function CargarForma() {
	iniciaMenu();
	if (top.opener && top.opener.blockEvents)
		top.opener.blockEvents();
}

function DescargarForma() {
 	if (top.opener && top.opener.unblockEvents) {=20
		top.opener.unblockEvents();
	}
	if (this.CierraDependencias)
		this.CierraDependencias();
}

function CierraDependencias() {
  if (dlg.win && dlg.win.open && !dlg.win.closed)
  	dlg.win.close();
}

function iniciaMenu(){
	tunMenu =3D document.getElementById('LayerBusquedas');

	if (tunMenu) {
		tunMenu.style.top =3D posicionSup + "px";
		if(tunIex){
			tunMenu.style.position=3D'absolute'
			onscroll =3D posicion;
		}
		else{tunMenu.style.position=3D'fixed'}=20
	}
}


function InfoExistencia() {Estatus("Informaci=F3n de existencias");}
function InfoEjemplares() {Estatus("Informaci=F3n del registro");}
function InfoDetalles() {Estatus("Informaci=F3n de detalles");}
function RefAutor() {Estatus("Referencias del mismo autor");}
function ResumenExistencia() {Estatus("Resumen o existencias");}
function SolicitudRemota() {Estatus("Solicitud remota");}
function MismaEditorial() {Estatus("Referencias de la misma =
editorial");}
function RefAnaliticas() {Estatus("Referencias Anal=EDticas");}

function OcultarElemento(idElemento)
{
	if (document.getElementById(idElemento))
		document.getElementById(idElemento).style.display =3D "none";
}

function MostrarElemento(idElemento)
{
	if (document.getElementById(idElemento))
		document.getElementById(idElemento).style.display =3D "";
}

function MostrarOcultarElemento(idElemento)
{
	if (document.getElementById(idElemento)) {
		var estilo =3D document.getElementById(idElemento).style.display;

		if (estilo =3D=3D 'none')
			MostrarElemento(idElemento);
		else
			OcultarElemento(idElemento);
	}
}

function DeshabilitarHabilitarCampo(idElemento,bDeshabilitar)
{
	vCampo =3D document.getElementById(idElemento);
	if (vCampo) {
		vCampo.disabled =3D bDeshabilitar;
	}
}

function OcultarCampo(idElemento)
{
	vCampo =3D document.getElementById(idElemento);
	if (vCampo) {
		vCampo.style.visibility=3D'hidden';
	}
}

function ValidarListaConCaja(VariableAValidar) {
	Variable =3D document.getElementById(VariableAValidar);
	VariableCmb =3D eval("document.getElementById('" + VariableAValidar + =
"Cmb');");
=09
	if (!Variable || !VariableCmb)
		return;

	if (Variable.value !=3D '' && VariableCmb.value =3D=3D '') {
		VariableCmb.value =3D 'Otro';
		Variable.style.visibility =3D 'visible';
	}
}

function HabilitarEdicionDescriptor(varForma,varCodigo,varTipo)
{
	varCajaEdicion =3D document.getElementById('EdicionDescriptores');
	varSubFuncion =3D document.getElementById('SubFuncion');

	if (varCajaEdicion) {
		var X =3D event.clientX + 10;
		var Y =3D event.clientY + document.body.scrollTop;
		EdicionDescriptores.style.top =3D Y + "px";
		EdicionDescriptores.style.left =3D X + "px";
		if (EdicionDescriptores.style.display =3D=3D "none")
			EdicionDescriptores.style.display =3D "block";
		else {
			if (gCodDesc =3D=3D varCodigo) {
				EdicionDescriptores.style.display =3D "none";
			}
		}
		gCodDesc =3D varCodigo;
		varSubFuncion.value =3D varCodigo+'|'+varTipo;
	}
}
	=09
// BeComunes.js --> 
------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/BeLayers.js

<!-- BeLayers.js

var	ie=3Ddocument.all
var	dom=3Ddocument.getElementById

function tmt_findObj(n)
{
var x,t;=20
	if((n.indexOf("?"))>0&&parent.frames.length){t=3Dn.split("?");
		=
x=3Deval("parent.frames['"+t[1]+"'].document.getElementById('"+t[0]+"')")=
;
	}
	else {
		x=3Ddocument.getElementById(n)
	}
	return x;
}

function MM_showHideLayers()=20
{ //v3.0A Modified by Al Sparber for NN6 Compatibility
var i,p,v,obj,args=3DMM_showHideLayers.arguments;
	if(document.getElementById) {
		for (i=3D0; i<(args.length-2); i+=3D3){=20
			obj=3Dtmt_findObj(args[i]);
			v=3Dargs[i+2];
			v=3D(v=3D=3D'show')?'visible':(v=3D=3D'hide')?'hidden':v;
			if(obj)obj.style.visibility=3Dv;
		}
	}
	else{
		for (i=3D0; i<(args.length-2); i+=3D3)=20
		if ((obj=3DMM_findObj(args[i]))!=3Dnull) {=20
			v=3Dargs[i+2];
			if (obj.style) {=20
				obj=3Dobj.style;=20
				v=3D(v=3D=3D'show')?'visible':(v=3D=3D'hide')?'hidden':v;=20
			}
			obj.visibility=3Dv;=20
		}
	}
}

function MM_findObj(n, d)=20
{ //v4.0
var p,i,x; =20
	if(!d)=20
		d=3Ddocument;
	if((p=3Dn.indexOf("?"))>0&&parent.frames.length) {
		d=3Dparent.frames[n.substring(p+1)].document;=20
		n=3Dn.substring(0,p);
	}
	if(!(x=3Dd[n])&&d.all)=20
		x=3Dd.all[n];
	for (i=3D0;!x&&i<d.forms.length;i++)=20
		x=3Dd.forms[i][n];
	for(i=3D0;!x&&d.layers&&i<d.layers.length;i++)=20
		x=3DMM_findObj(n,d.layers[i].document);
	if(!x && document.getElementById)=20
		x=3Ddocument.getElementById(n);=20
	return x;
}

function MM_goToURL() { //v3.0
var i, args=3DMM_goToURL.arguments;=20
	document.MM_returnValue =3D false;
	for (i=3D0; i<(args.length-1); i+=3D2)
		eval(args[i]+".location=3D'"+args[i+1]+"'");
}

function EnciendeApagaMenu()
{
 var EncApa,menu,args=3DEnciendeApagaMenu.arguments;
 EncApa =3D args[0];
 for(i=3D1;i<args.length;i++) {
   menu =3D args[i];
   if (EncApa =3D=3D 'A') {
     MM_showHideLayers(menu,'','hide');
     showElement('SELECT');
     showElement('APPLET');
   }
   else {
     MM_showHideLayers(menu,'','show');
     hideElement('SELECT',menu,1);
     hideElement('APPLET',menu,1);
   }
 }
}

/* hides <select> and <applet> objects (for IE only) */
function hideElement( elmID, overDiv, overType)
{
  var elmOver =3D overDiv;
 =20
  if (overType)
  	elmOver=3DMM_findObj(overDiv);
  =09
  if (ie && elmOver)
  {
    var i;
    for( i =3D 0; i < document.all.tags( elmID ).length; i++ )
    {
      obj =3D document.all.tags( elmID )[i];
      if( !obj || !obj.offsetParent )
      {
        continue;
      }
 =20
      // Find the element's offsetTop and offsetLeft relative to the =
BODY tag.
      objLeft   =3D obj.offsetLeft;
      objTop    =3D obj.offsetTop;
      objParent =3D obj.offsetParent;
			overLeft  =3D elmOver.offsetLeft;
			overTop   =3D elmOver.offsetTop;
     =20
      while( objParent.tagName.toUpperCase() !=3D "BODY" )
      {
        objLeft  +=3D objParent.offsetLeft;
        objTop   +=3D objParent.offsetTop;
        objParent =3D objParent.offsetParent;
      }
 =20
      objHeight =3D obj.offsetHeight;
      objWidth =3D obj.offsetWidth;
 =20
      if(( overLeft + elmOver.offsetWidth ) <=3D objLeft );
      else if(( overTop + elmOver.offsetHeight ) <=3D objTop );
/* CHANGE by Charlie Roche for nested TDs*/
      else if( overTop >=3D ( objTop + objHeight /*+ obj.height*/ ));
/* END CHANGE */
      else if( overLeft >=3D ( objLeft + objWidth ));
      else
      {
        obj.style.visibility =3D "hidden";
      }
    }
  }
}
=20
/*
* unhides <select> and <applet> objects (for IE only)
*/
function showElement( elmID )
{
  if (ie)
  {
    var i;
    for( i =3D 0; i < document.all.tags( elmID ).length; i++ )
    {
      obj =3D document.all.tags( elmID )[i];
     =20
      if( !obj || !obj.offsetParent )
      {
        continue;
      }
   =20
      obj.style.visibility =3D "";
    }
  }
}

function MoverCapaMensaje(Mensaje) {
	iLayerAjax =3D document.getElementById('LayerAjax');

	if (iLayerAjax) {
		iLayerAjax.style.right =3D "0px";
		iLayerAjax.style.top =3D document.body.scrollTop + "px";
		iLayerAjax.innerHTML =3D Mensaje;
		iLayerAjax.style.display =3D "";
	}
}

// BeLayers.js -->
------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/PopCalendar.js

//	written	by Tan Ling	Wee	on 2 Dec 2001
//	last updated 20 Jun 2003
//	email :	fuushikaden@yahoo.com
//	website : www.pengz.com

	var idioma =3D 0 // 0:Espa=F1ol 1:Ingl=E9s
	var fixedX =3D -1 // x position (0 centered, -1 if to appear below =
control)
	var fixedY =3D -1 // y position (0 centered, -1 if to appear below =
control)
	var startAt =3D 0 // 0 - sunday ; 1 - monday
	var showWeekNumber =3D 1	// 0 - don't show; 1 - show
	var showToday =3D 1		// 0 - don't show; 1 - show
	var imgDir =3D "/alexandr/scripts/"	// directory for images ... e.g. =
var imgDir=3D"/img/"


	var	crossobj, crossMonthObj, crossYearObj, monthSelected, yearSelected, =
dateSelected, omonthSelected, oyearSelected, odateSelected, =
monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, =
timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear

	var	bPageLoaded=3Dfalse
	var	ie=3Ddocument.all
	var	dom=3Ddocument.getElementById

	var	ns4=3Ddocument.layers
	var	today =3D	new	Date()
	var	dateNow	 =3D today.getDate()
	var	monthNow =3D today.getMonth()
	var	yearNow	 =3D today.getYear()
	var	imgsrc =3D new =
Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right=
2.gif")
	var	img	=3D new Array()

	var bShow =3D false;
=09
	if (idioma=3D=3D0) { // Espa=F1ol
		var gotoString =3D "Ir al mes actual"
		var todayString =3D "Hoy es"
		var weekString =3D "Sem"
		var scrollLeftMessage =3D "Presione para moverse al mes anterior."
		var scrollRightMessage =3D "Presione para moverse al mes pr=F3ximo."
		var selectMonthMessage =3D "Presione para seleccionar un mes."
		var selectYearMessage =3D "Presione para seleccionar un a=F1o."
		var selectDateMessage =3D "Seleccionar [date] como valor para la =
fecha." // do not replace [date], it will be replaced by date.
		var	monthName =3D	new	=
Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","=
Septiembre","Octubre","Noviembre","Diciembre")
		var	monthName2 =3D new =
Array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","=
Dic")
=09
		if (startAt=3D=3D0) {
			var dayName =3D new Array	("Dom","Lun","Mar","Mie","Jue","Vie","Sab")
		}
		else {
			var dayName =3D new Array	("Lun","Mar","Mie","Jue","Vie","Sab","Dom")
		}
	} else
	if (idioma=3D=3D1) { // Ingl=E9s
		var gotoString =3D "Go To Current Month"
		var todayString =3D "Today is"
		var weekString =3D "Wk"
		var scrollLeftMessage =3D "Click to scroll to previous month. Hold =
mouse button to scroll automatically."
		var scrollRightMessage =3D "Click to scroll to next month. Hold mouse =
button to scroll automatically."
		var selectMonthMessage =3D "Click to select a month."
		var selectYearMessage =3D "Click to select a year."
		var selectDateMessage =3D "Select [date] as date." // do not replace =
[date], it will be replaced by date.
		var	monthName =3D	new	=
Array("January","February","March","April","May","June","July","August","=
September","October","November","December")
		var	monthName2 =3D new =
Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","=
Dec")
=09
		if (startAt=3D=3D0) {
			var dayName =3D new Array	("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
		}
		else {
			var dayName =3D new Array	("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
		}
	}=09

	var HolidaysCounter =3D 0
	var Holidays =3D new Array()

	function HolidayRec (d, m, y, desc)
	{
		this.d =3D d
		this.m =3D m
		this.y =3D y
		this.desc =3D desc
	}

	function addHoliday (d, m, y, desc)
	{
		Holidays[HolidaysCounter++] =3D new HolidayRec ( d, m, y, desc )
	}


	if (dom)
	{
		for	(i=3D0;i<imgsrc.length;i++)
		{
			img[i] =3D new Image
			img[i].src=3D imgDir + imgsrc[i]
		}
		document.write ("<div onclick=3D'bShow=3Dtrue' id=3D'calendar'	=
class=3D'div-style'><table width=3D"+((showWeekNumber=3D=3D1)?250:220)+" =
class=3D'table-style'><tr class=3D'title-background-style' ><td><table =
width=3D'"+((showWeekNumber=3D=3D1)?248:218)+"'><tr><td =
class=3D'title-style'><B><span id=3D'caption'></span></B></td><td =
align=3Dright><a href=3D'javascript:hideCalendar()'><IMG =
SRC=3D'"+imgDir+"close.gif' WIDTH=3D'15' HEIGHT=3D'13' BORDER=3D'0' =
ALT=3D'Close the Calendar'></a></td></tr></table></td></tr><tr><td =
class=3D'body-style'><span id=3D'content'></span></td></tr>")
		=09
		if (showToday=3D=3D1)
		{
			document.write ("<tr class=3D'today-style'><td><span =
id=3D'lblToday'></span></td></tr>")
		}
		=09
		document.write ("</table></div><div id=3D'selectMonth' =
class=3D'div-style'></div><div id=3D'selectYear' =
class=3D'div-style'></div>");
	}

	function swapImage(srcImg, destImg){
		if (ie)	{ document.getElementById(srcImg).setAttribute("src",imgDir + =
destImg) }
	}

	function init()	{
		if (!ns4)
		{
			if (!ie) { yearNow +=3D 1900	}

			crossobj=3D(dom)?document.getElementById("calendar").style : ie? =
document.all.calendar : document.calendar
			hideCalendar()

			crossMonthObj=3D(dom)?document.getElementById("selectMonth").style : =
ie? document.all.selectMonth	: document.selectMonth

			crossYearObj=3D(dom)?document.getElementById("selectYear").style : =
ie? document.all.selectYear : document.selectYear

			monthConstructed=3Dfalse;
			yearConstructed=3Dfalse;

			if (showToday=3D=3D1)
			{
				document.getElementById("lblToday").innerHTML =3D	todayString + " <a =
class=3D'today-style' onmousemove=3D'window.status=3D\""+gotoString+"\"' =
onmouseout=3D'window.status=3D\"\"' title=3D'"+gotoString+"' =
href=3D'javascript:monthSelected=3DmonthNow;yearSelected=3DyearNow;constr=
uctCalendar();'>"+dayName[(today.getDay()-startAt=3D=3D-1)?6:(today.getDa=
y()-startAt)]+", " + dateNow + " " + monthName[monthNow].substring(0,3)	=
+ "	" +	yearNow	+ "</a>"
			}

			sHTML1=3D "<span id=3D'spanLeft'  =
class=3D'title-control-normal-style' =
onmouseover=3D'swapImage(\"changeLeft\",\"left2.gif\");this.className=3D\=
"title-control-select-style\";window.status=3D\""+scrollLeftMessage+"\"' =
onclick=3D'javascript:decMonth()' =
onmouseout=3D'clearInterval(intervalID1);swapImage(\"changeLeft\",\"left1=
.gif\");this.className=3D\"title-control-normal-style\";window.status=3D\=
"\"' =
onmousedown=3D'clearTimeout(timeoutID1);timeoutID1=3DsetTimeout(\"StartDe=
cMonth()\",500)'	=
onmouseup=3D'clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<I=
MG id=3D'changeLeft' SRC=3D'"+imgDir+"left1.gif' width=3D10 height=3D11 =
BORDER=3D0>&nbsp</span>&nbsp;"
			sHTML1+=3D"<span id=3D'spanRight' =
class=3D'title-control-normal-style' =
onmouseover=3D'swapImage(\"changeRight\",\"right2.gif\");this.className=3D=
\"title-control-select-style\";window.status=3D\""+scrollRightMessage+"\"=
' =
onmouseout=3D'clearInterval(intervalID1);swapImage(\"changeRight\",\"righ=
t1.gif\");this.className=3D\"title-control-normal-style\";window.status=3D=
\"\"' onclick=3D'incMonth()' =
onmousedown=3D'clearTimeout(timeoutID1);timeoutID1=3DsetTimeout(\"StartIn=
cMonth()\",500)'	=
onmouseup=3D'clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<I=
MG id=3D'changeRight' SRC=3D'"+imgDir+"right1.gif'	width=3D10 =
height=3D11 BORDER=3D0>&nbsp</span>&nbsp"
			sHTML1+=3D"<span id=3D'spanMonth' =
class=3D'title-control-normal-style' =
onmouseover=3D'swapImage(\"changeMonth\",\"drop2.gif\");this.className=3D=
\"title-control-select-style\";window.status=3D\""+selectMonthMessage+"\"=
' =
onmouseout=3D'swapImage(\"changeMonth\",\"drop1.gif\");this.className=3D\=
"title-control-normal-style\";window.status=3D\"\"' =
onclick=3D'popUpMonth()'></span>&nbsp;"
			sHTML1+=3D"<span id=3D'spanYear'  =
class=3D'title-control-normal-style' =
onmouseover=3D'swapImage(\"changeYear\",\"drop2.gif\");this.className=3D\=
"title-control-select-style\";window.status=3D\""+selectYearMessage+"\"'	=
onmouseout=3D'swapImage(\"changeYear\",\"drop1.gif\");this.className=3D\"=
title-control-normal-style\";window.status=3D\"\"'	=
onclick=3D'popUpYear()'></span>&nbsp;"
		=09
			document.getElementById("caption").innerHTML  =3D	sHTML1

			bPageLoaded=3Dtrue
		}
	}

	function hideCalendar()	{
		if (crossobj !=3D null){crossobj.visibility=3D"hidden"}
		if (crossMonthObj !=3D null){crossMonthObj.visibility=3D"hidden"}
		if (crossYearObj !=3D	null){crossYearObj.visibility=3D"hidden"}

		showElement( 'SELECT' );
		showElement( 'APPLET' );
	}

	function padZero(num) {
		return (num	< 10)? '0' + num : num ;
	}

	function constructDate(d,m,y)
	{
		sTmp =3D dateFormat
		sTmp =3D sTmp.replace	("dd","<e>")
		sTmp =3D sTmp.replace	("d","<d>")
		sTmp =3D sTmp.replace	("<e>",padZero(d))
		sTmp =3D sTmp.replace	("<d>",d)
		sTmp =3D sTmp.replace	("mmm","<o>")
		sTmp =3D sTmp.replace	("mm","<n>")
		sTmp =3D sTmp.replace	("m","<m>")
		sTmp =3D sTmp.replace	("<m>",m+1)
		sTmp =3D sTmp.replace	("<n>",padZero(m+1))
		sTmp =3D sTmp.replace	("<o>",monthName2[m])
		sTmp =3D sTmp.replace	("yyyy",y)
		return sTmp.replace ("yy",padZero(y%100))
	}

	function closeCalendar() {
		var	sTmp

		hideCalendar();
		ctlToPlaceValue.value =3D	=
constructDate(dateSelected,monthSelected,yearSelected)
		eval("if (window.onKeyUp"+ctlToPlaceValue.name+") =
onKeyUp"+ctlToPlaceValue.name+"();");
	}

	/*** Month Pulldown	***/

	function StartDecMonth()
	{
		intervalID1=3DsetInterval("decMonth()",80)
	}

	function StartIncMonth()
	{
		intervalID1=3DsetInterval("incMonth()",80)
	}

	function incMonth () {
		monthSelected++
		if (monthSelected>11) {
			monthSelected=3D0
			yearSelected++
		}
		constructCalendar()
	}

	function decMonth () {
		monthSelected--
		if (monthSelected<0) {
			monthSelected=3D11
			yearSelected--
		}
		constructCalendar()
	}

	function constructMonth() {
		popDownYear()
		if (!monthConstructed) {
			sHTML =3D	""
			for	(i=3D0; i<12;	i++) {
				sName =3D	monthName[i];
				if (i=3D=3DmonthSelected){
					sName =3D	"<B>" +	sName +	"</B>"
				}
				sHTML +=3D "<tr><td id=3D'm" + i + "' =
onmouseover=3D'this.className=3D\"dropdown-select-style\"' =
onmouseout=3D'this.className=3D\"dropdown-normal-style\"' =
onclick=3D'monthConstructed=3Dfalse;monthSelected=3D" + i + =
";constructCalendar();popDownMonth();event.cancelBubble=3Dtrue'>&nbsp;" =
+ sName + "&nbsp;</td></tr>"
			}

			document.getElementById("selectMonth").innerHTML =3D "<table =
width=3D70	class=3D'dropdown-style' cellspacing=3D0 =
onmouseover=3D'clearTimeout(timeoutID1)'	=
onmouseout=3D'clearTimeout(timeoutID1);timeoutID1=3DsetTimeout(\"popDownM=
onth()\",100);event.cancelBubble=3Dtrue'>" +	sHTML +	"</table>"

			monthConstructed=3Dtrue
		}
	}

	function popUpMonth() {
		constructMonth()
		crossMonthObj.visibility =3D (dom||ie)? "visible"	: "show"
		crossMonthObj.left =3D parseInt(crossobj.left) + 50
		crossMonthObj.top =3D	parseInt(crossobj.top) + 26

		hideElement( 'SELECT', document.getElementById("selectMonth") );
		hideElement( 'APPLET', document.getElementById("selectMonth") );		=09
	}

	function popDownMonth()	{
		crossMonthObj.visibility=3D "hidden"
	}

	/*** Year Pulldown ***/

	function incYear() {
		for	(i=3D0; i<7; i++){
			newYear	=3D (i+nStartingYear)+1
			if (newYear=3D=3DyearSelected)
			{ txtYear =3D	"&nbsp;<B>"	+ newYear +	"</B>&nbsp;" }
			else
			{ txtYear =3D	"&nbsp;" + newYear + "&nbsp;" }
			document.getElementById("y"+i).innerHTML =3D txtYear
		}
		nStartingYear ++;
		bShow=3Dtrue
	}

	function decYear() {
		for	(i=3D0; i<7; i++){
			newYear	=3D (i+nStartingYear)-1
			if (newYear=3D=3DyearSelected)
			{ txtYear =3D	"&nbsp;<B>"	+ newYear +	"</B>&nbsp;" }
			else
			{ txtYear =3D	"&nbsp;" + newYear + "&nbsp;" }
			document.getElementById("y"+i).innerHTML =3D txtYear
		}
		nStartingYear --;
		bShow=3Dtrue
	}

	function selectYear(nYear) {
		yearSelected=3DparseInt(nYear+nStartingYear);
		yearConstructed=3Dfalse;
		constructCalendar();
		popDownYear();
	}

	function constructYear() {
		popDownMonth()
		sHTML =3D	""
		if (!yearConstructed) {

			sHTML =3D	"<tr><td align=3D'center'	=
onmouseover=3D'this.className=3D\"dropdown-select-style\"' =
onmouseout=3D'clearInterval(intervalID1);this.className=3D\"dropdown-norm=
al-style\"' =
onmousedown=3D'clearInterval(intervalID1);intervalID1=3DsetInterval(\"dec=
Year()\",30)' onmouseup=3D'clearInterval(intervalID1)'>-</td></tr>"
			j =3D	0
			nStartingYear =3D	yearSelected-3
			for	(i=3D(yearSelected-3); i<=3D(yearSelected+3); i++) {
				sName =3D	i;
				if (i=3D=3DyearSelected){
					sName =3D	"<B>" +	sName +	"</B>"
				}

				sHTML +=3D "<tr><td id=3D'y" + j + "' =
onmouseover=3D'this.className=3D\"dropdown-select-style\"' =
onmouseout=3D'this.className=3D\"dropdown-normal-style\"' =
onclick=3D'selectYear("+j+");event.cancelBubble=3Dtrue'>&nbsp;" + sName =
+ "&nbsp;</td></tr>"
				j ++;
			}

			sHTML +=3D "<tr><td align=3D'center' =
onmouseover=3D'this.className=3D\"dropdown-select-style\"' =
onmouseout=3D'clearInterval(intervalID2);this.className=3D\"dropdown-norm=
al-style\"' =
onmousedown=3D'clearInterval(intervalID2);intervalID2=3DsetInterval(\"inc=
Year()\",30)'	onmouseup=3D'clearInterval(intervalID2)'>+</td></tr>"

			document.getElementById("selectYear").innerHTML	=3D "<table =
width=3D44 class=3D'dropdown-style' =
onmouseover=3D'clearTimeout(timeoutID2)' =
onmouseout=3D'clearTimeout(timeoutID2);timeoutID2=3DsetTimeout(\"popDownY=
ear()\",100)' cellspacing=3D0>"	+ sHTML	+ "</table>"

			yearConstructed	=3D true
		}
	}

	function popDownYear() {
		clearInterval(intervalID1)
		clearTimeout(timeoutID1)
		clearInterval(intervalID2)
		clearTimeout(timeoutID2)
		crossYearObj.visibility=3D "hidden"
	}

	function popUpYear() {
		var	leftOffset

		constructYear()
		crossYearObj.visibility	=3D (dom||ie)? "visible" : "show"
		leftOffset =3D parseInt(crossobj.left) + =
document.getElementById("spanYear").offsetLeft
		if (ie)
		{
			leftOffset +=3D 6
		}
		crossYearObj.left =3D	leftOffset
		crossYearObj.top =3D parseInt(crossobj.top) +	26
	}

	/*** calendar ***/

	function WeekNbr(today)
    {
		Year =3D takeYear(today);
		Month =3D today.getMonth();
		Day =3D today.getDate();
		now =3D Date.UTC(Year,Month,Day+1,0,0,0);
		var Firstday =3D new Date();
		Firstday.setYear(Year);
		Firstday.setMonth(0);
		Firstday.setDate(1);
		then =3D Date.UTC(Year,0,1,0,0,0);
		var Compensation =3D Firstday.getDay();
		if (Compensation > 3) Compensation -=3D 4;
		else Compensation +=3D 3;
		NumberOfWeek =3D  Math.round((((now-then)/86400000)+Compensation)/7);
		return NumberOfWeek;
	}

	function takeYear(theDate)
	{
		x =3D theDate.getYear();
		var y =3D x % 100;
		y +=3D (y < 38) ? 2000 : 1900;
		return y;
	}

	function constructCalendar () {
		var dateMessage
		var	startDate =3D	new	Date (yearSelected,monthSelected,1)
		var	endDate	=3D new Date (yearSelected,monthSelected+1,1);
		endDate	=3D new Date (endDate	- (24*60*60*1000));
		numDaysInMonth =3D endDate.getDate()

		datePointer	=3D 0
		dayPointer =3D startDate.getDay() - startAt
	=09
		if (dayPointer<0)
		{
			dayPointer =3D 6
		}

		sHTML =3D	"<table	border=3D0 class=3D'body-style'><tr>"

		if (showWeekNumber=3D=3D1)
		{
			sHTML +=3D "<td width=3D27><b>" + weekString + "</b></td><td =
width=3D1 rowspan=3D7 class=3D'weeknumber-div-style'><img =
src=3D'"+imgDir+"divider.gif' width=3D1></td>"
		}

		for	(i=3D0; i<7; i++)	{
			sHTML +=3D "<td width=3D'27' align=3D'right'><B>"+ =
dayName[i]+"</B></td>"
		}
		sHTML +=3D"</tr><tr>"
	=09
		if (showWeekNumber=3D=3D1)
		{
			sHTML +=3D "<td align=3Dright>" + WeekNbr(startDate) + "&nbsp;</td>"
		}

		for	( var i=3D1; i<=3DdayPointer;i++ )
		{
			sHTML +=3D "<td>&nbsp;</td>"
		}
=09
		for	( datePointer=3D1; datePointer<=3DnumDaysInMonth; datePointer++ )
		{
			dayPointer++;
			sHTML +=3D "<td align=3Dright>"

			var sStyle=3D"normal-day-style"; //regular day

			if =
((datePointer=3D=3DdateNow)&&(monthSelected=3D=3DmonthNow)&&(yearSelected=
=3D=3DyearNow)) //today
			{ sStyle =3D "current-day-style"; }=20
			else if	(dayPointer % 7 =3D=3D (startAt * -1) +1) //end-of-the-week =
day
			{ sStyle =3D "end-of-weekday-style"; }

			//selected day
			if ((datePointer=3D=3DodateSelected) &&	=
(monthSelected=3D=3DomonthSelected)	&& =
(yearSelected=3D=3DoyearSelected))
			{ sStyle +=3D " selected-day-style"; }

			sHint =3D ""
			for (k=3D0;k<HolidaysCounter;k++)
			{
				if =
((parseInt(Holidays[k].d)=3D=3DdatePointer)&&(parseInt(Holidays[k].m)=3D=3D=
(monthSelected+1)))
				{
					if =
((parseInt(Holidays[k].y)=3D=3D0)||((parseInt(Holidays[k].y)=3D=3DyearSel=
ected)&&(parseInt(Holidays[k].y)!=3D0)))
					{
						sStyle +=3D " holiday-style";
						sHint+=3DsHint=3D=3D""?Holidays[k].desc:"\n"+Holidays[k].desc
					}
				}
			}

			var regexp=3D /\"/g
			sHint=3DsHint.replace(regexp,"&quot;")

			dateMessage =3D =
"onmousemove=3D'window.status=3D\""+selectDateMessage.replace("[date]",co=
nstructDate(datePointer,monthSelected,yearSelected))+"\"' =
onmouseout=3D'window.status=3D\"\"' "

			sHTML +=3D "<a class=3D'"+sStyle+"' "+dateMessage+" title=3D\"" + =
sHint + "\" =
href=3D'javascript:dateSelected=3D"+datePointer+";closeCalendar();'>&nbsp=
;" + datePointer + "&nbsp;</a>"

			sHTML +=3D ""
			if ((dayPointer+startAt) % 7 =3D=3D startAt) {=20
				sHTML +=3D "</tr><tr>"=20
				if ((showWeekNumber=3D=3D1)&&(datePointer<numDaysInMonth))
				{
					sHTML +=3D "<td align=3Dright>" + (WeekNbr(new =
Date(yearSelected,monthSelected,datePointer+1))) + "&nbsp;</td>"
				}
			}
		}

		document.getElementById("content").innerHTML   =3D sHTML
		document.getElementById("spanMonth").innerHTML =3D "&nbsp;" +	=
monthName[monthSelected] + "&nbsp;<IMG id=3D'changeMonth' =
SRC=3D'"+imgDir+"drop1.gif' WIDTH=3D'12' HEIGHT=3D'10' BORDER=3D0>"
		document.getElementById("spanYear").innerHTML =3D	"&nbsp;" + =
yearSelected	+ "&nbsp;<IMG id=3D'changeYear' SRC=3D'"+imgDir+"drop1.gif' =
WIDTH=3D'12' HEIGHT=3D'10' BORDER=3D0>"
	}

	function popUpCalendar(ctl,	ctl2, format, idioma) {
		var	leftpos=3D0
		var	toppos=3D0
=09
		if (bPageLoaded)
		{
			if ( crossobj.visibility =3D=3D	"hidden" ) {
				ctlToPlaceValue	=3D ctl2
				dateFormat=3Dformat;

				formatChar =3D " "
				aFormat	=3D dateFormat.split(formatChar)
				if (aFormat.length<3)
				{
					formatChar =3D "/"
					aFormat	=3D dateFormat.split(formatChar)
					if (aFormat.length<3)
					{
						formatChar =3D "."
						aFormat	=3D dateFormat.split(formatChar)
						if (aFormat.length<3)
						{
							formatChar =3D "-"
							aFormat	=3D dateFormat.split(formatChar)
							if (aFormat.length<3)
							{
								// invalid date	format
								formatChar=3D""
							}
						}
					}
				}

				tokensChanged =3D	0
				if ( formatChar	!=3D "" )
				{
					// use user's date
					aData =3D	ctl2.value.split(formatChar)

					for	(i=3D0;i<3;i++)
					{
						if ((aFormat[i]=3D=3D"d") || (aFormat[i]=3D=3D"dd"))
						{
							dateSelected =3D parseInt(aData[i], 10)
							tokensChanged ++
						}
						else if	((aFormat[i]=3D=3D"m") || (aFormat[i]=3D=3D"mm"))
						{
							monthSelected =3D	parseInt(aData[i], 10) - 1
							tokensChanged ++
						}
						else if	(aFormat[i]=3D=3D"yyyy")
						{
							yearSelected =3D parseInt(aData[i], 10)
							tokensChanged ++
						}
						else if	(aFormat[i]=3D=3D"mmm")
						{
							for	(j=3D0; j<12;	j++)
							{
								if (aData[i]=3D=3DmonthName[j])
								{
									monthSelected=3Dj
									tokensChanged ++
								}
							}
						}
					}
				}
			=09


//				if =
((tokensChanged!=3D3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(y=
earSelected))
				if (isNaN(dateSelected) && isNaN(monthSelected) && =
isNaN(yearSelected))				{
					dateSelected =3D dateNow
					monthSelected =3D	monthNow
					yearSelected =3D yearNow
				}

				if (isNaN(yearSelected))
					yearSelected =3D yearNow;
				if (isNaN(monthSelected)||(monthSelected>11))
					monthSelected =3D 0;
//				if (isNaN(dateSelected)) dateSelected =3D 1;


				odateSelected=3DdateSelected
				omonthSelected=3DmonthSelected
				oyearSelected=3DyearSelected

				aTag =3D ctl
				do {
					aTag =3D aTag.offsetParent;
					leftpos	+=3D aTag.offsetLeft;
					toppos +=3D aTag.offsetTop;
				} while(aTag.tagName!=3D"BODY");

				switch (fixedX) {
					case -1: crossobj.left =3D ctl.offsetLeft	+ leftpos; break;
					case 0: crossobj.left =3D  (screen.width - 100) / 2; break;
					default: crossobj.left =3D fixedX;
				}
			=09
				switch (fixedY) {
					case -1: crossobj.top =3D ctl.offsetTop	+ toppos + ctl.offsetHeight =
+	2; break;
					case 0: crossobj.top =3D (screen.height + 40)  / 2; break;
					default: crossobj.top =3D fixedY;
				}
			=09
				constructCalendar (1, monthSelected, yearSelected);
				crossobj.visibility=3D(dom||ie)? "visible" : "show"
			=09
				hideElement( 'SELECT', document.getElementById("calendar") );
				hideElement( 'APPLET', document.getElementById("calendar") );		=09

				bShow =3D true;
			}
		}
		else
		{
			init()
			popUpCalendar(ctl,	ctl2, format)
		}
	}
	document.onkeypress =3D function hidecal1 () {=20
		if (event && (event.keyCode=3D=3D27))=20
		{
			hideCalendar()
		}
	}
	document.onclick =3D function hidecal2 () { 	=09
		if (!bShow)
		{
			hideCalendar()
		}
		bShow =3D false
	}

	if(ie)
	{
		init()
	}
	else
	{
		window.onload=3Dinit
	}
------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/DlgModal.js

/**********************************************************************
  BEGIN MODAL DIALOG CODE (can also be loaded as external .js file)
***********************************************************************/
// Global for brower version branching.
var Nav4 =3D ((navigator.appName =3D=3D "Netscape") && =
(parseInt(navigator.appVersion) >=3D 4))
//var IE5  =3D ((navigator.appName =3D=3D "Netscape") && =
(parseInt(navigator.appVersion) >=3D 5))

// One object tracks the current modal dialog opened from this window.
var dlg =3D new Object()
var dlgModal =3D new Object()
var dlgNoModal =3D new Object()

// Se inicializa el tipo de dialogo en No Modal
dlg.bModal =3D false;

// Generate a window that simulate a dialog.
// Parameters:
// 		bModal -- indicate if the dialog will be modal=20
//    url -- URL of the page/frameset to be loaded into dialog
//    width -- pixel width of the dialog window
//    height -- pixel height of the dialog window
//    resizable -- [optional] resizable property=20
//    returnFunc -- [optional] reference to the function (on this page)
//                  that is to act on the data returned from the dialog
//    args -- [optional] any data you need to pass to the dialog
function openDlg(bModal,url, width, height, resizable, scrollbars, =
returnFunc, args) {
=09
	if (bModal=3D=3Dtrue)=09
		dlg =3D dlgModal;
	else
		dlg =3D dlgNoModal;
	=09
	if (!dlg.win || (dlg.win && dlg.win.closed)) {
		// Initialize properties of the modal dialog object.
		dlg.returnFunc =3D returnFunc
		dlg.initValue =3D ""
		dlg.returnedValue =3D ""
		dlg.args =3D args
		dlg.bModal =3D bModal
		dlg.url =3D url
		dlg.width =3D width
		dlg.height =3D height
		dlg.resizable =3D resizable
		dlg.scrollbars =3D scrollbars
		// Keep name unique so Navigator doesn't overwrite an existing dialog.
		dlg.name =3D (new Date()).getSeconds().toString()
		// Assemble window attributes and try to center the dialog.
		if (Nav4) {
			// Center on the main window.
			var attr =3D "";
			dlg.left =3D window.screenX +=20
			   ((window.outerWidth - dlg.width) / 2)
			dlg.top =3D window.screenY +=20
			   ((window.outerHeight - dlg.height) / 2)
			if (Nav4) {
				attr +=3D "screenX=3D" + dlg.left +=20
			   	",screenY=3D" + dlg.top + ",width=3D" +=20
			   	dlg.width + ",height=3D" + dlg.height;
			}
			else {
				attr +=3D "left=3D" + dlg.left + ",top=3D" +=20
			   	dlg.top + ",width=3D" + dlg.width +=20
			   	",height=3D" + dlg.height;
			}
			if (dlg.resizable!=3Dtrue)
					attr +=3D ",resizable=3Dno"
			else
					attr +=3D ",resizable=3Dyes"
			if (dlg.scrollbars!=3Dtrue)
					attr +=3D ",scrollbars=3Dno"
			else
					attr +=3D ",scrollbars=3Dyes"
		} else {
			// The best we can do is center in screen.
			var attr =3D "";
			if (dlg.width>0 && dlg.height>0) {
				dlg.left =3D (screen.width - dlg.width) / 2;
				dlg.top =3D (screen.height - dlg.height) / 2;
			 	attr +=3D "left=3D" + dlg.left + ",top=3D" + dlg.top;
			   attr +=3D ",width=3D" + dlg.width + ",height=3D" + dlg.height;
				if (dlg.resizable!=3Dtrue)
					attr +=3D ",resizable=3Dno"
				else
					attr +=3D ",resizable=3Dyes"
				if (dlg.scrollbars!=3Dtrue)
					attr +=3D ",scrollbars=3Dno"
				else
					attr +=3D ",scrollbars=3Dyes"
			}
		}
	=09
		// Generate the dialog and make sure it has focus.
		// alert('attributos:'+attr)
		attr +=3D ",dependent=3Dyes"
		dlg.win=3Dwindow.open(dlg.url, dlg.name, attr)
	}=20
	dlg.win.focus()
}

function openDlgModal(url, width, height, resizable, scrollbars, =
returnFunc, args) {
	//Se sustitituye el valor de la variable pasada como filtro
	var partesUrl;
	var Variables;
	var partesVariables;
	var partesSubFuncion;
	var varFiltro;
	var valorFiltro;
	=09
	partesUrl =3D url.split("?");
	partesVariables =3D partesUrl[1].split("&");
	partesSubFuncion =3D partesVariables[4].split("|");
=09
	if (partesSubFuncion[1]) {
		var urlAux;
		varFiltro =3D partesSubFuncion[1];
		valorFiltro =3D document.getElementById(varFiltro).value;
		urlAux =3D url;
		url =3D urlAux.replace(varFiltro,varFiltro+'=3D'+valorFiltro);
	}
=09
	openDlg(true,url, width, height, resizable, scrollbars, returnFunc, =
args)
}

function openDlgNoModal(url, width, height, resizable, scrollbars, =
returnFunc, args) {
	openDlg(false,url, width, height, resizable, scrollbars, returnFunc, =
args)
}





// Event handler to inhibit Navigator form element=20
// and IE link activity when dialog window is active.
function deadend() {
	if (dlg.win && !dlg.win.closed) {
		dlg.win.focus()
		return false
	}
}

// Since links in IE4 cannot be disabled, preserve=20
// IE link onclick event handlers while they're "disabled."
// Restore when re-enabling the main window.
var IELinkClicks

// Disable form elements and links in all frames for IE.
function disableForms() {
	IELinkClicks =3D new Array()
	for (var h =3D 0; h < frames.length; h++) {
		for (var i =3D 0; i < frames[h].document.forms.length; i++) {
			for (var j =3D 0; j < frames[h].document.forms[i].elements.length; =
j++) {
				frames[h].document.forms[i].elements[j].disabled =3D true
			}
		}
		IELinkClicks[h] =3D new Array()
		for (i =3D 0; i < frames[h].document.links.length; i++) {
			IELinkClicks[h][i] =3D frames[h].document.links[i].onclick
			frames[h].document.links[i].onclick =3D deadend
		}
	}
}

// Restore IE form elements and links to normal behavior.
function enableForms() {
	for (var h =3D 0; h < frames.length; h++) {
		for (var i =3D 0; i < frames[h].document.forms.length; i++) {
			for (var j =3D 0; j < frames[h].document.forms[i].elements.length; =
j++) {
				frames[h].document.forms[i].elements[j].disabled =3D false
			}
		}
		for (i =3D 0; i < frames[h].document.links.length; i++) {
			frames[h].document.links[i].onclick =3D IELinkClicks[h][i]
		}
	}
}

// Grab all Navigator events that might get through to form
// elements while dialog is open. For IE, disable form elements.
function blockEvents() {
	if (dlg.bModal=3D=3Dtrue) {
		if (Nav4) {
			window.captureEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | =
Event.FOCUS)
			window.onclick =3D deadend
		} else {
			disableForms()
		}
		window.onfocus =3D checkModal
	}
}
// As dialog closes, restore the main window's original
// event mechanisms.
function unblockEvents() {
	if (dlg.bModal=3D=3Dtrue) {
		if (Nav4) {
			window.releaseEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | =
Event.FOCUS)
			window.onclick =3D null
			window.onfocus =3D null
		} else {
			enableForms()
		}
	}
}

// Invoked by onFocus event handler of EVERY frame,
// return focus to dialog window if it's open.
function checkModal() {

	if (dlg.win && !dlg.win.closed) {
		dlg.win.focus()=09
	}

}

/**************************
  END MODAL DIALOG CODE
**************************/

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/DlgModalHelper.js

/**********************************************************************
  HELPER MODAL DIALOG CODE handleOK(), handleCancel(), closeme()
***********************************************************************/
// Global for brower version branching.
//var Nav4 =3D ((navigator.appName =3D=3D "Netscape") && =
(parseInt(navigator.appVersion) >=3D 4))
//var Nav5 =3D ((navigator.appName !=3D "Netscape") && =
(parseInt(navigator.appVersion) >=3D 4))

// Handle click of OK button
function handleOK() {
	if (opener && !opener.closed) {
		if (top.transferData!=3Dnull)
			top.transferData();
		if (opener.dlgModal.returnFunc)
			opener.dlgModal.returnFunc(opener.dlgModal.args);
	} else {
		alert("La ventana principal ha sido cerrada.\n\nNo se tomar=E1 ninguna =
acci=F3n al cerrar el di=E1logo.");
	}
	window.close();
	return false;
}

// Handle click of Cancel button
function handleCancel() {
	window.close()
	return false
}

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/HTMLArea/htmlarea.js

// htmlArea v3.0 - Copyright (c) 2002-2004 interactivetools.com, inc.
// This copyright notice MUST stay intact for use (see license.txt).
//
// Portions (c) dynarch.com, 2003-2004
//
// A free WYSIWYG editor replacement for <textarea> fields.
// For full source code and docs, visit http://www.interactivetools.com/
//
// Version 3.0 developed by Mihai Bazon.
//   http://dynarch.com/mishoo
//
// $Id: htmlarea.js,v 1.59 2004/02/09 09:38:47 mishoo Exp $
var dlgEditorHTML =3D new Object();

var ValidandoCampos =3D false;

var FuncionOnSubmit =3D new Object();

var iHTMLControl =3D 0;

var iNumHTMLValidos =3D 0;

if (typeof _editor_url =3D=3D "string") {
	// Leave exactly one backslash at the end of _editor_url
	_editor_url =3D _editor_url.replace(/\x2f*$/, '/');
} else {
	alert("WARNING: _editor_url is not set!  You should set this variable =
to the editor files path; it should preferably be an absolute path, like =
in '/htmlarea', but it can be relative if you prefer.  Further we will =
try to load the editor files correctly but we'll probably fail.");
	_editor_url =3D '';
}

// make sure we have a language
if (typeof _editor_lang =3D=3D "string") {
	_editor_lang =3D _editor_lang.toLowerCase();
} else {
	_editor_lang =3D "en";
}

// Creates a new HTMLArea object.  Tries to replace the textarea with =
the given
// ID with it.
function HTMLArea(textarea, config) {
	if (HTMLArea.checkSupportedBrowser()) {
		if (typeof config =3D=3D "undefined") {
			this.config =3D new HTMLArea.Config();
		} else {
			this.config =3D config;
		}
		this._htmlArea =3D null;
		this._textArea =3D textarea;
		this._editMode =3D "wysiwyg";
		this.plugins =3D {};
		this._timerToolbar =3D null;
		this._timerUndo =3D null;
		this._undoQueue =3D new Array(this.config.undoSteps);
		this._undoPos =3D -1;
		this._customUndo =3D false;
		this._mdoc =3D document; // cache the document, we need it in plugins
		this.doctype =3D '';
	}
};

// load some scripts
(function() {
	var scripts =3D HTMLArea._scripts =3D [ _editor_url + "htmlarea.js",
					    _editor_url + "dialog.js",
					    _editor_url + "popupwin.js",
					    _editor_url + "lang/" + _editor_lang + ".js" ];
	var head =3D document.getElementsByTagName("head")[0];
	// start from 1, htmlarea.js is already loaded
	for (var i =3D 1; i < scripts.length; ++i) {
		var script =3D document.createElement("script");
		script.src =3D scripts[i];
		head.appendChild(script);
	}
})();

// cache some regexps
HTMLArea.RE_tagName =3D /(<\/|<)\s*([^ \t\n>]+)/ig;
HTMLArea.RE_doctype =3D /(<!doctype((.|\n)*?)>)\n?/i;
HTMLArea.RE_head    =3D /<head>((.|\n)*?)<\/head>/i;
HTMLArea.RE_body    =3D /<body>((.|\n)*?)<\/body>/i;

HTMLArea.Config =3D function () {
	this.version =3D "3.0";

	this.width =3D "auto";
	this.height =3D "auto";

	// enable creation of a status bar?
	this.statusBar =3D false;

	// maximum size of the undo queue
	this.undoSteps =3D 20;

	// the time interval at which undo samples are taken
	this.undoTimeout =3D 500;	// 1/2 sec.

	// the next parameter specifies whether the toolbar should be included
	// in the size or not.
	this.sizeIncludesToolbar =3D true;

	// if true then HTMLArea will retrieve the full HTML, starting with the
	// <HTML> tag.
	this.fullPage =3D false;

	// style included in the iframe document
	this.pageStyle =3D "";

	// set to true if you want Word code to be cleaned upon Paste
	this.killWordOnPaste =3D false;

	// BaseURL included in the iframe document
	this.baseURL =3D document.baseURI || document.URL;
	if (this.baseURL && this.baseURL.match(/(.*)\/([^\/]+)/))
		this.baseURL =3D RegExp.$1 + "/";

	// URL-s
	this.imgURL =3D _editor_url + "images/";
	this.popupURL =3D _editor_url + "formas/";

	/** CUSTOMIZING THE TOOLBAR
	 * -------------------------
	 *
	 * It is recommended that you customize the toolbar contents in an
	 * external file (i.e. the one calling HTMLArea) and leave this one
	 * unchanged.  That's because when we (InteractiveTools.com) release a
	 * new official version, it's less likely that you will have problems
	 * upgrading HTMLArea.
	 */	=20
	=20
	this.toolbar =3D [
		  ["popupeditor", "bold", "italic", "underline", "justifyleft", =
"justifycenter", "justifyright", "justifyfull", "htmlmode"]
	];

	/*
	this.toolbar =3D [
		[ "fontname", "space",
		  "fontsize", "space",
		  "formatblock", "space",
		  "bold", "italic", "underline", "strikethrough", "separator",
		  "subscript", "superscript", "separator",
		  "copy", "cut", "paste", "space", "undo", "redo" ],

		[ "justifyleft", "justifycenter", "justifyright", "justifyfull", =
"separator",
		  "lefttoright", "righttoleft", "separator",
		  "insertorderedlist", "insertunorderedlist", "outdent", "indent", =
"separator",
		  "forecolor", "hilitecolor", "separator",
		  "inserthorizontalrule", "createlink", "insertimage", "inserttable", =
"htmlmode", "separator",
		  "popupeditor", "separator", "showhelp", "about" ]
	];
	*/=09

	this.fontname =3D {
		"Arial":	   'arial,helvetica,sans-serif',
		"Courier New":	   'courier new,courier,monospace',
		"Georgia":	   'georgia,times new roman,times,serif',
		"Tahoma":	   'tahoma,arial,helvetica,sans-serif',
		"Times New Roman": 'times new roman,times,serif',
		"Verdana":	   'verdana,arial,helvetica,sans-serif',
		"impact":	   'impact',
		"WingDings":	   'wingdings'
	};

	this.fontsize =3D {
		"1 (8 pt)":  "1",
		"2 (10 pt)": "2",
		"3 (12 pt)": "3",
		"4 (14 pt)": "4",
		"5 (18 pt)": "5",
		"6 (24 pt)": "6",
		"7 (36 pt)": "7"
	};

	this.formatblock =3D {
		"Heading 1": "h1",
		"Heading 2": "h2",
		"Heading 3": "h3",
		"Heading 4": "h4",
		"Heading 5": "h5",
		"Heading 6": "h6",
		"Normal": "p",
		"Address": "address",
		"Formatted": "pre"
	};

	this.customSelects =3D {};

	function cut_copy_paste(e, cmd, obj) {
		e.execCommand(cmd);
	};

	// ADDING CUSTOM BUTTONS: please read below!
	// format of the btnList elements is "ID: [ ToolTip, Icon, Enabled in =
text mode?, ACTION ]"
	//    - ID: unique ID for the button.  If the button calls =
document.execCommand
	//	    it's wise to give it the same name as the called command.
	//    - ACTION: function that gets called when the button is clicked.
	//              it has the following prototype:
	//                 function(editor, buttonName)
	//              - editor is the HTMLArea object that triggered the call
	//              - buttonName is the ID of the clicked button
	//              These 2 parameters makes it possible for you to use the =
same
	//              handler for more HTMLArea objects or for more different =
buttons.
	//    - ToolTip: default tooltip, for cases when it is not defined in =
the -lang- file (HTMLArea.I18N)
	//    - Icon: path to an icon image file for the button (TODO: use one =
image for all buttons!)
	//    - Enabled in text mode: if false the button gets disabled for =
text-only mode; otherwise enabled all the time.
	this.btnList =3D {
		bold: [ "Bold", "ed_format_bold.gif", false, function(e) =
{e.execCommand("bold");} ],
		italic: [ "Italic", "ed_format_italic.gif", false, function(e) =
{e.execCommand("italic");} ],
		underline: [ "Underline", "ed_format_underline.gif", false, =
function(e) {e.execCommand("underline");} ],
		strikethrough: [ "Strikethrough", "ed_format_strike.gif", false, =
function(e) {e.execCommand("strikethrough");} ],
		subscript: [ "Subscript", "ed_format_sub.gif", false, function(e) =
{e.execCommand("subscript");} ],
		superscript: [ "Superscript", "ed_format_sup.gif", false, function(e) =
{e.execCommand("superscript");} ],
		justifyleft: [ "Justify Left", "ed_align_left.gif", false, function(e) =
{e.execCommand("justifyleft");} ],
		justifycenter: [ "Justify Center", "ed_align_center.gif", false, =
function(e) {e.execCommand("justifycenter");} ],
		justifyright: [ "Justify Right", "ed_align_right.gif", false, =
function(e) {e.execCommand("justifyright");} ],
		justifyfull: [ "Justify Full", "ed_align_justify.gif", false, =
function(e) {e.execCommand("justifyfull");} ],
		insertorderedlist: [ "Ordered List", "ed_list_num.gif", false, =
function(e) {e.execCommand("insertorderedlist");} ],
		insertunorderedlist: [ "Bulleted List", "ed_list_bullet.gif", false, =
function(e) {e.execCommand("insertunorderedlist");} ],
		outdent: [ "Decrease Indent", "ed_indent_less.gif", false, function(e) =
{e.execCommand("outdent");} ],
		indent: [ "Increase Indent", "ed_indent_more.gif", false, function(e) =
{e.execCommand("indent");} ],
		forecolor: [ "Font Color", "ed_color_fg.gif", false, function(e) =
{e.execCommand("forecolor");} ],
		hilitecolor: [ "Background Color", "ed_color_bg.gif", false, =
function(e) {e.execCommand("hilitecolor");} ],
		inserthorizontalrule: [ "Horizontal Rule", "ed_hr.gif", false, =
function(e) {e.execCommand("inserthorizontalrule");} ],
		createlink: [ "Insert Web Link", "ed_link.gif", false, function(e) =
{e.execCommand("createlink", true);} ],
		insertimage: [ "Insert/Modify Image", "ed_image.gif", false, =
function(e) {e.execCommand("insertimage");} ],
		inserttable: [ "Insert Table", "insert_table.gif", false, function(e) =
{e.execCommand("inserttable");} ],
		htmlmode: [ "Toggle HTML Source", "ed_html.gif", true, function(e) =
{e.execCommand("htmlmode");} ],
		popupeditor: [ "Enlarge Editor", "fullscreen_maximize.gif", true, =
function(e) {e.execCommand("popupeditor");} ],
		about: [ "About this editor", "ed_about.gif", true, function(e) =
{e.execCommand("about");} ],
		showhelp: [ "Help using editor", "ed_help.gif", true, function(e) =
{e.execCommand("showhelp");} ],
		undo: [ "Undoes your last action", "ed_undo.gif", false, function(e) =
{e.execCommand("undo");} ],
		redo: [ "Redoes your last action", "ed_redo.gif", false, function(e) =
{e.execCommand("redo");} ],
		cut: [ "Cut selection", "ed_cut.gif", false, cut_copy_paste ],
		copy: [ "Copy selection", "ed_copy.gif", false, cut_copy_paste ],
		paste: [ "Paste from clipboard", "ed_paste.gif", false, cut_copy_paste =
],
		lefttoright: [ "Direction left to right", "ed_left_to_right.gif", =
false, function(e) {e.execCommand("lefttoright");} ],
		righttoleft: [ "Direction right to left", "ed_right_to_left.gif", =
false, function(e) {e.execCommand("righttoleft");} ]
	};
	/* ADDING CUSTOM BUTTONS
	 * ---------------------
	 *
	 * It is recommended that you add the custom buttons in an external
	 * file and leave this one unchanged.  That's because when we
	 * (InteractiveTools.com) release a new official version, it's less
	 * likely that you will have problems upgrading HTMLArea.
	 *
	 * Example on how to add a custom button when you construct the =
HTMLArea:
	 *
	 *   var editor =3D new HTMLArea("your_text_area_id");
	 *   var cfg =3D editor.config; // this is the default configuration
	 *   cfg.btnList["my-hilite"] =3D
	 *	[ function(editor) { editor.surroundHTML('<span =
style=3D"background:yellow">', '</span>'); }, // action
	 *	  "Highlight selection", // tooltip
	 *	  "my_hilite.gif", // image
	 *	  false // disabled in text mode
	 *	];
	 *   cfg.toolbar.push(["linebreak", "my-hilite"]); // add the new =
button to the toolbar
	 *
	 * An alternate (also more convenient and recommended) way to
	 * accomplish this is to use the registerButton function below.
	 */
	// initialize tooltips from the I18N module and generate correct image =
path
	for (var i in this.btnList) {
		var btn =3D this.btnList[i];
		btn[1] =3D this.imgURL + btn[1];
		if (typeof HTMLArea.I18N.tooltips[i] !=3D "undefined") {
			btn[0] =3D HTMLArea.I18N.tooltips[i];
		}
	}
};

/** Helper function: register a new button with the configuration.  It =
can be
 * called with all 5 arguments, or with only one (first one).  When =
called with
 * only one argument it must be an object with the following properties: =
id,
 * tooltip, image, textMode, action.  Examples:
 *
 * 1. config.registerButton("my-hilite", "Hilite text", "my-hilite.gif", =
false, function(editor) {...});
 * 2. config.registerButton({
 *      id       : "my-hilite",      // the ID of your button
 *      tooltip  : "Hilite text",    // the tooltip
 *      image    : "my-hilite.gif",  // image to be displayed in the =
toolbar
 *      textMode : false,            // disabled in text mode
 *      action   : function(editor) { // called when the button is =
clicked
 *                   editor.surroundHTML('<span class=3D"hilite">', =
'</span>');
 *                 },
 *      context  : "p"               // will be disabled if outside a =
<p> element
 *    });
 */
HTMLArea.Config.prototype.registerButton =3D function(id, tooltip, =
image, textMode, action, context) {
	var the_id;
	if (typeof id =3D=3D "string") {
		the_id =3D id;
	} else if (typeof id =3D=3D "object") {
		the_id =3D id.id;
	} else {
		alert("ERROR [HTMLArea.Config::registerButton]:\ninvalid arguments");
		return false;
	}
	// check for existing id
	if (typeof this.customSelects[the_id] !=3D "undefined") {
		// alert("WARNING [HTMLArea.Config::registerDropdown]:\nA dropdown =
with the same ID already exists.");
	}
	if (typeof this.btnList[the_id] !=3D "undefined") {
		// alert("WARNING [HTMLArea.Config::registerDropdown]:\nA button with =
the same ID already exists.");
	}
	switch (typeof id) {
	    case "string": this.btnList[id] =3D [ tooltip, image, textMode, =
action, context ]; break;
	    case "object": this.btnList[id.id] =3D [ id.tooltip, id.image, =
id.textMode, id.action, id.context ]; break;
	}
};

/** The following helper function registers a dropdown box with the =
editor
 * configuration.  You still have to add it to the toolbar, same as with =
the
 * buttons.  Call it like this:
 *
 * FIXME: add example
 */
HTMLArea.Config.prototype.registerDropdown =3D function(object) {
	// check for existing id
	if (typeof this.customSelects[object.id] !=3D "undefined") {
		// alert("WARNING [HTMLArea.Config::registerDropdown]:\nA dropdown =
with the same ID already exists.");
	}
	if (typeof this.btnList[object.id] !=3D "undefined") {
		// alert("WARNING [HTMLArea.Config::registerDropdown]:\nA button with =
the same ID already exists.");
	}
	this.customSelects[object.id] =3D object;
};

/** Call this function to remove some buttons/drop-down boxes from the =
toolbar.
 * Pass as the only parameter a string containing button/drop-down names
 * delimited by spaces.  Note that the string should also begin with a =
space
 * and end with a space.  Example:
 *
 *   config.hideSomeButtons(" fontname fontsize textindicator ");
 *
 * It's useful because it's easier to remove stuff from the defaul =
toolbar than
 * create a brand new toolbar ;-)
 */
HTMLArea.Config.prototype.hideSomeButtons =3D function(remove) {
	var toolbar =3D this.toolbar;
	for (var i in toolbar) {
		var line =3D toolbar[i];
		for (var j =3D line.length; --j >=3D 0; ) {
			if (remove.indexOf(" " + line[j] + " ") >=3D 0) {
				var len =3D 1;
				if (/separator|space/.test(line[j + 1])) {
					len =3D 2;
				}
				line.splice(j, len);
			}
		}
	}
};

/** Helper function: replace all TEXTAREA-s in the document with =
HTMLArea-s. */
HTMLArea.replaceAll =3D function(config) {
	var tas =3D document.getElementsByTagName("textarea");
	for (var i =3D tas.length; i > 0; (new HTMLArea(tas[--i], =
config)).generate());
};

/** Helper function: replaces the TEXTAREA with the given ID with =
HTMLArea. */
HTMLArea.replace =3D function(id, config) {
	var ta =3D HTMLArea.getElementById("textarea", id);

	iHTMLControl =3D iHTMLControl + 1;
	return ta ? (new HTMLArea(ta, config)).generate() : null;
};

HTMLArea.ObtenerValor =3D function(id) {
	var ta =3D HTMLArea.getElementById("textarea", id);
	alert(ta.getHTML());
	return ta;
}

// Creates the toolbar and appends it to the _htmlarea
HTMLArea.prototype._createToolbar =3D function () {
	var editor =3D this;	// to access this in nested functions

	var toolbar =3D document.createElement("div");
	this._toolbar =3D toolbar;
	toolbar.className =3D "toolbar";
	toolbar.unselectable =3D "1";
	var tb_row =3D null;
	var tb_objects =3D new Object();
	this._toolbarObjects =3D tb_objects;

	// creates a new line in the toolbar
	function newLine() {
		var table =3D document.createElement("table");
		table.border =3D "0px";
		table.cellSpacing =3D "0px";
		table.cellPadding =3D "0px";
		toolbar.style.width =3D editor._textArea.style.width;

		toolbar.appendChild(table);
		// TBODY is required for IE, otherwise you don't see anything
		// in the TABLE.
		var tb_body =3D document.createElement("tbody");
		table.appendChild(tb_body);
		tb_row =3D document.createElement("tr");
		tb_body.appendChild(tb_row);
	}; // END of function: newLine
	// init first line
	newLine();

	// updates the state of a toolbar element.  This function is member of
	// a toolbar element object (unnamed objects created by createButton or
	// createSelect functions below).
	function setButtonStatus(id, newval) {
		var oldval =3D this[id];
		var el =3D this.element;
		if (oldval !=3D newval) {
			switch (id) {
			    case "enabled":
				if (newval) {
					HTMLArea._removeClass(el, "buttonDisabled");
					el.disabled =3D false;
				} else {
					HTMLArea._addClass(el, "buttonDisabled");
					el.disabled =3D true;
				}
				break;
			    case "active":
				if (newval) {
					HTMLArea._addClass(el, "buttonPressed");
				} else {
					HTMLArea._removeClass(el, "buttonPressed");
				}
				break;
			}
			this[id] =3D newval;
		}
	}; // END of function: setButtonStatus

	// this function will handle creation of combo boxes.  Receives as
	// parameter the name of a button as defined in the toolBar config.
	// This function is called from createButton, above, if the given "txt"
	// doesn't match a button.
	function createSelect(txt) {
		var options =3D null;
		var el =3D null;
		var cmd =3D null;
		var customSelects =3D editor.config.customSelects;
		var context =3D null;
		switch (txt) {
		    case "fontsize":
		    case "fontname":
		    case "formatblock":
			// the following line retrieves the correct
			// configuration option because the variable name
			// inside the Config object is named the same as the
			// button/select in the toolbar.  For instance, if txt
			// =3D=3D "formatblock" we retrieve config.formatblock (or
			// a different way to write it in JS is
			// config["formatblock"].
			options =3D editor.config[txt];
			cmd =3D txt;
			break;
		    default:
			// try to fetch it from the list of registered selects
			cmd =3D txt;
			var dropdown =3D customSelects[cmd];
			if (typeof dropdown !=3D "undefined") {
				options =3D dropdown.options;
				context =3D dropdown.context;
			} else {
				alert("ERROR [createSelect]:\nCan't find the requested dropdown =
definition");
			}
			break;
		}
		if (options) {
			el =3D document.createElement("select");
			var obj =3D {
				name	: txt, // field name
				element : el,	// the UI element (SELECT)
				enabled : true, // is it enabled?
				text	: false, // enabled in text mode?
				cmd	: cmd, // command ID
				state	: setButtonStatus, // for changing state
				context : context
			};
			tb_objects[txt] =3D obj;
			for (var i in options) {
				var op =3D document.createElement("option");
				op.appendChild(document.createTextNode(i));
				op.value =3D options[i];
				el.appendChild(op);
			}
			HTMLArea._addEvent(el, "change", function () {
				editor._comboSelected(el, txt);
			});
		}
		return el;
	}; // END of function: createSelect

	// appends a new button to toolbar
	function createButton(txt) {
		// the element that will be created
		var el =3D null;
		var btn =3D null;
		switch (txt) {
		    case "separator":
			el =3D document.createElement("div");
			el.className =3D "separator";
			break;
		    case "space":
			el =3D document.createElement("div");
			el.className =3D "space";
			break;
		    case "linebreak":
			newLine();
			return false;
		    case "textindicator":
			el =3D document.createElement("div");
			el.appendChild(document.createTextNode("A"));
			el.className =3D "indicator";
			el.title =3D HTMLArea.I18N.tooltips.textindicator;
			var obj =3D {
				name	: txt, // the button name (i.e. 'bold')
				element : el, // the UI element (DIV)
				enabled : true, // is it enabled?
				active	: false, // is it pressed?
				text	: false, // enabled in text mode?
				cmd	: "textindicator", // the command ID
				state	: setButtonStatus // for changing state
			};
			tb_objects[txt] =3D obj;
			break;
		    default:
			btn =3D editor.config.btnList[txt];
		}
		if (!el && btn) {
			el =3D document.createElement("div");
			el.title =3D btn[0];
			el.className =3D "button";
			// let's just pretend we have a button object, and
			// assign all the needed information to it.
			var obj =3D {
				name	: txt, // the button name (i.e. 'bold')
				element : el, // the UI element (DIV)
				enabled : true, // is it enabled?
				active	: false, // is it pressed?
				text	: btn[2], // enabled in text mode?
				cmd	: btn[3], // the command ID
				state	: setButtonStatus, // for changing state
				context : btn[4] || null // enabled in a certain context?
			};
			tb_objects[txt] =3D obj;
			// handlers to emulate nice flat toolbar buttons
			HTMLArea._addEvent(el, "mouseover", function () {
				if (obj.enabled) {
					HTMLArea._addClass(el, "buttonHover");
				}
			});
			HTMLArea._addEvent(el, "mouseout", function () {
				if (obj.enabled) with (HTMLArea) {
					_removeClass(el, "buttonHover");
					_removeClass(el, "buttonActive");
					(obj.active) && _addClass(el, "buttonPressed");
				}
			});
			HTMLArea._addEvent(el, "mousedown", function (ev) {
				if (obj.enabled) with (HTMLArea) {
					_addClass(el, "buttonActive");
					_removeClass(el, "buttonPressed");
					_stopEvent(is_ie ? window.event : ev);
				}
			});
			// when clicked, do the following:
			HTMLArea._addEvent(el, "click", function (ev) {
				if (obj.enabled) with (HTMLArea) {
					_removeClass(el, "buttonActive");
					_removeClass(el, "buttonHover");
					obj.cmd(editor, obj.name, obj);
					_stopEvent(is_ie ? window.event : ev);
				}
			});
			var img =3D document.createElement("img");
			img.src =3D btn[1];
			img.style.width =3D "18px";
			img.style.height =3D "18px";
			el.appendChild(img);
		} else if (!el) {
			el =3D createSelect(txt);
		}
		if (el) {
			var tb_cell =3D document.createElement("td");
			tb_row.appendChild(tb_cell);
			tb_cell.appendChild(el);
		} else {
			alert("FIXME: Unknown toolbar item: " + txt);
		}
		return el;
	};

	var first =3D true;
	for (var i in this.config.toolbar) {
		if (!first) {
			createButton("linebreak");
		} else {
			first =3D false;
		}
		var group =3D this.config.toolbar[i];
		for (var j in group) {
			var code =3D group[j];
			if (/^([IT])\[(.*?)\]/.test(code)) {
				// special case, create text label
				var l7ed =3D RegExp.$1 =3D=3D "I"; // localized?
				var label =3D RegExp.$2;
				if (l7ed) {
					label =3D HTMLArea.I18N.custom[label];
				}
				var tb_cell =3D document.createElement("td");
				tb_row.appendChild(tb_cell);
				tb_cell.className =3D "label";
				tb_cell.innerHTML =3D label;
			} else {
				createButton(code);
			}
		}
	}

	this._htmlArea.appendChild(toolbar);
};

HTMLArea.prototype._createStatusBar =3D function() {
	var statusbar =3D document.createElement("div");
	statusbar.className =3D "statusBar";
	this._htmlArea.appendChild(statusbar);
	this._statusBar =3D statusbar;
	// =
statusbar.appendChild(document.createTextNode(HTMLArea.I18N.msg["Path"] =
+ ": "));
	// creates a holder for the path view
	div =3D document.createElement("span");
	div.className =3D "statusBarTree";
	div.innerHTML =3D HTMLArea.I18N.msg["Path"] + ": ";
	this._statusBarTree =3D div;
	this._statusBar.appendChild(div);
	if (!this.config.statusBar) {
		// disable it...
		statusbar.style.display =3D "none";
	}
};

// Creates the HTMLArea object and replaces the textarea with it.
HTMLArea.prototype.generate =3D function () {
	var editor =3D this;	// we'll need "this" in some nested functions
	// get the textarea
	var textarea =3D this._textArea;
	if (typeof textarea =3D=3D "string") {
		// it's not element but ID
		this._textArea =3D textarea =3D HTMLArea.getElementById("textarea", =
textarea);
	}
	this._ta_size =3D {
		w: textarea.offsetWidth,
		h: textarea.offsetHeight
	};

	textarea.style.display =3D "none";

	// create the editor framework
	var htmlarea =3D document.createElement("div");
	htmlarea.className =3D "htmlarea";
	this._htmlArea =3D htmlarea;

	// insert the editor before the textarea.
	textarea.parentNode.insertBefore(htmlarea, textarea);

	if (textarea.form) {
		// we have a form, on submit get the HTMLArea content and
		// update original textarea.
		var f =3D textarea.form;
		if (typeof f.onsubmit =3D=3D "function") {
			var funcref =3D f.onsubmit;
			if (typeof f.__msh_prevOnSubmit =3D=3D "undefined") {
				f.__msh_prevOnSubmit =3D [];
			}
			f.__msh_prevOnSubmit.push(funcref);
		}
		f.onsubmit =3D function() {
			editor._textArea.value =3D editor.getHTML();

			var a =3D this.__msh_prevOnSubmit;

			// call previous submit methods if they were there.
			if (typeof a !=3D "undefined") {
				FuncionOnSubmit =3D a;
			}

			if (iNumHTMLValidos >=3D iHTMLControl) {
				ValidandoCampos =3D false;
				iNumHTMLValidos =3D 0;
			}		=09

			iNumHTMLValidos =3D iNumHTMLValidos + 1;

		=09
			for (var i in FuncionOnSubmit) {
				if ((i+1) > iNumHTMLValidos || iNumHTMLValidos =3D=3D iHTMLControl) =
{
				=09
					if (iNumHTMLValidos =3D=3D iHTMLControl) {
						var FormaValida;
						if (ValidandoCampos =3D=3D false) {
							FormaValida =3D FuncionOnSubmit[0]();
							ValidandoCampos =3D true;
						}
						return FormaValida;
					}
					return FuncionOnSubmit[iNumHTMLValidos]();
				}
			}
		=09
		};
	}

	// add a handler for the "back/forward" case -- on body.unload we save
	// the HTML content into the original textarea.
	window.onunload =3D function() {
		editor._textArea.value =3D editor.getHTML();
	};

	// creates & appends the toolbar
	this._createToolbar();

	// create the IFRAME
	var iframe =3D document.createElement("iframe");
	htmlarea.appendChild(iframe);

	this._iframe =3D iframe;

	// creates & appends the status bar, if the case
	this._createStatusBar();

	// remove the default border as it keeps us from computing correctly
	// the sizes.  (somebody tell me why doesn't this work in IE)

	//if (!HTMLArea.is_ie) {
		iframe.style.borderWidth =3D "2px";
		iframe.frameBorder =3D "2";
		iframe.marginHeight =3D "0";
		iframe.marginWidth =3D "0";
	//}

	// size the IFRAME according to user's prefs or initial textarea
	var height =3D (this.config.height =3D=3D "auto" ? (this._ta_size.h + =
"px") : this.config.height);
	height =3D parseInt(height);
	var width =3D (this.config.width =3D=3D "auto" ? (this._ta_size.w + =
"px") : this.config.width);

	width =3D parseInt(width);

	//if (!HTMLArea.is_ie) {
		height -=3D -2;
		width -=3D -2;
	//}

	iframe.style.width =3D width + "px";
	if (this.config.sizeIncludesToolbar) {
		// substract toolbar height
		height -=3D this._toolbar.offsetHeight;
		height -=3D this._statusBar.offsetHeight;
	}
	if (height < 0) {
		height =3D 0;
	}
	iframe.style.height =3D height + "px";

	// the editor including the toolbar now have the same size as the
	// original textarea.. which means that we need to reduce that a bit.
	textarea.style.width =3D iframe.style.width;
 	textarea.style.height =3D iframe.style.height;

	// IMPORTANT: we have to allow Mozilla a short time to recognize the
	// new frame.  Otherwise we get a stupid exception.
	function initIframe() {
		var doc =3D editor._iframe.contentWindow.document;
		if (!doc) {
			// Try again..
			// FIXME: don't know what else to do here.  Normally
			// we'll never reach this point.
			if (HTMLArea.is_gecko) {
				setTimeout(initIframe, 100);
				return false;
			} else {
				alert("ERROR: IFRAME can't be initialized.");
			}
		}
		if (HTMLArea.is_gecko) {
			// enable editable mode for Mozilla
			doc.designMode =3D "on";
		}
		editor._doc =3D doc;
		if (!editor.config.fullPage) {
			doc.open();
			var html =3D "<html>\n";
			html +=3D "<head>\n";
			if (editor.config.baseURL)
				html +=3D '<base href=3D"' + editor.config.baseURL + '" />';
			html +=3D "<style> html,body { border: 0px; } " +
				editor.config.pageStyle + "</style>\n";
			html +=3D "</head>\n";
			html +=3D "<body onLoad=3D\"if (top.opener && top.opener.blockEvents) =
top.opener.blockEvents()\"";
			html +=3D " onUnload=3D\"if (top.opener && =
top.opener.unblockEvents)";
			html +=3D " top.opener.unblockEvents(); if (top.CierraDependencias) =
top.CierraDependencias();\">\n";
			html +=3D editor._textArea.value;
			html +=3D "</body>\n";
			html +=3D "</html>";
			doc.write(html);
			doc.close();
			if (HTMLArea.is_ie)
				htmlarea.style.width =3D iframe.style.width;
		} else {
			var html =3D editor._textArea.value;
			if (html.match(HTMLArea.RE_doctype)) {
				editor.setDoctype(RegExp.$1);
				html =3D html.replace(HTMLArea.RE_doctype, "");
			}
			doc.open();
			doc.write(html);
			doc.close();
		}

		if (HTMLArea.is_ie) {
			// enable editable mode for IE.	 For some reason this
			// doesn't work if done in the same place as for Gecko
			// (above).
			doc.body.contentEditable =3D true;
		}

		//editor.focusEditor();
		// intercept some events; for updating the toolbar & keyboard handlers
		HTMLArea._addEvents
			(doc, ["keydown", "keypress", "mousedown", "mouseup", "drag"],
			 function (event) {
				 return editor._editorEvent(HTMLArea.is_ie ? =
editor._iframe.contentWindow.event : event);
			 });

		// check if any plugins have registered refresh handlers
		for (var i in editor.plugins) {
			var plugin =3D editor.plugins[i].instance;
			if (typeof plugin.onGenerate =3D=3D "function")
				plugin.onGenerate();
		}

		setTimeout(function() {
			editor.updateToolbar();
		}, 250);

		if (typeof editor.onGenerate =3D=3D "function")
			editor.onGenerate();
	};
	setTimeout(initIframe, 100);
};

// Switches editor mode; parameter can be "textmode" or "wysiwyg".  If =
no
// parameter was passed this function toggles between modes.
HTMLArea.prototype.setMode =3D function(mode) {
	if (typeof mode =3D=3D "undefined") {
		mode =3D ((this._editMode =3D=3D "textmode") ? "wysiwyg" : =
"textmode");
	}
	switch (mode) {
	    case "textmode":
		this._textArea.value =3D this.getHTML();
		this._iframe.style.display =3D "none";
		this._textArea.style.display =3D "block";
		if (this.config.statusBar) {
			this._statusBar.innerHTML =3D HTMLArea.I18N.msg["TEXT_MODE"];
		}
		break;
	    case "wysiwyg":
		if (HTMLArea.is_gecko) {
			// disable design mode before changing innerHTML
			try {
				this._doc.designMode =3D "off";
			} catch(e) {};
		}
		if (!this.config.fullPage)
			this._doc.body.innerHTML =3D this.getHTML();
		else
			this.setFullHTML(this.getHTML());
		this._iframe.style.display =3D "block";
		this._textArea.style.display =3D "none";
		if (HTMLArea.is_gecko) {
			// we need to refresh that info for Moz-1.3a
			try {
				this._doc.designMode =3D "on";
			} catch(e) {};
		}
		if (this.config.statusBar) {
			this._statusBar.innerHTML =3D '';
			=
this._statusBar.appendChild(document.createTextNode(HTMLArea.I18N.msg["Pa=
th"] + ": "));
			this._statusBar.appendChild(this._statusBarTree);
		}
		break;
	    default:
		alert("Mode <" + mode + "> not defined!");
		return false;
	}
	this._editMode =3D mode;
	this.focusEditor();
};

HTMLArea.prototype.setFullHTML =3D function(html) {
	var save_multiline =3D RegExp.multiline;
	RegExp.multiline =3D true;
	if (html.match(HTMLArea.RE_doctype)) {
		this.setDoctype(RegExp.$1);
		html =3D html.replace(HTMLArea.RE_doctype, "");
	}
	RegExp.multiline =3D save_multiline;
	if (!HTMLArea.is_ie) {
		if (html.match(HTMLArea.RE_head))
			this._doc.getElementsByTagName("head")[0].innerHTML =3D RegExp.$1;
		if (html.match(HTMLArea.RE_body))
			this._doc.getElementsByTagName("body")[0].innerHTML =3D RegExp.$1;
	} else {
		var html_re =3D /<html>((.|\n)*?)<\/html>/i;
		html =3D html.replace(html_re, "$1");
		this._doc.open();
		this._doc.write(html);
		this._doc.close();
		this._doc.body.contentEditable =3D true;
		return true;
	}
};

/***************************************************
 *  Category: PLUGINS
 ***************************************************/

// this is the variant of the function above where the plugin arguments =
are
// already packed in an array.  Externally, it should be only used in =
the
// full-screen editor code, in order to initialize plugins with the same
// parameters as in the opener window.
HTMLArea.prototype.registerPlugin2 =3D function(plugin, args) {
	if (typeof plugin =3D=3D "string")
		plugin =3D eval(plugin);
	var obj =3D new plugin(this, args);
	if (obj) {
		var clone =3D {};
		var info =3D plugin._pluginInfo;
		for (var i in info)
			clone[i] =3D info[i];
		clone.instance =3D obj;
		clone.args =3D args;
		this.plugins[plugin._pluginInfo.name] =3D clone;
	} else
		alert("Can't register plugin " + plugin.toString() + ".");
};

// Create the specified plugin and register it with this HTMLArea
HTMLArea.prototype.registerPlugin =3D function() {
	var plugin =3D arguments[0];
	var args =3D [];
	for (var i =3D 1; i < arguments.length; ++i)
		args.push(arguments[i]);
	this.registerPlugin2(plugin, args);
};

// static function that loads the required plugin and lang file, based =
on the
// language loaded already for HTMLArea.  You better make sure that the =
plugin
// _has_ that language, otherwise shit might happen ;-)
HTMLArea.loadPlugin =3D function(pluginName) {
	var dir =3D _editor_url + "plugins/" + pluginName;
	var plugin =3D pluginName.replace(/([a-z])([A-Z])([a-z])/g,
					function (str, l1, l2, l3) {
						return l1 + "-" + l2.toLowerCase() + l3;
					}).toLowerCase() + ".js";
	var plugin_file =3D dir + "/" + plugin;
	var plugin_lang =3D dir + "/lang/" + HTMLArea.I18N.lang + ".js";
	HTMLArea._scripts.push(plugin_file, plugin_lang);
	document.write("<script type=3D'text/javascript' src=3D'" + plugin_file =
+ "'></script>");
	document.write("<script type=3D'text/javascript' src=3D'" + plugin_lang =
+ "'></script>");
};

HTMLArea.loadStyle =3D function(style, plugin) {
	var url =3D _editor_url || '';
	if (typeof plugin !=3D "undefined") {
		url +=3D "plugins/" + plugin + "/";
	}
	url +=3D style;
	document.write("<style type=3D'text/css'>@import url(" + url + =
");</style>");
};
HTMLArea.loadStyle("/alexandr/estilos/htmlarea.css");

/***************************************************
 *  Category: EDITOR UTILITIES
 ***************************************************/

// The following function is a slight variation of the word cleaner code =
posted
// by Weeezl (user @ InteractiveTools forums).
HTMLArea.prototype._wordClean =3D function() {
	var D =3D this.getInnerHTML();
	if (D.indexOf('class=3DMso') >=3D 0) {

		// make one line
		D =3D D.replace(/\r\n/g, ' ').
			replace(/\n/g, ' ').
			replace(/\r/g, ' ').
			replace(/\&nbsp\;/g,' ');

		// keep tags, strip attributes
		D =3D D.replace(/ class=3D[^\s|>]*/gi,'').
			//replace(/<p [^>]*TEXT-ALIGN: justify[^>]*>/gi,'<p =
align=3D"justify">').
			replace(/ style=3D\"[^>]*\"/gi,'').
			replace(/ align=3D[^\s|>]*/gi,'');

		//clean up tags
		D =3D D.replace(/<b [^>]*>/gi,'<b>').
			replace(/<i [^>]*>/gi,'<i>').
			replace(/<li [^>]*>/gi,'<li>').
			replace(/<ul [^>]*>/gi,'<ul>');

		// replace outdated tags
		D =3D D.replace(/<b>/gi,'<strong>').
			replace(/<\/b>/gi,'</strong>');

		// mozilla doesn't like <em> tags
		D =3D D.replace(/<em>/gi,'<i>').
			replace(/<\/em>/gi,'</i>');

		// kill unwanted tags
		D =3D D.replace(/<\?xml:[^>]*>/g, '').       // Word xml
			replace(/<\/?st1:[^>]*>/g,'').     // Word SmartTags
			replace(/<\/?[a-z]\:[^>]*>/g,'').  // All other funny Word non-HTML =
stuff
			replace(/<\/?font[^>]*>/gi,'').    // Disable if you want to keep =
font formatting
			replace(/<\/?span[^>]*>/gi,' ').
			replace(/<\/?div[^>]*>/gi,' ').
			replace(/<\/?pre[^>]*>/gi,' ').
			replace(/<\/?h[1-6][^>]*>/gi,' ');

		//remove empty tags
		//D =3D D.replace(/<strong><\/strong>/gi,'').
		//replace(/<i><\/i>/gi,'').
		//replace(/<P[^>]*><\/P>/gi,'');

		// nuke double tags
		oldlen =3D D.length + 1;
		while(oldlen > D.length) {
			oldlen =3D D.length;
			// join us now and free the tags, we'll be free hackers, we'll be =
free... ;-)
			D =3D D.replace(/<([a-z][a-z]*)> *<\/\1>/gi,' ').
				replace(/<([a-z][a-z]*)> *<([a-z][^>]*)> *<\/\1>/gi,'<$2>');
		}
		D =3D D.replace(/<([a-z][a-z]*)><\1>/gi,'<$1>').
			replace(/<\/([a-z][a-z]*)><\/\1>/gi,'<\/$1>');

		// nuke double spaces
		D =3D D.replace(/  */gi,' ');

		this.setHTML(D);
		this.updateToolbar();
	}
};

HTMLArea.prototype.forceRedraw =3D function() {
	this._doc.body.style.visibility =3D "hidden";
	this._doc.body.style.visibility =3D "visible";
	// this._doc.body.innerHTML =3D this.getInnerHTML();
};

// focuses the iframe window.  returns a reference to the editor =
document.
HTMLArea.prototype.focusEditor =3D function() {
	switch (this._editMode) {
	    case "wysiwyg" : this._iframe.contentWindow.focus(); break;
	    case "textmode": this._textArea.focus(); break;
	    default	   : alert("ERROR: mode " + this._editMode + " is not =
defined");
	}
	return this._doc;
};

// takes a snapshot of the current text (for undo)
HTMLArea.prototype._undoTakeSnapshot =3D function() {
	++this._undoPos;
	if (this._undoPos >=3D this.config.undoSteps) {
		// remove the first element
		this._undoQueue.shift();
		--this._undoPos;
	}
	// use the fasted method (getInnerHTML);
	var take =3D true;
	var txt =3D this.getInnerHTML();
	if (this._undoPos > 0)
		take =3D (this._undoQueue[this._undoPos - 1] !=3D txt);
	if (take) {
		this._undoQueue[this._undoPos] =3D txt;
	} else {
		this._undoPos--;
	}
};

HTMLArea.prototype.undo =3D function() {
	if (this._undoPos > 0) {
		var txt =3D this._undoQueue[--this._undoPos];
		if (txt) this.setHTML(txt);
		else ++this._undoPos;
	}
};

HTMLArea.prototype.redo =3D function() {
	if (this._undoPos < this._undoQueue.length - 1) {
		var txt =3D this._undoQueue[++this._undoPos];
		if (txt) this.setHTML(txt);
		else --this._undoPos;
	}
};

// updates enabled/disable/active state of the toolbar elements
HTMLArea.prototype.updateToolbar =3D function(noStatus) {
	var doc =3D this._doc;
	var text =3D (this._editMode =3D=3D "textmode");
	var ancestors =3D null;
	if (!text) {
		ancestors =3D this.getAllAncestors();
		if (this.config.statusBar && !noStatus) {
			this._statusBarTree.innerHTML =3D HTMLArea.I18N.msg["Path"] + ": "; =
// clear
			for (var i =3D ancestors.length; --i >=3D 0;) {
				var el =3D ancestors[i];
				if (!el) {
					// hell knows why we get here; this
					// could be a classic example of why
					// it's good to check for conditions
					// that are impossible to happen ;-)
					continue;
				}
				var a =3D document.createElement("a");
				a.href =3D "#";
				a.el =3D el;
				a.editor =3D this;
				a.onclick =3D function() {
					this.blur();
					this.editor.selectNodeContents(this.el);
					this.editor.updateToolbar(true);
					return false;
				};
				a.oncontextmenu =3D function() {
					// TODO: add context menu here
					this.blur();
					var info =3D "Inline style:\n\n";
					info +=3D this.el.style.cssText.split(/;\s*/).join(";\n");
					alert(info);
					return false;
				};
				var txt =3D el.tagName.toLowerCase();
				a.title =3D el.style.cssText;
				if (el.id) {
					txt +=3D "#" + el.id;
				}
				if (el.className) {
					txt +=3D "." + el.className;
				}
				a.appendChild(document.createTextNode(txt));
				this._statusBarTree.appendChild(a);
				if (i !=3D 0) {
					=
this._statusBarTree.appendChild(document.createTextNode(String.fromCharCo=
de(0xbb)));
				}
			}
		}
	}
	for (var i in this._toolbarObjects) {
		var btn =3D this._toolbarObjects[i];
		var cmd =3D i;
		var inContext =3D true;
		if (btn.context && !text) {
			inContext =3D false;
			var context =3D btn.context;
			var attrs =3D [];
			if (/(.*)\[(.*?)\]/.test(context)) {
				context =3D RegExp.$1;
				attrs =3D RegExp.$2.split(",");
			}
			context =3D context.toLowerCase();
			var match =3D (context =3D=3D "*");
			for (var k in ancestors) {
				if (!ancestors[k]) {
					// the impossible really happens.
					continue;
				}
				if (match || (ancestors[k].tagName.toLowerCase() =3D=3D context)) {
					inContext =3D true;
					for (var ka in attrs) {
						if (!eval("ancestors[k]." + attrs[ka])) {
							inContext =3D false;
							break;
						}
					}
					if (inContext) {
						break;
					}
				}
			}
		}
		btn.state("enabled", (!text || btn.text) && inContext);
		if (typeof cmd =3D=3D "function") {
			continue;
		}
		// look-it-up in the custom dropdown boxes
		var dropdown =3D this.config.customSelects[cmd];
		if ((!text || btn.text) && (typeof dropdown !=3D "undefined")) {
			dropdown.refresh(this);
			continue;
		}
		switch (cmd) {
		    case "fontname":
		    case "fontsize":
		    case "formatblock":
			if (!text) try {
				var value =3D ("" + doc.queryCommandValue(cmd)).toLowerCase();
				if (!value) {
					// FIXME: what do we do here?
					break;
				}
				// HACK -- retrieve the config option for this
				// combo box.  We rely on the fact that the
				// variable in config has the same name as
				// button name in the toolbar.
				var options =3D this.config[cmd];
				var k =3D 0;
				// btn.element.selectedIndex =3D 0;
				for (var j in options) {
					// FIXME: the following line is scary.
					if ((j.toLowerCase() =3D=3D value) ||
					    (options[j].substr(0, value.length).toLowerCase() =3D=3D =
value)) {
						btn.element.selectedIndex =3D k;
						break;
					}
					++k;
				}
			} catch(e) {};
			break;
		    case "textindicator":
			if (!text) {
				try {with (btn.element.style) {
					backgroundColor =3D HTMLArea._makeColor(
						doc.queryCommandValue(HTMLArea.is_ie ? "backcolor" : =
"hilitecolor"));
					if (/transparent/i.test(backgroundColor)) {
						// Mozilla
						backgroundColor =3D =
HTMLArea._makeColor(doc.queryCommandValue("backcolor"));
					}
					color =3D HTMLArea._makeColor(doc.queryCommandValue("forecolor"));
					fontFamily =3D doc.queryCommandValue("fontname");
					fontWeight =3D doc.queryCommandState("bold") ? "bold" : "normal";
					fontStyle =3D doc.queryCommandState("italic") ? "italic" : =
"normal";
				}} catch (e) {
					// alert(e + "\n\n" + cmd);
				}
			}
			break;
		    case "htmlmode": btn.state("active", text); break;
		    case "lefttoright":
		    case "righttoleft":
			var el =3D this.getParentElement();
			while (el && !HTMLArea.isBlockElement(el))
				el =3D el.parentNode;
			if (el)
				btn.state("active", (el.style.direction =3D=3D ((cmd =3D=3D =
"righttoleft") ? "rtl" : "ltr")));
			break;
		    default:
			try {
				btn.state("active", (!text && doc.queryCommandState(cmd)));
			} catch (e) {}
		}
	}
	// take undo snapshots
	if (this._customUndo && !this._timerUndo) {
		this._undoTakeSnapshot();
		var editor =3D this;
		this._timerUndo =3D setTimeout(function() {
			editor._timerUndo =3D null;
		}, this.config.undoTimeout);
	}
	// check if any plugins have registered refresh handlers
	for (var i in this.plugins) {
		var plugin =3D this.plugins[i].instance;
		if (typeof plugin.onUpdateToolbar =3D=3D "function")
			plugin.onUpdateToolbar();
	}
};

/** Returns a node after which we can insert other nodes, in the current
 * selection.  The selection is removed.  It splits a text node, if =
needed.
 */
HTMLArea.prototype.insertNodeAtSelection =3D function(toBeInserted) {
	if (!HTMLArea.is_ie) {
		var sel =3D this._getSelection();
		var range =3D this._createRange(sel);
		// remove the current selection
		sel.removeAllRanges();
		range.deleteContents();
		var node =3D range.startContainer;
		var pos =3D range.startOffset;
		switch (node.nodeType) {
		    case 3: // Node.TEXT_NODE
			// we have to split it at the caret position.
			if (toBeInserted.nodeType =3D=3D 3) {
				// do optimized insertion
				node.insertData(pos, toBeInserted.data);
				range =3D this._createRange();
				range.setEnd(node, pos + toBeInserted.length);
				range.setStart(node, pos + toBeInserted.length);
				sel.addRange(range);
			} else {
				node =3D node.splitText(pos);
				var selnode =3D toBeInserted;
				if (toBeInserted.nodeType =3D=3D 11 /* Node.DOCUMENT_FRAGMENT_NODE =
*/) {
					selnode =3D selnode.firstChild;
				}
				node.parentNode.insertBefore(toBeInserted, node);
				this.selectNodeContents(selnode);
				this.updateToolbar();
			}
			break;
		    case 1: // Node.ELEMENT_NODE
			var selnode =3D toBeInserted;
			if (toBeInserted.nodeType =3D=3D 11 /* Node.DOCUMENT_FRAGMENT_NODE =
*/) {
				selnode =3D selnode.firstChild;
			}
			node.insertBefore(toBeInserted, node.childNodes[pos]);
			this.selectNodeContents(selnode);
			this.updateToolbar();
			break;
		}
	} else {
		return null;	// this function not yet used for IE <FIXME>
	}
};

// Returns the deepest node that contains both endpoints of the =
selection.
HTMLArea.prototype.getParentElement =3D function() {
	var sel =3D this._getSelection();
	var range =3D this._createRange(sel);
	if (HTMLArea.is_ie) {
		switch (sel.type) {
		    case "Text":
		    case "None":
			// It seems that even for selection of type "None",
			// there _is_ a parent element and it's value is not
			// only correct, but very important to us.  MSIE is
			// certainly the buggiest browser in the world and I
			// wonder, God, how can Earth stand it?
			return range.parentElement();
		    case "Control":
			return range.item(0);
		    default:
			return this._doc.body;
		}
	} else try {
		var p =3D range.commonAncestorContainer;
		if (!range.collapsed && range.startContainer =3D=3D range.endContainer =
&&
		    range.startOffset - range.endOffset <=3D 1 && =
range.startContainer.hasChildNodes())
			p =3D range.startContainer.childNodes[range.startOffset];
		/*
		alert(range.startContainer + ":" + range.startOffset + "\n" +
		      range.endContainer + ":" + range.endOffset);
		*/
		while (p.nodeType =3D=3D 3) {
			p =3D p.parentNode;
		}
		return p;
	} catch (e) {
		return null;
	}
};

// Returns an array with all the ancestor nodes of the selection.
HTMLArea.prototype.getAllAncestors =3D function() {
	var p =3D this.getParentElement();
	var a =3D [];
	while (p && (p.nodeType =3D=3D 1) && (p.tagName.toLowerCase() !=3D =
'body')) {
		a.push(p);
		p =3D p.parentNode;
	}
	a.push(this._doc.body);
	return a;
};

// Selects the contents inside the given node
HTMLArea.prototype.selectNodeContents =3D function(node, pos) {
	this.focusEditor();
	this.forceRedraw();
	var range;
	var collapsed =3D (typeof pos !=3D "undefined");
	if (HTMLArea.is_ie) {
		range =3D this._doc.body.createTextRange();
		range.moveToElementText(node);
		(collapsed) && range.collapse(pos);
		range.select();
	} else {
		var sel =3D this._getSelection();
		range =3D this._doc.createRange();
		range.selectNodeContents(node);
		(collapsed) && range.collapse(pos);
		sel.removeAllRanges();
		sel.addRange(range);
	}
};

/** Call this function to insert HTML code at the current position.  It =
deletes
 * the selection, if any.
 */
HTMLArea.prototype.insertHTML =3D function(html) {
	var sel =3D this._getSelection();
	var range =3D this._createRange(sel);
	if (HTMLArea.is_ie) {
		range.pasteHTML(html);
	} else {
		// construct a new document fragment with the given HTML
		var fragment =3D this._doc.createDocumentFragment();
		var div =3D this._doc.createElement("div");
		div.innerHTML =3D html;
		while (div.firstChild) {
			// the following call also removes the node from div
			fragment.appendChild(div.firstChild);
		}
		// this also removes the selection
		var node =3D this.insertNodeAtSelection(fragment);
	}
};

/**
 *  Call this function to surround the existing HTML code in the =
selection with
 *  your tags.  FIXME: buggy!  This function will be deprecated "soon".
 */
HTMLArea.prototype.surroundHTML =3D function(startTag, endTag) {
	var html =3D this.getSelectedHTML();
	// the following also deletes the selection
	this.insertHTML(startTag + html + endTag);
};

/// Retrieve the selected block
HTMLArea.prototype.getSelectedHTML =3D function() {
	var sel =3D this._getSelection();
	var range =3D this._createRange(sel);
	var existing =3D null;
	if (HTMLArea.is_ie) {
		existing =3D range.htmlText;
	} else {
		existing =3D HTMLArea.getHTML(range.cloneContents(), false, this);
	}
	return existing;
};

/// Return true if we have some selection
HTMLArea.prototype.hasSelectedText =3D function() {
	// FIXME: come _on_ mishoo, you can do better than this ;-)
	return this.getSelectedHTML() !=3D '';
};

HTMLArea.prototype._createLink =3D function(link) {
	var editor =3D this;
	var outparam =3D null;
	if (typeof link =3D=3D "undefined") {
		link =3D this.getParentElement();
		if (link && !/^a$/i.test(link.tagName))
			link =3D null;
	}
	if (link) outparam =3D {
		f_href   : HTMLArea.is_ie ? editor.stripBaseURL(link.href) : =
link.getAttribute("href"),
		f_title  : link.title,
		f_target : link.target
	};
	this._popupDialog("link.html", function(param) {
		if (!param)
			return false;
		var a =3D link;
		if (!a) {
			editor._doc.execCommand("createlink", false, param.f_href);
			a =3D editor.getParentElement();
			var sel =3D editor._getSelection();
			var range =3D editor._createRange(sel);
			if (!HTMLArea.is_ie) {
				a =3D range.startContainer;
				if (!/^a$/i.test(a.tagName))
					a =3D a.nextSibling;
			}
		} else a.href =3D param.f_href.trim();
		if (!/^a$/i.test(a.tagName))
			return false;
		a.target =3D param.f_target.trim();
		a.title =3D param.f_title.trim();
		editor.selectNodeContents(a);
		editor.updateToolbar();
	}, outparam);
};

// Called when the user clicks on "InsertImage" button.  If an image is =
already
// there, it will just modify it's properties.
HTMLArea.prototype._insertImage =3D function(image) {
	var editor =3D this;	// for nested functions
	var outparam =3D null;
	if (typeof image =3D=3D "undefined") {
		image =3D this.getParentElement();
		if (image && !/^img$/i.test(image.tagName))
			image =3D null;
	}
	if (image) outparam =3D {
		f_url    : HTMLArea.is_ie ? editor.stripBaseURL(image.src) : =
image.getAttribute("src"),
		f_alt    : image.alt,
		f_border : image.border,
		f_align  : image.align,
		f_vert   : image.vspace,
		f_horiz  : image.hspace
	};
	this._popupDialog("insert_image.html", function(param) {
		if (!param) {	// user must have pressed Cancel
			return false;
		}
		var img =3D image;
		if (!img) {
			var sel =3D editor._getSelection();
			var range =3D editor._createRange(sel);
			editor._doc.execCommand("insertimage", false, param.f_url);
			if (HTMLArea.is_ie) {
				img =3D range.parentElement();
				// wonder if this works...
				if (img.tagName.toLowerCase() !=3D "img") {
					img =3D img.previousSibling;
				}
			} else {
				img =3D range.startContainer.previousSibling;
			}
		} else {
			img.src =3D param.f_url;
		}
		for (field in param) {
			var value =3D param[field];
			switch (field) {
			    case "f_alt"    : img.alt	 =3D value; break;
			    case "f_border" : img.border =3D parseInt(value || "0"); break;
			    case "f_align"  : img.align	 =3D value; break;
			    case "f_vert"   : img.vspace =3D parseInt(value || "0"); break;
			    case "f_horiz"  : img.hspace =3D parseInt(value || "0"); break;
			}
		}
	}, outparam);
};

// Called when the user clicks the Insert Table button
HTMLArea.prototype._insertTable =3D function() {
	var sel =3D this._getSelection();
	var range =3D this._createRange(sel);
	var editor =3D this;	// for nested functions
	this._popupDialog("insert_table.html", function(param) {
		if (!param) {	// user must have pressed Cancel
			return false;
		}
		var doc =3D editor._doc;
		// create the table element
		var table =3D doc.createElement("table");
		// assign the given arguments
		for (var field in param) {
			var value =3D param[field];
			if (!value) {
				continue;
			}
			switch (field) {
			    case "f_width"   : table.style.width =3D value + param["f_unit"]; =
break;
			    case "f_align"   : table.align	 =3D value; break;
			    case "f_border"  : table.border	 =3D parseInt(value); break;
			    case "f_spacing" : table.cellspacing =3D parseInt(value); break;
			    case "f_padding" : table.cellpadding =3D parseInt(value); break;
			}
		}
		var tbody =3D doc.createElement("tbody");
		table.appendChild(tbody);
		for (var i =3D 0; i < param["f_rows"]; ++i) {
			var tr =3D doc.createElement("tr");
			tbody.appendChild(tr);
			for (var j =3D 0; j < param["f_cols"]; ++j) {
				var td =3D doc.createElement("td");
				tr.appendChild(td);
				// Mozilla likes to see something inside the cell.
				(HTMLArea.is_gecko) && td.appendChild(doc.createElement("br"));
			}
		}
		if (HTMLArea.is_ie) {
			range.pasteHTML(table.outerHTML);
		} else {
			// insert the table
			editor.insertNodeAtSelection(table);
		}
		return true;
	}, null);
};

/***************************************************
 *  Category: EVENT HANDLERS
 ***************************************************/

// el is reference to the SELECT object
// txt is the name of the select field, as in config.toolbar
HTMLArea.prototype._comboSelected =3D function(el, txt) {
	this.focusEditor();
	var value =3D el.options[el.selectedIndex].value;
	switch (txt) {
	    case "fontname":
	    case "fontsize": this.execCommand(txt, false, value); break;
	    case "formatblock":
		(HTMLArea.is_ie) && (value =3D "<" + value + ">");
		this.execCommand(txt, false, value);
		break;
	    default:
		// try to look it up in the registered dropdowns
		var dropdown =3D this.config.customSelects[txt];
		if (typeof dropdown !=3D "undefined") {
			dropdown.action(this);
		} else {
			alert("FIXME: combo box " + txt + " not implemented");
		}
	}
};

// the execCommand function (intercepts some commands and replaces them =
with
// our own implementation)
HTMLArea.prototype.execCommand =3D function(cmdID, UI, param) {
	var editor =3D this;	// for nested functions
	this.focusEditor();
	cmdID =3D cmdID.toLowerCase();
	switch (cmdID) {
	    case "htmlmode" : this.setMode(); break;
	    case "hilitecolor":
		(HTMLArea.is_ie) && (cmdID =3D "backcolor");
	    case "forecolor":
		this._popupDialog("select_color.html", function(color) {
			if (color) { // selection not canceled
				editor._doc.execCommand(cmdID, false, "#" + color);
			}
		}, HTMLArea._colorToRgb(this._doc.queryCommandValue(cmdID)));
		break;
	    case "createlink":
		this._createLink();
		break;
	    case "popupeditor":
		// this object will be passed to the newly opened window
		HTMLArea._object =3D this;
		if (HTMLArea.is_ie) {
			//if (confirm(HTMLArea.I18N.msg["IE-sucks-full-screen"]))
			{
				dlgEditorHTML.win =3D window.open(this.popupURL("fullscreen.html"), =
"ha_fullscreen",
					    =
"toolbar=3Dno,location=3Dno,directories=3Dno,status=3Dno,menubar=3Dno," =
+
					    "scrollbars=3Dno,resizable=3Dno,width=3D640,height=3D480");
			}
		} else {
			dlgEditorHTML.win =3D window.open(this.popupURL("fullscreen.html"), =
"ha_fullscreen",
				    "toolbar=3Dno,menubar=3Dno,personalbar=3Dno," +
				    "scrollbars=3Dno,resizable=3Dno,width=3D640,height=3D480");
		}
		break;
	    case "undo":
	    case "redo":
		if (this._customUndo)
			this[cmdID]();
		else
			this._doc.execCommand(cmdID, UI, param);
		break;
	    case "inserttable": this._insertTable(); break;
	    case "insertimage": this._insertImage(); break;
	    case "about"    : this._popupDialog("about.html", null, this); =
break;
	    case "showhelp" : window.open(_editor_url + "reference.html", =
"ha_help"); break;

	    case "killword": this._wordClean(); break;

	    case "cut":
	    case "copy":
	    case "paste":
		try {
			if (this.config.killWordOnPaste)
				this._wordClean();
			this._doc.execCommand(cmdID, UI, param);
		} catch (e) {
			if (HTMLArea.is_gecko) {
				if (confirm("Unprivileged scripts cannot access Cut/Copy/Paste =
programatically " +
					    "for security reasons.  Click OK to see a technical note at =
mozilla.org " +
					    "which shows you how to allow a script to access the =
clipboard."))
					=
window.open("http://mozilla.org/editor/midasdemo/securityprefs.html");
			}
		}
		break;
	    case "lefttoright":
	    case "righttoleft":
		var dir =3D (cmdID =3D=3D "righttoleft") ? "rtl" : "ltr";
		var el =3D this.getParentElement();
		while (el && !HTMLArea.isBlockElement(el))
			el =3D el.parentNode;
		if (el) {
			if (el.style.direction =3D=3D dir)
				el.style.direction =3D "";
			else
				el.style.direction =3D dir;
		}
		break;
	    default: this._doc.execCommand(cmdID, UI, param);
	}
	this.updateToolbar();
	return false;
};

/** A generic event handler for things that happen in the IFRAME's =
document.
 * This function also handles key bindings. */
HTMLArea.prototype._editorEvent =3D function(ev) {
	var editor =3D this;
	var keyEvent =3D (HTMLArea.is_ie && ev.type =3D=3D "keydown") || =
(ev.type =3D=3D "keypress");
	if (keyEvent) {
		for (var i in editor.plugins) {
			var plugin =3D editor.plugins[i].instance;
			if (typeof plugin.onKeyPress =3D=3D "function") =
plugin.onKeyPress(ev);
		}
	}
	if (keyEvent && ev.ctrlKey) {
		var sel =3D null;
		var range =3D null;
		var key =3D String.fromCharCode(HTMLArea.is_ie ? ev.keyCode : =
ev.charCode).toLowerCase();
		var cmd =3D null;
		var value =3D null;
		switch (key) {
		    case 'a':
			if (!HTMLArea.is_ie) {
				// KEY select all
				sel =3D this._getSelection();
				sel.removeAllRanges();
				range =3D this._createRange();
				range.selectNodeContents(this._doc.body);
				sel.addRange(range);
				HTMLArea._stopEvent(ev);
			}
			break;

			// simple key commands follow

		    case 'b': cmd =3D "bold"; break;
		    case 'i': cmd =3D "italic"; break;
		    case 'u': cmd =3D "underline"; break;
		    case 's': cmd =3D "strikethrough"; break;
		    case 'l': cmd =3D "justifyleft"; break;
		    case 'e': cmd =3D "justifycenter"; break;
		    case 'r': cmd =3D "justifyright"; break;
		    case 'j': cmd =3D "justifyfull"; break;
		    case 'z': cmd =3D "undo"; break;
		    case 'y': cmd =3D "redo"; break;
		    case 'v': cmd =3D "paste"; break;

		    case '0': cmd =3D "killword"; break;

			// headings
		    case '1':
		    case '2':
		    case '3':
		    case '4':
		    case '5':
		    case '6':
			cmd =3D "formatblock";
			value =3D "h" + key;
			if (HTMLArea.is_ie) {
				value =3D "<" + value + ">";
			}
			break;
		}
		if (cmd) {
			// execute simple command
			this.execCommand(cmd, false, value);
			HTMLArea._stopEvent(ev);
		}
	}
	/*
	else if (keyEvent) {
		// other keys here
		switch (ev.keyCode) {
		    case 13: // KEY enter
			// if (HTMLArea.is_ie) {
			this.insertHTML("<br />");
			HTMLArea._stopEvent(ev);
			// }
			break;
		}
	}
	*/
	// update the toolbar state after some time
	if (editor._timerToolbar) {
		clearTimeout(editor._timerToolbar);
	}
	editor._timerToolbar =3D setTimeout(function() {
		editor.updateToolbar();
		editor._timerToolbar =3D null;
	}, 50);
};

// retrieve the HTML
HTMLArea.prototype.getHTML =3D function() {
	switch (this._editMode) {
	    case "wysiwyg"  :
		if (!this.config.fullPage) {
			return HTMLArea.getHTML(this._doc.body, false, this);
		} else
			return this.doctype + "\n" + =
HTMLArea.getHTML(this._doc.documentElement, true, this);
	    case "textmode" : return this._textArea.value;
	    default	    : alert("Mode <" + mode + "> not defined!");
	}
	return false;
};

// retrieve the HTML (fastest version, but uses innerHTML)
HTMLArea.prototype.getInnerHTML =3D function() {
	switch (this._editMode) {
	    case "wysiwyg"  :
		if (!this.config.fullPage)
			return this._doc.body.innerHTML;
		else
			return this.doctype + "\n" + this._doc.documentElement.innerHTML;
	    case "textmode" : return this._textArea.value;
	    default	    : alert("Mode <" + mode + "> not defined!");
	}
	return false;
};

// completely change the HTML inside
HTMLArea.prototype.setHTML =3D function(html) {
	switch (this._editMode) {
	    case "wysiwyg"  :
		if (!this.config.fullPage)
			this._doc.body.innerHTML =3D html;
		else
			// this._doc.documentElement.innerHTML =3D html;
			this._doc.body.innerHTML =3D html;
		break;
	    case "textmode" : this._textArea.value =3D html; break;
	    default	    : alert("Mode <" + mode + "> not defined!");
	}
	return false;
};

// sets the given doctype (useful when config.fullPage is true)
HTMLArea.prototype.setDoctype =3D function(doctype) {
	this.doctype =3D doctype;
};

/***************************************************
 *  Category: UTILITY FUNCTIONS
 ***************************************************/

// browser identification

HTMLArea.agt =3D navigator.userAgent.toLowerCase();
HTMLArea.is_ie	   =3D ((HTMLArea.agt.indexOf("msie") !=3D -1) && =
(HTMLArea.agt.indexOf("opera") =3D=3D -1));
HTMLArea.is_opera  =3D (HTMLArea.agt.indexOf("opera") !=3D -1);
HTMLArea.is_mac	   =3D (HTMLArea.agt.indexOf("mac") !=3D -1);
HTMLArea.is_mac_ie =3D (HTMLArea.is_ie && HTMLArea.is_mac);
HTMLArea.is_win_ie =3D (HTMLArea.is_ie && !HTMLArea.is_mac);
HTMLArea.is_gecko  =3D (navigator.product =3D=3D "Gecko");

// variable used to pass the object to the popup editor window.
HTMLArea._object =3D null;

// function that returns a clone of the given object
HTMLArea.cloneObject =3D function(obj) {
	var newObj =3D new Object;

	// check for array objects
	if (obj.constructor.toString().indexOf("function Array(") =3D=3D 1) {
		newObj =3D obj.constructor();
	}

	// check for function objects (as usual, IE is fucked up)
	if (obj.constructor.toString().indexOf("function Function(") =3D=3D 1) =
{
		newObj =3D obj; // just copy reference to it
	} else for (var n in obj) {
		var node =3D obj[n];
		if (typeof node =3D=3D 'object') { newObj[n] =3D =
HTMLArea.cloneObject(node); }
		else                         { newObj[n] =3D node; }
	}

	return newObj;
};

// FIXME!!! this should return false for IE < 5.5
HTMLArea.checkSupportedBrowser =3D function() {
	if (HTMLArea.is_gecko) {
		if (navigator.productSub < 20021201) {
			alert("You need at least Mozilla-1.3 Alpha.\n" +
			      "Sorry, your Gecko is not supported.");
			return false;
		}
		if (navigator.productSub < 20030210) {
			alert("Mozilla < 1.3 Beta is not supported!\n" +
			      "I'll try, though, but it might not work.");
		}
	}
	return HTMLArea.is_gecko || HTMLArea.is_ie;
	//return true;
};

// selection & ranges

// returns the current selection object
HTMLArea.prototype._getSelection =3D function() {
	if (HTMLArea.is_ie) {
		return this._doc.selection;
	} else {
		return this._iframe.contentWindow.getSelection();
	}
};

// returns a range for the current selection
HTMLArea.prototype._createRange =3D function(sel) {
	if (HTMLArea.is_ie) {
		return sel.createRange();
	} else {
		this.focusEditor();
		if (typeof sel !=3D "undefined") {
			try {
				return sel.getRangeAt(0);
			} catch(e) {
				return this._doc.createRange();
			}
		} else {
			return this._doc.createRange();
		}
	}
};

// event handling

HTMLArea._addEvent =3D function(el, evname, func) {
	if (HTMLArea.is_ie) {
		el.attachEvent("on" + evname, func);
	} else {
		el.addEventListener(evname, func, true);
	}
};

HTMLArea._addEvents =3D function(el, evs, func) {
	for (var i in evs) {
		HTMLArea._addEvent(el, evs[i], func);
	}
};

HTMLArea._removeEvent =3D function(el, evname, func) {
	if (HTMLArea.is_ie) {
		el.detachEvent("on" + evname, func);
	} else {
		el.removeEventListener(evname, func, true);
	}
};

HTMLArea._removeEvents =3D function(el, evs, func) {
	for (var i in evs) {
		HTMLArea._removeEvent(el, evs[i], func);
	}
};

HTMLArea._stopEvent =3D function(ev) {
	if (HTMLArea.is_ie) {
		ev.cancelBubble =3D true;
		ev.returnValue =3D false;
	} else {
		ev.preventDefault();
		ev.stopPropagation();
	}
};

HTMLArea._removeClass =3D function(el, className) {
	if (!(el && el.className)) {
		return;
	}
	var cls =3D el.className.split(" ");
	var ar =3D new Array();
	for (var i =3D cls.length; i > 0;) {
		if (cls[--i] !=3D className) {
			ar[ar.length] =3D cls[i];
		}
	}
	el.className =3D ar.join(" ");
};

HTMLArea._addClass =3D function(el, className) {
	// remove the class first, if already there
	HTMLArea._removeClass(el, className);
	el.className +=3D " " + className;
};

HTMLArea._hasClass =3D function(el, className) {
	if (!(el && el.className)) {
		return false;
	}
	var cls =3D el.className.split(" ");
	for (var i =3D cls.length; i > 0;) {
		if (cls[--i] =3D=3D className) {
			return true;
		}
	}
	return false;
};

HTMLArea.isBlockElement =3D function(el) {
	var blockTags =3D " body form textarea fieldset ul ol dl li div " +
		"p h1 h2 h3 h4 h5 h6 quote pre table thead " +
		"tbody tfoot tr td iframe address ";
	return (blockTags.indexOf(" " + el.tagName.toLowerCase() + " ") !=3D =
-1);
};

HTMLArea.needsClosingTag =3D function(el) {
	var closingTags =3D " head script style div span tr td tbody table em =
strong font a title ";
	return (closingTags.indexOf(" " + el.tagName.toLowerCase() + " ") !=3D =
-1);
};

// performs HTML encoding of some given string
HTMLArea.htmlEncode =3D function(str) {
	// we don't need regexp for that, but.. so be it for now.
	str =3D str.replace(/&/ig, "&amp;");
	str =3D str.replace(/</ig, "&lt;");
	str =3D str.replace(/>/ig, "&gt;");
	str =3D str.replace(/\x22/ig, "&quot;");
	// \x22 means '"' -- we use hex reprezentation so that we don't disturb
	// JS compressors (well, at least mine fails.. ;)
	return str;
};

// Retrieves the HTML code from the given node.	 This is a replacement =
for
// getting innerHTML, using standard DOM calls.
HTMLArea.getHTML =3D function(root, outputRoot, editor) {
	var html =3D "";
	switch (root.nodeType) {
	    case 1: // Node.ELEMENT_NODE
	    case 11: // Node.DOCUMENT_FRAGMENT_NODE
		var closed;
		var i;
		var root_tag =3D (root.nodeType =3D=3D 1) ? root.tagName.toLowerCase() =
: '';
		if (HTMLArea.is_ie && root_tag =3D=3D "head") {
			if (outputRoot)
				html +=3D "<head>";
			// lowercasize
			var save_multiline =3D RegExp.multiline;
			RegExp.multiline =3D true;
			var txt =3D root.innerHTML.replace(HTMLArea.RE_tagName, function(str, =
p1, p2) {
				return p1 + p2.toLowerCase();
			});
			RegExp.multiline =3D save_multiline;
			html +=3D txt;
			if (outputRoot)
				html +=3D "</head>";
			break;
		} else if (outputRoot) {
			closed =3D (!(root.hasChildNodes() || =
HTMLArea.needsClosingTag(root)));
			html =3D "<" + root.tagName.toLowerCase();
			var attrs =3D root.attributes;
			for (i =3D 0; i < attrs.length; ++i) {
				var a =3D attrs.item(i);
				if (!a.specified) {
					continue;
				}
				var name =3D a.nodeName.toLowerCase();
				if (/_moz|contenteditable|_msh/.test(name)) {
					// avoid certain attributes
					continue;
				}
				var value;
				if (name !=3D "style") {
					// IE5.5 reports 25 when cellSpacing is
					// 1; other values might be doomed too.
					// For this reason we extract the
					// values directly from the root node.
					// I'm starting to HATE JavaScript
					// development.  Browser differences
					// suck.
					//
					// Using Gecko the values of href and src are converted to absolute =
links
					// unless we get them using nodeValue()
					if (typeof root[a.nodeName] !=3D "undefined" && name !=3D "href" && =
name !=3D "src") {
						value =3D root[a.nodeName];
					} else {
						value =3D a.nodeValue;
						// IE seems not willing to return the original values - it =
converts to absolute
						// links using a.nodeValue, a.value, a.stringValue, =
root.getAttribute("href")
						// So we have to strip the baseurl manually -/
						if (HTMLArea.is_ie && (name =3D=3D "href" || name =3D=3D "src")) {
							value =3D editor.stripBaseURL(value);
						}
					}
				} else { // IE fails to put style in attributes list
					// FIXME: cssText reported by IE is UPPERCASE
					value =3D root.style.cssText;
				}
				if (/(_moz|^$)/.test(value)) {
					// Mozilla reports some special tags
					// here; we don't need them.
					continue;
				}
				html +=3D " " + name + '=3D"' + value + '"';
			}
			html +=3D closed ? " />" : ">";
		}
		for (i =3D root.firstChild; i; i =3D i.nextSibling) {
			html +=3D HTMLArea.getHTML(i, true, editor);
		}
		if (outputRoot && !closed) {
			html +=3D "</" + root.tagName.toLowerCase() + ">";
		}
		break;
	    case 3: // Node.TEXT_NODE
		// If a text node is alone in an element and all spaces, replace it =
with an non breaking one
		// This partially undoes the damage done by moz, which translates =
'&nbsp;'s into spaces in the data element
		if ( !root.previousSibling && !root.nextSibling && =
root.data.match(/^\s*$/i) ) html =3D '&nbsp;';
		else html =3D HTMLArea.htmlEncode(root.data);
		break;
	    case 8: // Node.COMMENT_NODE
		html =3D "<!--" + root.data + "-->";
		break;		// skip comments, for now.
	}
	return html;
};

HTMLArea.prototype.stripBaseURL =3D function(string) {
	var baseurl =3D this.config.baseURL;

	// strip to last directory in case baseurl points to a file
	baseurl =3D baseurl.replace(/[^\/]+$/, '');
	var basere =3D new RegExp(baseurl);
	string =3D string.replace(basere, "");

	// strip host-part of URL which is added by MSIE to links relative to =
server root
	baseurl =3D baseurl.replace(/^(https?:\/\/[^\/]+)(.*)$/, '$1');
	basere =3D new RegExp(baseurl);
	return string.replace(basere, "");
};

String.prototype.trim =3D function() {
	a =3D this.replace(/^\s+/, '');
	return a.replace(/\s+$/, '');
};

// creates a rgb-style color from a number
HTMLArea._makeColor =3D function(v) {
	if (typeof v !=3D "number") {
		// already in rgb (hopefully); IE doesn't get here.
		return v;
	}
	// IE sends number; convert to rgb.
	var r =3D v & 0xFF;
	var g =3D (v >> 8) & 0xFF;
	var b =3D (v >> 16) & 0xFF;
	return "rgb(" + r + "," + g + "," + b + ")";
};

// returns hexadecimal color representation from a number or a rgb-style =
color.
HTMLArea._colorToRgb =3D function(v) {
	if (!v)
		return '';

	// returns the hex representation of one byte (2 digits)
	function hex(d) {
		return (d < 16) ? ("0" + d.toString(16)) : d.toString(16);
	};

	if (typeof v =3D=3D "number") {
		// we're talking to IE here
		var r =3D v & 0xFF;
		var g =3D (v >> 8) & 0xFF;
		var b =3D (v >> 16) & 0xFF;
		return "#" + hex(r) + hex(g) + hex(b);
	}

	if (v.substr(0, 3) =3D=3D "rgb") {
		// in rgb(...) form -- Mozilla
		var re =3D /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/;
		if (v.match(re)) {
			var r =3D parseInt(RegExp.$1);
			var g =3D parseInt(RegExp.$2);
			var b =3D parseInt(RegExp.$3);
			return "#" + hex(r) + hex(g) + hex(b);
		}
		// doesn't match RE?!  maybe uses percentages or float numbers
		// -- FIXME: not yet implemented.
		return null;
	}

	if (v.substr(0, 1) =3D=3D "#") {
		// already hex rgb (hopefully :D )
		return v;
	}

	// if everything else fails ;)
	return null;
};

// modal dialogs for Mozilla (for IE we're using the showModalDialog() =
call).

// receives an URL to the popup dialog and a function that receives one =
value;
// this function will get called after the dialog is closed, with the =
return
// value of the dialog.
HTMLArea.prototype._popupDialog =3D function(url, action, init) {
	Dialog(this.popupURL(url), action, init);
};

// paths

HTMLArea.prototype.imgURL =3D function(file, plugin) {
	if (typeof plugin =3D=3D "undefined")
		return _editor_url + file;
	else
		return _editor_url + "plugins/" + plugin + "/img/" + file;
};

HTMLArea.prototype.popupURL =3D function(file) {
	var url =3D "";
	if (file.match(/^plugin:\/\/(.*?)\/(.*)/)) {
		var plugin =3D RegExp.$1;
		var popup =3D RegExp.$2;
		if (!/\.html$/.test(popup))
			popup +=3D ".html";
		url =3D _editor_url + "plugins/" + plugin + "/popups/" + popup;
	} else
		url =3D this.config.popupURL + file;
	return url;
};

/**
 * FIX: Internet Explorer returns an item having the _name_ equal to the =
given
 * id, even if it's not having any id.  This way it can return a =
different form
 * field even if it's not a textarea.  This workarounds the problem by
 * specifically looking to search only elements having a certain tag =
name.
 */
HTMLArea.getElementById =3D function(tag, id) {
	var el, i, objs =3D document.getElementsByTagName(tag);
	for (i =3D objs.length; --i >=3D 0 && (el =3D objs[i]);)
		if (el.id =3D=3D id)
			return el;
	return null;
};



// EOF
// Local variables: //
// c-basic-offset:8 //
// indent-tabs-mode:t //
// End: //

------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/ajaxroutine.js

//Basic Ajax Routine- Author: Dynamic Drive =
(http://www.dynamicdrive.com)
//Last updated: Jan 15th, 06'

function encode(v)
{
return escape(v).replace(/\+/ig, '%2B').replace(/\//ig, '%2F');
}


function createAjaxObj(){
var httprequest=3Dfalse
if (window.XMLHttpRequest){ // if Mozilla, Safari etc
httprequest=3Dnew XMLHttpRequest()
if (httprequest.overrideMimeType)
httprequest.overrideMimeType('text/xml')
}
else if (window.ActiveXObject){ // if IE
try {
httprequest=3Dnew ActiveXObject("Msxml2.XMLHTTP");
}=20
catch (e){
try{
httprequest=3Dnew ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return httprequest
}

var ajaxpack=3Dnew Object()
ajaxpack.basedomain=3D"http://"+window.location.hostname
ajaxpack.ajaxobj=3DcreateAjaxObj()
ajaxpack.filetype=3D"txt"
ajaxpack.addrandomnumber=3D0 //Set to 1 or 0. See documentation.
ajaxpack.parameters_callbackfunc =3D "";

ajaxpack.getAjaxRequest=3Dfunction(url, parameters, callbackfunc, =
filetype, parametersEx){
	ajaxpack.ajaxobj=3DcreateAjaxObj() //recreate ajax object to defeat =
cache problem in IE
	if (ajaxpack.addrandomnumber=3D=3D1) //Further defeat caching problem =
in IE?
		var parameters=3Dparameters+"&ajaxcachebust=3D"+new Date().getTime()
	if (this.ajaxobj){
		this.filetype=3Dfiletype
		this.ajaxobj.onreadystatechange=3Dcallbackfunc;
		this.parameters_callbackfunc=3DparametersEx;
		this.ajaxobj.open('GET', url+"?"+parameters, true);
		this.ajaxobj.send(null);
	}
}

ajaxpack.postAjaxRequest=3Dfunction(url, parameters, callbackfunc, =
filetype, parametersEx){
=09
	ajaxpack.ajaxobj=3DcreateAjaxObj() //recreate ajax object to defeat =
cache problem in IE
	Consulta =3D "";
	ListaVariables =3D parameters.split("&");

	for (i=3D0;i < ListaVariables.length;i++) {
		VariableValor =3D ListaVariables[i].split("=3D");
		Variable =3D VariableValor[0];
		Valor =3D encode(VariableValor[1]);
	=09
		if (Valor =3D=3D '' && VariableValor.length =3D=3D 3)
			Valor =3D '=3D';

		if (Consulta !=3D '')
			Consulta+=3D "&";

		Consulta+=3D Variable;
		Consulta+=3D "=3D";
		Consulta+=3D Valor;
	}

	if (this.ajaxobj){
		this.filetype=3Dfiletype
		this.ajaxobj.onreadystatechange=3Dcallbackfunc;
		this.parameters_callbackfunc=3DparametersEx;
		this.ajaxobj.open('POST', url, true);
		this.ajaxobj.setRequestHeader("Content-type", =
"application/x-www-form-urlencoded");
		this.ajaxobj.setRequestHeader("Content-length", parameters.length);
		this.ajaxobj.setRequestHeader("Connection", "close");
		this.ajaxobj.send(Consulta);
	}
}

//ACCESSIBLE VARIABLES (for use within your callback functions):
//1) ajaxpack.ajaxobj //points to the current ajax object
//2) ajaxpack.filetype //The expected file type of the external file =
("txt" or "xml")
//3) ajaxpack.basedomain //The root domain executing this ajax script, =
taking into account the possible "www" prefix.
//4) ajaxpack.addrandomnumber //Set to 0 or 1. When set to 1, a random =
number will be added to the end of the query string of GET requests to =
bust file caching of the external file in IE. See docs for more info.

//ACCESSIBLE FUNCTIONS:
//1) ajaxpack.getAjaxRequest(url, parameters, callbackfunc, filetype)
//2) ajaxpack.postAjaxRequest(url, parameters, callbackfunc, filetype)

///////////END OF ROUTINE HERE////////////////////////


//////EXAMPLE USAGE ////////////////////////////////////////////
/* Comment begins here

//Define call back function to process returned data
function processGetPost(){
var myajax=3Dajaxpack.ajaxobj
var myfiletype=3Dajaxpack.filetype
if (myajax.readyState =3D=3D 4){ //if request of file completed
if (myajax.status=3D=3D200 || =
window.location.href.indexOf("http")=3D=3D-1){ if request was successful =
or running script locally
if (myfiletype=3D=3D"txt")
alert(myajax.responseText)
else
alert(myajax.responseXML)
}
}
}

/////1) GET Example- alert contents of any file (regular text or xml =
file):

ajaxpack.getAjaxRequest("example.php", "", processGetPost, "txt")
ajaxpack.getAjaxRequest("example.php", "name=3DGeorge&age=3D27", =
processGetPost, "txt")
ajaxpack.getAjaxRequest("examplexml.php", "name=3DGeorge&age=3D27", =
processGetPost, "xml")
ajaxpack.getAjaxRequest(ajaxpack.basedomain+"/mydir/mylist.txt", "", =
processGetPost, "txt")

/////2) Post Example- Post some data to a PHP script for processing, =
then alert posted data:

//Define function to construct the desired parameters and their values =
to post via Ajax
function getPostParameters(){
var namevalue=3Ddocument.getElementById("namediv").innerHTML //get name =
value from a DIV
var agevalue=3Ddocument.getElementById("myform").agefield.value //get =
age value from a form field
var poststr =3D "name=3D" + encodeURI(namevalue) + "&age=3D" + =
encodeURI(agevalue)
return poststr
}

var poststr=3DgetPostParameters()

ajaxpack.postAjaxRequest("example.php", poststr, processGetPost, "txt")
ajaxpack.postAjaxRequest("examplexml.php", poststr, processGetPost, =
"xml")

Comment Ends here */
------=_NextPart_000_0049_01CB2291.52CF49F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://biblioteca.bcv.org.ve/alexandr/scripts/tooltip.js

/***********************************************
* Cool DHTML tooltip script- =A9 Dynamic Drive DHTML code library =
(www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source =
code
***********************************************/

var offsetxpoint=3D-60 //Customize x offset of tooltip
var offsetypoint=3D20 //Customize y offset of tooltip
var ie=3Ddocument.all
var ns6=3Ddocument.getElementById && !document.all
var enabletip=3Dfalse
if (ie||ns6)
var tipobj=3Ddocument.all? document.all["dhtmltooltip"] : =
document.getElementById? document.getElementById("dhtmltooltip") : ""


function ietruebody(){
	return (document.compatMode && document.compatMode!=3D"BackCompat")? =
document.documentElement : document.body
}

function ddrivetip(thetext, thecolor, thewidth){
	if (!thetext || thetext =3D=3D '')
		return;
	if (ns6||ie){
		if (typeof thewidth!=3D"undefined")
			tipobj.style.width=3Dthewidth+"px"
		if (typeof thecolor!=3D"undefined" && thecolor!=3D"")
			tipobj.style.backgroundColor=3Dthecolor
		tipobj.innerHTML=3Dthetext
		enabletip=3Dtrue
		return false
	}
}

function positiontip(e){
	if (enabletip){
		var curX=3D(ns6)?e.pageX : event.x+ietruebody().scrollLeft;
		var curY=3D(ns6)?e.pageY : event.y+ietruebody().scrollTop;
		//Find out how close the mouse is to the corner of the window
		var rightedge=3Die&&!window.opera? =
ietruebody().clientWidth-event.clientX-offsetxpoint : =
window.innerWidth-e.clientX-offsetxpoint-20
		var bottomedge=3Die&&!window.opera? =
ietruebody().clientHeight-event.clientY-offsetypoint : =
window.innerHeight-e.clientY-offsetypoint-20
	=09
		var leftedge=3D(offsetxpoint<0)? offsetxpoint*(-1) : -1000
	=09
		//if the horizontal distance isn't enough to accomodate the width of =
the context menu
		if (rightedge<tipobj.offsetWidth)
		//move the horizontal position of the menu to the left by it's width
			tipobj.style.left=3Die? =
ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : =
window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
		else if (curX<leftedge)
			tipobj.style.left=3D"5px"
		else
		//position the horizontal position of the menu where the mouse is =
positioned
			tipobj.style.left=3DcurX+offsetxpoint+"px"
	=09
		//same concept with the vertical position
		if (bottomedge<tipobj.offsetHeight)
			tipobj.style.top=3Die? =
ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px=
" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
		else
			tipobj.style.top=3DcurY+offsetypoint+"px"
		tipobj.style.visibility=3D"visible"
	}
}

function hideddrivetip(){
	if (ns6||ie){
		enabletip=3Dfalse
		tipobj.style.visibility=3D"hidden"
		tipobj.style.left=3D"-1000px"
		tipobj.style.backgroundColor=3D''
		tipobj.style.width=3D''
	}
}

document.onmousemove=3Dpositiontip
------=_NextPart_000_0049_01CB2291.52CF49F0--

