From: <Guardado por Microsoft Internet Explorer 7>
Subject: Castropol aplica un proyecto pionero para prevenir incendios forestales
Date: Mon, 1 Jun 2009 10:21:25 +0200
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C9E2A2.B7BB8930"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Castropol aplica un proyecto pionero para prevenir =
incendios forestales</TITLE>
<META=20
content=3D"Castropol aplica un proyecto pionero para prevenir incendios =
forestales"=20
name=3Dtitle>
<META=20
content=3D" CASTROPOL APLICA  PROYECTO PIONERO  PREVENIR INCENDIOS =
FORESTALES "=20
name=3Dkeywords>
<META=20
content=3D"Anticiparse a incendios como los ocurridos hace varias =
semanas en el Occidente asturiano. Ese es el objetivo del ambicioso =
proyecto que el consistorio de Castropol, encabezado por su alcalde, =
Jos=E9 =C1ngel P=E9rez, pondr=E1 en marcha en los pr=F3ximos d=EDas. Se =
trata de la instalaci=F3n de una serie de sensores en el monte =
Pousadoiro, de titularidad municipal, a trav=E9s de los cuales se =
obtendr=E1n datos relacionados con la humedad, la concentraci=F3n de =
gases o la temperatura existente en la zona boscosa."=20
name=3Ddescription>
<META http-equiv=3Dcontent-type =
content=3Dtext/html;charset=3DISO-8859-1>
<META content=3D"1 days" name=3Drevisit-after>
<META content=3Dindex,follow name=3Drobots>
<META http-equiv=3Drefresh content=3D1800>
<META content=3D"La Voz de Galicia" name=3Dauthor>
<META content=3DCanalvoz name=3Dorganization>
<META content=3D"A Coru=F1a, Galicia, Espa=F1a, U.E." name=3Dlocality>
<META content=3Des name=3DLanguage>
<META http-equiv=3Dexpires content=3D0>
<META http-equiv=3Dlast-modified content=3D0>
<META http-equiv=3Dcache-control content=3D"no-cache, must-revalidate">
<META http-equiv=3Dpragma content=3Dno-cache>
<STYLE type=3Dtext/css>@import url( =
http://media.lavozdegalicia.es/ficheros/1224233137514371993/LVDG_est_caja=
_agenda.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/1205422036720533891/LVDG_estilo_g=
eneral_130308.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/35C37CD60A80E0AB015CD9C0982DF020/=
LVDG_estilos_sector_participa.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/4C89F4C00A80E0AB015D8D75A69A82EB/=
LVDG_estilos_caja_clasificados.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/4C879A360A80E0AB015D8D7526830E6F/=
LVDG_estilos_caja_relnot.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/4C89595B0A80E0AB015D8D75C10D0DEE/=
LVDG_estilos_caja_ptrcn.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/327027100A80E0AB01A3E41FC713AF4D/=
LVDG_estilos_pieza_caja_catalogo.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/4C88D3620A80E0AB015D8D75B9C5111B/=
LVDG_estilos_caja_encuentros.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/4C86F55B0A80E0AB015D8D75E7DB9570/=
LVDG_estilos_caja_pasos.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/DB579D200A80E0AB01A3AA2CAA225BF5/=
LVDG_estilos_edicion.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/BC6FCC230A80E0AB01A4181CC75C3517/=
LVDG_estilos_sector_info.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/B2CC47C00A80E0AB00B113C7912EC5AE/=
LVDG_estilos_piezas_opiniones.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/BD5D1E2B0A80E0AB00A56214B450D1B8/=
LVDG_estilos_votacion_graf.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/327027100A80E0AB01A3E41FC713AF4D/=
LVDG_estilos_pieza_caja_catalogo.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/1191926985177370/LVDG_estilos_env=
iar_noticia.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/A20BCDC70A80E0AB007BFC047CAE06CB/=
LVDG_estilos_detalle_noticia.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/76D3865F0A80B1A100AE997B485F3286/=
LVDG_estilos_detalle.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/A20A9B030A80E0AB007BFC04A7AF50C3/=
LVDG_estilos_utnot.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/1227605703877153374/LVDG_estilos_=
cab_detalles_logoper.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/1226333546435564810/LVDG_caja_cab=
eceros_portadas_051108.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/76E596D70A80B1A100AE997B308D7528/=
LVDG_estilos_localizador.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/B2CB05AB0A80E0AB00B113C752A3F9E8/=
LVDG_estilos_envia_opinion.css );
@import url( =
http://media.lavozdegalicia.es/ficheros/4914AF6D0A80B1A100E6A73D7E2305B3/=
LVDG_estilos_capa_transparente.css );
</STYLE>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/558124BE0A80E0AB012F41A585=
B45977/LVDG_script.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/8CC01D870A80B1A20163C85B07=
025780/Traduccion_Idioma.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/D9494AAE0A80B1A1006261C966=
34ABEC/script_ventana.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1223634109863795575/LVDG_P=
IWIK_SCRIPT.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/93D696360A80E09D0176E9C0E8=
D2FCCA/LVDG_fechasUtil.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/CEC5A24A0A80B1A101301D4800=
4216CC/LVDG_seovoz.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1189597585708264/LVDG_Ajax=
JDom.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1189597630143481/LVDG_Ajax=
Xpath.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1189597715663939/LVDG_Lect=
orXML.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/290D96910A80B1A1008F337B78=
D9049E/LVDG_validaciones_opinas.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1189597743995408/LVDG_Lect=
orXSLT.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1192035251129886921/LVDG_v=
alidaciones_envio_noticia.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1189597562672697/LVDG_Ajax=
Misc.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1189597793386605/LVDG_Clie=
nteRSS.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/518EE9620A80B197011F7B3D4E=
9A130D/LVDG_banners.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1200937757704715300/LVDG_u=
tiles.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1197640683627484864/LVDG_v=
otacion.js"=20
type=3Dtext/javascript>//</SCRIPT>

<SCRIPT=20
src=3D"http://media.lavozdegalicia.es/ficheros/1189597663711607/LVDG_AjaX=
SLT.js"=20
type=3Dtext/javascript>//</SCRIPT>

<META content=3D"MSHTML 6.00.6000.16825" name=3DGENERATOR></HEAD>
<BODY><IMG id=3Dojd height=3D0 =
src=3D"http://media.lavozdegalicia.es/img/empty.gif"=20
width=3D0>=20
<DIV class=3D"maq detnoti01">
<DIV class=3Dinterst>
<DIV class=3Dinterst>
<DIV class=3Dno>pub</DIV>
<DIV class=3Dizq>
<DIV class=3Dno>LVDG_PUBLICIDAD_p01:megabanner</DIV>
<DIV class=3Dpub id=3Dp01>
<DIV class=3D"mod p01">
<SCRIPT =
type=3Dtext/javascript>configuracionOAS('vocento.lavozdegalicia/edicion/a=
marina');</SCRIPT>

<SCRIPT type=3Dtext/javascript>OAS_AD('megabanner');</SCRIPT>
</DIV></DIV>
<SCRIPT type=3Dtext/javascript>muestra('p01');</SCRIPT>
</DIV>
<DIV class=3Dizq>
<DIV class=3Dno>LVDG_PUBLICIDAD:12:edi.amarina</DIV></DIV></DIV></DIV>
<DIV class=3D"sct cab" id=3Dcabecero>
<DIV class=3D"area auto">
<DIV class=3D"menu serv">
<DIV class=3D"izq idiom"><STRONG class=3Dno>Elegir idioma:</STRONG>
<SCRIPT language=3Djavascript>if (idioma()) document.write('<a =
class=3D"pestana" href=3D"javascript:CrearCookie(\'idioma_session\', =
\'es\');window.location=3Dgal2es(window.location)">Edici=F3n en =
castellano</a>');=0A=
					else document.write('<a class=3D"pestana" =
href=3D"javascript:CrearCookie(\'idioma_session\',\'ga\');traducir();">Ed=
ici=F3n en galego</a>');</SCRIPT>
 <A class=3Dpestana href=3D"http://www.lavozdegalicia.es/rss/">Rss</A> =
</DIV>
<DIV class=3D"der ed_imp"><STRONG>Edici=F3n Impresa:</STRONG> <A=20
href=3D"http://www.lavozdegalicia.es/edicionimpresa/">Servicios</A> | <A =

href=3D"http://www.lavozdegalicia.es/VentaPDF/">Diario en PDF</A> | <A=20
href=3D"http://www.lavozdegalicia.es/monograficos_actualidad/index.htm">M=
onogr=E1ficos</A>=20
</DIV></DIV>
<DIV class=3Dpanel>
<DIV class=3D"area izq"><STRONG>
<SCRIPT =
language=3Djavascript>document.write(formatDate('2009-05-14T05:07:30+02:0=
0', 'EEEE', 'es'));</SCRIPT>
</STRONG>
<SCRIPT =
language=3Djavascript>document.write(formatDate('2009-05-14T05:07:30+02:0=
0', 'd \'de\' MMMM \'del\' yyyy', 'es'));</SCRIPT>
<SPAN class=3Dhora title=3D"Hora de actualizacion de esta =
pagina">Actualizado <EM>
<SCRIPT =
language=3Djavascript>document.write(formatDate('2009-05-14T05:07:30+02:0=
0', 'HH:mm\'H\'', 'es'));</SCRIPT>
</EM></SPAN><SPAN class=3Dpag_ini=20
title=3D"Configurar lavozdegalicia.es como p=E1gina de inicio de su =
navegador"><A=20
onclick=3D"this.style.behavior=3D'url(#default#homepage)';this.setHomePag=
e('http://www.lavozdegalicia.es');"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">La Voz,=20
p=E1gina de inicio</A> </SPAN></DIV><A class=3Dcabecera=20
href=3D"http://www.lavozdegalicia.es/portada/index.htm" tilte=3D"Ir a =
Portada"><IMG=20
alt=3D"Ir a la Portada"=20
src=3D"http://media.lavozdegalicia.es/default/2007/07/05/01019574F7ABD4A6=
BC8300056042AA7E1337/imagen/cabecera_portada_g.gif">=20
</A>
<DIV class=3D"area busca">
<SCRIPT language=3Djavascript>var oliBuscador =3D new =
ObjetoListaInteractiva();	=0A=
					oliBuscador.setModoOn("");	=0A=
					oliBuscador.setModoOff("no");=0A=
					oliBuscador.setModoPestanaOn("on");=0A=
					oliBuscador.setModoPestanaOff("");=0A=
					//Para buscavoz=0A=
					oliBuscador.anadir("buscavoz_form");					=0A=
					oliBuscador.anadirPestanas("pestanabuscavoz_form");	=0A=
					//Para la tienda					=0A=
					oliBuscador.anadir("shop_form");=0A=
					oliBuscador.anadirPestanas("pestanashop_form");=0A=
					//Para pax. galegas=0A=
					oliBuscador.anadir("pgalegas_form");=0A=
					oliBuscador.anadirPestanas("pestanapgalegas_form");</SCRIPT>

<FIELDSET class=3Dsel_fuente><LEGEND class=3Dno>Elige:</LEGEND><LABEL =
class=3Don=20
id=3Dpestanabuscavoz_form for=3Dbuscavoz><SPAN class=3Dno>Buscar =
en</SPAN> <A=20
onclick=3D"javascript:oliBuscador.mostrarPestana('buscavoz_form');return(=
false);"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">lavoz.es</A>=20
<INPUT id=3Dbuscavoz type=3Dhidden CHECKED value=3D0 name=3Ddonde> =
</LABEL><LABEL=20
class=3D"" id=3Dpestanashop_form for=3Dshop><SPAN class=3Dno>Buscar en =
la</SPAN> <A=20
onclick=3D"javascript:oliBuscador.mostrarPestana('shop_form');return(fals=
e);"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">tienda</A>=20
<INPUT id=3Dgoogle type=3Dhidden value=3D1 name=3Ddonde> </LABEL><LABEL =
class=3D""=20
id=3Dpestanapgalegas_form for=3Dpgalegas><SPAN class=3Dno>Buscar</SPAN> =
<A=20
onclick=3D"javascript:oliBuscador.mostrarPestana('pgalegas_form');return(=
false);"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">empresas</A>=20
<INPUT id=3Dgoogle type=3Dhidden value=3D1 name=3Ddonde> =
</LABEL></FIELDSET>=20
<FIELDSET class=3Dbox_search>
<DIV class=3D"" id=3Dbuscavoz_form>
<FORM id=3DfrmQuery name=3DfrmQuery=20
action=3Dhttp://www.lavozdegalicia.es/SSEE/buscavoz/resultados.jsp =
method=3Dpost=20
target=3D_blank><INPUT class=3Dbrd id=3Dquery name=3Dquery> <INPUT =
class=3Dboton type=3Dsubmit value=3Dbuscar> <INPUT class=3Dno =
id=3DrbFilter=20
type=3Dhidden value=3D0 name=3DrbFilter> <INPUT class=3Dno id=3DrbFilter =
type=3Dhidden=20
value=3D0 name=3DrbDonde> <INPUT class=3Dno type=3Dhidden value=3D0 =
name=3Dpag>=20
</FORM></DIV>
<DIV class=3Dno id=3Dshop_form>
<FORM name=3Dcompras=20
action=3Dhttp://compras.lavozdegalicia.es/share-cgi/search.ftcb?lc=3Des_E=
S=20
method=3Dpost target=3D_blank><INPUT class=3Dbrd name=3Dk> <INPUT =
class=3Dboton type=3Dsubmit value=3Dbuscar> <INPUT class=3Dno =
type=3Dhidden value=3D1=20
name=3Df> <INPUT class=3Dno type=3Dhidden value=3D120 name=3Did> <INPUT =
class=3Dno=20
type=3Dhidden value=3D0 name=3Dc> </FORM></DIV>
<DIV class=3Dno id=3Dpgalegas_form>
<FORM name=3Dpaxgalegas accept-charset=3Dutf-8=20
action=3Dhttp://www.paxinasgalegas.es/resultados.aspx method=3Dget=20
target=3D_blank><INPUT class=3Dno type=3Dhidden value=3D0 name=3Dtipo> =
<INPUT class=3Dbrd=20
id=3Dtexto name=3Dtexto> <INPUT class=3Dboton type=3Dsubmit =
value=3Dbuscar>=20
</FORM></DIV></FIELDSET> </DIV></DIV>
<SCRIPT languaje=3D"javascript">oliBuscador.init();</SCRIPT>
</DIV>
<DIV class=3Dindx>
<H2 class=3Dno>Indice de contenidos</H2>
<UL class=3Dmenu>
  <LI class=3D"inl mg_inf">
  <H3 class=3Dno>Actualidad</H3>
  <UL class=3Dinl>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/portada/index.htm">Portada</A>=20
    </H4>
    <UL class=3D"sub no">
      <LI xmlns:xml=3D"http://www.w3.org/XML/1998/namespace"><A=20
      href=3D"http://www.lavozdegalicia.es/24horas/index.htm">24 =
Horas</A> </LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/lomas/index.htm"=20
      xmlns:xml=3D"http://www.w3.org/XML/1998/namespace">Lo m=E1s =
visto</A> </LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/fotos/index.htm"=20
      xmlns:xml=3D"http://www.w3.org/XML/1998/namespace">Fotos</A> </LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/videos/index.htm"=20
      xmlns:xml=3D"http://www.w3.org/XML/1998/namespace">V=EDdeos</A> =
</LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/tiempo/index.htm"=20
      xmlns:xml=3D"http://www.w3.org/XML/1998/namespace">El Tiempo</A> =
</LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/hemeroteca/index.htm"=20
      xmlns:xml=3D"http://www.w3.org/XML/1998/namespace">Hemeroteca =
web</A> </LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/agenda/index.htm"=20
      xmlns:xml=3D"http://www.w3.org/XML/1998/namespace">Agenda de =
Galicia</A>=20
      </LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/cartelera/index.htm"=20
      xmlns:xml=3D"http://www.w3.org/XML/1998/namespace">Cartelera</A> =
</LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/mapaweb/index.htm"=20
      xmlns:xml=3D"http://www.w3.org/XML/1998/namespace">Mapa web</A> =
</LI></UL>
    <LI class=3Ditem>
    <H4><A class=3Doff=20
    href=3D"http://www.lavozdegalicia.es/galicia/index.htm">Galicia</A> =
</H4>
    <UL class=3Dsub>
      <LI><A href=3D"http://www.lavozdegalicia.es/coruna/index.htm">A =
Coru=F1a</A>=20
      </LI>
      <LI><A href=3D"http://www.lavozdegalicia.es/amarina/index.htm">A =
Mari=F1a</A>=20
      </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/arousa/index.htm">Arousa</A>=20
      </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/barbanza/index.htm">Barbanza</A>=20
      </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/carballo/index.htm">Carballo</A>=20
      </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/deza/index.htm">Deza</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/ferrol/index.htm">Ferrol</A>=20
      </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/lemos/index.htm">Lemos</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/lugo/index.htm">Lugo</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/ourense/index.htm">Ourense</A>=20
      </LI>
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/pontevedra/index.htm">Pontevedra</A>=
=20
      </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/santiago/index.htm">Santiago</A>=20
      </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/vigo/index.htm">Vigo</A> </LI>
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/lavozdelaemigracion/index.htm">Emigr=
aci=F3n</A>=20
      </LI></UL>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/deportes/index.htm">Deportes</A>=20
    </H4>
    <UL class=3D"sub no">
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/deportes/liga/index.htm">Liga</A> =
</LI>
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/deportes/ligacampeones/2008/10/09/01=
161223537488499822451.htm">Liga=20
      de Campeones</A> </LI>
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/deportes/copauefa/2008/10/10/0116122=
3625110196363943.htm">Copa=20
      de la UEFA</A> </LI>
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/deportes/coparey/2009/01/30/01161233=
320105615118519.htm">Copa=20
      del Rey</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/formula1/index.htm">F=F3rmula=20
      1</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/motos/index.htm">MotoGP</A>=20
</LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/motor/index.htm">Motor</A>=20
    </LI></UL>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/sociedad/index.htm">Sociedad</A>=20
    </H4>
    <UL class=3D"sub no">
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/genteytelevision/index.htm">Gente</A=
>=20
      </LI>
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/tendencias/index.htm">Tendencias</A>=
=20
      </LI>
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/tecnologia/index.htm">Tecnolog=EDa</=
A>=20
      </LI>
      <LI><A href=3D"http://lavozdegalicia.canal-si.com/" =
target=3D_blank>Canal=20
      Si</A> </LI>
      <LI><A href=3D"http://lavozdegalicia.laguiatv.com/" =
target=3D_blank>La Gu=EDa=20
      TV</A> </LI>
      <LI><A href=3D"http://lavozdegalicia.hoymujer.com/" =
target=3D_blank>Hoy=20
      mujer</A> </LI>
      <LI><A href=3D"http://lavozdegalicia.xlsemanal.com/web/home.php"=20
      target=3D_blank>XLSemanal</A> </LI></UL>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/dinero/index.htm">Dinero</A> </H4>
    <UL class=3D"sub no">
      <LI><A href=3D"http://www.bunet.es/lavozdegalicia" =
target=3D_blank>Bolsa</A>=20
      </LI></UL>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/espana/index.htm">Espa=F1a</A> =
</H4>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/mundo/index.htm">Mundo</A> </H4>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/opinion/index.htm">Opini=F3n</A>=20
    </H4>
    <UL class=3D"sub no">
      <LI><A =
href=3D"http://www.lavozdegalicia.es/cartasdirector/index.htm">Cartas=20
      al Director</A> </LI></UL>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/participa/index.htm">Participa</A>=20
    </H4>
    <UL class=3D"sub no">
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/SSEE/encuentros/index.jsp">Encuentro=
s</A>=20
      </LI>
      <LI><A =
href=3D"http://chat.lavoz.es:8090/chat/world/html/index.html"=20
      target=3D_blank>Chat</A> </LI>
      <LI><A=20
      =
href=3D"http://www.lavozdegalicia.es/cuentatuverano/index.htm">Cu=E9ntano=
s tus=20
      vacaciones</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/cuentalotu/index.htm">Cu=E9ntalo=20
      t=FA</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/relatos/index.htm">Relatos de=20
      Ver=E1n</A> </LI></UL>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/blogs/index.htm">Blogs</A> </H4>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/ocioycultura/index.htm">Ocio y=20
    Cultura</A> </H4>
    <UL class=3D"sub no">
      <LI><A =
href=3D"http://www.lavozdegalicia.es/agenda/index.htm">Agenda=20
      Galicia</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/cartelera/index.htm">Cartelera y=20
      cines</A> </LI>
      <LI><A =
href=3D"http://www.lavozdegalicia.es/pamarillas/index.htm">Gu=EDa de=20
      Servicios</A> </LI></UL></LI></UL>
  <LI class=3D"inl mg_util">
  <H3 class=3Dno>Utilidades</H3>
  <UL class=3Dinl>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/servicios/index.htm">servicios</A>=20
    </H4>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/infocanales/index.htm">Canales</A>=20
    </H4>
    <LI class=3Ditem>
    <H4><A href=3D"http://compras.lavozdegalicia.es/">Tienda</A> =
</H4></LI></UL>
  <LI class=3D"inl mg_clasifi">
  <H3 class=3Dno>Clasificados</H3>
  <UL class=3Dinl>
    <LI class=3Ditem>
    <H4><A=20
    =
href=3D"http://www.lavozdegalicia.es/clasificados/inmobiliaria/">inmo</A>=
=20
</H4>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/clasificados/motor/">motor</A>=20
    </H4>
    <LI class=3Ditem>
    <H4><A =
href=3D"http://www.lavozdegalicia.es/clasificados/empleo/">empleo</A>=20
    </H4></LI></UL></LI></UL></DIV></DIV>
<DIV class=3D"sct brd det" id=3Ddetalle>
<DIV class=3D"area izq a660">
<DIV class=3D"area auto">
<DIV class=3Dnot>
<H1 class=3Dtitulo>Castropol aplica un proyecto pionero para prevenir =
incendios=20
forestales</H1>
<P class=3Dentradilla>Instalar=E1n sensores en el monte Pousadoiro para =
obtener=20
datos de humedad, gases y temperatura</P>
<DL class=3Dlocalizador>
  <DT class=3Dno>Autor:=20
  <DD class=3Dfirma>Daniel Gayoso
  <SCRIPT language=3Djavascript>var d =3D new =
Date(1242252000000);</SCRIPT>
   </DD>
  <DT class=3Dno>Fecha de publicaci=F3n:=20
  <DD class=3Dfecha>
  <SCRIPT language=3Djavascript>document.write(d.getDate() + "/" + =
(parseInt(d.getMonth())+1) + "/" + d.getFullYear());</SCRIPT>
  </DD></DL>
<UL class=3D"utnot nomr">
  <LI class=3Dvotnot id=3Dvotacion title=3D"Valora del 0 al 5 esta =
noticia">Valoraci=F3n=20
  <SPAN class=3Dno>de la noticia</SPAN> <A class=3Dstar id=3Dstar0=20
  =
onclick=3D"javascript:votar('0003_7715353','6F43844A0A80B198009B6976337B3=
445', this.rel);return(false);"=20
  =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"=20
  rel=3D1><SPAN>1</SPAN> </A><SPAN>,</SPAN> <A class=3Dstar id=3Dstar1=20
  =
onclick=3D"javascript:votar('0003_7715353','6F43844A0A80B198009B6976337B3=
445', this.rel);return(false);"=20
  =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"=20
  rel=3D2><SPAN>2</SPAN> </A><SPAN>,</SPAN> <A class=3Dstar id=3Dstar2=20
  =
onclick=3D"javascript:votar('0003_7715353','6F43844A0A80B198009B6976337B3=
445', this.rel);return(false);"=20
  =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"=20
  rel=3D3><SPAN>3</SPAN> </A><SPAN>,</SPAN> <A class=3Dstar id=3Dstar3=20
  =
onclick=3D"javascript:votar('0003_7715353','6F43844A0A80B198009B6976337B3=
445', this.rel);return(false);"=20
  =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"=20
  rel=3D4><SPAN>4</SPAN> </A><SPAN>,</SPAN> <A class=3Dstar id=3Dstar4=20
  =
onclick=3D"javascript:votar('0003_7715353','6F43844A0A80B198009B6976337B3=
445', this.rel);return(false);"=20
  =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"=20
  rel=3D5><SPAN>5</SPAN> </A><SPAN>,</SPAN> <EM id=3DnumeroVotos=20
  title=3D"Votaciones realizadas">()</EM> </LI>
  <LI class=3Dno id=3DenviandoVotacion>Env=EDando datos... Espere, por =
favor. </LI>
  <LI class=3Dno id=3DvotacionEnviada>&nbsp;Gracias. </LI>
  <LI class=3D"servnot vote">
  <UL class=3Dinl>
    <LI class=3Dnobrd><A class=3D"serv tmenos" title=3D"Reducir el =
tama=F1o del texto"=20
    =
onclick=3D"javascript:disminuyeParrafo('texto','cambioTamano');return(fal=
se);"=20
    =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"><EM>-</EM>=20
    </A></LI>
    <LI><A class=3D"serv tmas" title=3D"Aumentar el tama=F1o del texto"=20
    =
onclick=3D"javascript:aumentaParrafo('texto','cambioTamano');return(false=
);"=20
    =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"><EM>+</EM>=20
    </A></LI>
    <LI><A class=3D"serv env"=20
    =
onclick=3D"javascript:document.getElementById('enviar_popup').className=3D=
''"=20
    =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"><SPAN=20
    class=3Dno>Enviar</SPAN> </A></LI>
    <LI><A class=3D"serv imp"=20
    =
href=3D"http://www.lavozdegalicia.es/SSEE/print.jsp?idContenido=3D0003_77=
15353&amp;idSeccion=3D759B7D320A80B19700177039DF4C5858"><SPAN=20
    class=3Dno>Imprimir</SPAN> </A></LI>
    <LI><A class=3D"ser vol" href=3D"javascript:history.back()"><SPAN=20
    class=3Dno>Volver</SPAN> </A></LI></UL></LI></UL>
<DIV id=3DcambioTamano>
<P class=3Dtexto>Anticiparse a incendios como los ocurridos hace varias =
semanas en=20
el Occidente asturiano. Ese es el objetivo del ambicioso proyecto que el =

consistorio de Castropol, encabezado por su alcalde, Jos=E9 =C1ngel =
P=E9rez, pondr=E1 en=20
marcha en los pr=F3ximos d=EDas. Se trata de la instalaci=F3n de una =
serie de sensores=20
en el monte Pousadoiro, de titularidad municipal, a trav=E9s de los =
cuales se=20
obtendr=E1n datos relacionados con la humedad, la concentraci=F3n de =
gases o la=20
temperatura existente en la zona boscosa.</P>
<P class=3Dtexto>Toda esta informaci=F3n llegar=E1 al parque de bomberos =
de Barres o=20
al 112 Asturias a trav=E9s de un sistema inform=E1tico similar al que se =
emplea para=20
el env=EDo de mensajes de texto a trav=E9s del m=F3vil.</P>
<P class=3Dtexto>La iniciativa, pionera en la zona, tiene la intenci=F3n =
de poder=20
predecir momentos delicados en los que puedan generarse incendios, tanto =

provocados como no. En un principio, los sensores se instalan en un solo =
bosque,=20
aunque si tiene =E9xito est=E1 previsto que se extienda a otros lugares =
del concejo.=20
=ABCreemos que es una buena forma de predecir los incendios, por eso la =
idea es=20
llevarlo a otros lugares del concejo o del resto de la comarca. Esta =
primera=20
iniciativa es de prueba, tendremos que ver sus resultados=BB, destaca el =
regidor=20
de Castropol, el socialista Jos=E9 =C1ngel P=E9rez.</P>
<P class=3Dtexto>El proyecto estar=E1 financiado por fondos del programa =
Leader, que=20
actualmente gestionan los concejos de Ribadeo y Castropol a trav=E9s de =
la=20
Asociaci=F3n Puente de los Santos. Por este motivo, los sensores =
tendr=E1n que estar=20
instalados antes de finales de julio para evitar perder la subvenci=F3n =
destinada=20
a la iniciativa.</P>
<P class=3Dtexto>Se trata del segundo proyecto que ten=EDa en mente el =
concejo de=20
Castropol, ya que el primero consist=EDa en poner en marcha la banda =
ancha en la=20
zona, un asunto que tuvo que ser abortado ante la necesidad de recibir =
apoyo de=20
los ministerios de Medio Ambiente, Medio Rural y Marino y el de=20
Industria.</P></DIV>
<UL class=3D"utnot nomr">
  <LI class=3Dcomnot>Compartir <SPAN class=3Dno>la noticia en:</SPAN> <A =

  class=3D"ico del_ico"=20
  title=3D"A=F1adir a Delicious la noticia 'Castropol aplica un proyecto =
pionero para prevenir incendios forestales'"=20
  =
href=3D"http://del.icio.us/post?title=3D&amp;url=3Dhttp://www.lavozdegali=
cia.es/amarina/2009/05/14/0003_7715353.htm"><SPAN=20
  class=3Dno>del.icio.us</SPAN> </A><SPAN>,</SPAN> <A class=3D"ico =
tech_ico"=20
  title=3D"A=F1adir a Technorati la noticia 'Castropol aplica un =
proyecto pionero para prevenir incendios forestales'"=20
  =
href=3D"http://www.technorati.com/search/http://www.lavozdegalicia.es/ama=
rina/2009/05/14/0003_7715353.htm"><SPAN=20
  class=3Dno>technorati</SPAN> </A><SPAN>,</SPAN> <A class=3D"ico =
yahoo_ico"=20
  title=3D"A=F1adir a Yahoo la noticia 'Castropol aplica un proyecto =
pionero para prevenir incendios forestales'"=20
  =
href=3D"http://myweb2.search.yahoo.com/myresults/bookmarklet?u=3Dhttp://w=
ww.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm"><SPAN=20
  class=3Dno>yahoo</SPAN> </A><SPAN>,</SPAN> <A class=3D"ico digg_ico"=20
  title=3D"A=F1adir a Digg la noticia 'Castropol aplica un proyecto =
pionero para prevenir incendios forestales'"=20
  =
href=3D"http://www.digg.com/submit?url=3Dhttp://www.lavozdegalicia.es/ama=
rina/2009/05/14/0003_7715353.htm"><SPAN=20
  class=3Dno>digg</SPAN> </A><SPAN>,</SPAN> <A class=3D"ico meneame_ico" =

  title=3D"A=F1adir a Men=E9ame la noticia 'Castropol aplica un proyecto =
pionero para prevenir incendios forestales'"=20
  =
href=3D"http://meneame.net/submit.php?url=3Dhttp://www.lavozdegalicia.es/=
amarina/2009/05/14/0003_7715353.htm"><SPAN=20
  class=3Dno>men=E9ame</SPAN> </A><SPAN>,</SPAN> <A class=3D"ico =
facebook_ico"=20
  title=3D"A=F1adir a Facebook la noticia 'Castropol aplica un proyecto =
pionero para prevenir incendios forestales'"=20
  =
href=3D"http://www.facebook.com/share.php?u=3Dhttp://www.lavozdegalicia.e=
s/amarina/2009/05/14/0003_7715353.htm"><SPAN=20
  class=3Dno>facebook</SPAN> </A><SPAN>,</SPAN> <A class=3D"ico =
twitter_ico"=20
  title=3D"A=F1adir a Twitter la noticia 'Castropol aplica un proyecto =
pionero para prevenir incendios forestales'"=20
  =
href=3D"http://twitter.com/home?status=3Dhttp://www.lavozdegalicia.es/ama=
rina/2009/05/14/0003_7715353.htm"><SPAN=20
  class=3Dno>twitter</SPAN> </A><SPAN>,</SPAN> <A class=3D"ico =
chuza_ico"=20
  title=3D"A=F1adir a Chuza la noticia 'Castropol aplica un proyecto =
pionero para prevenir incendios forestales'"=20
  =
href=3D"http://chuza.org/submit.php?url=3Dhttp://www.lavozdegalicia.es/am=
arina/2009/05/14/0003_7715353.htm"><SPAN=20
  class=3Dno>chuza</SPAN> </A><SPAN>,</SPAN> <EM><A=20
  =
onclick=3D"javascript:window.open('http://www.lavozdegalicia.es/estaticos=
/compartir.htm','compartir','width=3D710,height=3D500,toolbar=3Dno')"=20
  =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">=BFC=F3mo=20
  compartir?</A> </EM></LI>
  <LI class=3D"servnot vote">
  <UL class=3Dinl>
    <LI class=3Dnobrd><A class=3D"serv tmenos" title=3D"Reducir el =
tama=F1o del texto"=20
    =
onclick=3D"javascript:disminuyeParrafo('texto','cambioTamano');return(fal=
se);"=20
    =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"><EM>-</EM>=20
    </A></LI>
    <LI><A class=3D"serv tmas" title=3D"Aumentar el tama=F1o del texto"=20
    =
onclick=3D"javascript:aumentaParrafo('texto','cambioTamano');return(false=
);"=20
    =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"><EM>+</EM>=20
    </A></LI>
    <LI><A class=3D"serv env"=20
    =
onclick=3D"javascript:document.getElementById('enviar_popup').className=3D=
''"=20
    =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"><SPAN=20
    class=3Dno>Enviar</SPAN> </A></LI>
    <LI><A class=3D"serv imp"=20
    =
href=3D"http://www.lavozdegalicia.es/SSEE/print.jsp?idContenido=3D0003_77=
15353&amp;idSeccion=3D759B7D320A80B19700177039DF4C5858"><SPAN=20
    class=3Dno>Imprimir</SPAN> </A></LI>
    <LI><A class=3D"ser vol" href=3D"javascript:history.back()"><SPAN=20
    class=3Dno>Volver</SPAN> </A></LI></UL></LI></UL>
<DIV class=3Dno id=3Denviar_popup>
<DIV class=3D"area auto  ftrans"></DIV>
<DIV class=3Dporter>
<DIV class=3Dspok>
<DIV class=3Darrstr>
<H2 class=3D"area auto"><EM class=3D"blq  izq">ENVIAR NOTICIA</EM> <A=20
class=3D"boton der cerrar"=20
onclick=3D"javascript:document.getElementById('enviar_popup').className=3D=
'no'"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">&nbsp;</A>=20
</H2></DIV>
<DIV class=3D"caja brd contrans">
<DIV class=3Dnoticia>
<H2 class=3Dtitulo>Castropol aplica un proyecto pionero para prevenir =
incendios=20
forestales</H2></DIV>
<FORM id=3Denvio_noticia name=3Denvio_noticia_amigo=20
onsubmit=3D"return validaEnviar(this)"=20
action=3Dhttp://www.lavozdegalicia.es/SSEE/enviarNoticia.jsp =
method=3Dpost><EM=20
class=3Dder>* Campos obligatorios</EM>=20
<FIELDSET><LEGEND>Enviar a:</LEGEND><LABEL for=3Dpara><EM>*</EM> Uno o =
varios=20
correos electr=F3nicos separados por punto y coma: <TEXTAREA =
class=3D"brd  t620" id=3Dpara name=3Dpara rows=3D5>&nbsp;</TEXTAREA>=20
</LABEL></FIELDSET>=20
<FIELDSET><LEGEND>Tus datos:</LEGEND><LABEL class=3D"area izq"=20
for=3Dcorreo><EM>*</EM> Tu correo: <INPUT class=3D"brd  t223" =
id=3Dcorreo maxLength=3D30=20
name=3Dcorreo> </LABEL><LABEL class=3D"area der" for=3Dnombre><EM>*</EM> =
Tu nombre:=20
<INPUT class=3D"brd  t148" id=3Dnombre maxLength=3D50 name=3Dnombre> =
</LABEL></FIELDSET>=20
<INPUT class=3D"boton  der" type=3Dsubmit value=3DEnviar name=3Denviar> =
<INPUT=20
type=3Dhidden value=3D0003_7715353 name=3Dref> <INPUT type=3Dhidden=20
value=3Dhttp://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm =
name=3Durl>=20
<INPUT type=3Dhidden value=3D6F43844A0A80B198009B6976337B3445 =
name=3Ddominio>=20
</FORM></DIV></DIV></DIV></DIV>
<DIV class=3Dno id=3Denviar_ok_popup>
<DIV class=3D"area auto  ftrans"></DIV>
<DIV class=3Dporter>
<DIV class=3Dspok>
<DIV class=3Darrstr>
<H2 class=3D"area auto"><EM class=3D"blq  izq">ENVIAR NOTICIA</EM> <A=20
class=3D"boton der cerrar"=20
onclick=3D"javascript:document.getElementById('enviar_popup').className=3D=
'no'"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">&nbsp;</A>=20
</H2></DIV>
<DIV class=3D"caja brd contrans">
<H3>Su env=EDo se ha realizado correctamente</H3>
<P>En breve los contactos recibir=E1n en su correo electr=F3nico un =
enlace a la=20
noticia</P>
<P><STRONG>Gracias por usar nuestros servicios</STRONG> </P>
<P><A class=3D"boton der"=20
onclick=3D"javascript:document.getElementById('enviar_ok_popup').classNam=
e=3D'no'"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">Cerrar</A>=20
</P></DIV></DIV></DIV></DIV>
<DIV class=3Dno id=3Denviar_error_popup>
<DIV class=3D"area auto  ftrans"></DIV>
<DIV class=3Dporter>
<DIV class=3Dspok>
<DIV class=3Darrstr>
<H2 class=3D"area auto"><EM class=3D"blq  izq">ENVIAR NOTICIA</EM> <A=20
class=3D"boton der cerrar"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">&nbsp;</A>=20
</H2></DIV>
<DIV class=3D"caja brd contrans">
<H3>Se ha producido un error <BR>No se ha podido realizar el env=EDo =
</H3>
<P>Revise sus datos y <A=20
onclick=3D"javascript:document.getElementById('enviar_popup').className=3D=
'';javascript:document.getElementById('enviar_error_popup').className=3D'=
no'"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">vuelva=20
a intentarlo</A> </P>
<P>Si se vuelve a producir un error, es posible que el servicio est=E1=20
moment=E1neamente no disponible. Int=E9ntelo m=E1s tarde.</P>
<P><STRONG>Disculpe las molestias. Gracias por usar nuestros =
servicios</STRONG>=20
</P>
<P><A class=3D"boton der"=20
onclick=3D"javascript:document.getElementById('enviar_error_popup').class=
Name=3D'no'"=20
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
">Cerrar</A>=20
</P></DIV></DIV></DIV></DIV>
<SCRIPT languaje=3D"javascript">var params =3D window.location.search;=0A=
			var okParamIni =3D params.indexOf("ok=3D");=0A=
			var okParamFin =3D okParamIni+4;=0A=
			var okParam =3D "";=0A=
			if (okParamIni > -1) {=0A=
				okParam =3D params.substring(okParamIni+3,okParamFin);=0A=
			}=0A=
			if (okParam=3D=3D"1")=0A=
				document.getElementById('enviar_ok_popup').className=3D''=0A=
			if (okParam=3D=3D"0")=0A=
				=
document.getElementById('enviar_error_popup').className=3D''</SCRIPT>
</DIV>
<SCRIPT =
type=3Dtext/javascript>seovoz("6F43844A0A80B198009B6976337B3445","0003","=
Castropol aplica un proyecto pionero para prevenir incendios =
forestales","0003_7715353","759B7D320A80B19700177039DF4C5858");</SCRIPT>

<SCRIPT =
language=3Djavascript>obtener_votacion('0003_7715353','6F43844A0A80B19800=
9B6976337B3445');</SCRIPT>

<DIV class=3Dno>LVDG_GOOGLE_ADSENSE:</DIV>
<DIV class=3Dcaja=20
style=3D"PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2009/01/02/0012123088548432015=
4246/Foto/bg_pixel.gif) repeat-x left top; PADDING-BOTTOM: 5px; MARGIN: =
-4px 8px 8px; PADDING-TOP: 13px; TEXT-ALIGN: left! important">
<SCRIPT type=3Dtext/javascript>google_ad_client =3D =
"pub-6836842800889267";=0A=
google_ad_slot =3D "3146650616";=0A=
google_ad_width =3D 250;=0A=
google_ad_height =3D 250;</SCRIPT>

<SCRIPT src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js"=20
type=3Dtext/javascript>=0A=
    <noscript />=0A=
  </SCRIPT>
</DIV></DIV></DIV>
<DIV class=3D"area der a330">
<DIV class=3D"caja relacionados">
<DIV class=3D"img i316"><SPAN class=3Dbrd><IMG=20
alt=3D"Castropol aplica un proyecto pionero para prevenir incendios =
forestales"=20
src=3D"http://media.lavozdegalicia.es/default/2009/05/14/0012_2560102/Fot=
o/x14c8f1.jpg">=20
</SPAN>
<DIV class=3D"area auto relimg">
<DIV class=3Dpiefoto>La iniciativa pretende predecir momentos delicados =
en los que=20
puedan generarse incendios</DIV>
<DIV class=3Dautor><SPAN class=3Dno>Autor de la imagen:</SPAN> | XAIME =
RAMALLAL=20
</DIV></DIV></DIV><SPAN class=3Dno>&nbsp;</SPAN> </DIV>
<DIV class=3Dno>LVDG_PUBLICIDAD:robapaginas:edi.amarina</DIV>
<DIV class=3D"area pub" id=3Dp03>
<DIV class=3D"mod p03">
<SCRIPT =
type=3Dtext/javascript>configuracionOAS('vocento.lavozdegalicia/edicion/a=
marina');</SCRIPT>

<SCRIPT type=3Dtext/javascript>OAS_AD('robapaginas');</SCRIPT>
</DIV></DIV>
<SCRIPT type=3Dtext/javascript>muestra('p03');</SCRIPT>

<DIV id=3D00801190114525456453>Cargando</DIV>
<SCRIPT languaje=3D"javascript">function refresca00801190114525456453() {=0A=
				rss('ext', '/estaticos/caja_lo_mas.htm', '', '00801190114525456453');=0A=
			}=0A=
			refresca00801190114525456453();=0A=
			var refresco =3D 900 * 1000;=0A=
			setInterval("refresca00801190114525456453()",refresco);</SCRIPT>

<DIV class=3Dno>LVDG_PUBLICIDAD:17:edi.amarina</DIV>
<DIV id=3D00801223912929096541831>Cargando</DIV>
<SCRIPT languaje=3D"javascript">function =
refresca00801223912929096541831() {=0A=
				rss('ext', '/estaticos/ahora_en_portada.htm', '', =
'00801223912929096541831');=0A=
			}=0A=
			refresca00801223912929096541831();=0A=
			var refresco =3D 9000 * 1000;=0A=
			setInterval("refresca00801223912929096541831()",refresco);</SCRIPT>

<DIV class=3Dno>LVDG_PUBLICIDAD_EXTERNOS:08A</DIV>
<DIV class=3Dno>LVDG_PUBLICIDAD_EXTERNOS:08B</DIV>
<DIV class=3Dno>LVDG_PUBLICIDAD_EXTERNOS:08C</DIV>
<DIV class=3Dno>LVDG_PUBLICIDAD_EXTERNOS:08D</DIV>
<DIV class=3Dno>LVDG_PUBLICIDAD_EXTERNOS:08E</DIV></DIV></DIV>
<DIV class=3D"sct pie">
<DIV class=3D"area auto">
<DIV class=3D"area izq pub">
<DIV class=3Dno>LVDG_PUBLICIDAD:10:edi.amarina</DIV></DIV>
<DIV class=3D"area der pub"></DIV></DIV>
<DIV class=3D"area auto">
<DIV class=3D"caja enlaces">
<DIV class=3D"area izq a660">
<DIV class=3Dmnmenu>
<H5 class=3Dno>Otros enlaces de inter=E9s:</H5>
<UL>
  <LI class=3Dltit>
  <H6>Webs del grupo</H6>
  <UL class=3Dsubl>
    <LI><A href=3D"http://www.radiovoz.com/">RadioVoz</A>=20
    <LI><A href=3D"http://www.vozaudiovisual.es/">Voz Audiovisual</A>=20
    <LI><A href=3D"http://www.sondaxe.es/">Sondaxe</A>=20
    <LI><A href=3D"http://www.canalvoz.com/">Canalvoz</A>=20
    <LI><A href=3D"http://www.voznatura.com/home/index.php">Voz =
Natura</A>=20
    <LI><A=20
    =
href=3D"http://www.fundacionsantiagoreyfernandezlatorre.com/">Fundaci=F3n=
</A>=20
    <LI><A href=3D"http://www.prensaescuela.es/web/home/home.php">Prensa =

    Escuela</A>=20
    <LI><A href=3D"http://www.escuelademedios.com/">Escuela de =
Medios</A> </LI></UL>
  <LI class=3Dltit>
  <H6>Anuncios Clasificados</H6>
  <UL class=3Dsubl>
    <LI><A =
href=3D"http://www.tevagustarinmobiliaria.es/">Inmobiliaria</A>=20
    <LI><A href=3D"http://www.tevagustarmotor.es/">Motor</A>=20
    <LI><A href=3D"http://www.tevagustarempleo.es/">Empleo</A>=20
    <LI><A href=3D"http://www.tevagustarmercadillo.es/">Mercadillo</A> =
</LI></UL>
  <LI class=3Dltit>
  <H6>Tarifas web</H6>
  <UL class=3Dsubl>
    <LI><A=20
    =
href=3D"http://media.lavozdegalicia.es/default/2009/01/05/001712311693646=
64651983/Fichero/tarifas09.pdf"=20
    target=3D_blank>Consulta</A> </LI></UL>
  <LI class=3Dltit>
  <H6>Contacte con nosotros</H6>
  <UL class=3Dsubl>
    <LI><A href=3D"mailto:webvoz@lavoz.es">webvoz@lavoz.es</A>=20
</LI></UL></LI></UL></DIV></DIV>
<DIV class=3D"area der a157">
<UL class=3Dlegal>
  <LI><A href=3D"http://www.lavozdegalicia.es/estaticos/avisolegal.pdf"=20
  target=3D_blank>Aviso legal</A>=20
  <LI><A =
href=3D"http://www.lavozdegalicia.es/estaticos/privacidad08.pdf"=20
  target=3D_blank>Pol=EDtica de privacidad</A>=20
  <LI><A =
href=3D"http://www.lavozdegalicia.es/estaticos/condicionesgenerales.pdf" =

  target=3D_blank>Condiciones generales</A>=20
  <LI><A href=3D"http://www.lavozdegalicia.es/rss/">RSS</A>=20
</LI></UL></DIV></DIV></DIV>
<DIV class=3D"area auto copy">
<DIV class=3D"area izq a495">
<DIV class=3Dcaja><A=20
href=3D"http://www.confianzaonline.org/codigoetico/codigoetico.php"=20
target=3D_blank><IMG=20
alt=3D"Confianza oline. Enlace a m=E1s informaci=F3n sobre el =
certificado"=20
src=3D"http://media.lavozdegalicia.es/img/logos/lg_confianza.gif"></A> =
<STRONG>=A9=20
Copyright LA VOZ DE GALICIA S.A.<BR>Pol=EDgono de Sab=F3n, Arteixo, A =
CORU=D1A=20
(Espa=F1a)</STRONG><BR>R.M. de A Coru=F1a: tomo 2438 del Archivo, =
Secci=F3n General,=20
folio 114 vto., hoja C-2141. CIF: A-15000649. </DIV></DIV>
<DIV class=3D"area der a495">
<UL class=3Dcomercial>
  <LI><EM>Comercializa publicidad local: </EM><A class=3Dcvoz_ico=20
  =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"><SPAN=20
  class=3Dno>canal voz</SPAN></A> </LI>
  <LI><EM>Comercializa publicidad nacional: </EM><A =
class=3Dcmvocento_ico=20
  =
href=3D"http://www.lavozdegalicia.es/amarina/2009/05/14/0003_7715353.htm#=
"><SPAN=20
  class=3Dno>cmvocento</SPAN></A> </LI></UL></DIV></DIV></DIV></DIV><!-- =
Condiciones generales --><!-- Politica privacidad --><!-- Aviso legal =
--><!-- Como compartir -->
<SCRIPT type=3Dtext/javascript>piwik_action_name =3D '';
		piwik_idsite =3D 3;
		piwik_url =3D 'http://piwik.lavozdegalicia.es/piwik.php';
		piwik_log(piwik_action_name, piwik_idsite, piwik_url);</SCRIPT>

<OBJECT>
      <noscript>        <p>          <img alt=3D"" style=3D"border:0"=20
src=3D"http://piwik.lavozdegalicia.es/piwik.php" />        </p>      =
</noscript>  =20
 </OBJECT>
<SCRIPT type=3Dtext/javascript>var _rsCI=3D"es-lavozgal";
			var _rsCG=3D"0";
			var _rsDN=3D"//secure-uk.imrworldwide.com/";</SCRIPT>

<SCRIPT src=3D"http://secure-uk.imrworldwide.com/v53.js"=20
type=3Dtext/javascript>//</SCRIPT>
<NOSCRIPT>
<DIV><IMG alt=3D""=20
src=3D"http://secure-uk.imrworldwide.com/cgi-bin/m?ci=3Des-lavozgal&amp;c=
g=3D0&amp;cc=3D1">=20
</DIV></NOSCRIPT><!--OK--></BODY></HTML>

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://media.lavozdegalicia.es/img/empty.gif

R0lGODlhAQABAJEAAP///////////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://media.lavozdegalicia.es/default/2007/07/05/01019574F7ABD4A6BC8300056042AA7E1337/imagen/cabecera_portada_g.gif

R0lGODlhngE+ANUAAOAHKXBwcGZmZry8vOY1UJWVlexkevOjr+IYN9nZ2fKUo++DlPfByehEXuLi
4uQlQ/WyvbOzs+pUa+1zhoODg/vg5PnQ1/fCyqmpqezs7MXFxehFX3l5eYyMjJ+fn+Pj48zMzOY2
UeQmRP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHACMALAAAAACeAT4AAAb/wJFw
SCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum89oMmTRmBAzjEyayMDKiRZ2Q9SuzP9gFhMh
ABt4CxCAiouMRgsiAJGGQgcIkW5jFQsSB0SEGwd3UQaTIxCQkamXjaxRDBuqpQqpIaJmFgx1rbtm
DKipkxWqAAtiDJarQrCRIp1QBwAXIxkSw9aYiwqWIRa8RxPWIkIZwwa91aoTtt7sWbPhQhfDCGK/
kX4j1hvrSdAAIxUIWbOmCxAEVeKO8JuTgZAIganiWVvIxcIyAAg2oJLQriMWAxgFDZNjwZq0LweH
SSMXCwGCbkv8AciAbOAwjorAqYJJpBJF/zMNAYjI8C7VypqRToKBULOWEIH4PEqF8q5TylTO0AEI
gUABmAVI6ZkaZqHkUCUyt25YO2xDIqKRxALSmSoqpUKKMhwQ2ElYuruRSDn7khaBqGVKpypWwiDu
EKSlDizoJKLYFwkbFjCDCTJVQpA4v7UdkqGzuZ6RfpJJW0pI1T8VDNSUexHjnQoXuoUY3CUtAK9C
6PJcTLxIBlSnR2hWlYiIsMRcDCTk6TeV5ZTDx2lVlXzEhNBEIEFHc3zrAlEVtI4fk4FuqtDyuBdp
nF2L75lCOgstzr/IcgCDlZcKAgU1JJcX0BQ0DUS2CVESANg4yGA5d2SwEDiMHCTCBAsosP/AhKp5
4ctAlgmxHQAG3GHBQ4TBM8J2JfZXHE1GERGfKiEsIBsAzX1BEwLOQDBhj/GFUMQGElyg3zyhJPFI
IxfYYw0a/5n0xoQANEDISyIOZEhjtMgoY1HRFHEBUqrwhpJNyUgUSRH/OIhmmEgcAFwjeWA2pRlL
IkAAc8bVNmCPXZw5mn5OfdgAoVeUFoIE9YlphT1qArRjKgZE6oWh89wZXERJCIhjiOzsScaSAFiA
VHdDXKBVjqRa4R5eyzjlHqNVQISAXZJWUV0k4Jl5wXpiELXBNgvwOsIvSwjKo4ymilElMQ8OyMq0
hsAiwR2jYXFjJDH2SsVVdfUnU2ukDeH/LLFSRQsGmGHCi1Uj2CoHXrdXfEuMuFdMi+ITBlQ6xy/B
ToNAc+tCOwx7UtZBJjOkrqisFvVmYJd7Ak/B4MT8PuEvABwXIZumZ7gXbkNOjZBwf+56Ma2RY1kT
rhE0scpFvTRPgIAInl6R3lbsdtzExwUbARKuachbJmkhpKyylSwvHMavkThTrSq7JqFq0VvgLHRx
+qaioNEASlFBrE6oivWVXKoLNX8tczHrgXPidYSqhlERMhFeS0WypDYldARoSsBRnwHcZBGUKqFZ
QEjPKzOGtmvqaFEWnFIz4XjlT6AJ3qyp4Kp2hJYWUQEDyoqQ4hJ9kzY2ExBI0EADnNy9//cIuBhx
TMaSomodzZ0hLackb1gCJBYnlo07MnKcrczbSIAkwut1MkN9FOXFGLfuyDgdkzW8UT2gLTIl1lCM
RfHmT+JO4ss0irGOOIwIw6k98zgC0U/EMqSLG3YqwwmICCwhhAWMxx53ck//qGINsUDjWHEy4PNU
ooQlrQ4tw+DcFBa3FZhsjwgP814SfJcd0AFrCJVQwCx40hDB4W4YUfnFwdoXC+PoSnhDoMtuLnCA
arRNbZFgHxGWVAp5heB2xfFdEHuSooMUEDosAYaDrCFEKFwNU5ToxF6eOEFVEIuDg+rHQGYoBTCC
Kx+ZU0jyINSEOdFMSqEbAj7ihDtCxP9oWs7wlwb55j4zAkACEwvIe+gACUMAMR22ENQ4pERGflWg
br+hWQTHk0GAQLJnTcDS0lo1iQmcJHJ44ErdtkU2NpHyCRysEpaSwBQ2hUh8DTiC0jyzjji1UnmA
AeAI7mM9R7hvl3NSkyaQEpUqQSAD/mpbF/czAiX+cXIeediAlPUPVY2nNgbQGUZs8jcjSJOZNjIE
ND4JPSG0sgEVcBZG7sQAO34sLjgswopUARB1vskIPwuBRgYStBGELZaiGQjp/lGlGNEoLjqKyxh9
WcMi3Mc4aIIZQIZhGVShizWPEIpN7iejNf7RCKmyxHjM2BXlNDAKcGSjmUCRlGW2lDT/+gHoLdvi
hxCI4CQWMSUTKpE5bQzEOGB5qTQ5OgR/2WwImkwVEQoxDIkOLxYXyICzbNY6f7bMa/qyTFVB18Q5
9ZM4ohrG2La5ySKsYQGIQE1DnUAuQJmpJuSkoBDkFwmATkOJ5uAHT+fRTT86J3mkCWqNCihXGqqC
qI/00hDaKjbjSKZDw5nQzKoaNiPoqxRRjERzqoo7tE4GPdZAInEOudYXDvYJl4WCEg80hCXBZGVX
zJJD5/GT0mCtm0IQH0gzF7nMgox1MsPgQOJgQuI5QVCT/aVV0+gmKaIQi4QtbRM+KCZePmuX8olC
ap+QUnQ1M01uK+y07DpX5VoWEvpz/0LLTOXbsl7EuwzN7ggHYlM2RQK3Lk2udJdLTzP9sgIHGA5n
lUBdMSnREKpsgsVsZN4kbPRK4A2vF1s1DPKOQGnwFdlWoLneNAoqMRD5qr8s/Eb7sumoADkSReNr
XAYzl78tNmyMj8CrAsvIj3+UL2MGWKLtNiG2kfBUldQUOX1ZGMOFq8YFn9Dh/rpUKVEkKh+HQQAm
zFIoCpAHD+HID7BMT8Jn9I9yK+vf/bLYbjTWVlRsLCMgvxh4QdxZInzMhP+V9T/eLXKF59PgBV0C
mmh08hCi9eGiBoatP2WC73ASJ2oMgzftDGIh/IDcM3uXzC52rhIG7FOhIMAybFaCBv8KwAEBUKAD
A/hJAjxAAQEIoAMYyMCpu/BOCNGxTjVJFkhYamYktPelhO1Knt9mZD73ep4Duh4SmgyqJw9vgUgA
Mm4PmooHCIGO1P7XNNyTCztK1tKWbRmdkVBVx9HTy4ytQgJaHQAPRKAArg6ABo6AAVcXIAIYKLWr
O+CFlHbi1qar9IWdlWEk1C0xH8LNsAtbbDqY9xjDZfKLCU3BoPDO4NbA5BH8dW0iuMcQpxArJeak
X01T+MXj3ngfOX7XREtBA66mgCgcEABXz5sIERBAAD5AhAG4WgAIsoYHQyUl9PV5cAMRshwusPAJ
N7euxja5a9jkwiUw+55PXpwym5D/PK6Zbk+3lpc4CfK+w4K7zIJ+OpplvPbvplG3UqC5ADiwDpjr
XBQZcDUGjOBzoDMhA2dFqwL2JqVBC/d3Q0AyagXKt3g0/bQNT3wfnTmv6U7cwypZUtW/N5FMSu3W
V5vEiRTUgBWLeb+YPrnUVS7d9mIu7U7ogM1p9vO9C8HuEThCq5fAAI9u4HruERzA0R7m8vY6Cc5y
qmWYbgQ9q+LI+BLkViAJ7d3CnuJeVCQq56RxFsMs7A2dFulNP+XVp17tBTf0ft0VaiIk4OdIkP3c
h5BzAXjgCD4PlT0Zx49v2XX4mVZ8F3Z0NDYnysJ8KsZwe+Zwa6Uq5zF1+qBelydo/x+meaNgDdbG
BFXCaAyYDOJHBKVndqdnfuJGgCa1fszVfkPgAfsWfz93B/UnAANwBAkQbZAUDvXxFx2XBFnVgTPW
BIw1Mwi4P8S2gJJXWusgTV73es02aJjnRaISTzQ2EBeXS8pza+SSRyI3BCGIeOX3g+cHY23HeqvH
fm+2BPrGb0cQgzU4DT83d6nGBIllYljDKG6VD0rQg0e4ek3gG3kTTs1XhM8XdT/4Bhkngdf3hDWi
F4M3Bb7zALkQB+Q2Pjv4KeVygo3FheSnfiSIciZYVWYIe0zwhqRYigLQhiMAb6RYACCgBPtnX7xB
iZV4BHpofHzYh5voT48HbJFni/+FuFQwhIhNeG2KCGxVkG3W0ACVohUlcmt/0mIfqIki+IVjGIYp
d3bAmHYqOALv52ocEAHgGI7iCI62oIqkyAGtaARpEQITcADDcgGbwCaDkQoRAoCqJ4CKNwWFYRdD
CGa8aIS+OIZE0FbVZ33DGGipcBiFZQX3sSuABwsNgHe0IAp09CuDEY1C0IUCGF2dCHvXOII/GIoH
uQQf8HNqCAUaoG+keH9FIBAb8EWC9WjL9YezGG7TOIDH92O/0Br96FIfpXbQhzU/URtLaJBY54QR
1l4FCQXOYle+0DbLkTWGx5HKt4UZmYuYCIYlmJMcGZIpeIZKYJJU8AEYUHNveHP/uRVkcrhGC6AT
amKPahcj+TgNZcSMnBSI3HFMlniTswRtVbKUhFhXw9FAcmBCVUQJUHAMzoINDfEAGaA2RwQn41AT
AmaVI6CR+5IuXnMH1jg/ytaVYyiSqZEuTGCWAXAFICB/poYaUgaS5QBSdSKGETJLp3EAZyEF6eN4
NsQMTUIaNkEAMKE0D2gcdPGSUWBPw0lT41BcMXI0TnAcx4Qlg/FIEvAAn3YEcUIXPTMthIKZbWMA
5jAtWXM+YggAddAQnfBNBlBMVSmUuPNlorlhC1KFI6CaDuAEMogELOhqHsdaO1U31EQzj4JdlQQQ
z1gOlYBfSMAp3dCPtikUGWNu/wIFB7QQKfIjAlLoa84EiYHWSK2SUokzC/SJQpPgaMNwJ3uhABTx
D1dhM4JCRjOVJogjB75zRE0jB8nUTi8RVlhTDLLBG8l3DLUAS35gW1QUEKziAPzQdwKQe0kQhyOw
mkgAf+pyVH9DWtZhFwAHFg6ZUgSgDQNkEyNaOFtiAQiYU8cDXAPxAMsBbTqRplUQJTaBDpGpEMUF
Et2HBLtBjc80XUBkM26WTUw1EGfBoxNpIjbRNnvBJi4xHDgmn6u1AH+SUto2Dq3WpEZgmhQBczMY
pQKQjkbgjftzPxZBMtJnDZzQDXHCANrEPiaKqhYjnYoDEghACic4nJqTVAiwHv+Ls0fHWFwqlYea
hGIOtg5yqgoPkKHbBKdmklTFEKMhQRrJQ5Mj8E3Qcax8BWe0VVR1oz++wyr76Wr32XM/J3NGQHMU
MATxxg95JwC2pwwcVRK+ClN0mEHGiiZ38qrBmgWdoU8dJAX+UqdGAA4zpBcGIAEqagXYCk8e01Ta
BYDIhCYE0JvOcQAPIAm3I548gWzGCJr1wSlVg2vDgEMPkx3pdBOiQCYipJqYWgThKm8VEgEBsHPq
GnPjuoI6JzIFVw1ftqCUijUTwDFSFRfjsRzpRwX60ZpKkFPAQhF+0Rwcu3Vl9B9Sm6txAWjyECoK
gCUE0ABt2QAHmiROwCkitDj/3ccp3bc4xLptlac1yJAx/yGExqMs4SoAPGcE9WaKpmYLHBAA8ucB
GpAAAyB7HHC3KOSfnHhKRwABl4IjE5ChzZRe6igCoiUFsvFVTKANazsL3fEtUlkFjlO1TgAWkPt1
IWIBCgBBDcQJlcs0S6azZHq00kEqUbK2TLOE0BChe3oE8CZvoeIBZhlzaDkEGLB3o/aG36gQzPqF
JaUEuDEsCvoGhTM1WpCx14WUvxgFrUtjVLC88oQ64/COw9IoVvd35qtgkxMicEmXWZAAhssEH4CK
SKAAt1kEoLMB0fs1XXO9xHiH/WGr0dO2+jvAW7ABr2swnpEIAEbAZ/BAA0mYkmIiDxqnNNvLwBas
EDY1nRAhQhdMBp8AAQwQkzgSBwpgu94ADvUxLZjbwSxMnMzAIPPawlODJSKwAZpUuq0QFD3jG/kr
wy1cAYPADAawwj68BRAwAUiyABsbxH9ExLtgWzwDE4d0tEVcxVZ8xWkQcgOhuFjcxV78xWMAj2ux
FkELxmZ8xmicxmq8xmzcxm5sBUEAADs=

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://media.lavozdegalicia.es/default/2009/05/14/0012_2560102/Foto/x14c8f1.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAA0JCgsKCA0LCgsODg0PEyAVExISEyccHhcgLikxMC4p
LSwzOko+MzZGNywtQFdBRkxOUlNSMj5aYVpQYEpRUk//2wBDAQ4ODhMREyYVFSZPNS01T09PT09P
T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0//wAARCADYATwDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDm842h
3LDplRUzm2FowR7hpQcEbQVA7dDmqjEOSxJBYnKmp55badkVYntwOGWNjh/bJ7/WsVFMt7CxJd+U
scUJ8uV85xjcQPWq0gOBHsKyDLEdCRV29upboRpBZyqqgbZHj5IAA4wPaqUyM0hNwzKwAA8wMMfn
VyVlZCp+YxIUkjIMka9vnbH5YpphUhD5qnbkEK3fpio5W2EqQG49M5qLeyk4BU9gOgqDR6olgC5b
zRlsELUe6eR1dsMRz7HFKI2duJYw3XHP86f5R8tt/AI+RkO4CqsZXS3GIDuG4B8jGQRwfX+lMgjT
ywzHlifw5x+NPEEK7cT5YjLDb39Paq6sy5Q/NjPfOOaLMXNqSyELgHlu4HbHGKqvnZyM+tStywbI
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
bCS24ZH0qs5UtlWOD79KKKAP/9k=

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://media.lavozdegalicia.es/img/logos/lg_confianza.gif

R0lGODlhIAAiAPcAABgAcez20azROmytAFmfAK6N049nu9zqr0UAoe7X/3uzAKyPzNDD4sTbeeTu
vXNDqezl85vEIkgHj8Gs2bnWYfD/j6p1+qWFxrHRSv////H135K/ANvL7l8lnH9Ss0IAiNTkm7uO
/6Z0773pQcu53/r3/1ESlHg7x5df6pXBEdjzkfD/sywAgLKYzd7H/Yq5AFkcmrWV4WYvovz/36OA
z6LHLdjM5+b5rsLabanZH8Kxy7mi0556xJPCAXSvAM/+VWqnAMat5cu45PLp/4BB1ejwxVQXluv/
sM/ii///8XZHrObZ+X68AGMppToAh73Ya///tMjvXOL/eZx7vce03U0Ok+Xc7vT62/Xy+IRTxIdc
tqXFKbbUVdvO6CUAeseZ/9bF3loZlP3l/1sgm7Sa0pfCGfb55WOlANfootbB8MKr3JPTAPP62eHx
q/zz/429AOrd/IO1AEsJkfbt/3xMrqeJyN/U6MnmdOb6s3iwAKjLN72W+K6TzP//5q3NQoFQu4NK
zenxyoHEAL/ZcaTQIrbUWPH22GsxpUEAi2Ipnu/p9t7T7TEAgbyk1M6839bH5ZHABZ3FKzwAiZRt
vnNBqufX/8ev67ab0FgelysAfX9SrlyiAPDe/7vWZJPNAPjk//j/3NHD5L2t3q5/+JfCEFcXoer9
rsXec6vWLc+46///+f//vYlet5nEG/f/5tzqqL+X/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAAAgACIA
AAj/AN8oGECwoMGDCBPmEYijyKuHECNKnCjRAZKBgTJo3Mixo8ePGQi+AkmyZAZDQICM/LiAh8mP
KFV+LJHJy6KXHWOu7EgJkRFEODnq9FiCUQcZEqpoBNEAiaqSQztOYCRDxhgWYkYQGHAmD9SUOzca
QFS1CqCQLzZsAKKHZFSOlCRU/SBiFZA3eBW8cQvWIx25MqqcSDIg7Vo/fGV2rOOkagegP86k9PRV
MUcrLBJpRpQlAxQpFdx8Shx2o5EqVRN9KCXiiwUELBSBfMuRSibNmjF92I1JDiLZHmlzpMMId9Xj
gZ08Ct4XpBJGMJAfhwHgAXPLHy84YSTBiHcJjCQt/4CZss3LUJPGqJ8UiiSolCtCfMBkwgiM01Wq
GJHBvoR/KlqMYUJ9MAwoCRF9pHREBjvsAMEjE9igiCJWLLLIDiQ8YmEXXUBgoSMTdGgHJwkCsUIC
jVCRQSMkUAEBGRm86MgijmRQRwYXaBQKFqxotEMGbKRkCgoauZiBInXU8YgVF1DBgCN2WLfDAgzY
kAEDGSygSQYzwDeKHVgw0EgJlsQAwRAe0JDBEpMUoAYNamTwRxAxcMABDy3AUuINGfBxSQap7JHG
RpVUopELGsEx2hyV6BCEEBpV8h52GUQhCBMZ9KBCBgIQksEdnXiCRwCo5LBGHxxd0dxGQMQBBBcR
xGfRyRM1ZIDEICm8QAGsbQm1qkY+DLBJA61ocIYfrSCBQSGkBLKJHpCUkdOvJ0VQSAaDZHAACCDU
0IAD2aIBAhKRaOArpUElVkS6QQGhABJmGCLvvPTWa2+9Zhyw0EAp9evvvwAHvFBAADs=

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://secure-uk.imrworldwide.com/cgi-bin/m?ci=es-lavozgal&cg=0&cc=1

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1224233137514371993/LVDG_est_caja_agenda.css

.agenda {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2009/04/27/0012124081959216837=
2352/Foto/fondocaja.gif) no-repeat 50% top; BORDER-LEFT: 0px; =
PADDING-TOP: 36px! important; BORDER-BOTTOM: #cfcac0 1px solid
}
.agenda H2 {
	FONT-WEIGHT: bold; FONT-SIZE: 15px! important; PADDING-BOTTOM: 15px! =
important; COLOR: #333! important
}
.a330 .agenda UL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; OVERFLOW: auto; PADDING-TOP: 0px; HEIGHT: 200px
}
.a330 .agenda UL LI {
	PADDING-RIGHT: 2%; DISPLAY: block; PADDING-LEFT: 2%; MIN-HEIGHT: 50px; =
PADDING-BOTTOM: 2%; MARGIN: 0px; WIDTH: 95%; PADDING-TOP: 2%; =
BORDER-BOTTOM: #ccc 1px solid; LIST-STYLE-TYPE: none
}
.a330 .agenda UL LI EM {
	FONT-WEIGHT: bolder; FONT-SIZE: 11px; TEXT-TRANSFORM: uppercase; COLOR: =
#c00; FONT-STYLE: normal
}
.a330 .agenda UL LI IMG {
	FLOAT: right
}
.a330 .agenda .bt_more {
	BORDER-RIGHT: #b1d2f3 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#b1d2f3 1px solid; MARGIN-TOP: 8px; DISPLAY: block; PADDING-LEFT: 5px; =
BACKGROUND: #f2f8fd; FLOAT: left; PADDING-BOTTOM: 4px; BORDER-LEFT: =
#b1d2f3 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #b1d2f3 1px solid
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1205422036720533891/LVDG_estilo_general_130308.css

BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; FONT-FAMILY: =
trebuchet ms, lucida grande, tahoma, arial, geneva, verdana, helvetica, =
sans-serif; TEXT-ALIGN: center
}
.maq {
	CLEAR: both; FONT-SIZE: 11px; MARGIN: 0px auto; WIDTH: 992px
}
* > .maq {
	WIDTH: 990px
}
* {
	LINE-HEIGHT: 120%
}
* {
	BORDER-RIGHT: #cfcac0 0px solid; BORDER-TOP: #cfcac0 0px solid; =
BORDER-LEFT: #cfcac0 0px solid; BORDER-BOTTOM: #cfcac0 0px solid
}
A {
	COLOR: #134d86; TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
FORM {
	CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; =
FONT-SIZE: 12px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-TOP: 0px
}
FIELDSET {
	CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; =
FONT-SIZE: 12px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-TOP: 0px
}
LEGEND {
	CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; =
FONT-SIZE: 12px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-TOP: 0px
}
SELECT {
	CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; =
FONT-SIZE: 12px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-TOP: 0px
}
INPUT {
	CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; =
FONT-SIZE: 12px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-TOP: 0px
}
LABEL {
	CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; =
FONT-SIZE: 12px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-TOP: 0px
}
LABEL {
	FONT-SIZE: 11px
}
INPUT {
	VERTICAL-ALIGN: middle
}
SELECT {
	VERTICAL-ALIGN: middle
}
INPUT.brd {
	BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: =
1px; VERTICAL-ALIGN: middle; POSITION: relative; BORDER-RIGHT-WIDTH: 1px
}
* > INPUT.brd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
* INPUT[type=3D'radio'] {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
DIV {
	CLEAR: none; WIDTH: auto; TEXT-ALIGN: left
}
DL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
UL {
	CLEAR: left; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
UL LI {
	FONT-SIZE: 13px; LINE-HEIGHT: 16px
}
OL LI {
	FONT-SIZE: 12px; COLOR: #000; LINE-HEIGHT: 14px; LIST-STYLE-TYPE: =
decimal
}
OL {
	PADDING-LEFT: 0px; MARGIN-LEFT: 24px
}
* > OL {
	PADDING-LEFT: 21px; MARGIN-LEFT: 0px
}
DIV:unknown {
	CLEAR: both; DISPLAY: block; OVERFLOW: hidden; LINE-HEIGHT: 0; content: =
" "
}
DIV:unknown {
	CLEAR: both; DISPLAY: block; OVERFLOW: hidden; LINE-HEIGHT: 0; content: =
" "
}
UL:unknown {
	CLEAR: both; DISPLAY: block; OVERFLOW: hidden; LINE-HEIGHT: 0; content: =
" "
}
UL:unknown {
	CLEAR: both; DISPLAY: block; OVERFLOW: hidden; LINE-HEIGHT: 0; content: =
" "
}
DL:unknown {
	CLEAR: both; DISPLAY: block; OVERFLOW: hidden; LINE-HEIGHT: 0; content: =
" "
}
DL:unknown {
	CLEAR: both; DISPLAY: block; OVERFLOW: hidden; LINE-HEIGHT: 0; content: =
" "
}
H1 {
	DISPLAY: none
}
H2 {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
H3 {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
H4 {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
H5 {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
H6 {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
H2 {
	FONT-SIZE: 21px
}
H3 {
	FONT-SIZE: 17px
}
H4 {
	FONT-SIZE: 14px
}
H5 {
	FONT-SIZE: 12px
}
.sct {
	CLEAR: both; BORDER-TOP: medium none; MARGIN: 0px; WIDTH: 100%; =
PADDING-TOP: 1px
}
.area {
=09
}
.auto {
	WIDTH: 100%
}
* > .auto {
	WIDTH: auto
}
.a50pct {
	WIDTH: 50%
}
.a990 {
	WIDTH: 990px
}
.a660 {
	WIDTH: 660px
}
.a495 {
	WIDTH: 495px
}
.a330 {
	WIDTH: 330px
}
.a247 {
	WIDTH: 247px
}
.a165 {
	WIDTH: 165px
}
.a418 {
	WIDTH: 418px
}
.a242 {
	WIDTH: 242px
}
.a253 {
	WIDTH: 253px
}
.a216 {
	WIDTH: 216px
}
.a209 {
	WIDTH: 209px
}
.a162 {
	WIDTH: 162px
}
.a157 {
	WIDTH: 157px
}
.a153 {
	WIDTH: 153px
}
.a200 {
	WIDTH: 200px
}
.a123 {
	WIDTH: 123px
}
.a235 {
	WIDTH: 235px
}
.a167 {
	WIDTH: 167px
}
.a825 {
	WIDTH: 825px
}
.a143 {
	WIDTH: 143px
}
.brd {
	BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: =
1px; BORDER-RIGHT-WIDTH: 1px
}
.fnd {
	BACKGROUND: no-repeat right bottom
}
.izq {
	FLOAT: left
}
.der {
	FLOAT: right
}
.absizq {
	DISPLAY: block; Z-INDEX: 1; LEFT: 7px; POSITION: absolute; TOP: 7px
}
.absder {
	DISPLAY: block; Z-INDEX: 1; RIGHT: 7px; POSITION: absolute; TOP: 7px
}
.mrg7 {
	MARGIN: 7px
}
.pdg7 {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px
}
.nomr {
	MARGIN: 0px
}
.nopd {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; PADDING-TOP: 0px! important
}
.inl {
	CLEAR: none; BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: 0px; =
PADDING-TOP: 0px; BORDER-BOTTOM: 0px; LIST-STYLE-TYPE: none; POSITION: =
relative; TEXT-ALIGN: left
}
.blq {
	CLEAR: none; BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: 0px; =
PADDING-TOP: 0px; BORDER-BOTTOM: 0px; LIST-STYLE-TYPE: none; POSITION: =
relative; TEXT-ALIGN: left
}
.inl {
	DISPLAY: inline
}
.blq {
	DISPLAY: block
}
.inl:unknown {
	DISPLAY: none
}
.inl:unknown {
	DISPLAY: none
}
.blq:unknown {
	DISPLAY: none
}
.blq:unknown {
	DISPLAY: none
}
.no {
	DISPLAY: none
}
.nov {
	DISPLAY: block; VISIBILITY: hidden; FONT: 0px/0px Arial
}
.act .a660 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
right top
}
.act .a660 .noticias {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
410px top
}
.not {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x =
left top
}
.crp {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
658px top
}
.col2 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
50% top
}
.f_clr {
	BACKGROUND-COLOR: #f8f8f8
}
.caja {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; OVERFLOW: =
hidden; WIDTH: 100%; PADDING-TOP: 7px
}
* > .caja {
	WIDTH: auto
}
.izq .brd {
	MARGIN: 7px 0px 7px 7px
}
.der .brd {
	MARGIN: 7px 7px 7px 0px
}
.menu {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
.menu UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.menu DL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.menu DT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.menu DD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
* .pestana {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; =
BORDER-LEFT-WIDTH: 1px; BORDER-LEFT-COLOR: #bbb5a6; BACKGROUND: #f4f5f7; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-BOTTOM-COLOR: #bbb5a6; PADDING-BOTTOM: =
0px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; COLOR: #fff; =
BORDER-TOP-COLOR: #bbb5a6; PADDING-TOP: 0px; POSITION: relative; =
BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: none; BORDER-RIGHT-COLOR: =
#bbb5a6
}
* .off {
	COLOR: #000; BACKGROUND-COLOR: #fff; TEXT-DECORATION: none
}
* .pestana:hover {
	COLOR: #000; BACKGROUND-COLOR: #fff; TEXT-DECORATION: none
}
* A.pestana:hover {
	BACKGROUND-COLOR: #ff6
}
.boton {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 6px; DISPLAY: inline; =
PADDING-LEFT: 6px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 1px; =
FONT-SIZE: 11px; BORDER-LEFT-COLOR: #dcd6c2; BORDER-BOTTOM-WIDTH: 1px; =
BORDER-BOTTOM-COLOR: #8c8266; PADDING-BOTTOM: 2px; CURSOR: pointer; =
COLOR: #134d86; BORDER-TOP-COLOR: #dcd6c2; LINE-HEIGHT: 17px; =
PADDING-TOP: 2px; POSITION: relative; BACKGROUND-COLOR: #fff; =
TEXT-ALIGN: center; BORDER-RIGHT-WIDTH: 1px; TEXT-DECORATION: none; =
BORDER-RIGHT-COLOR: #8c8266
}
.boton:hover {
	COLOR: #c00; TEXT-DECORATION: none
}
.boton:active {
	BORDER-LEFT-COLOR: #8c8266; BORDER-BOTTOM-COLOR: #dcd6c2; =
BORDER-TOP-COLOR: #8c8266; BORDER-RIGHT-COLOR: #dcd6c2
}
INPUT.boton {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: middle; CURSOR: pointer; PADDING-TOP: 0px
}
INPUT[class=3D'boton'] {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
.mas {
	CLEAR: right; DISPLAY: block; FLOAT: right; MARGIN: 0px 7px 7px; =
TEXT-ALIGN: right
}
* .nav {
	CLEAR: none; MARGIN: 7px 0px 0px; POSITION: relative; TEXT-ALIGN: right
}
* .nav .boton {
	CLEAR: none; TEXT-TRANSFORM: capitalize; BACKGROUND-REPEAT: no-repeat; =
POSITION: relative; HEIGHT: 15px
}
* .nav .ant {
	BACKGROUND-POSITION: left center; PADDING-LEFT: 14px; BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/img/ant.gif)
}
* .nav .sig {
	PADDING-RIGHT: 14px; BACKGROUND-POSITION: right center; =
BACKGROUND-IMAGE: url(http://media.lavozdegalicia.es/img/sig.gif)
}
* .nav .ant {
	BACKGROUND-COLOR: #134d86
}
* .nav .sig {
	BACKGROUND-COLOR: #134d86
}
* .nav .sig:hover {
	BACKGROUND-COLOR: #c00
}
* .nav .ant:hover {
	BACKGROUND-COLOR: #c00
}
.a242 .brd .nav {
	PADDING-RIGHT: 7px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
* > .a242 .brd .nav {
	MARGIN: 0px 0px 7px
}
.cliche {
	CLEAR: left; DISPLAY: block; FONT-WEIGHT: normal; TEXT-TRANSFORM: =
uppercase; FONT-FAMILY: palatino, georgia, times new roman, serif
}
.rot {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 7px; DISPLAY: block; =
PADDING-LEFT: 7px; BORDER-LEFT-WIDTH: 0px; BORDER-LEFT-COLOR: #cfcac0; =
BACKGROUND: #f9f9f7; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: =
#cfcac0; PADDING-BOTTOM: 0px; FONT: 16px palatino, georgia, times new =
roman, serif; OVERFLOW: hidden; TEXT-TRANSFORM: uppercase; WIDTH: 100%; =
BORDER-TOP-COLOR: #cfcac0; PADDING-TOP: 0px; TEXT-ALIGN: left; =
BORDER-RIGHT-WIDTH: 0px; BORDER-RIGHT-COLOR: #cfcac0
}
* > .rot {
	WIDTH: auto
}
.rot .mini {
	FONT: 10px trebuchet ms, lucida grande, tahoma, arial, geneva, verdana, =
helvetica, sans-serif; TEXT-TRANSFORM: none; COLOR: #a2a2a1; =
PADDING-TOP: 4px
}
.cliche {
	MARGIN: 0px 0px 2px
}
.subcl {
	MARGIN: 0px 0px 2px
}
.cintillo {
	MARGIN: 0px 0px 2px
}
.titulillo {
	MARGIN: 0px 0px 2px
}
.titulo {
	MARGIN: 0px 0px 2px
}
.entradilla {
	MARGIN: 0px 0px 2px
}
.autor {
	MARGIN: 0px 0px 2px
}
.ante {
	MARGIN: 0px 0px 2px
}
.fecha {
	MARGIN: 0px 0px 2px
}
.subcl {
	MARGIN-TOP: -6px; FONT-SIZE: 11px; MARGIN-BOTTOM: 14px; TEXT-TRANSFORM: =
uppercase; POSITION: relative
}
.titulillo {
	DISPLAY: block; FONT-WEIGHT: normal; FONT-SIZE: 16px; TEXT-TRANSFORM: =
uppercase; COLOR: #c00; FONT-STYLE: normal; FONT-FAMILY: georgia, times =
new roman, serif
}
.especial {
	BORDER-RIGHT: #cfcac0 1px solid; BORDER-TOP: #cfcac0 1px solid; =
BACKGROUND: #f9f9f7; BORDER-LEFT: #cfcac0 1px solid; WIDTH: 100%; =
BORDER-BOTTOM: #cfcac0 1px solid; TEXT-ALIGN: center
}
.especial {
	BORDER-RIGHT: #cfcac0 1px solid; BORDER-TOP: #cfcac0 1px solid; =
BACKGROUND: #f9f9f7; BORDER-LEFT: #cfcac0 1px solid; WIDTH: 100%; =
BORDER-BOTTOM: #cfcac0 1px solid; TEXT-ALIGN: center
}
.especial A {
	COLOR: #c00
}
.especial A {
	COLOR: #c00
}
.cargo {
	DISPLAY: block; FONT-WEIGHT: bolder; FONT-SIZE: 11px; COLOR: #9a8f7a; =
FONT-STYLE: normal; FONT-FAMILY: georgia, times new roman, serif
}
.cintillo {
	BACKGROUND-POSITION: left top; DISPLAY: block; MARGIN-BOTTOM: 3px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 35px
}
.titulillo SPAN {
	DISPLAY: none
}
.cintillo SPAN {
	DISPLAY: none
}
.cargo SPAN {
	DISPLAY: none
}
.titulo {
	FONT-WEIGHT: normal; FONT-SIZE: 17px
}
.titulogrande {
	FONT-SIZE: 50px
}
.prime .titulo {
	FONT-WEIGHT: normal; FONT-SIZE: 21px
}
.entradilla {
	FONT-WEIGHT: normal; FONT-SIZE: 14px; MARGIN-BOTTOM: 7px; COLOR: #666; =
FONT-FAMILY: georgia, times new roman, serif
}
.entradilla:unknown {
	DISPLAY: none; content: ""
}
.entradilla:unknown {
	DISPLAY: none; content: ""
}
.fecha {
	MARGIN-TOP: -2px; FONT-SIZE: 11px; BORDER-BOTTOM-WIDTH: 1px
}
.autor {
	DISPLAY: block; FONT-WEIGHT: bolder; TEXT-TRANSFORM: capitalize; =
FONT-STYLE: normal
}
.not {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
7px; MARGIN: 0px 7px; WIDTH: 100%; PADDING-TOP: 12px; POSITION: relative
}
* > .not {
	WIDTH: auto
}
.not .rot {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; =
BORDER-LEFT-WIDTH: 1px; BORDER-LEFT-COLOR: #ccc; BACKGROUND: #eceae6; =
BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: #ccc; PADDING-BOTTOM: =
4px; MARGIN: 0px 1px; FONT: bolder 13px georgia, times new roman, serif; =
COLOR: #c00; BORDER-TOP-COLOR: #ccc; PADDING-TOP: 4px; TEXT-ALIGN: =
center; BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: #ccc
}
.rel LI {
	MARGIN-TOP: 0px; LIST-STYLE-IMAGE: =
url(http://media.lavozdegalicia.es/img/f_dot_rel.gif); MARGIN-BOTTOM: =
4px; COLOR: #000; FONT-FAMILY: georgia, times new roman, serif
}
.not UL:unknown {
	DISPLAY: none
}
.not UL:unknown {
	DISPLAY: none
}
.not UL LI:unknown {
	DISPLAY: none
}
.not UL LI:unknown {
	DISPLAY: none
}
.ico {
	PADDING-LEFT: 4px
}
* > .ico {
	PADDING-LEFT: 0px; MARGIN-LEFT: 4px
}
.op {
	LIST-STYLE-IMAGE: url(http://media.lavozdegalicia.es/img/icos/op.gif)! =
important
}
.op EM {
	COLOR: #cc0000
}
.dc {
	LIST-STYLE-IMAGE: url(http://media.lavozdegalicia.es/img/icos/dc.gif)! =
important
}
.ft {
	LIST-STYLE-IMAGE: url(http://media.lavozdegalicia.es/img/icos/ft.gif)! =
important
}
.vd {
	LIST-STYLE-IMAGE: url(http://media.lavozdegalicia.es/img/icos/vd.gif)! =
important
}
.pdf {
	LIST-STYLE-IMAGE: url(http://media.lavozdegalicia.es/img/icos/pdf.gif)! =
important
}
.a418 .not {
	MARGIN-RIGHT: 14px
}
.gran {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: #fff
}
.gran .titulo {
	FONT-WEIGHT: normal; FONT-SIZE: 29px
}
.gran .entradilla {
	FONT-SIZE: 16px; COLOR: #000
}
.a418 .titulo {
	FONT-WEIGHT: normal; FONT-SIZE: 21px
}
.a418 .entradlla {
	FONT-SIZE: 12px
}
.a418 .prime .titulo {
	FONT-SIZE: 29px
}
.a253 .titulo {
	FONT-WEIGHT: bolder; FONT-SIZE: 14px
}
.a209 .titulo {
	FONT-WEIGHT: bolder; FONT-SIZE: 14px
}
.a165 .titulillo {
	FONT-WEIGHT: normal; FONT-SIZE: 10px
}
.a165 .titulo {
	FONT-SIZE: 11px
}
.a242 .not {
	MARGIN-LEFT: 0px; MARGIN-RIGHT: 7px
}
.a242 .brd .not {
	MARGIN-LEFT: 7px
}
IMG {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: block; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: 0px; =
PADDING-TOP: 0px; BORDER-BOTTOM: 0px
}
.img {
	CLEAR: none; OVERFLOW: hidden; POSITION: relative; TEXT-ALIGN: left
}
.img .brd {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 1px; DISPLAY: block; =
PADDING-LEFT: 1px; BORDER-LEFT-WIDTH: 0px; Z-INDEX: 100; =
BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: =
1px; POSITION: relative; BORDER-RIGHT-WIDTH: 0px
}
* > .der .brd {
	MARGIN-LEFT: 3px
}
* > .izq .brd {
	MARGIN-RIGHT: 3px
}
.img .relimg {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
7px; MARGIN: 0px 3px; PADDING-TOP: 0px
}
.img .autor {
	CLEAR: right; FLOAT: right; MARGIN: 0px; FONT: 9px georgia, times new =
roman, serif; OVERFLOW: hidden; TEXT-TRANSFORM: capitalize; WIDTH: 30%; =
TEXT-ALIGN: right
}
.img .piefoto {
	CLEAR: left; FLOAT: left; FONT: 9px georgia, times new roman, serif; =
WIDTH: 68%
}
.i642 IMG {
	WIDTH: 642px
}
.i459 IMG {
	WIDTH: 459px
}
.i395 IMG {
	WIDTH: 395px
}
.i390 IMG {
	WIDTH: 390px
}
.i316 IMG {
	WIDTH: 316px
}
.i306 IMG {
	WIDTH: 300px
}
.i300 IMG {
	WIDTH: 300px
}
.i298 IMG {
	WIDTH: 298px
}
.i231 IMG {
	WIDTH: 231px
}
.i215 IMG {
	WIDTH: 215px
}
.i215 OBJECT {
	WIDTH: 215px
}
.i154 IMG {
	WIDTH: 154px
}
.i149 IMG {
	WIDTH: 149px
}
.i146 IMG {
	WIDTH: 146px
}
.i143 IMG {
	WIDTH: 143px
}
.i124 IMG {
	WIDTH: 124px
}
.i100 IMG {
	WIDTH: 100px
}
.i75 IMG {
	WIDTH: 75px
}
.i63 IMG {
	WIDTH: 63px
}
.i45 IMG {
	WIDTH: 45px
}
.i35 IMG {
	WIDTH: 35px
}
.a510 {
	WIDTH: 510px
}
.a400 {
	WIDTH: 400px
}
.a310 {
	WIDTH: 310px
}
.a150 {
	WIDTH: 150px
}
.notv04 .titulo {
	CLEAR: both
}
.not .img {
	CLEAR: both
}
.not .der {
	CLEAR: right
}
.not .izq {
	CLEAR: left
}
.not .i231 {
	WIDTH: 233px
}
.not .i316 {
	WIDTH: 316px
}
.nopd .prime {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.nopd .prime .titulillo {
	FONT-WEIGHT: normal; COLOR: #000
}
.nopd .img .lrg {
	MARGIN: 0px 0px 1px; WIDTH: 100%
}
.nopd H2.cliche {
	COLOR: #c00
}
.nopd H2.cliche {
	FONT-SIZE: 17px; MARGIN: 2px 7px
}
.a165 H2.cliche {
	MARGIN: 2px 0px
}
.nopd .subcl {
	MARGIN-LEFT: 7px; MARGIN-RIGHT: 7px
}
.mdt {
	MARGIN-RIGHT: 7px
}
.a660 .md7 {
	MARGIN-RIGHT: 7px
}
.mi7 {
	MARGIN-LEFT: 7px
}
.a660 .mi7 {
	MARGIN-LEFT: 7px
}
.pd7 {
	PADDING-RIGHT: 7px
}
.pi7 {
	PADDING-LEFT: 7px
}
.a242 .brd .not {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 0px 7px; PADDING-TOP: =
0px
}
.a242 .brd .rel {
	MARGIN-TOP: 0px; PADDING-TOP: 0px
}
.a242 .brd .nav {
	MARGIN: 7px 0px
}
.a330 .caja {
	MARGIN-LEFT: 7px
}
.a330 .brd {
	MARGIN-LEFT: 7px
}
.a323 .caja {
	MARGIN-LEFT: 7px
}
.a323 .brd {
	MARGIN-LEFT: 7px
}
.a330 .cliche {
	FONT-SIZE: 17px; COLOR: #666
}
.a330 .brd {
	BACKGROUND: #fff
}
.a330 .brd .auto {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.a330 .brd .i75 .brd {
	MARGIN: 0px
}
.cint_idnot_184 {
	BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/img/cintillos/cint_idnot_184.jpg)
}
.links {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: =
#eceae6; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: =
0px; LIST-STYLE-TYPE: none; POSITION: relative
}
* > .links {
	WIDTH: auto
}
.links LI {
	PADDING-RIGHT: 0px; DISPLAY: block! important; PADDING-LEFT: 7px; =
FLOAT: left; PADDING-BOTTOM: 4px; MARGIN: 0px; WIDTH: 151px; =
PADDING-TOP: 4px; LIST-STYLE-TYPE: none; POSITION: relative
}
.links > LI {
	WIDTH: 144px
}
.links EM {
	DISPLAY: inline! important; FONT-WEIGHT: bolder; COLOR: #c00; =
FONT-STYLE: normal
}
.subcliche {
	TEXT-TRANSFORM: uppercase; BACKGROUND-COLOR: #fff
}
H3.subcliche {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; FONT: =
24px/28px palatino, georgia, times new roman, serif; COLOR: #666; =
MARGIN-RIGHT: 3px; PADDING-TOP: 6px
}
H3.cliche {
	PADDING-TOP: 7px
}
H4.subcliche {
	MARGIN: 6px; FONT: 18px/22px palatino, georgia, times new roman, serif; =
COLOR: #000
}
H5.subcliche {
	MARGIN: 6px; FONT: bold 14px/18px trebuchet ms, lucida grande, tahoma, =
arial, geneva, verdana, helvetica, sans-serif
}
.rvoz {
	COLOR: #c00! important
}
.caja .subcliche {
	PADDING-LEFT: 0px
}
.col3 .a253 .subcliche {
	MARGIN-LEFT: 17px
}
.col3 .a418 H4.subcliche {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; MARGIN: 0px =
8px; PADDING-TOP: 6px
}
.col2c12 .a418 .subcliche {
	MARGIN-LEFT: 14px
}
.col3 .a253 .caja .subcliche {
	MARGIN-LEFT: 0px
}
.g {
	MARGIN-LEFT: 7px
}
.clear {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 1px; LINE-HEIGHT: 1px
}
.a330 .serv_port {
	BORDER-RIGHT: medium none; PADDING-RIGHT: 0px! important; BORDER-TOP: =
medium none; PADDING-LEFT: 0px! important; PADDING-BOTTOM: 0px! =
important; BORDER-LEFT: medium none; PADDING-TOP: 0px! important; =
BORDER-BOTTOM: medium none
}
.a330 .serv_port DIV {
	FLOAT: left
}
.a330 .serv_port .serv_idiom {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: 0px; =
OVERFLOW: hidden; BORDER-LEFT: #ccc 1px solid; WIDTH: 141px; =
PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 63px
}
.a330 .serv_port .serv_idiom P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.a330 .serv_port .serv_anun {
	MARGIN-LEFT: 7px
}
.a330 .galego {
	BORDER-RIGHT: #fff 0.8em solid; PADDING-RIGHT: 0px! important; =
BORDER-TOP: #fff 0.8em solid; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; BORDER-LEFT: #fff 0.8em =
solid; PADDING-TOP: 0px! important; BORDER-BOTTOM: #fff 0.8em solid; =
BACKGROUND-COLOR: #eceae6
}
.a330 .galego H4 {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; =
BORDER-LEFT-WIDTH: 1px; BORDER-LEFT-COLOR: #ccc; BORDER-BOTTOM-WIDTH: =
0px; BORDER-BOTTOM-COLOR: #ccc; PADDING-BOTTOM: 0.1em; COLOR: #cc0000; =
BORDER-TOP-COLOR: #ccc; PADDING-TOP: 0.3em; LETTER-SPACING: normal; =
BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: #ccc
}
.a330 .galego H4 EM {
	PADDING-LEFT: 0.2em; COLOR: #369; FONT-STYLE: normal
}
.a330 .galego P {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 0.5em; =
MARGIN: 0px; PADDING-TOP: 0.5em; BORDER-RIGHT-WIDTH: 1px
}
.der .video {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.a253 .video {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.actualidad .a242 .video {
	PADDING-LEFT: 7px
}
.actualidad .a253 .video {
	PADDING-LEFT: 7px
}
.a242 .video OBJECT {
	WIDTH: 234px; HEIGHT: 194px
}
.a253 .video OBJECT {
	WIDTH: 234px; HEIGHT: 194px
}
.a242 .nopd .video {
	PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; =
PADDING-TOP: 1px
}
.a242 .nopd .video OBJECT {
	WIDTH: 231px; HEIGHT: 192px
}
.a165 .video {
	MARGIN-BOTTOM: 7px
}
.a165 .video OBJECT {
	WIDTH: 160px; HEIGHT: 133px
}
.a157 {
	WIDTH: 157px
}
.pie {
	PADDING-BOTTOM: 40px
}
.enlaces {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 0px
}
.enlaces .mnmenu {
	MARGIN-TOP: 7px; COLOR: #666
}
.mnmenu UL {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: =
inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
BORDER-LEFT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: 0px; LIST-STYLE-TYPE: =
none
}
.mnmenu UL LI.ltit {
	DISPLAY: block; FONT-SIZE: 10px
}
.mnmenu LI.ltit H6 {
	DISPLAY: inline; FONT-WEIGHT: bolder; FONT-SIZE: 10px
}
.mnmenu UL.subl LI {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FONT-WEIGHT: =
normal; FONT-SIZE: 10px; PADDING-BOTTOM: 0px; MARGIN: 2px 4px 0px; =
LINE-HEIGHT: 16px; PADDING-TOP: 0px
}
.mnmenu A {
	TEXT-DECORATION: underline
}
.legal LI {
	LIST-STYLE-TYPE: none; TEXT-ALIGN: right
}
.legal A {
	FONT-WEIGHT: bolder; FONT-SIZE: 10px; TEXT-DECORATION: underline
}
.legal .enlc_rss {
	PADDING-RIGHT: 25px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/icos/rss_ico.gif) no-repeat right =
2px
}
.enlaces H2 .boton {
	MARGIN-TOP: 10px; FONT-SIZE: 10px
}
.copy {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x =
left top; COLOR: #000
}
.copy .a495 .caja IMG {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FLOAT: left; PADDING-BOTTOM: =
4px; PADDING-TOP: 4px
}
.derechos {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x =
left top; FONT: 10px trebuchet ms, lucida grande, tahoma, arial, geneva, =
verdana, helvetica, sans-serif; COLOR: #666
}
.pie UL.comercial {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: =
0px; MARGIN: 4px 0px 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.pie UL.comercial LI {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; FONT: 10px/10px =
"trebuchet ms", "lucida grande", tahoma, arial, geneva, verdana, =
helvetica, sans-serif; PADDING-TOP: 0px; HEIGHT: 18px; TEXT-ALIGN: right
}
UL.comercial LI EM {
	CLEAR: left; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 3px 0px 0px; WIDTH: 435px; =
PADDING-TOP: 0px; FONT-STYLE: normal; TEXT-ALIGN: right
}
UL.comercial > EM {
	WIDTH: 450px
}
UL.comercial LI A {
	CLEAR: right; FLOAT: right
}
.cmvocento_ico {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/icos/cmvocento.gif) =
no-repeat left top; WIDTH: 60px; HEIGHT: 18px
}
.cvoz_ico {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/icos/cvoz.gif) =
no-repeat left top; WIDTH: 60px; HEIGHT: 18px
}
.interst {
	MARGIN-LEFT: auto; WIDTH: 990px; MARGIN-RIGHT: auto
}
.pub {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/pub.gif) no-repeat =
3px center
}
.mod OBJECT {
	DISPLAY: block! important
}
.a660 .pub {
	WIDTH: 100%
}
DIV > .pub {
	WIDTH: auto! important
}
.a330 .pub {
	PADDING-LEFT: 7px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/pub.gif) no-repeat 7px center
}
.a330 .a200 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 7px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; PADDING-TOP: 11px
}
.mod {
	CLEAR: both; BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 7px 0px 7px 11px; =
BORDER-LEFT: 0px; COLOR: #000; PADDING-TOP: 0px; BORDER-BOTTOM: 0px
}
.p01 {
	WIDTH: 728px; HEIGHT: 90px
}
.p05 {
	WIDTH: 728px; HEIGHT: 90px
}
.p15 {
	OVERFLOW: hidden; WIDTH: 728px; HEIGHT: 50px
}
.p02 {
	WIDTH: 240px; HEIGHT: 90px
}
.p06 {
	WIDTH: 240px; HEIGHT: 90px
}
.m01 {
	OVERFLOW: hidden; WIDTH: 640px; HEIGHT: 50px
}
.m04 {
	OVERFLOW: hidden; WIDTH: 640px; HEIGHT: 50px
}
.m02 {
	WIDTH: 220px; HEIGHT: 90px
}
.p03 {
	WIDTH: 300px
}
.m03 {
=09
}
.m05 {
	WIDTH: 300px; HEIGHT: 90px
}
.m07 {
	WIDTH: 140px; HEIGHT: 140px
}
.p04 {
=09
}
.pubpie {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x =
left bottom
}
.a209 {
	WIDTH: 209px
}
.pubtext {
	MARGIN-RIGHT: 7px! important
}
.enlcs {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BACKGROUND-IMAGE: none! important; =
BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px
}
.tienda {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BACKGROUND-IMAGE: none! important; =
BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
BORDER-RIGHT-WIDTH: 0px
}
.enlcs {
	MARGIN: 7px
}
.enlcs H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px
}
.pubcont H2 {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; TEXT-TRANSFORM: uppercase; COLOR: =
#666
}
.pubcont H2 A {
	TEXT-TRANSFORM: none
}
.pubcont H2 .mini {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
FONT-WEIGHT: normal! important; FONT-SIZE: 10px; PADDING-BOTTOM: 0px! =
important; MARGIN: 0px; TEXT-TRANSFORM: none; PADDING-TOP: 0px! =
important
}
.pubcont UL {
	BORDER-TOP-WIDTH: 1px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x left bottom; =
PADDING-BOTTOM: 6px
}
.pubcont .auto {
	BORDER-TOP-WIDTH: 1px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x left bottom; =
PADDING-BOTTOM: 6px
}
.pubcont UL {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px
}
.pubcont LI {
	MARGIN-BOTTOM: 7px; FONT: 11px arial, geneva, verdana, helvetica, =
sans-serif; LIST-STYLE-TYPE: none
}
.pubcont LI A {
	DISPLAY: block; TEXT-TRANSFORM: uppercase; COLOR: #c00
}
.pubcont .url {
	FONT-WEIGHT: bolder; TEXT-TRANSFORM: none; COLOR: #134d86
}
.pubcont SPAN.der {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-WEIGHT: bolder; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
.publicidad .cliche {
	FONT-SIZE: 12px; MARGIN: 0px 7px 0px 12px; FONT-FAMILY: georgia, times =
new roman, serif
}
.publicidad .titulillo {
	CLEAR: none! important; FONT-SIZE: 11px
}
.publicidad .titulo {
	CLEAR: none! important; FONT-WEIGHT: normal; FONT-SIZE: 11px
}
.a330 .publicidad .p04 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/pubh.gif) no-repeat =
center top; MARGIN: 0px 0px 0px 3px; PADDING-TOP: 10px
}
.a330 .publicidad > .p04 {
	MARGIN: 0px 0px 0px 7px
}
.a330 .publicidad .caja {
	MARGIN-TOP: 0px; MARGIN-LEFT: 0px
}
.a330 .publicidad .mono .img {
	CLEAR: none; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: =
#cc0
}
.a330 .publicidad .cxg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/logos/lg_cxg.gif) no-repeat left =
top; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 30px
}
.a330 .publicidad .cxg A {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x center top; =
PADDING-BOTTOM: 2px; PADDING-TOP: 2px
}
.miva {
	MARGIN-TOP: 17px; MARGIN-BOTTOM: 10px
}
.miva TABLE {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0px! important; BORDER-TOP: 0px; =
PADDING-LEFT: 0px! important; PADDING-BOTTOM: 0px! important; MARGIN: =
0px; BORDER-LEFT: 0px; WIDTH: 100%! important; PADDING-TOP: 0px! =
important; BORDER-BOTTOM: 0px
}
.miva TABLE TD {
	PADDING-RIGHT: 4px! important; BORDER-TOP: #ccc 1px solid; =
PADDING-LEFT: 4px! important; PADDING-BOTTOM: 4px! important; FONT: 10px =
"Trebuchet MS", Arial, Verdana; TEXT-TRANSFORM: uppercase! important; =
PADDING-TOP: 4px! important; BORDER-BOTTOM: #ccc 1px solid; =
BACKGROUND-COLOR: #ffffea! important
}
.miva TABLE.mivadd TD {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; FONT: 12px Arial, Verdana; =
TEXT-TRANSFORM: none! important; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px; =
BACKGROUND-COLOR: #fff! important
}
.miva A.mivadescription {
	COLOR: #134d86! important
}
.miva TABLE.mivadd {
	WIDTH: 100%! important
}
.miva A.mivadir {
	FONT: 10px "Trebuchet MS", Arial, Verdana; COLOR: #134d86; =
TEXT-DECORATION: underline
}
.miva A.mivadir:hover {
	COLOR: #cc3333
}
.cajacg_portada {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; WIDTH: 245px! important; PADDING-TOP: =
0px! important
}
.cajacg_portada UL {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 2px; MARGIN: =
0px; PADDING-TOP: 2px; LIST-STYLE-TYPE: none
}
.cajacg_portada UL LI {
	PADDING-BOTTOM: 2px; LINE-HEIGHT: 12px! important
}
.cajacg_portada A {
	FONT-SIZE: 11px! important
}
.cajacg_portada LI A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot_rel.gif) no-repeat 0px 7px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 2px
}
.cajacg_publi {
	PADDING-RIGHT: 0px! important; BORDER-TOP: #ccc 1px solid; =
PADDING-LEFT: 0px! important; BACKGROUND: #f9f9f7; FLOAT: left; =
PADDING-BOTTOM: 2px! important; WIDTH: 243px; PADDING-TOP: 4px! =
important
}
.m06 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; HEIGHT: 155px
}
.m06 H2 {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-WEIGHT: normal; FONT-SIZE: =
10px; PADDING-BOTTOM: 3px; PADDING-TOP: 7px
}
.m06 DIV {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
.m06 DIV.caja {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: 155px; PADDING-TOP: 0px
}
.m06 DIV.brd {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: =
#ccc 1px solid; WIDTH: 153px; BORDER-BOTTOM: #ccc 1px solid
}
.m06 DIV.xunta06 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 5px; OVERFLOW: hidden; WIDTH: 490px! important; =
PADDING-TOP: 0px; HEIGHT: 125px
}
.m06 DIV.xunta08 {
	WIDTH: 245px! important
}
.m06 DIV.xunta06 DL DT {
	PADDING-BOTTOM: 2px
}
.m06 DIV.xunta06 DL DD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot_rel.gif) no-repeat 0px 4px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 2px
}
.m06 DIV.brd {
	WIDTH: 488px
}
.m06 DIV.xunta06 DIV {
	MARGIN: 0px
}
.m06 DIV.xunta06 .caja {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
4px; WIDTH: 231px! important; PADDING-TOP: 0px
}
.m06 DIV.caja IMG {
	MARGIN: 7px
}
.m06 DIV.xunta06 DIV IMG {
	MARGIN: 0px 7px 7px
}
.ptrcn {
	MARGIN: 7px
}
.ptrcn .rot {
	BORDER-TOP-WIDTH: 1px! important; BACKGROUND-POSITION: 7px bottom; =
BORDER-LEFT-WIDTH: 1px! important; BORDER-BOTTOM-WIDTH: 1px! important; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 24px; BORDER-RIGHT-WIDTH: 1px! =
important
}
.ptrcn LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x left bottom; =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px; LIST-STYLE-TYPE: =
none
}
.ptrcn LI A {
	FONT-SIZE: 11px
}
.prtcoru .rot {
	BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/img/logos/lg_prtcoru.gif)
}
.consorcio .rot {
	BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/img/logos/lg_consorcio.gif)
}
.elecciones {
	BACKGROUND: =
url(http://media.lavozdegalicia.es/img/cliches/elecciones.gif) =
no-repeat; WIDTH: 225px; HEIGHT: 35px
}
.elecciones SMALL {
	VISIBILITY: hidden
}
.eleccionesestadosunidos {
	BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2008/10/08/0012122346281117815=
5552/Foto/clicheUSA.jpg) no-repeat; WIDTH: 225px; HEIGHT: 34px
}
.eleccionesestadosunidos SMALL {
	VISIBILITY: hidden
}
.olimpiadas {
	BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2008/08/01/0012121758040050846=
4168/Foto/cliche_olimpiadas.gif) no-repeat; WIDTH: 225px; HEIGHT: 34px
}
.olimpiadas SMALL {
	VISIBILITY: hidden
}
.clisec {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x left bottom; =
PADDING-BOTTOM: 4px; MARGIN: 7px; WIDTH: 100%; PADDING-TOP: 21px; =
POSITION: relative; TEXT-ALIGN: left
}
* > .clisec {
	WIDTH: auto
}
.clisec H1 {
	DISPLAY: inline; FONT: 25px Georgia, "Times New Roman", Times, serif; =
TEXT-TRANSFORM: uppercase; COLOR: #666
}
.utsec {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; RIGHT: 7px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; BOTTOM: 7px; PADDING-TOP: 0px; POSITION: absolute
}
.utsec LI {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.utsec A {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: 6px center; PADDING-LEFT: =
27px; FONT-SIZE: 13px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat
}
.vol {
	BACKGROUND-IMAGE: url(http://media.lavozdegalicia.es/img/icos/vol.gif)
}
.fpbox A {
	FONT: 13px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/35C37CD60A80E0AB015CD9C0982DF020/LVDG_estilos_sector_participa.css

.part .a660 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
right top
}
.part .a660 .g {
	MARGIN-TOP: 7px; FONT-SIZE: 25px; COLOR: #c00
}
.part .participa {
	BACKGROUND: none transparent scroll repeat 0% 0%; OVERFLOW: hidden; =
MARGIN-RIGHT: 7px
}
.part .decajas {
	WIDTH: 1000%
}
.part .decajas H2 {
	FONT-SIZE: 17px; COLOR: #666! important
}
.part .decajas H2 A {
	FONT-SIZE: 17px; COLOR: #666! important
}
.part .a165 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
right top
}
.part .a165 .titulo {
	FONT-WEIGHT: bolder; FONT-SIZE: 14px
}
.part .a165 .entradilla {
	FONT-SIZE: 12px
}
.part .decajas .caja {
	WIDTH: 100%; MARGIN-RIGHT: 7px
}
.part .decajas * > .caja {
	WIDTH: auto
}
FORM.debate FIELDSET {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FLOAT: none; PADDING-BOTTOM: 14px; MARGIN: 0px; WIDTH: 100%; =
PADDING-TOP: 0px
}
.debate LABEL {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 14px; WIDTH: 100%
}
.debate .graf {
	CLEAR: both; DISPLAY: block; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_graf.gif) repeat-x right top; =
MARGIN: 0px 0px 6px; WIDTH: 100%; POSITION: relative; HEIGHT: 15px; =
TEXT-ALIGN: left
}
* > .debate .graf {
	WIDTH: auto
}
.debate .graf SPAN {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 10px; OVERFLOW: hidden; =
LINE-HEIGHT: 1px; POSITION: relative; HEIGHT: 15px! important
}
.percent_1 {
	BACKGROUND: rgb(0,0,255); WIDTH: 100%
}
.percent_2 {
	BACKGROUND: rgb(51,0,255); WIDTH: 0%
}
.navpart {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x =
left top
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/4C89F4C00A80E0AB015D8D75A69A82EB/LVDG_estilos_caja_clasificados.css

.clasificados FIELDSET {
	CLEAR: both; BACKGROUND-POSITION: center top; DISPLAY: block; =
BORDER-BOTTOM-WIDTH: 1px; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 14px; =
WIDTH: 100%; PADDING-TOP: 48px; BACKGROUND-REPEAT: no-repeat; =
TEXT-ALIGN: center
}
.clasificados > FIELDSET {
	WIDTH: auto
}
.clasificados INPUT.brd {
	Z-INDEX: 1; WIDTH: 180px
}
.clasificados UL {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 0px
}
* > .clasificados UL {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: =
0px 10px; PADDING-TOP: 0px
}
.clasificados UL LI {
	CLEAR: none; PADDING-LEFT: 10px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_li.gif) no-repeat left center; =
FLOAT: left; WIDTH: 49.9%; COLOR: #8c8266
}
.clasificados UL > LI {
	PADDING-LEFT: 0px; BACKGROUND: none transparent scroll repeat 0% 0%; =
LIST-STYLE-TYPE: square
}
.tvgtucoche {
	BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/img/logos/lg_tvgtcoche.gif)
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/4C879A360A80E0AB015D8D7526830E6F/LVDG_estilos_caja_relnot.css

.a330 .relnot {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) #fff repeat-x left =
bottom; PADDING-BOTTOM: 7px; MARGIN: 0px 0px 7px; PADDING-TOP: 7px
}
.a330 .relnot .img .brd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.a330 .relnot .img .relimg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 7px
}
.a330 .relnot H2.rot {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 3px; =
MARGIN: 7px 0px; FONT: bolder 15px georgia, times new roman, serif; =
TEXT-TRANSFORM: none; COLOR: #666; PADDING-TOP: 3px; BORDER-RIGHT-WIDTH: =
1px
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/4C89595B0A80E0AB015D8D75C10D0DEE/LVDG_estilos_caja_ptrcn.css

.ptrcn {
	MARGIN: 7px
}
.ptrcn .rot {
	BORDER-TOP-WIDTH: 1px! important; BACKGROUND-POSITION: 7px bottom; =
BORDER-LEFT-WIDTH: 1px! important; BORDER-BOTTOM-WIDTH: 1px! important; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 24px; BORDER-RIGHT-WIDTH: 1px! =
important
}
.ptrcn LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x left bottom; =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px; LIST-STYLE-TYPE: =
none
}
.ptrcn LI A {
	FONT-SIZE: 11px
}
.prtcoru .rot {
	BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/img/logos/lg_prtcoru.gif)
}
.consorcio .rot {
	BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/img/logos/lg_consorcio.gif)
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/327027100A80E0AB01A3E41FC713AF4D/LVDG_estilos_pieza_caja_catalogo.css

.ctlg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN-RIGHT: 7px; =
PADDING-TOP: 20px; POSITION: relative
}
.ctlg H3 {
	CLEAR: none; BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; =
DISPLAY: inline; PADDING-LEFT: 0px; FONT-SIZE: 11px; PADDING-BOTTOM: =
0px; MARGIN: 0px; BORDER-LEFT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: =
0px; TEXT-ALIGN: left
}
.ctlg .pestana {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; =
FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; =
PADDING-BOTTOM: 2px; MARGIN: 0px 4px 0px 0px; TEXT-TRANSFORM: none; =
COLOR: #000; PADDING-TOP: 4px; POSITION: relative; TOP: -3px; =
BORDER-RIGHT-WIDTH: 1px
}
* > .ctlg .pestana {
	MARGIN: 0px; TOP: -3px
}
.ctlg .off {
	Z-INDEX: 100; BORDER-BOTTOM-COLOR: #fff
}
.ctlg .cliche {
	CLEAR: both; FLOAT: left; POSITION: relative
}
.ctlg .item {
	CLEAR: left; BACKGROUND: #fff; FLOAT: left; WIDTH: 100%; POSITION: =
relative
}
.ctlg .cont {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 7px; =
MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 7px; BORDER-RIGHT-WIDTH: 1px
}
* > .ctlg .cont {
	WIDTH: auto
}
.ctlg .cont UL.ult {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; POSITION: =
relative
}
.ctlg .no {
	DISPLAY: none! important
}
.ctlg .cont .ult LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 4px 0px 4px 36px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; =
POSITION: relative
}
.ctlg .cont LI A {
	VISIBILITY: visible; TEXT-TRANSFORM: none; COLOR: #134d86
}
.ctlg .cont .ult LI EM {
	DISPLAY: block; LEFT: -36px; FONT: bolder 11px arial, geneva, =
helvetica, sans-serif; COLOR: #c33; POSITION: absolute; TOP: 2px
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://media.lavozdegalicia.es/ficheros/4C88D3620A80E0AB015D8D75B9C5111B/LVDG_estilos_caja_encuentros.css

.encuentros .invitado {
	FONT-WEIGHT: bolder
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/4C86F55B0A80E0AB015D8D75E7DB9570/LVDG_estilos_caja_pasos.css

.a330 .pasos {
	FONT-SIZE: 13px
}
.pasos P {
	BACKGROUND-POSITION: left top; PADDING-LEFT: 30px; BACKGROUND-REPEAT: =
no-repeat
}
.pasos P STRONG {
	FONT-WEIGHT: normal; FONT-SIZE: 17px
}
.paso_01 {
	BACKGROUND-IMAGE: url(http://media.lavozdegalicia.es/img/paso_01.gif)
}
.paso_02 {
	BACKGROUND-IMAGE: url(http://media.lavozdegalicia.es/img/paso_02.gif)
}
.paso_03 {
	BACKGROUND-IMAGE: url(http://media.lavozdegalicia.es/img/paso_03.gif)
}
.pasos .links {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: =
#eceae6; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: =
0px; LIST-STYLE-TYPE: none
}
.pasos > .links {
	WIDTH: auto
}
.pasos .links LI {
	PADDING-RIGHT: 0px; DISPLAY: block! important; PADDING-LEFT: 7px; =
FLOAT: left; PADDING-BOTTOM: 4px; MARGIN: 0px; WIDTH: 144px; =
PADDING-TOP: 4px; LIST-STYLE-TYPE: none; POSITION: relative
}
.pasos .links EM {
	DISPLAY: inline! important; FONT-WEIGHT: bolder; COLOR: #c00; =
FONT-STYLE: normal
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/DB579D200A80E0AB01A3AA2CAA225BF5/LVDG_estilos_edicion.css

.ed01 .act .noticias {
	BORDER-BOTTOM-WIDTH: 1px
}
.ed01 .act .a242 .not .titulo {
	FONT-WEIGHT: normal; FONT-SIZE: 17px
}
.ed01 .act .info {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
487px top
}
.ed01 .act .info .a495 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
240px top
}
.ed01 .act .info {
	BORDER-TOP-WIDTH: 1px
}
.ed01 .info .a495 .not {
	MARGIN-LEFT: 7px; MARGIN-RIGHT: 7px
}
.ed01 .info .a495 .a253 .not {
	MARGIN-RIGHT: 14px
}
.ed01 .info .a253 .titulo {
	FONT-WEIGHT: bolder; FONT-SIZE: 14px
}
.ed01 .info .a242 .not .titulo {
	FONT-WEIGHT: bolder; FONT-SIZE: 14px
}
.ed01 .info .titulo {
	FONT-WEIGHT: normal
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/BC6FCC230A80E0AB01A4181CC75C3517/LVDG_estilos_sector_info.css

.actualidad {
	BORDER-RIGHT: 0px double; BORDER-TOP: 0px double; MARGIN: 7px 0px; =
BORDER-LEFT: 0px double; BORDER-BOTTOM: 3px double
}
.actualidad .a495 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
244px top
}
.actualidad .a242 DIV.not {
	MARGIN-LEFT: 7px
}
.actualidad .a242 .caja DIV.not {
	MARGIN-LEFT: 7px
}
.actualidad .g {
	FONT-SIZE: 27px; BACKGROUND: #fff; MARGIN: 0px 7px; COLOR: #666
}
.actualidad .a165 .prim {
	MARGIN-RIGHT: 7px
}
.actualidad .a165 .prim H3.cliche {
	COLOR: #c33
}
.actualidad .a165 .prim .titulo {
	FONT-SIZE: 18px
}
.info .a165 .debate {
	PADDING-LEFT: 0px; MARGIN-BOTTOM: 14px
}
.info .a165 .nopd .not {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
MARGIN-LEFT: 0px; PADDING-TOP: 7px
}
.info .nots {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
14px; PADDING-TOP: 0px
}
.info .nots .ocio {
	MARGIN: 0px
}
.info .nots .not {
	MARGIN-LEFT: 0px
}
.info {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.info .a660 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
right top
}
.auto {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 7px; MARGIN: 7px =
0px; PADDING-TOP: 7px
}
.img .relimg {
	MARGIN: 0px 3px
}
.info .sub_info {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x =
left bottom
}
.info .sub_info .a418 {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
410px top; MARGIN: 7px 0px
}
.info .sub_info .a418 .auto {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y =
205px top
}
.info .sub_info .a242 {
	MARGIN: 7px 0px
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/B2CC47C00A80E0AB00B113C7912EC5AE/LVDG_estilos_piezas_opiniones.css

.a660 .coment {
	FONT-FAMILY: georgia, times new roman, serif
}
.a660 .coment LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 7px; FONT: 11px =
trebuchet ms, lucida grande, tahoma, arial, geneva, verdana, helvetica, =
sans-serif; MARGIN-LEFT: 7px; COLOR: #000; PADDING-TOP: 7px; =
LIST-STYLE-TYPE: none
}
.a660 .coment LI * {
	FONT-FAMILY: georgia, times new roman, serif
}
.a660 .coment H4 {
	FONT-SIZE: 18px
}
.a660 .coment H3 {
	FONT-SIZE: 12px; COLOR: #660; POSITION: relative
}
.a660 .coment H3 EM {
	FONT-WEIGHT: normal; LEFT: -37px; WIDTH: 30px; FONT-STYLE: normal; =
POSITION: absolute; TEXT-ALIGN: right
}
.a660 .coment .localizador {
	MARGIN-TOP: 4px; FONT-SIZE: 11px
}
.a660 .coment P {
	FONT-SIZE: 12px; MARGIN: 4px 0px; COLOR: #666; LINE-HEIGHT: 150%
}
.a660 .coment P A {
	TEXT-DECORATION: underline
}
.a660 .coment P A:hover {
	COLOR: #cc0000
}
.a660 .coment A.opina {
	PADDING-LEFT: 24px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/icos/op.gif) no-repeat 4px 0px; =
FONT: 11px trebuchet ms, lucida grande, tahoma, arial, geneva, verdana, =
helvetica, sans-serif
}
.a660 .coment .navopi {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x left top; =
PADDING-BOTTOM: 0px; MARGIN: 7px 0px; PADDING-TOP: 0px; POSITION: =
relative; TEXT-ALIGN: left
}
.a660 .coment .sup {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x =
left bottom
}
.a660 .coment .navopi {
	FONT: 12px trebuchet ms, lucida grande, tahoma, arial, geneva, verdana, =
helvetica, sans-serif
}
.a660 .coment .navopi H2.cliche {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: =
0px; FONT: 21px georgia, times new roman, serif; PADDING-TOP: 5px
}
.a660 .coment .navopi .nav {
	DISPLAY: block; RIGHT: 0px; POSITION: absolute; TOP: -7px
}
* > .a660 .coment .navopi .nav {
	TOP: 0px
}
.a660 .coment .navopi P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; FONT: 15px/15px georgia, times new roman, serif; COLOR: #333; =
PADDING-TOP: 5px
}
.a660 .coment .navopi P EM {
	FONT-WEIGHT: bolder; COLOR: #c00; FONT-STYLE: normal
}
.a660 .coment .navopi .nav .boton {
	TEXT-TRANSFORM: capitalize
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/BD5D1E2B0A80E0AB00A56214B450D1B8/LVDG_estilos_votacion_graf.css

.izq .votacion {
	WIDTH: 100%; MARGIN-RIGHT: 7px
}
* > .izq .votacion {
	WIDTH: auto
}
TABLE.rstd_dbt {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: =
0px; PADDING-BOTTOM: 0px; MARGIN: 0px; FONT: 12px georgia, times new =
roman, serif; BORDER-LEFT: 0px; WIDTH: 100%; PADDING-TOP: 0px; =
BORDER-BOTTOM: 0px
}
.rstd_dbt CAPTION {
	FONT: 18px palatino, georgia, times new roman, serif; TEXT-TRANSFORM: =
uppercase; COLOR: #666; TEXT-ALIGN: left
}
.rstd_dbt TH {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: normal; =
PADDING-BOTTOM: 4px; PADDING-TOP: 4px; TEXT-ALIGN: right
}
.rstd_dbt TD {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 7px; BORDER-TOP: 0px; PADDING-LEFT: =
7px; PADDING-BOTTOM: 4px; MARGIN: 0px; BORDER-LEFT: 0px; PADDING-TOP: =
4px; BORDER-BOTTOM: 0px; TEXT-ALIGN: right
}
.rstd_dbt THEAD {
	FONT-SIZE: 11px; COLOR: #666
}
.rstd_dbt TFOOT TD {
	FONT-WEIGHT: bolder
}
.rstd_dbt TBODY TR {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-x left bottom; =
MARGIN: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px
}
.rstd_dbt .rep_grf {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 40%; =
PADDING-TOP: 6px; TEXT-ALIGN: left
}
.rstd_dbt .dats {
	PADDING-RIGHT: 0px; PADDING-LEFT: 14px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
.rstd_dbt .b {
	FONT-WEIGHT: bolder
}
.rstd_dbt #total {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
FORM.debate FIELDSET {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FLOAT: none; PADDING-BOTTOM: 14px; MARGIN: 0px; WIDTH: 100%; =
PADDING-TOP: 0px
}
.debate LABEL {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 14px; WIDTH: 100%
}
.debate .graf {
	CLEAR: both; DISPLAY: block; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_graf.gif) repeat-x right top; =
MARGIN: 0px 0px 6px; WIDTH: 100%; POSITION: relative; HEIGHT: 15px; =
TEXT-ALIGN: left
}
* > .debate .graf {
	WIDTH: auto
}
.debate .graf SPAN {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 10px; OVERFLOW: hidden; =
LINE-HEIGHT: 1px; POSITION: relative; HEIGHT: 15px! important
}
.percent_1 {
	BACKGROUND: rgb(51,0,204); WIDTH: 100%
}
.percent_2 {
	BACKGROUND: rgb(102,0,153); WIDTH: 90%
}
.percent_3 {
	BACKGROUND: rgb(153,0,102); WIDTH: 81%
}
.percent_4 {
	BACKGROUND: rgb(204,0,51); WIDTH: 72%
}
.percent_5 {
	BACKGROUND: rgb(255,0,0); WIDTH: 63%
}
.percent_6 {
	BACKGROUND: rgb(153,102,0); WIDTH: 54%
}
.percent_7 {
	BACKGROUND: rgb(102,153,0); WIDTH: 45%
}
.percent_8 {
	BACKGROUND: rgb(51,204,0); WIDTH: 36%
}
.percent_9 {
	BACKGROUND: rgb(0,255,0); WIDTH: 27%
}
.percent_10 {
	BACKGROUND: rgb(0,153,102); WIDTH: 18%
}
.percent_11 {
	BACKGROUND: rgb(0,102,153); WIDTH: 9%
}
.percent_12 {
	BACKGROUND: rgb(100,102,153); WIDTH: 9%
}
.percent_13 {
	BACKGROUND: rgb(0,150,193); WIDTH: 9%
}
.percent_14 {
	BACKGROUND: rgb(80,90,100); WIDTH: 9%
}
.percent_15 {
	BACKGROUND: rgb(100,200,100); WIDTH: 9%
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/327027100A80E0AB01A3E41FC713AF4D/LVDG_estilos_pieza_caja_catalogo.css

.ctlg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN-RIGHT: 7px; =
PADDING-TOP: 20px; POSITION: relative
}
.ctlg H3 {
	CLEAR: none; BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; =
DISPLAY: inline; PADDING-LEFT: 0px; FONT-SIZE: 11px; PADDING-BOTTOM: =
0px; MARGIN: 0px; BORDER-LEFT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: =
0px; TEXT-ALIGN: left
}
.ctlg .pestana {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; =
FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; =
PADDING-BOTTOM: 2px; MARGIN: 0px 4px 0px 0px; TEXT-TRANSFORM: none; =
COLOR: #000; PADDING-TOP: 4px; POSITION: relative; TOP: -3px; =
BORDER-RIGHT-WIDTH: 1px
}
* > .ctlg .pestana {
	MARGIN: 0px; TOP: -3px
}
.ctlg .off {
	Z-INDEX: 100; BORDER-BOTTOM-COLOR: #fff
}
.ctlg .cliche {
	CLEAR: both; FLOAT: left; POSITION: relative
}
.ctlg .item {
	CLEAR: left; BACKGROUND: #fff; FLOAT: left; WIDTH: 100%; POSITION: =
relative
}
.ctlg .cont {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 7px; =
MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 7px; BORDER-RIGHT-WIDTH: 1px
}
* > .ctlg .cont {
	WIDTH: auto
}
.ctlg .cont UL.ult {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; POSITION: =
relative
}
.ctlg .no {
	DISPLAY: none! important
}
.ctlg .cont .ult LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 4px 0px 4px 36px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; =
POSITION: relative
}
.ctlg .cont LI A {
	VISIBILITY: visible; TEXT-TRANSFORM: none; COLOR: #134d86
}
.ctlg .cont .ult LI EM {
	DISPLAY: block; LEFT: -36px; FONT: bolder 11px arial, geneva, =
helvetica, sans-serif; COLOR: #c33; POSITION: absolute; TOP: 2px
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1191926985177370/LVDG_estilos_enviar_noticia.css

.contrans .noticia {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BACKGROUND-COLOR: #f8f2eb
}
.contrans .noticia .titulo {
	FONT-WEIGHT: bolder; FONT-SIZE: 13px
}
.contrans .noticia .titulo EM {
	FONT-SIZE: 11px
}
.contrans .noticia .entradilla {
	FONT-SIZE: 11px
}
#enviar_popup FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 7px; MARGIN: 0px =
7px; WIDTH: 100%; PADDING-TOP: 7px; POSITION: relative
}
* > #enviar_popup FORM {
	WIDTH: auto
}
#enviar_popup FIELDSET {
	CLEAR: both; DISPLAY: block; PADDING-BOTTOM: 14px; POSITION: relative
}
#enviar_popup LEGEND {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; LEFT: -7px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; FONT: bolder 13px georgia, times new =
roman, times, serif; PADDING-TOP: 0px; POSITION: relative
}
* > #enviar_popup LEGEND {
	LEFT: 0px
}
#enviar_popup LABEL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; FONT: 12px trebuchet ms, tahoma, geneva, helvetica, sans serif; =
WIDTH: auto; PADDING-TOP: 3px
}
#enviar_popup INPUT {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 12px; MARGIN: 0px
}
#enviar_popup TEXTAREA {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 12px; MARGIN: 0px
}
* > #enviar_popup INPUT {
	MARGIN: 5px 0px 0px
}
* > #enviar_popup TEXTAREA {
	MARGIN: 5px 0px 0px
}
.t223 {
	WIDTH: 223px
}
.t148 {
	WIDTH: 148px
}
#enviar_popup FORM EM {
	COLOR: #c00; FONT-STYLE: normal
}
#enviar_popup EM.der {
	FONT-SIZE: 10px; RIGHT: 0px; POSITION: absolute; TOP: 4px
}
#enviar_popup TEXTAREA {
	WIDTH: 100%; HEIGHT: 43px
}
#enviar_ok_popup H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 7px; MARGIN: 0px =
7px; FONT: bolder 14px georgia, times new roman, times, serif; COLOR: =
#c00; PADDING-TOP: 7px
}
#enviar_ok_popup P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 7px; MARGIN: 0px =
7px; FONT: 13px/19px trebuchet ms, tahoma, geneva, helvetica, sans =
serif; PADDING-TOP: 7px
}
#enviar_error_popup H3 {
	BORDER-RIGHT: #e3e2dd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#e3e2dd 1px solid; DISPLAY: block; PADDING-LEFT: 70px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/icos/error_enviar.gif) #ffc =
no-repeat 14px 14px; PADDING-BOTTOM: 14px; MARGIN: 21px 7px 14px; FONT: =
bolder 14px/21px georgia, times new roman, times, serif; BORDER-LEFT: =
#e3e2dd 1px solid; COLOR: #c00; PADDING-TOP: 7px; BORDER-BOTTOM: #e3e2dd =
1px solid
}
#enviar_error_popup P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 7px; MARGIN: 0px =
7px; FONT: 13px/19px trebuchet ms, tahoma, geneva, helvetica, sans =
serif; PADDING-TOP: 7px
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/A20BCDC70A80E0AB007BFC047CAE06CB/LVDG_estilos_detalle_noticia.css

.det {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot_det.gif) =
repeat-y 660px 2px
}
.det H1.titulo {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 33px; =
PADDING-BOTTOM: 7px; PADDING-TOP: 0px
}
.det .auto .not {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.a330 .relacionados {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) #fff repeat-x left =
bottom; PADDING-BOTTOM: 7px; MARGIN: 0px 0px 7px; PADDING-TOP: 14px
}
.a330 .relacionados .img .brd {
	MARGIN: 0px
}
.det .texto {
	FONT: 14px/20px Verdana, Arial, Helvetica, sans-serif
}
.det .texto A {
	TEXT-DECORATION: underline
}
.det .texto A:hover {
	COLOR: #c00
}
.det .entradilla {
	FONT-SIZE: 19px; PADDING-TOP: 14px
}
.a660 .localizador {
	MARGIN-TOP: 4px; FONT-SIZE: 13px
}
.a660 .localizador DT.si {
	DISPLAY: inline; FONT: 11px georgia, times new roman, serif; COLOR: =
#000
}
.localizador DD {
	DISPLAY: inline; FONT: 11px georgia, times new roman, serif; COLOR: =
#000
}
.a660 .localizador DT.si {
	FONT-WEIGHT: bolder
}
.localizador DD.autor {
	FONT-WEIGHT: bolder
}
.a660 .localizador DD.fecha {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: 8px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y left center; =
FONT: 12px trebuchet ms, lucida grande, tahoma, arial, geneva, verdana, =
helvetica, sans-serif; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px
}
.localizador DD.web {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: 8px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) repeat-y left center; =
FONT: 12px trebuchet ms, lucida grande, tahoma, arial, geneva, verdana, =
helvetica, sans-serif; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px
}
.a660 .localizador DD A {
	TEXT-DECORATION: underline
}
.a660 .localizador DD.trackback A {
	COLOR: #cc0000
}
.a660 .localizador DD.locali {
	TEXT-TRANSFORM: capitalize
}
.localizador DD.autor {
	TEXT-TRANSFORM: capitalize
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/76D3865F0A80B1A100AE997B485F3286/LVDG_estilos_detalle.css

.det {
	BACKGROUND: url(http://media.lavozdegalicia.es/img/f_dot_det.gif) =
repeat-y 660px 2px
}
.det .auto .not {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.a330 .relacionados {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_dot.gif) #fff repeat-x left =
bottom; PADDING-BOTTOM: 7px; MARGIN: 0px 0px 7px; PADDING-TOP: 7px
}
.a330 .relacionados .img .brd {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.a330 .relacionados .img .relimg {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 7px
}
.a330 .relacionados H2.rot {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 3px; =
MARGIN: 7px 0px; FONT: bolder 15px georgia, times new roman, serif; =
TEXT-TRANSFORM: none; COLOR: #666; PADDING-TOP: 3px; BORDER-RIGHT-WIDTH: =
1px
}
.det H1.titulo {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 37px; =
PADDING-BOTTOM: 7px; PADDING-TOP: 7px
}
.det H1.titulo EM.titulillo {
	FONT-SIZE: 18px
}
.det H1.titulo EM.cargo {
	FONT-WEIGHT: bolder; FONT-SIZE: 16px; COLOR: #9a8f7a
}
.det .texto {
	FONT: 16px/145% Verdana, Arial, Helvetica, sans-serif; OVERFLOW: =
hidden; WIDTH: 100%
}
#texto P {
	FONT: 16px/145% Verdana, Arial, Helvetica, sans-serif; OVERFLOW: =
hidden; WIDTH: 100%
}
.texto1 P {
	FONT-SIZE: 16px! important
}
.texto2 P {
	FONT-SIZE: 18px! important
}
.texto3 P {
	FONT-SIZE: 22px! important
}
.texto4 P {
	FONT-SIZE: 24px! important
}
.det .entradilla {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 19px; PADDING-BOTTOM: =
14px; LINE-HEIGHT: 120%; PADDING-TOP: 0px
}
.det .texto A {
	TEXT-DECORATION: underline
}
.det .texto A:hover {
	COLOR: #c00
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/A20A9B030A80E0AB007BFC04A7AF50C3/LVDG_estilos_utnot.css

.utnot {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(/img/f_dot.gif) repeat-x left top; PADDING-BOTTOM: 2px; MARGIN: 16px =
0px 0px; OVERFLOW: hidden; PADDING-TOP: 2px; LIST-STYLE-TYPE: none; =
POSITION: relative; HEIGHT: 30px
}
* > .utnot {
	HEIGHT: 26px
}
.utnot LI {
	CLEAR: none; FLOAT: left
}
.utnot SPAN {
	DISPLAY: none
}
.utnot EM {
	FONT-SIZE: 11px; COLOR: #c00; FONT-STYLE: normal
}
.opnot {
	PADDING-RIGHT: 7px; MARGIN-TOP: 4px; DISPLAY: inline; LINE-HEIGHT: =
20px; MARGIN-RIGHT: 7px
}
.opnot A {
	BACKGROUND-POSITION: 2px 50%; PADDING-LEFT: 20px; BACKGROUND-IMAGE: =
url(/img/icos/op.gif); BACKGROUND-REPEAT: no-repeat
}
.votnot {
	DISPLAY: inline; LINE-HEIGHT: 30px
}
.votnot DL {
	DISPLAY: inline
}
.votnot DT {
	DISPLAY: inline
}
.votnot DD {
	DISPLAY: inline
}
.star {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; BACKGROUND: url(/img/star.gif) =
no-repeat; PADDING-BOTTOM: 0px; MARGIN: 4px 2px 0px 0px; WIDTH: 16px; =
PADDING-TOP: 0px; POSITION: relative; HEIGHT: 16px
}
* > .star {
	MARGIN: 0px
}
.on {
	BACKGROUND-IMAGE: url(/img/star_on.gif)
}
.star:active {
	BACKGROUND-IMAGE: url(/img/star_on.gif)
}
.star:hover {
	BACKGROUND-IMAGE: url(/img/star_ov.gif)
}
.utnot .servnot {
	DISPLAY: block; FLOAT: right
}
.utnot .servnot .inl EM {
	VISIBILITY: hidden
}
.servnot {
	RIGHT: -7px; POSITION: absolute; TOP: 7px; TEXT-ALIGN: right
}
.utnot .servnot LI {
	BACKGROUND: url(/img/f_dot.gif) #fff repeat-y right top
}
.utnot .servnot LI.nobrd {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.servnot A {
	CLEAR: none; PADDING-RIGHT: 7px; BACKGROUND-POSITION: left center; =
DISPLAY: inline; PADDING-LEFT: 20px; FONT-SIZE: 13px; PADDING-BOTTOM: =
0px; MARGIN: 0px 7px; WIDTH: auto; LINE-HEIGHT: 20px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat
}
.vote A {
	CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: block! important; =
PADDING-LEFT: 0px; FONT-SIZE: 13px; FLOAT: left; PADDING-BOTTOM: 0px; =
MARGIN: 0px 3px; WIDTH: 20px; LINE-HEIGHT: 20px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 18px
}
.vote A:hover {
	TEXT-DECORATION: none! important
}
A.imp {
	BACKGROUND-IMAGE: url(/img/icos/imp.gif)
}
A.vol {
	BACKGROUND-IMAGE: url(/img/icos/vol.gif)
}
A.env {
	BACKGROUND-IMAGE: url(/img/icos/en.gif)
}
A.tmenos {
	MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
A.tmas {
	MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
A.tmenos {
	BACKGROUND-IMAGE: url(/img/icos/texto_menos.gif)
}
A.tmas {
	PADDING-RIGHT: 7px; BACKGROUND-IMAGE: url(/img/icos/texto_mas.gif)
}
.comnot {
	FONT-SIZE: 11px; LINE-HEIGHT: 30px
}
.comnot A.ico {
	BACKGROUND-POSITION: left bottom; WIDTH: 27px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 24px
}
.comnot > A.ico {
	PADDING-LEFT: 27px; MARGIN: 0px
}
.del_ico {
	BACKGROUND-IMAGE: url(/img/icos/delicious.gif)
}
.tech_ico {
	BACKGROUND-IMAGE: url(/img/icos/technorati.gif)
}
.yahoo_ico {
	BACKGROUND-IMAGE: url(/img/icos/yahoo.gif)
}
.digg_ico {
	BACKGROUND-IMAGE: url(/img/icos/digg.gif)
}
.meneame_ico {
	BACKGROUND-IMAGE: url(/img/icos/meneame.gif)
}
.chuza_ico {
	BACKGROUND-IMAGE: url(/img/icos/chuza.gif)
}
.facebook_ico {
	BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/default/2009/04/15/0012123978903583134=
9786/Foto/ico_facebook.gif)
}
.twitter_ico {
	BACKGROUND-IMAGE: =
url(http://media.lavozdegalicia.es/default/2009/04/15/0012123978926890624=
0291/Foto/ico_twitter.gif)
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1227605703877153374/LVDG_estilos_cab_detalles_logoper.css

.panel .izq {
	PADDING-TOP: 25px
}
.panel .izq {
	DISPLAY: none! important
}
.panel .busca {
	FLOAT: right; MARGIN-RIGHT: 6px
}
.panel .cabecera {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; MARGIN: =
0px; PADDING-TOP: 8px
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1226333546435564810/LVDG_caja_cabeceros_portadas_051108.css

.cab {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN-BOTTOM: 0px; BORDER-LEFT: =
0px; BORDER-BOTTOM: 0px
}
* > .cab {
	WIDTH: 992px
}
#cabecero DIV.auto {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.cab .serv {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 11px; MARGIN: 0px; WIDTH: 100%
}
.cab .serv .idiom {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 0px
}
.cab .serv .idiom .pestana {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 7px; DISPLAY: block; =
PADDING-LEFT: 7px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; =
BACKGROUND: #fff; FLOAT: left; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: =
4px; TEXT-TRANSFORM: none; COLOR: #134d86; PADDING-TOP: 4px; =
BORDER-RIGHT-WIDTH: 1px
}
.cab .serv .idiom .pestana:hover {
	TEXT-DECORATION: underline
}
.cab .serv .ed_imp {
	PADDING-RIGHT: 70px; FONT-SIZE: 10px; BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2008/11/24/0012122752986383830=
7298/Foto/cliche_periodico.gif) no-repeat right top; LINE-HEIGHT: 22px
}
.cab .serv .ed_imp STRONG {
	FONT-WEIGHT: normal; COLOR: #666
}
.cab .serv .ed_imp A {
	FONT-WEIGHT: bolder; MARGIN: 0px 3px
}
.panel {
	BORDER-TOP-WIDTH: 1px; CLEAR: both; BORDER-LEFT-WIDTH: 1px; =
BORDER-LEFT-COLOR: #bbb5a6; BORDER-BOTTOM-WIDTH: 0px; =
BORDER-BOTTOM-COLOR: #bbb5a6; MARGIN: 0px; WIDTH: 100%; =
BORDER-TOP-COLOR: #bbb5a6; TEXT-ALIGN: left; BORDER-RIGHT-WIDTH: 1px; =
BORDER-RIGHT-COLOR: #bbb5a6
}
* > .panel {
	WIDTH: auto
}
.cabecera {
	CLEAR: none; PADDING-RIGHT: 58px; DISPLAY: block; PADDING-LEFT: 58px; =
FLOAT: left; PADDING-BOTTOM: 10px; PADDING-TOP: 10px
}
.panel .izq {
	CLEAR: none; WIDTH: 220px; PADDING-TOP: 20px; FONT-FAMILY: georgia, =
times new roman, serif; TEXT-ALIGN: right
}
.panel .izq SPAN {
	CLEAR: both; DISPLAY: block
}
.panel .izq STRONG {
	CLEAR: both; DISPLAY: block
}
.panel .izq SPAN {
	COLOR: #666; FONT-FAMILY: trebuchet ms, lucida grande, geneva, tahoma, =
arial, helvetica, sans-serif
}
.panel .izq EM {
	FONT-WEIGHT: bolder; COLOR: #ba1617; FONT-STYLE: normal
}
.panel .izq .pag_ini {
	PADDING-RIGHT: 12px; DISPLAY: block; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/icos/f_pag_ini.gif) no-repeat =
right 4px; FONT: 10px trebuchet ms, lucida grande, geneva, tahoma, =
arial, helvetica, sans-serif
}
HTML > BODY .panel .izq .pag_ini {
	DISPLAY: none
}
.panel .izq .pag_ini A {
	TEXT-DECORATION: underline
}
.busca {
	FLOAT: left; PADDING-TOP: 10px
}
.busca .box_search {
	BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2008/11/07/0012122606366303375=
9223/Foto/bg_searchbox.gif) #fff repeat-x left top; WIDTH: 222px; =
TEXT-ALIGN: center
}
.busca .box_search DIV {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: medium =
none; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px =
solid
}
.busca .box_search DIV.no {
	DISPLAY: none; VISIBILITY: hidden
}
.busca .sel_fuente {
	BORDER-LEFT: #ccc 1px solid; WIDTH: 222px
}
.busca FIELDSET {
	DISPLAY: block; WIDTH: 240px
}
.busca FIELDSET LABEL {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: #ccc 1px =
solid; DISPLAY: block; PADDING-LEFT: 7px; FLOAT: left; PADDING-BOTTOM: =
7px; PADDING-TOP: 7px
}
.busca INPUT.no {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 0px; PADDING-TOP: 0px; HEIGHT: 0px
}
.busca #pestanapgalegas_form {
	PADDING-RIGHT: 63px; BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2008/11/07/0012122606376473537=
4719/Foto/busq_pgalegas.gif) no-repeat right center
}
.busca .on {
	BACKGROUND: #ccc
}
.busca .on#pestanapgalegas_form {
	BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2008/11/07/0012122606380679925=
7491/Foto/busq_pgalegas_on.gif) #999 no-repeat right center; WIDTH: 47px
}
.busca INPUT.brd {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; WIDTH: 153px; =
BORDER-BOTTOM: 0px; HEIGHT: 19px
}
.busca INPUT.boton {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND: =
url(http://media.lavozdegalicia.es/default/2008/11/07/0012122606371926185=
8450/Foto/bg_searchbut.gif) repeat-x left top; BORDER-LEFT: 0px; COLOR: =
#fff; BORDER-BOTTOM: 0px
}
* > .busca INPUT.brd {
	HEIGHT: 19px
}
.indx .menu {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 0px solid; FONT-SIZE: =
0px! important; BACKGROUND: #036; FLOAT: left; BORDER-LEFT: #ccc 1px =
solid; WIDTH: 992px; BORDER-BOTTOM: #ccc 0px solid
}
* > .indx .menu {
	WIDTH: 990px; PADDING-TOP: 0px
}
.item {
	PADDING-RIGHT: 0px! important; DISPLAY: inline; PADDING-LEFT: 0px! =
important; PADDING-BOTTOM: 0px! important; MARGIN: 0px; PADDING-TOP: =
0px! important
}
.indx .item {
=09
}
* > .indx .item {
	MARGIN: 0px -4px 0px 0px
}
.indx H4 {
	PADDING-RIGHT: 1px! important; DISPLAY: inline; PADDING-LEFT: 1px! =
important; FONT-WEIGHT: normal; FONT-SIZE: 12px; PADDING-BOTTOM: 0px! =
important; TEXT-TRANSFORM: uppercase; PADDING-TOP: 0px! important
}
.item A {
	PADDING-RIGHT: 1px! important; PADDING-LEFT: 2px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; COLOR: #fff; LINE-HEIGHT: =
18px; PADDING-TOP: 0px! important
}
.sub {
	CLEAR: both; BACKGROUND: #fff; FLOAT: left; WIDTH: 100%; BORDER-BOTTOM: =
#ccc 1px solid
}
.no {
	DISPLAY: none
}
.sub LI {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FLOAT: left; PADDING-BOTTOM: =
4px; TEXT-TRANSFORM: none; PADDING-TOP: 4px
}
.sub A {
	COLOR: #000
}
.indx .mg_inf {
	BACKGROUND: #e00729
}
.indx .mg_util {
	BACKGROUND: #666
}
.indx .mg_clasifi {
	BACKGROUND: #036
}
.indx .off {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND: #fff; BORDER-LEFT: 0px; =
COLOR: #000; BORDER-BOTTOM: 0px
}
.indx .off:hover {
	BACKGROUND: #fff; TEXT-DECORATION: underline
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/76E596D70A80B1A100AE997B308D7528/LVDG_estilos_localizador.css

.a660 DL.localizador {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 7px =
0px; COLOR: #000; PADDING-TOP: 0px
}
.a660 DL.localizador DT.si {
	DISPLAY: inline; LIST-STYLE-TYPE: none
}
.a660 DL.localizador DD {
	DISPLAY: inline; LIST-STYLE-TYPE: none
}
.a660 DL.localizador DD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 6px; FONT-SIZE: 11px; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 0px 6px; BORDER-LEFT: #000 1px solid; LINE-HEIGHT: =
11px; PADDING-TOP: 0px; FONT-FAMILY: georgia, times new roman, serif
}
.a660 DL.localizador DT.si {
	FONT-WEIGHT: bolder
}
.a660 DL.localizador DD.firma {
	FONT-WEIGHT: bolder
}
.a660 DL.localizador DD.autor {
	FONT-WEIGHT: bolder
}
.a660 DL.localizador DD.firma {
	PADDING-LEFT: 0px; MARGIN-LEFT: 0px; BORDER-LEFT: 0px
}
.a660 DL.localizador DD.autor {
	PADDING-LEFT: 0px; MARGIN-LEFT: 0px; BORDER-LEFT: 0px
}
.a660 DL.localizador .firma EM {
	FONT-WEIGHT: normal; COLOR: #666; FONT-STYLE: normal
}
.a660 DL.localizador .firma {
	TEXT-TRANSFORM: capitalize
}
.a660 DL.localizador .localizacion {
	TEXT-TRANSFORM: capitalize
}
.a660 DL.localizador .localizacion {
	BORDER-RIGHT: #000 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000 0px =
solid; PADDING-LEFT: 6px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; =
BORDER-LEFT: #000 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #000 0px =
solid
}
.a660 DL.localizador .fecha {
	BORDER-RIGHT: #000 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000 0px =
solid; PADDING-LEFT: 6px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; =
BORDER-LEFT: #000 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #000 0px =
solid
}
.a660 DL.localizador DD A {
	TEXT-DECORATION: underline
}
.a660 DL.localizador DD.trackback A {
	COLOR: #c00
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/B2CB05AB0A80E0AB00B113C752A3F9E8/LVDG_estilos_envia_opinion.css

.a660 .coment {
	FONT-FAMILY: trebuchet, tahoma, andale mono, geneva, arial, helvetica, =
sans-serif
}
.a660 .coment H2.cliche {
	FONT: 17px georgia, times new roman, serif; COLOR: #666
}
.a660 .coment .mini {
	FONT: 11px trebuchet, tahoma, andale mono, geneva, arial, helvetica, =
sans-serif; COLOR: #c00; TEXT-ALIGN: right
}
.a660 .coment FORM {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
BACKGROUND: #f8f8f8; PADDING-BOTTOM: 0px; MARGIN: 7px 0px; WIDTH: 100%; =
PADDING-TOP: 12px; FONT-FAMILY: trebuchet, tahoma, andale mono, geneva, =
arial, helvetica, sans-serif
}
.bluegray {
	BACKGROUND: #f8f8f8
}
.a660 .coment > FORM {
	WIDTH: auto
}
.a660 .coment FIELDSET {
	CLEAR: both; DISPLAY: block
}
.auto .a660 .coment INPUT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.auto .a660 .coment TEXTAREA {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.a660 .coment FIELDSET LABEL {
	FLOAT: left; MARGIN: 4px
}
.a660 .coment FIELDSET LABEL EM {
	PADDING-RIGHT: 4px; DISPLAY: block; PADDING-LEFT: 4px; FONT-WEIGHT: =
bolder; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; FONT-STYLE: normal
}
.a660 .coment FIELDSET LABEL EM SPAN {
	COLOR: #c00
}
.a660 .coment FIELDSET INPUT {
	CLEAR: left; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; FONT: 13px trebuchet ms, lucida =
grande, tahoma, arial, geneva, verdana, helvetica, sans-serif; =
PADDING-TOP: 0px
}
.a660 .coment FIELDSET TEXTAREA {
	CLEAR: left; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; FONT: 13px trebuchet ms, lucida =
grande, tahoma, arial, geneva, verdana, helvetica, sans-serif; =
PADDING-TOP: 0px
}
.t260 {
	WIDTH: 260px
}
.t170 {
	WIDTH: 170px
}
.t620 {
	WIDTH: 620px
}
.a660 .coment FIELDSET P {
	CLEAR: both; PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: =
8px; PADDING-TOP: 8px
}
.a660 .coment FIELDSET P A {
	CLEAR: both; DISPLAY: block
}
.a660 .coment .boton {
	CLEAR: right; MARGIN-TOP: 4px
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/4914AF6D0A80B1A100E6A73D7E2305B3/LVDG_estilos_capa_transparente.css

.ftrans {
	DISPLAY: block; Z-INDEX: 5000; BACKGROUND: none transparent scroll =
repeat 0% 0%; FILTER: alpha(opacity=3D60); LEFT: 0px; WIDTH: 100%; =
POSITION: absolute; TOP: 0px; HEIGHT: 1200%; opacity: 0.6; -moz-opacity: =
0.6
}
* > .ftrans {
	POSITION: fixed; HEIGHT: 100%
}
.porter {
	Z-INDEX: 5001; LEFT: 0px; WIDTH: 100%; POSITION: absolute; TOP: 0px; =
TEXT-ALIGN: center
}
* > .porter {
	POSITION: fixed
}
.spok {
	BORDER-RIGHT: #ccc 4px solid; BORDER-TOP: #ccc 4px solid; Z-INDEX: =
5002; MARGIN: 4% auto; BORDER-LEFT: #ccc 4px solid; WIDTH: 440px; =
BORDER-BOTTOM: #ccc 4px solid; BACKGROUND-COLOR: #fff
}
.arrstr {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: =
#ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid
}
.arrstr H2 {
	PADDING-RIGHT: 2px; PADDING-LEFT: 7px; PADDING-BOTTOM: 4px; MARGIN: =
0px; FONT: bolder 15px georgia, times new roman, serif; OVERFLOW: =
hidden; TEXT-TRANSFORM: capitalize; COLOR: #666; PADDING-TOP: 4px
}
.arrstr EM {
	FONT-STYLE: normal
}
.arrstr H2 .cerrar {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 1px; =
RIGHT: 4px; BACKGROUND: =
url(http://media.lavozdegalicia.es/img/f_aspa.gif) no-repeat center =
center; PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: hidden; WIDTH: 11px; =
LINE-HEIGHT: 1px; PADDING-TOP: 0px; POSITION: absolute; TOP: 4px; =
HEIGHT: 11px
}
.contrans {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; FONT: =
12px/17px arial, tahoma, geneva, helvetica, sans-serif; OVERFLOW: auto; =
MAX-HEIGHT: 400px; PADDING-TOP: 7px; HEIGHT: auto
}
.contrans H3 {
	FONT-SIZE: 13px
}
.contrans UL {
	FONT: 12px/17px arial, tahoma, geneva, helvetica, sans-serif
}
.contrans LI {
	FONT: 12px/17px arial, tahoma, geneva, helvetica, sans-serif
}
.contrans DL {
	MARGIN-TOP: 14px
}
.contrans DD {
	MARGIN-TOP: 4px; MARGIN-BOTTOM: 14px
}

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/558124BE0A80E0AB012F41A585B45977/LVDG_script.js

var G_SECCIONADO=3Dfalse;=0A=
function ObjetoListaInteractiva(){=0A=
=0A=
	this.list =3D new Array();=0A=
=0A=
	this.listaNombres =3D new Array();=0A=
=0A=
	this.listaCombos =3D new Array();=0A=
=0A=
	this.listaPestanas =3D new Array();=0A=
	=0A=
	this.listaEnlaces =3D new Array();=0A=
=0A=
	this.elementosVisibles =3D1;=0A=
=0A=
	this.posicion=3D0;=0A=
=0A=
	this.modoOff=3D"";=0A=
=0A=
	this.modoOn=3D"";=0A=
=0A=
	this.modoPestanaOff=3D"";=0A=
=0A=
	this.modoPestanaOn=3D"";=0A=
=0A=
	this.anadir=3Danadir;=0A=
=0A=
	this.mostrarAnterior=3DmostrarAnterior;=0A=
=0A=
	this.mostrarSiguiente=3DmostrarSiguiente;=0A=
=0A=
	this.mostrarPaginaAnterior=3DmostrarPaginaAnterior;=0A=
=0A=
	this.mostrarPaginaSiguiente=3DmostrarPaginaSiguiente;=0A=
=0A=
	this.borrarTodos=3DborrarTodos;=0A=
=0A=
	this.setElementosVisibles=3DsetElementosVisibles;=0A=
=0A=
	this.getElementosVisibles=3DgetElementosVisibles;=0A=
=0A=
	this.setModoOn=3DsetModoOn;=0A=
=0A=
	this.getModoOn=3DgetModoOn;=0A=
=0A=
	this.setModoOff=3DsetModoOff;=0A=
=0A=
	this.getModoOff=3DgetModoOff;=0A=
=0A=
	this.setModoPestanaOn=3DsetModoPestanaOn;=0A=
=0A=
	this.getModoPestanaOn=3DgetModoPestanaOn;=0A=
=0A=
	this.setModoPestanaOff=3DsetModoPestanaOff;=0A=
=0A=
	this.getModoPestanaOff=3DgetModoPestanaOff;=0A=
=0A=
	this.hacerInvisible=3DhacerInvisible;=0A=
=0A=
	this.hacerVisible=3DhacerVisible;=0A=
=0A=
	this.init=3Dinit;=0A=
	=0A=
	this.init2=3Dinit2;=0A=
=0A=
	this.setNombre=3DsetNombre;=0A=
=0A=
	this.getNombre=3DgetNombre;=0A=
=0A=
	this.ocultarTodos=3DocultarTodos;=0A=
=0A=
	this.insertOption=3DinsertOption;=0A=
=0A=
	this.anadirCombo=3DanadirCombo;=0A=
=0A=
	this.mostrarCombo=3DmostrarCombo;=0A=
=0A=
	this.mostrarPestana=3DmostrarPestana;=0A=
=0A=
	this.anadirPestanas=3DanadirPestanas;=0A=
=0A=
	this.getPosicion=3DgetPosicion;=0A=
	=0A=
	this.mostrarCapa=3DmostrarCapa;=0A=
	this.mostrarAleatorio=3DmostrarAleatorio;=0A=
=0A=
	this.setEnlace=3DsetEnlace;=0A=
=0A=
	this.getEnlace=3DgetEnlace;=0A=
	=0A=
	this.enlaceSeccion=3DenlaceSeccion;=0A=
	=0A=
	this.enlaceSeccionCategoria=3DenlaceSeccionCategoria;=0A=
	=0A=
	this.pasas=3Dpasas;=0A=
	=0A=
	this.llamarOJD=3DllamarOJD;=0A=
	=0A=
	this.getIdentificador=3DgetIdentificador;=0A=
}=0A=
=0A=
//Devuelve el objeto por ID=0A=
=0A=
	function getObject(id) {=0A=
		if( window.mmIsOpera ) return(document.getElementById(id));=0A=
		if (document.all) return(document.all[id]);=0A=
		if (document.getElementById) return(document.getElementById(id));=0A=
		return(false);=0A=
	}=0A=
=0A=
//devuelve la posici=F3n en la que se encuentra el objeto=0A=
=0A=
//Esta funci=F3n se utiliza para mostrar el n=FAmero de foto que se =
est=E1 mostrando en un album=0A=
=0A=
function getPosicion(){=0A=
=0A=
	//sumamos uno a la posici=F3n, porque empieza en 0.=0A=
=0A=
	return this.posicion+1;=0A=
=0A=
}=0A=
=0A=
//devuelve el id del objeto en funci=F3n de la posici=F3n que ocupa=0A=
function getIdentificador(posicion){=0A=
	//restamos 1 a la posicion, porque empieza en 0 y pediremos del 1 al n=0A=
	//actualizamos la posicion que estamos mostramos=0A=
	this.posicion=3Dposicion-1;=0A=
	return this.list[posicion-1];=0A=
	=0A=
=0A=
}=0A=
=0A=
function anadirCombo(select){=0A=
=0A=
		this.listaCombos.push(select);=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function anadirPestanas(pestana){=0A=
=0A=
		this.listaPestanas.push(pestana);=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function insertOption()=0A=
=0A=
{=0A=
=0A=
=0A=
=0A=
	for (var i =3D 0; i < this.list.length; i++) {=0A=
=0A=
			=0A=
=0A=
	  for (var j =3D 0; j < this.listaCombos.length; j++) {=0A=
=0A=
		  var y=3Ddocument.createElement('option');=0A=
=0A=
		  y.text=3Dthis.getNombre(this.list[i]);=0A=
=0A=
		  y.value=3Dthis.list[i];=0A=
=0A=
		  var x=3Ddocument.getElementById(this.listaCombos[j]);=0A=
=0A=
		  try=0A=
=0A=
		  {=0A=
=0A=
		    x.add(y,null); // standards compliant=0A=
=0A=
		  }=0A=
=0A=
		  catch(ex)=0A=
=0A=
		  {=0A=
=0A=
		    x.add(y); // IE only=0A=
=0A=
		  }=0A=
=0A=
		}=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function mostrarPestana(id){=0A=
=0A=
	this.ocultarTodos();=0A=
=0A=
	this.hacerVisible(id);=0A=
=0A=
	//Recorremos las pestanas para ponerlas en modo off=0A=
=0A=
	for (var i =3D 0; i < this.listaPestanas.length; i++) {=0A=
=0A=
		=
document.getElementById(this.listaPestanas[i]).className=3Dthis.getModoPe=
stanaOff();=0A=
=0A=
	}=0A=
=0A=
	//Ponemos la seleccionada en modo On=0A=
=0A=
	=
document.getElementById("pestana"+id).className=3Dthis.getModoPestanaOn()=
;=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function mostrarCombo(id){=0A=
=0A=
		var x=3Ddocument.getElementById(id);=0A=
=0A=
		//Si el seleccionado es el 0 no hacemos nada=0A=
=0A=
		if (x.selectedIndex=3D=3D0){=0A=
=0A=
			return;=0A=
=0A=
		}=0A=
=0A=
		this.ocultarTodos();=0A=
=0A=
		//situamos la posicion, ser=E1 la seleccionada -1=0A=
=0A=
		this.posicion=3Dx.selectedIndex-1;=0A=
=0A=
		this.hacerVisible(x.options[x.selectedIndex].value);=0A=
=0A=
		//Recorremos los combos para seleccionar el indice seleccionado=0A=
=0A=
		for (var i =3D 0; i < this.listaCombos.length; i++) {=0A=
=0A=
			var combos=3Ddocument.getElementById(this.listaCombos[i]);=0A=
=0A=
			combos.options[x.selectedIndex].selected=3Dtrue;=0A=
=0A=
		}=0A=
=0A=
}=0A=
=0A=
function llamarOJD(seccion){=0A=
	var seccionado=3D"0"=0A=
	url =3D =
"http://lavozdegalicia.ojdinteractiva.com/cgi-bin/ivw/CP/"+seccion+"?r=3D=
"+escape(document.referrer);=0A=
	if (document.getElementById("ojd")!=3Dnull){=0A=
		document.getElementById("ojd").src=3Durl;=0A=
		if (G_SECCIONADO){=0A=
			seccionado=3Dseccion;=0A=
		}=0A=
		=
document.getElementById("ojd").src=3D"//secure-uk.imrworldwide.com/cgi-bi=
n/m?ci=3Des-lavozgal&cg=3D"+ seccionado +"&cc=3D1";=0A=
	}=0A=
}	=0A=
=0A=
=0A=
function anadir(id){=0A=
=0A=
		this.list.push(id);=0A=
=0A=
}=0A=
=0A=
	=0A=
=0A=
function setNombre(id, nombre){=0A=
=0A=
		this.listaNombres[id]=3Dnombre;=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function getNombre(id){=0A=
=0A=
		return(this.listaNombres[id]);=0A=
=0A=
}=0A=
=0A=
function setEnlace(id, enlace){=0A=
=0A=
		this.listaEnlaces[id]=3Denlace;=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function getEnlace(id){=0A=
=0A=
		return(this.listaEnlaces[id]);=0A=
=0A=
}=0A=
=0A=
function ocultarTodos(){=0A=
=0A=
		for (var i =3D 0; i < this.list.length; i++) {=0A=
=0A=
			this.hacerInvisible(this.list[i]);=0A=
=0A=
		}=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function mostrarPaginaAnterior(){=0A=
=0A=
	for (var i =3D 0; i < this.getElementosVisibles(); i++) {=0A=
=0A=
		this.mostrarAnterior();=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
function mostrarPaginaSiguiente(){=0A=
=0A=
	for (var i =3D 0; i < this.getElementosVisibles(); i++) {=0A=
=0A=
		this.mostrarSiguiente();=0A=
=0A=
	}=0A=
=0A=
=0A=
=0A=
}=0A=
=0A=
function mostrarAnterior(){=0A=
=0A=
	if (this.list.length=3D=3D1)	{=0A=
=0A=
		return;=0A=
=0A=
	}=0A=
=0A=
	if (this.list[this.posicion-1]!=3Dnull){=0A=
=0A=
		this.hacerVisible(this.list[this.posicion-1]);=0A=
=0A=
		=
this.hacerInvisible(this.list[this.posicion+(this.getElementosVisibles()-=
1)]);=0A=
=0A=
		this.posicion=3Dthis.posicion-1;=0A=
=0A=
	}=0A=
=0A=
	else{=0A=
=0A=
		//Si el salto es de uno, mostramos el ultimo =0A=
=0A=
		if (this.getElementosVisibles()=3D=3D1){=0A=
=0A=
			this.hacerVisible(this.list[this.list.length-1]);=0A=
=0A=
			this.hacerInvisible(this.list[this.posicion]);=0A=
=0A=
			this.posicion=3Dthis.list.length-1;=0A=
=0A=
		}=0A=
=0A=
	}=0A=
=0A=
			=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function mostrarSiguiente(){=0A=
=0A=
	if (this.list.length=3D=3D1)	{=0A=
=0A=
		return;=0A=
=0A=
	}=0A=
=0A=
	if (this.list[this.posicion+this.getElementosVisibles()]!=3Dnull){=0A=
=0A=
		=
this.hacerVisible(this.list[this.posicion+this.getElementosVisibles()]);=0A=
=0A=
		this.hacerInvisible(this.list[this.posicion]);=0A=
=0A=
		this.posicion=3Dthis.posicion+1;=0A=
=0A=
	}=0A=
=0A=
	else{=0A=
=0A=
		//Si el salto es de uno, empezamos de nuevo=0A=
=0A=
		if (this.getElementosVisibles()=3D=3D1){=0A=
=0A=
			this.hacerVisible(this.list[0]);=0A=
=0A=
			this.hacerInvisible(this.list[this.posicion]);=0A=
=0A=
			this.posicion=3D0;=0A=
=0A=
		}=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
function pasas(direccion, url){=0A=
	if (getObject("ojd")!=3Dnull){=0A=
		=
getObject("ojd").src=3D"http://secure-uk.imrworldwide.com/cgi-bin/m?ci=3D=
es-lavozgal&cg=3D0&cc=3D1";=0A=
	}=0A=
	// para hacer impactos en PIWIK=0A=
	try{=0A=
		getObject("ojd").src=3D_pk_getUrlLog('', 3, =
'http://piwik.lavozdegalicia.es/piwik.php','');=0A=
		//piwik_log('', 3, 'http://piwik.lavozdegalicia.es/piwik.php');=0A=
	}catch(e){}=0A=
	if (direccion=3D=3D"1"){=0A=
		this.mostrarSiguiente();=0A=
	}else {=0A=
		this.mostrarAnterior();=0A=
	}=0A=
}=0A=
=0A=
=0A=
function tratarUrl(m_url){=0A=
	var rdo=3Dm_url;=0A=
	var =
pos1=3Dm_url.indexOf("http://lavozdegalicia.ojdinteractiva.com/cgi-bin/iv=
w/CP/");=0A=
	var pos2 =3D m_url.indexOf("?r=3D");=0A=
	if (pos1!=3D-1) {=0A=
		rdo=3Dm_url.substring(56,pos2);=0A=
	}	=0A=
	return rdo;=0A=
}=0A=
=0A=
=0A=
function borrarTodos(){=0A=
=0A=
	for (var i =3D 0; i <=3D this.list.length; i++) {=0A=
=0A=
		this.list.pop();=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function setElementosVisibles(numero){=0A=
=0A=
	this.elementosVisibles=3Dnumero;=0A=
=0A=
}=0A=
=0A=
function getElementosVisibles(){=0A=
=0A=
	return this.elementosVisibles;=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function setModoOn(clase){=0A=
=0A=
	this.modoOn=3Dclase;=0A=
=0A=
}=0A=
=0A=
function getModoOn(){=0A=
=0A=
	return this.modoOn;=0A=
=0A=
}=0A=
=0A=
function setModoOff(clase){=0A=
=0A=
	return this.modoOff=3Dclase;=0A=
=0A=
}=0A=
=0A=
function getModoOff(){=0A=
=0A=
	return this.modoOff;=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function setModoPestanaOn(clase){=0A=
=0A=
	this.modoPestanaOn=3Dclase;=0A=
=0A=
}=0A=
=0A=
function getModoPestanaOn(){=0A=
=0A=
	return this.modoPestanaOn;=0A=
=0A=
}=0A=
=0A=
function setModoPestanaOff(clase){=0A=
=0A=
	return this.modoPestanaOff=3Dclase;=0A=
=0A=
}=0A=
=0A=
function getModoPestanaOff(){=0A=
=0A=
	return this.modoPestanaOff;=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function init(){=0A=
=0A=
	//hacemos visible el numero de elementos visibles configurados=0A=
=0A=
	for (var i =3D 0; i < this.getElementosVisibles(); i++) {=0A=
=0A=
		this.hacerVisible(this.list[i]);=0A=
=0A=
	}=0A=
=0A=
	//Si tienes pestanas ponemos la primera como seleccionada=0A=
=0A=
	if (this.listaPestanas.length!=3D0){=0A=
=0A=
		=
document.getElementById(this.listaPestanas[0]).className=3Dthis.getModoPe=
stanaOn();=0A=
=0A=
	}=0A=
=0A=
	this.insertOption();=0A=
=0A=
}=0A=
=0A=
=0A=
function init2(){=0A=
=0A=
	//hacemos visible el numero de elementos visibles configurados=0A=
=0A=
	for (var i =3D 0; i < this.getElementosVisibles(); i++) {=0A=
=0A=
		document.getElementById(this.list[i]).className=3Dthis.getModoOn();=0A=
=0A=
	}=0A=
=0A=
	//Si tienes pestanas ponemos la primera como seleccionada=0A=
=0A=
	if (this.listaPestanas.length!=3D0){=0A=
=0A=
		=
document.getElementById(this.listaPestanas[0]).className=3Dthis.getModoPe=
stanaOn();=0A=
=0A=
	}=0A=
=0A=
	this.insertOption();=0A=
=0A=
}=0A=
=0A=
function hacerInvisible(id){=0A=
=0A=
		document.getElementById(id).className=3Dthis.getModoOff();=0A=
=0A=
}=0A=
=0A=
function hacerInvisibleTodos(id){=0A=
		capa =3D document.getElementById(id);=0A=
		cnjIMG =3D capa.getElementsByTagName('img');=0A=
		for (var i=3D0; i<cnjIMG.length; i++) {=0A=
			if (cnjIMG[i].attributes.getNamedItem('longdesc')!=3Dnull){=0A=
				if =
(cnjIMG[i].attributes.getNamedItem('longdesc').value=3D=3D"cambiar"){=0A=
					cnjIMG[i].src=3DcnjIMG[i].attributes.getNamedItem('id').value;=0A=
				}=0A=
	        }=0A=
		}=0A=
		document.getElementById(id).className=3Dthis.getModoOff();=0A=
}=0A=
=0A=
function hacerVisible(id){=0A=
		capa =3D document.getElementById(id);=0A=
		cnjIMG =3D capa.getElementsByTagName('img');=0A=
		for (var i=3D0; i<cnjIMG.length; i++) {=0A=
			if (cnjIMG[i].attributes.getNamedItem('longdesc')!=3Dnull){=0A=
				if =
(cnjIMG[i].attributes.getNamedItem('longdesc').value=3D=3D"cambiar"){=0A=
					cnjIMG[i].src=3DcnjIMG[i].attributes.getNamedItem('id').value;=0A=
				}=0A=
	        }=0A=
		}=0A=
		document.getElementById(id).className=3Dthis.getModoOn();=0A=
}=0A=
=0A=
function mostrarCapa(id){=0A=
=0A=
	this.ocultarTodos();=0A=
=0A=
	this.hacerVisible(id);=0A=
=0A=
}=0A=
=0A=
function mostrarAleatorio (){=0A=
	var tope=3Dthis.list.length;=0A=
	var VerElemento=3DMath.floor(Math.random()*tope);=0A=
	this.hacerInvisible(this.list[this.posicion]);=0A=
	this.hacerVisible(this.list[VerElemento]);=0A=
	this.posicion=3DVerElemento;=0A=
}=0A=
=0A=
function enlaceSeccion(id){=0A=
		=0A=
		var x=3Ddocument.getElementById(id);=0A=
=0A=
		//Si el seleccionado es el 0 no hacemos nada=0A=
=0A=
		if (x.selectedIndex=3D=3D0){=0A=
=0A=
			return;=0A=
=0A=
		}=0A=
=0A=
		var idSeleccionado =3D x.options[x.selectedIndex].value;=0A=
=0A=
		this.enlaceSeccionCategoria(idSeleccionado);=0A=
}=0A=
=0A=
function enlaceSeccionCategoria(id){=0A=
		=0A=
		var enlace =3D this.getEnlace(id);=0A=
		=0A=
		if (enlace!=3Dnull){=0A=
			document.location.href=3Denlace;=0A=
		}=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/8CC01D870A80B1A20163C85B07025780/Traduccion_Idioma.js

function es2gal(url){=0A=
		var loc =3D window.location.toString();=0A=
		if (loc.indexOf("idioma=3Dgalego") !=3D -1){=0A=
			if (url.indexOf("?")!=3D-1) url +=3D "&idioma=3Dgalego";=0A=
			else url +=3D "?idioma=3Dgalego";=0A=
		}=0A=
		return url;=0A=
	}=0A=
	=0A=
	function gal2es(url){=0A=
	 	var loc =3D window.location.toString();=0A=
		if (loc.indexOf("&idioma=3Dgalego") !=3D -1){=0A=
			url =3D replaceAll(loc,"&idioma=3Dgalego","");=0A=
		}=0A=
		if (loc.indexOf("?idioma=3Dgalego&") !=3D -1){=0A=
			url =3D replaceAll(loc,"?idioma=3Dgalego&","?");=0A=
		}=0A=
		if (loc.indexOf("?idioma=3Dgalego") !=3D -1){=0A=
			url =3D replaceAll(loc,"?idioma=3Dgalego","");=0A=
		}=0A=
		return url;=0A=
	}=0A=
	=0A=
	var gl;=0A=
	var idiom;=0A=
	idiom=3D"";=0A=
	function idioma(){=0A=
		var rdo;=0A=
		rdo=3Dfalse;=0A=
		var loc=3Ddocument.location.toString();=0A=
			if(loc.indexOf("idioma=3Dgalego")!=3D-1){=0A=
				rdo=3Dtrue;=0A=
				idiom=3D"_ga";=0A=
			}=0A=
		return rdo;=0A=
	}=0A=
	=0A=
	function traducir(){=0A=
		var loc=3D window.location.toString();=0A=
		if (loc.indexOf("?")!=3D-1) loc +=3D "&idioma=3Dgalego";=0A=
		else loc +=3D "?idioma=3Dgalego";=0A=
=0A=
		window.location=3Dloc;=0A=
	}=0A=
=0A=
	function replaceAll( str, from, to ) {=0A=
	    var idx =3D str.indexOf( from );=0A=
=0A=
	    while ( idx > -1 ) {=0A=
		str =3D str.replace( from, to );=0A=
		idx =3D str.indexOf( from );=0A=
=0A=
	    }=0A=
	    return str;=0A=
	}=0A=
	=0A=
function CrearCookie(Nombre, Valor) {=0A=
	var Dia =3D new Date();=0A=
	Dia.setDate(Dia.getDate() + 365); //caduca en un a=F1o=0A=
	document.cookie =3D Nombre + "=3D" + Valor + "; expires=3D" + =
Dia.toGMTString() + "; path=3D/";=0A=
}=0A=
=0A=
function LeerCookie(NombreDeCookie) {=0A=
	var NumDeCookies =3D document.cookie.length;=0A=
	var NombreParaCookie =3D NombreDeCookie + "=3D";=0A=
	var LongDeCookie =3D NombreParaCookie.length;=0A=
	var x =3D 0;=0A=
	while (x <=3D NumDeCookies) {=0A=
		var y =3D (x + LongDeCookie);=0A=
		if (document.cookie.substring(x, y) =3D=3D NombreParaCookie)=0A=
		return (ExtraeValorDeCookie(y));=0A=
		x =3D document.cookie.indexOf(" ", x) + 1;=0A=
		if (x =3D=3D 0)=0A=
		break;=0A=
	}=0A=
	var vacio=3D"?";=0A=
	return (vacio);=0A=
}=0A=
=0A=
function lee_idioma(){=0A=
	var idiomasession=3DLeerCookie("idioma_session");=0A=
//alert(idiomasession);=0A=
	if(idiomasession=3D=3D"ga"){=0A=
		if(!idioma()){=0A=
			traducir();=0A=
		}=0A=
	}else if(idiomasession=3D=3D"es"){=0A=
		if(idioma()){=0A=
			window.location=3Dgal2es(window.location);=0A=
		}=0A=
	}=0A=
=0A=
}=0A=
=0A=
function ExtraeValorDeCookie(val) {=0A=
	var FinalDeCookie;=0A=
	if ((FinalDeCookie =3D document.cookie.indexOf(";", val)) =3D=3D -1) {=0A=
		FinalDeCookie =3D document.cookie.length;=0A=
	}=0A=
	return unescape(document.cookie.substring(val,FinalDeCookie));=0A=
}=0A=
=0A=
lee_idioma();
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/D9494AAE0A80B1A1006261C96634ABEC/script_ventana.js

function windowOpener16(theURL,winName,features) {=0A=
		window.open(theURL,winName,features);=0A=
	}=0A=
=0A=
// Abrir Clasificados=0A=
=0A=
	function abrir_clasificados() {=0A=
		if(navigator.appname=3D=3D"Netscape Navigator") {				=0A=
			=
windowOpener16("https://caixa.lavoz.es/iAnuncios/jsp/valida.jsp?origen=3D=
a&publicacion=3D001&ancho=3D"+screen.width,"Clasificados","screenX=3D0, =
screenY=3D0, titlebar=3Dno");=0A=
		} else {=0A=
			=
windowOpener16("https://caixa.lavoz.es/iAnuncios/jsp/valida.jsp?origen=3D=
a&publicacion=3D001&ancho=3D"+screen.width,"Clasificados","left=3D0, =
top=3D0, titlebar=3Dfalse, scrollbars");=0A=
		}=0A=
	}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1223634109863795575/LVDG_PIWIK_SCRIPT.js

// Web analytics by Piwik - http://piwik.org=0A=
// Copyleft 2007, All rights reversed.=0A=
var _pk_use_title_as_name =3D 0;=0A=
var _pk_install_tracker =3D 1;=0A=
var _pk_tracker_pause =3D 500;=0A=
var _pk_download_extensions =3D =
"7z|aac|avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|phps|png|=
ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml|zip";=0A=
=0A=
// Beginning script=0A=
function _pk_plug_normal(_pk_pl) {=0A=
	if (_pk_tm.indexOf(_pk_pl) !=3D -1 && =
(navigator.mimeTypes[_pk_pl].enabledPlugin !=3D null)) =0A=
		return '1';=0A=
	return '0';=0A=
}=0A=
=0A=
function _pk_plug_ie(_pk_pl)=0A=
{=0A=
	pk_found =3D false;=0A=
	document.write('<SCR' + 'IPT LANGUAGE=3DVBScript>\n on error resume =
next \n pk_found =3D IsObject(CreateObject("' + _pk_pl + '")) </SCR' + =
'IPT>\n');=0A=
	if (pk_found) return '1';=0A=
	return '0';=0A=
}=0A=
=0A=
var _pk_jav =3D '0'; if(navigator.javaEnabled()) _pk_jav=3D'1';=0A=
var _pk_agent =3D navigator.userAgent.toLowerCase();=0A=
var _pk_moz =3D (navigator.appName.indexOf("Netscape") !=3D -1);=0A=
var _pk_ie =3D (_pk_agent.indexOf("msie") !=3D -1);=0A=
var _pk_win =3D ((_pk_agent.indexOf("win") !=3D -1) || =
(_pk_agent.indexOf("32bit") !=3D -1));=0A=
var _pk_cookie =3D (navigator.cookieEnabled)? '1' : '0';=0A=
if((typeof (navigator.cookieEnabled) =3D=3D "undefined") && (_pk_cookie =
=3D=3D '0')) {=0A=
	document.cookie=3D"_pk_testcookie"=0A=
	_pk_cookie=3D(document.cookie.indexOf("_pk_testcookie")!=3D-1)? '1' : =
'0';=0A=
}=0A=
=0A=
var _pk_dir=3D'0',_pk_fla=3D'0',_pk_pdf=3D'0',_pk_qt =3D '0',_pk_rea =3D =
'0',_pk_wma=3D'0'; =0A=
if (_pk_win && _pk_ie){=0A=
	_pk_dir =3D _pk_plug_ie("SWCtl.SWCtl.1");=0A=
	_pk_fla =3D _pk_plug_ie("ShockwaveFlash.ShockwaveFlash.1");=0A=
	if (_pk_plug_ie("PDF.PdfCtrl.1") =3D=3D '1' || =
_pk_plug_ie('PDF.PdfCtrl.5') =3D=3D '1' || _pk_plug_ie('PDF.PdfCtrl.6') =
=3D=3D '1') _pk_pdf =3D '1';=0A=
	_pk_qt =3D _pk_plug_ie("Quicktime.Quicktime"); // Old : =
"QuickTimeCheckObject.QuickTimeCheck.1"=0A=
	_pk_rea =3D _pk_plug_ie("rmocx.RealPlayer G2 Control.1");=0A=
	_pk_wma =3D _pk_plug_ie("wmplayer.ocx"); // Old : =
"MediaPlayer.MediaPlayer.1"=0A=
} else {=0A=
	var _pk_tm =3D '';=0A=
	for (var i=3D0; i < navigator.mimeTypes.length; i++)=0A=
		_pk_tm +=3D navigator.mimeTypes[i].type.toLowerCase();=0A=
	_pk_dir =3D _pk_plug_normal("application/x-director");=0A=
	_pk_fla =3D _pk_plug_normal("application/x-shockwave-flash");=0A=
	_pk_pdf =3D _pk_plug_normal("application/pdf");=0A=
	_pk_qt  =3D _pk_plug_normal("video/quicktime");=0A=
	_pk_rea =3D _pk_plug_normal("audio/x-pn-realaudio-plugin");=0A=
	_pk_wma =3D _pk_plug_normal("application/x-mplayer2");=0A=
}=0A=
	=0A=
var _pk_rtu =3D '';=0A=
try {=0A=
	_pk_rtu =3D top.document.referrer;=0A=
} catch(e1) {=0A=
	if(parent){ =0A=
		try{ _pk_rtu =3D parent.document.referrer; } catch(e2) { _pk_rtu=3D''; =
}=0A=
	}=0A=
}=0A=
if(_pk_rtu =3D=3D '') {=0A=
	_pk_rtu =3D document.referrer;=0A=
}=0A=
=0A=
function _pk_escape(_pk_str){=0A=
	if(typeof(encodeURIComponent) =3D=3D 'function') {=0A=
		return encodeURIComponent(_pk_str);=0A=
	} else {=0A=
		return escape(_pk_str);=0A=
	}=0A=
}=0A=
var _pk_title =3D '';=0A=
if (document.title && document.title!=3D"") _pk_title =3D =
_pk_escape(document.title);=0A=
=0A=
var _pk_called;=0A=
=0A=
function _pk_getUrlLog( _pk_action_name, _pk_site, _pk_pkurl, =
_pk_custom_vars )=0A=
{=0A=
	var _pk_custom_vars_str =3D '';=0A=
	if(typeof _pk_custom_vars =3D=3D "undefined"){=0A=
		_pk_custom_vars =3D false;=0A=
	}=0A=
	if (_pk_custom_vars) {=0A=
		for (var i=3D0; i < _pk_custom_vars.length; i++) {=0A=
			if (!Array.prototype[i]){=0A=
				_pk_custom_vars_str =3D _pk_custom_vars_str + '&vars['+ escape(i) + =
']' + "=3D" + escape(_pk_custom_vars[i]);=0A=
			}=0A=
		}=0A=
	}=0A=
	=0A=
	var _pk_url =3D document.location.href;=0A=
	var _pk_da =3D new Date();=0A=
	var _pk_src =3D _pk_pkurl=0A=
		+'?url=3D'+_pk_escape(document.location.href)=0A=
		+'&action_name=3D'+_pk_escape(_pk_action_name)=0A=
		+'&idsite=3D'+_pk_site=0A=
		+'&res=3D'+screen.width+'x'+screen.height=0A=
		=
+'&h=3D'+_pk_da.getHours()+'&m=3D'+_pk_da.getMinutes()+'&s=3D'+_pk_da.get=
Seconds()=0A=
		=
+'&fla=3D'+_pk_fla+'&dir=3D'+_pk_dir+'&qt=3D'+_pk_qt+'&realp=3D'+_pk_rea+=
'&pdf=3D'+_pk_pdf=0A=
		+'&wma=3D'+_pk_wma+'&java=3D'+_pk_jav+'&cookie=3D'+_pk_cookie=0A=
		+'&title=3D'+_pk_title=0A=
		+'&urlref=3D'+_pk_escape(_pk_rtu)=0A=
		+_pk_custom_vars_str;=0A=
	return _pk_src;=0A=
}=0A=
=0A=
function piwik_log( _pk_action_name, _pk_site, _pk_pkurl, =
_pk_custom_vars )=0A=
{=0A=
	if(_pk_called && (!_pk_action_name || _pk_action_name=3D=3D"")) return;=0A=
	var _pk_src =3D _pk_getUrlLog(_pk_action_name, _pk_site, _pk_pkurl, =
_pk_custom_vars );=0A=
	document.writeln('<img src=3D"'+_pk_src+'" alt=3D"" style=3D"border:0" =
heigth=3D"0" width=3D"0" />');=0A=
	if(!_pk_action_name || _pk_action_name=3D=3D"") _pk_called=3D1;=0A=
	=0A=
  _pk_init_tracker(_pk_site, _pk_pkurl);=0A=
}=0A=
=0A=
function _pk_add_event(elm, evType, fn, useCapture) =0A=
{=0A=
	if (elm.addEventListener) { =0A=
		elm.addEventListener(evType, fn, useCapture); =0A=
		return true; =0A=
	} else if (elm.attachEvent) { =0A=
		var r =3D elm.attachEvent('on' + evType, fn); =0A=
		return r; =0A=
	} else {=0A=
		elm['on' + evType] =3D fn;=0A=
	}=0A=
}=0A=
=0A=
var _pk_tracker_site, _pk_tracker_url;=0A=
=0A=
function _pk_init_tracker(_pk_site, _pk_pkurl) =0A=
{=0A=
	if( typeof(piwik_install_tracker) !=3D "undefined" )=0A=
		_pk_install_tracker =3D piwik_install_tracker;=0A=
	if( typeof(piwik_tracker_pause) !=3D "undefined" )=0A=
		_pk_tracker_pause =3D piwik_tracker_pause;=0A=
	if( typeof(piwik_download_extensions) !=3D "undefined" )=0A=
		_pk_download_extensions =3D piwik_download_extensions;=0A=
=0A=
	_pk_hosts_alias =3D ( typeof(piwik_hosts_alias) !=3D "undefined" ? =
piwik_hosts_alias : new Array());=0A=
	_pk_hosts_alias.push(window.location.hostname);=0A=
=0A=
	if( !_pk_install_tracker )=0A=
		return;=0A=
=0A=
	_pk_tracker_site =3D _pk_site;=0A=
	_pk_tracker_url =3D _pk_pkurl;=0A=
=0A=
	var _pk_ignore_regexp =3D '(?:^| )(piwik_ignore';=0A=
	if (typeof(piwik_ignore_classes) !=3D "undefined")=0A=
		for(var i=3D0; i < piwik_ignore_classes.length; i++)=0A=
			_pk_ignore_regexp +=3D '|' + piwik_ignore_classes[i];=0A=
	_pk_ignore_regexp +=3D ')(?: |$)';=0A=
=0A=
	var _pk_class =3D new RegExp(_pk_ignore_regexp);=0A=
=0A=
	if (document.getElementsByTagName) {=0A=
		var targetTags =3D [ 'a', 'area' ];=0A=
		for (var j=3D0; j < targetTags.length; j++) {=0A=
			var linksElements =3D document.getElementsByTagName(targetTags[j])=0A=
			for (var i=3D0; i < linksElements.length; i++) {=0A=
				if( !_pk_class.exec( linksElements[i].className ) )=0A=
					_pk_add_event(linksElements[i], 'mousedown', _pk_click, false);=0A=
			}=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function _pk_dummy() { return true; }=0A=
=0A=
function _pk_pause(_pk_time_msec) {=0A=
	var _pk_now =3D new Date();=0A=
	var _pk_expire =3D _pk_now.getTime() + _pk_time_msec;=0A=
	while(_pk_now.getTime() < _pk_expire)=0A=
		_pk_now =3D new Date();=0A=
}=0A=
=0A=
// _pk_type only 'download' and 'link' types supported=0A=
function piwik_track(url, _pk_site, _pk_url, _pk_type) =0A=
{=0A=
	var _pk_image =3D new Image();=0A=
	_pk_image.onLoad =3D function() { _pk_dummy(); };=0A=
	_pk_image.src =3D _pk_url + '?idsite=3D' + _pk_site + '&' + _pk_type + =
'=3D' + escape(url) + '&rand=3D' + Math.random() + '&redirect=3D0';=0A=
	_pk_pause(_pk_tracker_pause);=0A=
}=0A=
=0A=
function _pk_is_site_hostname(_pk_hostname) {=0A=
	var alias, offset;=0A=
=0A=
	for (var i=3D0; i < _pk_hosts_alias.length; i++) {=0A=
		alias =3D _pk_hosts_alias[i];=0A=
=0A=
		if( _pk_hostname =3D=3D=3D alias )=0A=
			return true;=0A=
=0A=
		if ( alias.substr(0, 2) =3D=3D "*." ) {=0A=
			if ((_pk_hostname) =3D=3D alias.substr(2))=0A=
				return true;=0A=
=0A=
			offset =3D _pk_hostname.length - alias.length + 1;=0A=
			if ((offset > 0) && (_pk_hostname.substr(offset) =3D=3D =
alias.substr(1)))=0A=
				return true;=0A=
		}=0A=
	}=0A=
=0A=
	return false;=0A=
}=0A=
=0A=
function _pk_click(e)=0A=
{=0A=
	var source, tag;=0A=
=0A=
	if (typeof e =3D=3D 'undefined')=0A=
		var e =3D window.event;=0A=
=0A=
	if (typeof e.target !=3D 'undefined') =0A=
		source =3D e.target;=0A=
	else if (typeof e.srcElement !=3D 'undefined')=0A=
		source =3D e.srcElement;=0A=
	else return true;=0A=
=0A=
	while ((tag =3D source.tagName) !=3D 'A' && tag !=3D 'AREA')=0A=
		source =3D source.parentNode;=0A=
=0A=
	if( typeof source.href =3D=3D 'undefined' )=0A=
		return true;=0A=
=0A=
	var _pk_class =3D new RegExp('(?:^| )piwik_(download|link)(?: |$)');=0A=
	var _pk_download =3D new RegExp('\\.(' + _pk_download_extensions + =
')$', 'i');=0A=
	var _pk_not_site_hostname =3D !_pk_is_site_hostname(source.hostname);=0A=
	var _pk_link_match =3D _pk_class.exec( source.className);=0A=
	var _pk_link_type =3D _pk_link_match ? _pk_link_match[1] : 0;=0A=
=0A=
	if (_pk_link_type =3D=3D 'link')=0A=
		_pk_not_site_hostname =3D 1;=0A=
	else if (!_pk_link_type)=0A=
		_pk_link_type =3D (_pk_download.test(source.href) ? 'download' : =
'link');=0A=
=0A=
	if( _pk_not_site_hostname || _pk_link_type =3D=3D 'download' ) =0A=
		piwik_track(source.href, _pk_tracker_site, _pk_tracker_url, =
_pk_link_type);=0A=
=0A=
	return true;=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/93D696360A80E09D0176E9C0E8D2FCCA/LVDG_fechasUtil.js

/**=0A=
=0A=
<doc:module date=3D"2001-06-12">=0A=
=0A=
   <doc:module>exslt:date-time</doc:module>=0A=
=0A=
   <doc:name>dates</doc:name>=0A=
=0A=
   <doc:version>2.0</doc:version>=0A=
=0A=
   <doc:language>exslt:javascript</doc:language>=0A=
=0A=
   <doc:meta>=0A=
=0A=
      <doc:author email=3D"chris@bayes.co.uk" =
url=3D"http://www.bayes.co.uk">Chris Bayes</doc:author>=0A=
=0A=
      <doc:summary>Implementation of EXSLT - Dates =
(http://www.exslt.org/date)</doc:summary>=0A=
=0A=
      <doc:todo>_validDuration is not 100%</doc:todo>=0A=
=0A=
      <doc:todo>All timezone code.</doc:todo>=0A=
=0A=
   </doc:meta>=0A=
=0A=
</doc:module>=0A=
=0A=
**/=0A=
=0A=
var gsSuppliedFormat =3D "";=0A=
=0A=
var gsLang =3D "en";=0A=
=0A=
var gaLang =3D new Array();=0A=
=0A=
// en =0A=
=0A=
gaLang["en"] =3D new Array();=0A=
=0A=
gaLang["en"]["months"] =3D new Array("January", "February", "March", =
"April", "May", "June", "July", "August", "September", "October", =
"November", "December");=0A=
=0A=
gaLang["en"]["shortMonths"] =3D new Array("Jan", "Feb", "Mar", "Apr", =
"May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");=0A=
=0A=
gaLang["en"]["days"] =3D new Array("Sunday", "Monday", "Tuesday", =
"Wednesday", "Thursday", "Friday", "Saturday");=0A=
=0A=
gaLang["en"]["shortDays"] =3D new Array("Sun", "Mon", "Tue", "Wed", =
"Thu", "Fri", "Sat");=0A=
=0A=
// es =0A=
=0A=
gaLang["es"] =3D new Array();=0A=
=0A=
gaLang["es"]["months"] =3D new Array("enero", "febrero", "marzo", =
"abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", =
"noviembre", "diciembre");=0A=
=0A=
gaLang["es"]["shortMonths"] =3D new Array("Ene", "Feb", "Mar", "Abr", =
"May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic");=0A=
=0A=
gaLang["es"]["days"] =3D new Array("Domingo", "Lunes", "Martes", =
"Mi=E9rcoles", "Jueves", "Viernes", "S=E1bado");=0A=
=0A=
gaLang["es"]["shortDays"] =3D new Array("Dom", "Lun", "Mar", "Mie", =
"Jue", "Vie", "Sab");=0A=
=0A=
// ga =0A=
=0A=
gaLang["ga"] =3D new Array();=0A=
=0A=
gaLang["ga"]["months"] =3D new Array("xaneiro", "febreiro", "marzo", =
"abril", "maio", "xu=F1o", "xullo", "agosto", "setembro", "outubro", =
"novembro", "diciembre");=0A=
=0A=
gaLang["ga"]["shortMonths"] =3D new Array("Xan", "Feb", "Mar", "Abr", =
"Mai", "Ju=F1", "xul", "Ago", "Set", "Out", "Nov", "Dec");=0A=
=0A=
gaLang["ga"]["days"] =3D new Array("Domingo", "Luns", "Martes", =
"M=E9rcores", "Xoves", "Venres", "S=E1bado");=0A=
=0A=
gaLang["ga"]["shortDays"] =3D new Array("Dom", "Lun", "Mar", "Mer", =
"Xov", "Ven", "Sab");=0A=
=0A=
=0A=
=0A=
var gaDayNames =3D new Array();=0A=
=0A=
gaDayNames["sunday"] =3D 0;gaDayNames["monday"] =3D =
1;gaDayNames["tuesday"] =3D 2;gaDayNames["wednesday"] =3D =
3;gaDayNames["thursday"] =3D 4;gaDayNames["friday"] =3D =
5;gaDayNames["saturday"] =3D 6;=0A=
=0A=
var gaMonthCnt =3D new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, =
31);=0A=
=0A=
var gaMonthCntL =3D new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, =
30, 31);=0A=
=0A=
function _isLeap(y){return ( ((y%4=3D=3D0)&(y%100!=3D0))|(y%400=3D=3D0) =
);}=0A=
=0A=
function _dayOfWeek(y,d){return ( =
((y-1)+Math.floor((y-1)/4)-Math.floor((y-1)/100)+Math.floor((y-1)/400)+d)=
%7);}=0A=
=0A=
function _dayInYear(y,m,d){return (m=3D=3D0?d:eval( =
(_isLeap(y)?gaMonthCntL.slice(0,m).join("+"):gaMonthCnt.slice(0,m).join("=
+")) )+(d*1) );}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>add</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"duration" type=3D"string" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function add(){//=0A=
=0A=
	var d1,d2;=0A=
=0A=
	if (((d1 =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
		 (d1 =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
		 (d1 =3D _validDate(arguments[0], "xs:gYearMonth")) ||=0A=
=0A=
		 (d1 =3D _validDate(arguments[0], "xs:gYear"))=0A=
=0A=
		) && =0A=
=0A=
		(d2 =3D _validDuration(arguments[1])))=0A=
=0A=
		return _formatDate(d2.addDate(d1), gsSuppliedFormat);=0A=
=0A=
	return '';=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>addDuration</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"duration" type=3D"string" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"duration" type=3D"string" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function addDuration(duration1, duration2){=0A=
=0A=
	if ((d1 =3D _validDuration(duration1)) && (d2 =3D =
_validDuration(duration2))){=0A=
=0A=
		var d1mnth =3D d1.years *12 + d1.months;=0A=
=0A=
		var d1secs =3D d1.days*86400 + d1.hours*3600 + d1.minutes*60 + =
(d1.seconds+'.'+d1.fraction)*1;=0A=
=0A=
		var d2mnth =3D d2.years *12 + d2.months;=0A=
=0A=
		var d2secs =3D d2.days*86400 + d2.hours*3600 + d2.minutes*60 + =
(d2.seconds+'.'+d2.fraction)*1;=0A=
=0A=
		var mnthdiff =3D (d1.pm+d1mnth)*1 + (d2.pm+d2mnth)*1;=0A=
=0A=
		var secsdiff =3D (d1.pm+d1secs)*1 + (d2.pm+d2secs)*1;=0A=
=0A=
		if ((mnthdiff < 0 && secsdiff > 0) || (mnthdiff > 0 && secsdiff < 0))=0A=
=0A=
			return '';=0A=
=0A=
		var secs =3D secsdiff % 60;=0A=
=0A=
		var pm =3D (mnthdiff<0||secsdiff<0?'-':'');=0A=
=0A=
		mnthdiff =3D Math.abs(mnthdiff);=0A=
=0A=
		secsdiff =3D Math.abs(secsdiff);=0A=
=0A=
		return _formatDuration(new Duration(pm, 0, mnthdiff, =
Math.floor(secsdiff/86400), Math.floor((secsdiff%86400)/3600), =
Math.floor((secsdiff%3600)/60), Math.floor(secs), Math.floor(secs%1)));=0A=
=0A=
	}=0A=
=0A=
	return '';=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>date</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function date(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date"))=0A=
=0A=
			)=0A=
=0A=
			return _formatDate(oDate, "xs:date");=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else=0A=
=0A=
		return _formatDate(new Date(), "xs:date");=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>dateTime</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args />=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function dateTime(){//must be UTC/Z=0A=
=0A=
	if (arguments.length > 0)=0A=
=0A=
		dateTime_invalidArgument.error;=0A=
=0A=
	var oDate =3D new Date();=0A=
=0A=
	return _formatDate(oDate, "xs:dateTime");=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>dayAbbreviation</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"context" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function dayAbbreviation(){=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
		    (oDate =3D _validDate(arguments[0], "xs:date"))=0A=
=0A=
		   )=0A=
=0A=
			return _dayAbbreviation(oDate.getDay(), arguments[1], arguments[2]);=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else=0A=
=0A=
		return _dayAbbreviation(new Date().getDay(), arguments[1], =
arguments[2]);=0A=
=0A=
}=0A=
=0A=
function _dayAbbreviation(num, dfName, ctx){=0A=
=0A=
	if (ctx !=3D null){=0A=
=0A=
		var nodes =3D ctx.nextNode.selectNodes(=0A=
=0A=
			"//*[local-name()=3D'date-format' and =
namespace-uri()=3D'http://exslt.org/dates-and-times' and @name=3D'" + =
dfName +"' ]" +=0A=
=0A=
			"/*[local-name()=3D'days' and =
namespace-uri()=3D'http://exslt.org/dates-and-times']" +=0A=
=0A=
			"/*[local-name()=3D'day' and =
namespace-uri()=3D'http://exslt.org/dates-and-times']/@abbr");=0A=
=0A=
		if (nodes !=3D null)=0A=
=0A=
			return nodes[num].nodeValue;=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else{ //we could try local=0A=
=0A=
		return gaLang[gsLang]["shortDays"][num*1];=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>dayInMonth</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function dayInMonth(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gMonthDay")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gDay"))=0A=
=0A=
		    )=0A=
=0A=
			return oDate.getDate();=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN=0A=
=0A=
	}else=0A=
=0A=
		return new Date().getDate();=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>dayInWeek</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"context" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function dayInWeek(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
		    (oDate =3D _validDate(arguments[0], "xs:date"))=0A=
=0A=
		   )=0A=
=0A=
			return _dayInWeek(oDate, arguments[1], arguments[2]);=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return _dayInWeek(new Date(), arguments[1], arguments[2]);=0A=
=0A=
}=0A=
=0A=
function _dayInWeek(oDate, dfName, ctx){=0A=
=0A=
	var fdow =3D 0;=0A=
=0A=
	if (ctx !=3D null){=0A=
=0A=
		var nodes =3D ctx.nextNode.selectSingleNode(=0A=
=0A=
			"//*[local-name()=3D'date-format' and =
namespace-uri()=3D'http://exslt.org/dates-and-times' and @name=3D'" + =
dfName +"' ]" +=0A=
=0A=
			"/@first-day-of-week");=0A=
=0A=
		if (nodes !=3D null)=0A=
=0A=
			fdow =3D gaDayNames[nodes.nodeValue];=0A=
=0A=
	}=0A=
=0A=
	return =
(oDate.getDay()-fdow<0?oDate.getDay()-fdow+7:oDate.getDay()-fdow);=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>dayInYear</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function dayInYear(){=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date"))=0A=
=0A=
			)=0A=
=0A=
			return _dayInYear(oDate.getFullYear(), oDate.getMonth(), =
oDate.getDate());=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else{=0A=
=0A=
		var oDate =3D new Date()=0A=
=0A=
		return _dayInYear(oDate.getFullYear(), oDate.getMonth(), =
oDate.getDate());=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>dayName</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"context" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function dayName(){=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
		    (oDate =3D _validDate(arguments[0], "xs:date"))=0A=
=0A=
		   )=0A=
=0A=
			return _dayName(oDate.getDay(), arguments[1], arguments[2]);=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else=0A=
=0A=
		return _dayName(new Date().getDay(), arguments[1], arguments[2]);=0A=
=0A=
}=0A=
=0A=
function _dayName(num, dfName, ctx){=0A=
=0A=
	if (ctx !=3D null){=0A=
=0A=
		var nodes =3D ctx.nextNode.selectNodes(=0A=
=0A=
			"//*[local-name()=3D'date-format' and =
namespace-uri()=3D'http://exslt.org/dates-and-times' and @name=3D'" + =
dfName +"' ]" +=0A=
=0A=
			"/*[local-name()=3D'days' and =
namespace-uri()=3D'http://exslt.org/dates-and-times']" +=0A=
=0A=
			"/*[local-name()=3D'day' and =
namespace-uri()=3D'http://exslt.org/dates-and-times']/text()");=0A=
=0A=
		if (nodes !=3D null)=0A=
=0A=
			return nodes[num].nodeValue;=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else=0A=
=0A=
		return gaLang[gsLang]["days"][num*1];=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>dayOfWeekInMonth</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"context" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function dayOfWeekInMonth(){=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date"))=0A=
=0A=
			)=0A=
=0A=
			return _dayOfWeekInMonth(oDate, arguments[1], arguments[2]);=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return _dayOfWeekInMonth(new Date(), arguments[1], arguments[2]);	=0A=
=0A=
}=0A=
=0A=
function _dayOfWeekInMonth(oDate, dfName, ctx){=0A=
=0A=
	var fdow =3D 0;=0A=
=0A=
	if (ctx !=3D null){=0A=
=0A=
		var nodes =3D ctx.nextNode.selectSingleNode(=0A=
=0A=
			"//*[local-name()=3D'date-format' and =
namespace-uri()=3D'http://exslt.org/dates-and-times' and @name=3D'" + =
dfName +"' ]" +=0A=
=0A=
			"/@first-day-of-week");=0A=
=0A=
		if (nodes !=3D null)=0A=
=0A=
			fdow =3D gaDayNames[nodes.nodeValue];=0A=
=0A=
	}=0A=
=0A=
	if (fdow > (oDate.getDay()-1))=0A=
=0A=
		return Math.floor((oDate.getDate())/7)+1;=0A=
=0A=
	else=0A=
=0A=
		return Math.floor((oDate.getDate())/7) + 1;=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>difference</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function difference(){=0A=
=0A=
	if (((d1 =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
		 (d1 =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
		 (d1 =3D _validDate(arguments[0], "xs:gYearMonth")) ||=0A=
=0A=
		 (d1 =3D _validDate(arguments[0], "xs:gYear"))=0A=
=0A=
		) &&=0A=
=0A=
		((d2 =3D _validDate(arguments[1], "xs:dateTime")) ||=0A=
=0A=
		 (d2 =3D _validDate(arguments[1], "xs:date")) ||=0A=
=0A=
		 (d2 =3D _validDate(arguments[1], "xs:gYearMonth")) ||=0A=
=0A=
		 (d2 =3D _validDate(arguments[1], "xs:gYear"))=0A=
=0A=
		 )=0A=
=0A=
		){// truncation=0A=
=0A=
		var diffMil =3D d2.valueOf() - d1.valueOf();=0A=
=0A=
		return _formatDuration(diffMil);=0A=
=0A=
	}=0A=
=0A=
	return Number.NaN;=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>duration</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"seconds" type=3D"number" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function duration(){=0A=
=0A=
	var oDate;=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var nN =3D new Number(arguments[0]);=0A=
=0A=
		if (isNaN(nN))=0A=
=0A=
			return '';=0A=
=0A=
		else=0A=
=0A=
			return _formatDuration(arguments[0] * 1000);=0A=
=0A=
	}else=0A=
=0A=
		return _formatDuration(seconds() * 1000);=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>formatDate</doc:name>=0A=
=0A=
	<doc:version>1.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"format" type=3D"string" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"document" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function formatDate(date, format, dateF, ctx){=0A=
=0A=
	//Si en la url tenemos el idioma, lo cambiamos=0A=
	if (idioma()){=0A=
		dateF =3D "ga";=0A=
	}=0A=
	var oDate;=0A=
=0A=
	var re;=0A=
=0A=
	var retString =3D "";=0A=
=0A=
	if ((oDate =3D _validDate(date, "xs:dateTime")) ||=0A=
=0A=
		(oDate =3D _validDate(date, "xs:date")) ||=0A=
=0A=
		(oDate =3D _validDate(date, "xs:time")) ||=0A=
=0A=
		(oDate =3D _validDate(date, "xs:gYearMonth")) ||=0A=
=0A=
		(oDate =3D _validDate(date, "xs:gYear")) ||=0A=
=0A=
		(oDate =3D _validDate(date, "xs:gMonthDay")) ||=0A=
=0A=
		(oDate =3D _validDate(date, "xs:gMonth")) ||=0A=
=0A=
		(oDate =3D _validDate(date, "xs:gDay"))=0A=
=0A=
		){=0A=
=0A=
		for (var i=3D0; i < format.length;){=0A=
=0A=
			var s =3D i;=0A=
=0A=
					=0A=
=0A=
			switch(format.substr(i, 1)){=0A=
=0A=
				case "G"://        era designator          (Text)              AD=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"G"){i++;}=0A=
=0A=
					if (oDate.getFullYear() < 0){=0A=
=0A=
						retString +=3D "BC";=0A=
=0A=
					}else{=0A=
=0A=
						retString +=3D "AD";=0A=
=0A=
					}=0A=
=0A=
					break;=0A=
=0A=
				case "y"://        year                    (Number)            1996=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"y"){i++;}=0A=
=0A=
					if (i-s > 2){=0A=
=0A=
						retString +=3D oDate.getFullYear();=0A=
=0A=
					}else{=0A=
=0A=
						retString +=3D oDate.getFullYear().toString().substring(4-(i-s));=0A=
=0A=
					}=0A=
=0A=
					break;=0A=
=0A=
				case "M"://        month in year           (Text &amp; Number)     =
July &amp; 07=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"M"){i++;}=0A=
=0A=
					if (i-s <=3D 2){=0A=
=0A=
						retString +=3D pad(oDate.getMonth()+1);=0A=
=0A=
					}else{=0A=
=0A=
						retString +=3D _monthName(oDate.getMonth(), dateF, ctx);=0A=
=0A=
					}=0A=
=0A=
					break;=0A=
=0A=
				case "d"://        day in month            (Number)            10=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"d"){i++;}=0A=
=0A=
					retString +=3D pad(oDate.getDate());=0A=
=0A=
					break;=0A=
=0A=
				case "h"://        hour in am/pm (1~12)    (Number)            12=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"h"){i++;}=0A=
=0A=
					if (oDate.getHours() > 12){=0A=
=0A=
						retString +=3D pad(oDate.getHours()-12);=0A=
=0A=
					}else{=0A=
=0A=
						retString +=3D pad(oDate.getHours());=0A=
=0A=
					}=0A=
=0A=
					break;=0A=
=0A=
				case "H"://        hour in day (0~23)      (Number)            0=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"H"){i++;}=0A=
=0A=
					retString +=3D oDate.getHours();=0A=
=0A=
					break;=0A=
=0A=
				case "m"://        minute in hour          (Number)            30=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"m"){i++;}=0A=
=0A=
					retString +=3D pad(oDate.getMinutes());=0A=
=0A=
					break;=0A=
=0A=
				case "s"://        second in minute        (Number)            55=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"s"){i++;}=0A=
=0A=
					retString +=3D pad(oDate.getSeconds());=0A=
=0A=
					break;=0A=
=0A=
				case "S"://        millisecond             (Number)            978=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"S"){i++;}=0A=
=0A=
					retString +=3D oDate.getMilliseconds();=0A=
=0A=
					break;=0A=
=0A=
				case "E"://        day in week             (Text)              =
Tuesday=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"E"){i++;}if (i-s <=3D 3){=0A=
=0A=
						retString +=3D gaLang[dateF]["shortDays"][dayInWeek(date, dateF, =
ctx)];=0A=
=0A=
					}else{=0A=
=0A=
						retString +=3D gaLang[dateF]["days"][dayInWeek(date, dateF, ctx)];=0A=
=0A=
					}=0A=
=0A=
					break;=0A=
=0A=
				case "D"://        day in year             (Number)            189=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"D"){i++;}=0A=
=0A=
					retString +=3D _dayInYear(oDate.getFullYear(), oDate.getMonths(), =
oDate.getDate());=0A=
=0A=
					break;=0A=
=0A=
				case "F"://        day of week in month    (Number)            2 =
(2nd Wed in July)=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"F"){i++;}=0A=
=0A=
					retString +=3D dayOfWeekInMonth(oDate, dateF, ctx);=0A=
=0A=
					break;=0A=
=0A=
				case "w"://        week in year            (Number)            27=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"w"){i++;}=0A=
=0A=
					retString +=3D weekInYear(oDate, dateF, ctx);=0A=
=0A=
					break;=0A=
=0A=
				case "W"://        week in month           (Number)            2=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"W"){i++;}=0A=
=0A=
					retString +=3D weekInMonth(oDate, dateF, ctx);=0A=
=0A=
					break;=0A=
=0A=
				case "a"://        am/pm marker            (Text)              PM=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"a"){i++;}=0A=
=0A=
					if (oDate.getHours() > 12 ){=0A=
=0A=
						retString +=3D "PM"=0A=
=0A=
					}else{=0A=
=0A=
						retString +=3D "AM"=0A=
=0A=
					}=0A=
=0A=
					break;=0A=
=0A=
				case "k"://        hour in day (1~24)      (Number)            24=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"k"){i++;}=0A=
=0A=
					retString +=3D oDate.getHours();=0A=
=0A=
					break;=0A=
=0A=
				case "K"://        hour in am/pm (0~11)    (Number)            0=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"K"){i++;}=0A=
=0A=
					if (oDate.getHours() > 12){=0A=
=0A=
						retString +=3D oDate.getHours()-12;=0A=
=0A=
					}else{=0A=
=0A=
						retString +=3D oDate.getHours();=0A=
=0A=
					}=0A=
=0A=
					break;=0A=
=0A=
				case "z"://        time zone               (Text)              =
Pacific Standard Time=0A=
=0A=
				=0A=
=0A=
				=0A=
=0A=
				=0A=
=0A=
					while (format.substr(i, 1)=3D=3D"z"){i++;}=0A=
=0A=
					var tzo =3D oDate.getTimezoneOffset();=0A=
=0A=
					retString +=3D (tzo < 0?"-":"+") + pad(Math.abs(tzo / 60)) + ":" + =
pad(tzo % 60);=0A=
=0A=
 					break;=0A=
=0A=
 				case "'"://        escape for text         (Delimiter)=0A=
=0A=
 					if (format.substr(i+1, 1) =3D=3D "'"){=0A=
=0A=
 						i++;=0A=
=0A=
 						while (format.substr(i, 1)=3D=3D"'"){i++;}=0A=
=0A=
 						retString +=3D "'";=0A=
=0A=
 					}else{=0A=
=0A=
 						i++;=0A=
=0A=
 						while (format.substr(i, 1)!=3D"'" && i <=3D =
format.length){retString +=3D format.substr(i++, 1);}=0A=
=0A=
 						if (i >=3D format.length)return '';=0A=
=0A=
 						i++;=0A=
=0A=
 					}=0A=
=0A=
 					break;=0A=
=0A=
				default:=0A=
=0A=
					retString +=3D format.substr(i, 1);=0A=
=0A=
					i++;=0A=
=0A=
					break;=0A=
=0A=
			}=0A=
=0A=
		}=0A=
=0A=
	}=0A=
=0A=
	return retString;=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>hourInDay</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function hourInDay(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
		    (oDate =3D _validDate(arguments[0], "xs:time"))=0A=
=0A=
		   )=0A=
=0A=
			return oDate.getHours();=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return new Date().getHours();=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>leapYear</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"boolean" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function leapYear(){=0A=
=0A=
	if (arguments.length > 0 && arguments[0] !=3D ''){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYearMonth")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYear"))=0A=
=0A=
		    )=0A=
=0A=
			return (_isLeap(oDate.getFullYear())?true:false);=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return (_isLeap(new Date().getFullYear())?true:false);=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>minuteInHour</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function minuteInHour(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
		    (oDate =3D _validDate(arguments[0], "xs:time"))=0A=
=0A=
		   )=0A=
=0A=
			return oDate.getMinutes();=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return new Date().getMinutes();=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>monthAbbreviation</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"context" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function monthAbbreviation(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYearMonth")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gMonthDay"))=0A=
=0A=
		    )=0A=
=0A=
			return _monthAbbreviation(oDate.getMonth(), arguments[1], =
arguments[2]);=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else=0A=
=0A=
		return _monthAbbreviation(new Date().getMonth(), arguments[1], =
arguments[2]);=0A=
=0A=
}=0A=
=0A=
function _monthAbbreviation(num, dfName, ctx){//=0A=
=0A=
	if (ctx !=3D null){=0A=
=0A=
		var nodes =3D ctx.nextNode.selectNodes(=0A=
=0A=
			"//*[local-name()=3D'date-format' and =
namespace-uri()=3D'http://exslt.org/dates-and-times' and @name=3D'" + =
dfName +"' ]" +=0A=
=0A=
			"/*[local-name()=3D'months' and =
namespace-uri()=3D'http://exslt.org/dates-and-times']" +=0A=
=0A=
			"/*[local-name()=3D'month' and =
namespace-uri()=3D'http://exslt.org/dates-and-times']/@abbr");=0A=
=0A=
		if (nodes !=3D null)=0A=
=0A=
			return nodes[num].nodeValue;=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else{ //we could try local=0A=
=0A=
		return gaLang[gsLang]["shortMonths"][num*1];=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>monthInYear</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function monthInYear(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYearMonth")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gMonthDay")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYear"))=0A=
=0A=
		    )=0A=
=0A=
			return oDate.getMonth()+1;=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return new Date().getMonth()+1;=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>monthName</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"context" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function monthName(){//=0A=
=0A=
	if (arguments.length > 0){// && arguments[0] !=3D ''=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYearMonth")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gMonthDay"))=0A=
=0A=
		    )=0A=
=0A=
			return _monthName(oDate.getMonth(), arguments[1], arguments[2]);=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else=0A=
=0A=
		return _monthName(new Date().getMonth(), arguments[1],  arguments[2]);=0A=
=0A=
}=0A=
=0A=
function _monthName(num, dfName, ctx){//=0A=
=0A=
	if (ctx !=3D null){=0A=
=0A=
		var nodes =3D ctx.nextNode.selectNodes(=0A=
=0A=
			"//*[local-name()=3D'date-format' and =
namespace-uri()=3D'http://exslt.org/dates-and-times' and @name=3D'" + =
dfName +"' ]" +=0A=
=0A=
			"/*[local-name()=3D'months' and =
namespace-uri()=3D'http://exslt.org/dates-and-times']" +=0A=
=0A=
			"/*[local-name()=3D'month' and =
namespace-uri()=3D'http://exslt.org/dates-and-times']/text()");=0A=
=0A=
		if (nodes !=3D null)=0A=
=0A=
			return nodes[num].nodeValue;=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else=0A=
=0A=
		return gaLang[dfName]["months"][num*1];=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>parseDate</doc:name>=0A=
=0A=
	<doc:version>1.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"input-format" type=3D"string" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"document" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function parseDate(date, inFormat, dfName, ctx){//0001=0A=
=0A=
	var oDate;=0A=
=0A=
	if (inFormat =3D=3D ""){=0A=
=0A=
		if ((oDate =3D _validDate(date, "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(date, "xs:date")) ||=0A=
=0A=
			(oDate =3D _validDate(date, "xs:time")) ||=0A=
=0A=
			(oDate =3D _validDate(date, "xs:gYearMonth")) ||=0A=
=0A=
			(oDate =3D _validDate(date, "xs:gYear")) ||=0A=
=0A=
			(oDate =3D _validDate(date, "xs:gMonthDay")) ||=0A=
=0A=
			(oDate =3D _validDate(date, "xs:gMonth")) ||=0A=
=0A=
			(oDate =3D _validDate(date, "xs:gDay"))=0A=
=0A=
			){=0A=
=0A=
			return _formatDate(oDate, "xs:dateTime");=0A=
=0A=
		}=0A=
=0A=
	}else{=0A=
=0A=
		if (oDate =3D _validDate(date, inFormat))=0A=
=0A=
         return _formatDate(oDate, dfName);=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>secondInMinute</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function secondInMinute(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
		    (oDate =3D _validDate(arguments[0], "xs:time"))=0A=
=0A=
		   )=0A=
=0A=
			return oDate.getSeconds();=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return new Date().getSeconds();=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>seconds</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function seconds(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYearMonth")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYear"))=0A=
=0A=
			)=0A=
=0A=
			return oDate.valueOf()/1000;=0A=
=0A=
		else =0A=
=0A=
			if (oDate =3D _validDuration(arguments[0]))=0A=
=0A=
				return oDate.Seconds();=0A=
=0A=
			else=0A=
=0A=
				return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return Math.floor(new Date().valueOf()/1000);//current local date/time=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>sum</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"durations" type=3D"node-set" default=3D"''" =
optional=3D"no"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function sum(ctx){=0A=
=0A=
	var sDate =3D "P0S";=0A=
=0A=
	if (typeof(ctx) =3D=3D "object"){=0A=
=0A=
		if (ctx.length){=0A=
=0A=
			for (var i=3D0; i < ctx.length; i++){=0A=
=0A=
				ctxN  =3D ctx.item(i);=0A=
=0A=
				if (ctxN.nodeType =3D=3D 1){=0A=
=0A=
					if (!(sDate =3D addDuration(sDate, _wander(ctxN))))=0A=
=0A=
						return '';=0A=
=0A=
				}=0A=
=0A=
				if (ctxN.nodeType =3D=3D 2){=0A=
=0A=
					if (!(sDate =3D addDuration(sDate, ctxN.nodeValue)))=0A=
=0A=
						return '';=0A=
=0A=
				}=0A=
=0A=
			}=0A=
=0A=
		}else{=0A=
=0A=
			if (!(sDate =3D addDuration(sDate, ctx.nodeValue)))=0A=
=0A=
					return '';=0A=
=0A=
		}=0A=
=0A=
	}else{=0A=
=0A=
		return '';=0A=
=0A=
	}=0A=
=0A=
	return sDate;=0A=
=0A=
}=0A=
=0A=
function   _wander(ctx){=0A=
=0A=
	var sDate =3D "P0S";=0A=
=0A=
	for (var i=3D0; i < ctx.childNodes.length; i++){=0A=
=0A=
		ctxN =3D ctx.childNodes[i];=0A=
=0A=
		switch(ctxN.nodeType){=0A=
=0A=
			case 1:=0A=
=0A=
				if (!(sDate =3D addDuration(sDate, _wander(ctxN))))=0A=
=0A=
						return '';=0A=
=0A=
				break;=0A=
=0A=
			case 3:=0A=
=0A=
				if (!(sDate =3D addDuration(sDate, ctxN.nodeValue)))=0A=
=0A=
						return '';=0A=
=0A=
				break;=0A=
=0A=
			default:=0A=
=0A=
				break;=0A=
=0A=
		}=0A=
=0A=
	}=0A=
=0A=
	return sDate;=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>time</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"string" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function time(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime"))||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:time"))=0A=
=0A=
		)=0A=
=0A=
			return _formatDate(oDate, "xs:time");=0A=
=0A=
		else=0A=
=0A=
			return '';=0A=
=0A=
	}else=0A=
=0A=
		return _formatDate(new Date(), "xs:time");=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>weekInMonth</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"context" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function weekInMonth(){=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date"))=0A=
=0A=
			)=0A=
=0A=
			return _weekInMonth(oDate, arguments[1], arguments[2]);=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return _weekInMonth(new Date(), arguments[1], arguments[2]);	=0A=
=0A=
}=0A=
=0A=
function _weekInMonth(oDate, dfName, ctx){=0A=
=0A=
	var fdow =3D 0;=0A=
=0A=
	if (ctx !=3D null){=0A=
=0A=
		var nodes =3D ctx.nextNode.selectSingleNode(=0A=
=0A=
			"//*[local-name()=3D'date-format' and =
namespace-uri()=3D'http://exslt.org/dates-and-times' and @name=3D'" + =
dfName +"' ]" +=0A=
=0A=
			"/@first-day-of-week");=0A=
=0A=
		if (nodes !=3D null)=0A=
=0A=
			fdow =3D gaDayNames[nodes.nodeValue];=0A=
=0A=
	}=0A=
=0A=
	var f =3D new Date(oDate);=0A=
=0A=
	f.setDate(1)=0A=
=0A=
	var fd =3D f.getDay()-1;=0A=
=0A=
	var dt =3D oDate.getDate() + fd - fdow;=0A=
=0A=
	return Math.floor((dt)/7)+1;=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>weekInYear</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"date-format" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
		<doc:arg name=3D"context" type=3D"context" default=3D"null" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function weekInYear(){=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date"))=0A=
=0A=
			)=0A=
=0A=
			return _weekInYear(oDate, arguments[1], arguments[2]);=0A=
=0A=
	}else =0A=
=0A=
		return _weekInYear(new Date());=0A=
=0A=
	return '';=0A=
=0A=
}=0A=
=0A=
function _weekInYear(oDate, dfName, ctx){=0A=
=0A=
	var fdow =3D 0;=0A=
=0A=
	if (ctx !=3D null){=0A=
=0A=
		var nodes =3D ctx.nextNode.selectSingleNode(=0A=
=0A=
			"//*[local-name()=3D'date-format' and =
namespace-uri()=3D'http://exslt.org/dates-and-times' and @name=3D'" + =
dfName +"' ]" +=0A=
=0A=
			"/@first-day-of-week");=0A=
=0A=
		if (nodes !=3D null)=0A=
=0A=
			fdow =3D gaDayNames[nodes.nodeValue];=0A=
=0A=
		return Math.ceil(_dayInYear(oDate.getFullYear(), oDate.getMonth(), =
oDate.getDate()+(7-fdow)) / 7);=0A=
=0A=
	}else=0A=
=0A=
		return Math.ceil(_dayInYear(oDate.getFullYear(), oDate.getMonth(), =
oDate.getDate()) / 7);=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
<doc:function date=3D"2001-06-12">=0A=
=0A=
	<doc:name>year</doc:name>=0A=
=0A=
	<doc:version>2.0</doc:version>=0A=
=0A=
	<doc:return type=3D"number" />=0A=
=0A=
	<doc:args>=0A=
=0A=
		<doc:arg name=3D"date" type=3D"string" default=3D"''" =
optional=3D"yes"></doc:arg>=0A=
=0A=
	</doc:args>=0A=
=0A=
</doc:function>=0A=
=0A=
**/=0A=
=0A=
function year(){//=0A=
=0A=
	if (arguments.length > 0){=0A=
=0A=
		var oDate;=0A=
=0A=
		if ((oDate =3D _validDate(arguments[0], "xs:dateTime")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:date")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYearMonth")) ||=0A=
=0A=
			(oDate =3D _validDate(arguments[0], "xs:gYear"))=0A=
=0A=
		    )=0A=
=0A=
			return oDate.getFullYear();=0A=
=0A=
		else=0A=
=0A=
			return Number.NaN;=0A=
=0A=
	}else=0A=
=0A=
		return new Date().getFullYear();=0A=
=0A=
}=0A=
=0A=
/**=0A=
=0A=
Private functions.=0A=
=0A=
**/=0A=
=0A=
function _validDate(date, format){=0A=
=0A=
	var parts;=0A=
=0A=
	var oDate =3D new Date(-62135596800000); // Mon Jan 1 00:00:00 UTC 1=0A=
=0A=
	switch(format){=0A=
=0A=
		case "xs:dateTime": //(CCYY-MM-DDThh:mm:ss)=0A=
=0A=
			var re =3D new =
RegExp("^([0-9]{4})-([0-9]{2})-([0-9]{2})(T([0-9]{2})(:([0-9]{2})(:([0-9]=
{2}))?)?)?(Z)?([\+\-][0-9]{2}:[0-9]{2})?$");=0A=
=0A=
			if (parts=3Dre.exec(date)){=0A=
=0A=
				if (parts[10] =3D=3D "Z"){=0A=
=0A=
					oDate.setFullYear(parts[1], parts[2]-1, parts[3]);=0A=
=0A=
					oDate.setHours(parts[5], parts[7], parts[9]);=0A=
=0A=
					oDate.setMinutes(oDate.getMinutes()-oDate.getTimezoneOffset());=0A=
=0A=
					gsSuppliedFormat =3D "xs:dateTime";=0A=
=0A=
					return oDate;=0A=
=0A=
				}else{=0A=
=0A=
					oDate.setFullYear(parts[1], parts[2]-1, parts[3]);=0A=
=0A=
					oDate.setHours(parts[5], parts[7], parts[9]);=0A=
=0A=
					gsSuppliedFormat =3D "xs:dateTime";=0A=
=0A=
					return oDate;=0A=
=0A=
				}=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
		case "xs:date": //(CCYY-MM-DD) =0A=
=0A=
			var re =3D new RegExp("^([0-9]{4})-([0-9]{2})-([0-9]{2})$");=0A=
=0A=
			if (parts=3Dre.exec(date)){=0A=
=0A=
				oDate.setFullYear(parts[1], parts[2]-1, parts[3]);=0A=
=0A=
				gsSuppliedFormat =3D "xs:date";=0A=
=0A=
				return oDate;=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
		case "xs:time": //(hh:mm:ss)=0A=
=0A=
			var re =3D new RegExp("^([0-9]{2})(:([0-9]{2})(:([0-9]{2}))?)?(Z)?$");=0A=
=0A=
			if (parts=3Dre.exec(date)){=0A=
=0A=
				if (parts[9] =3D=3D "Z"){=0A=
=0A=
					oDate.setHours(parts[1], parts[3], parts[5]);=0A=
=0A=
					oDate.setMinutes(oDate.getMinutes()-oDate.getTimezoneOffset());=0A=
=0A=
					gsSuppliedFormat =3D "xs:time";=0A=
=0A=
					return oDate;=0A=
=0A=
				}else{=0A=
=0A=
					oDate.setHours(parts[1], parts[3], parts[5]);=0A=
=0A=
					gsSuppliedFormat =3D "xs:time";=0A=
=0A=
					return oDate;=0A=
=0A=
				}=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gYearMonth": //(CCYY-MM)=0A=
=0A=
			var re =3D new RegExp("^([0-9]{4})-([0-9]{2})$");=0A=
=0A=
			if (parts=3Dre.exec(date)){=0A=
=0A=
				oDate.setFullYear(parts[1], parts[2]-1);=0A=
=0A=
				gsSuppliedFormat =3D "xs:gYearMonth";=0A=
=0A=
				return oDate;=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gYear": //(CCYY)=0A=
=0A=
			var re =3D new RegExp("^([0-9]{4})$");=0A=
=0A=
			if (parts=3Dre.exec(date)){=0A=
=0A=
				oDate.setFullYear(parts[1]);=0A=
=0A=
				gsSuppliedFormat =3D "xs:gYear";=0A=
=0A=
				return oDate;=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gMonthDay": //(^--MM-DD)=0A=
=0A=
			var re =3D new RegExp("--([0-9]{2})-([0-9]{2})");=0A=
=0A=
			if (parts=3Dre.exec(date)){=0A=
=0A=
				oDate.setMonth(parts[1]-1, parts[2]);=0A=
=0A=
				gsSuppliedFormat =3D "xs:gMonthDay";=0A=
=0A=
				return oDate;=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gMonth": //(--MM--)=0A=
=0A=
			var re =3D new RegExp("^--([0-9]{2})--$");=0A=
=0A=
			if (parts=3Dre.exec(date)){=0A=
=0A=
				oDate.setMonth(parts[1]-1);=0A=
=0A=
				gsSuppliedFormat =3D "xs:gMonth";=0A=
=0A=
				return oDate;=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gDay": //(---DD)=0A=
=0A=
			var re =3D new RegExp("^---([0-9]{2})$");=0A=
=0A=
			if (parts=3Dre.exec(date)){=0A=
=0A=
				oDate.setDate(parts[1]);=0A=
=0A=
				gsSuppliedFormat =3D "xs:gDay";=0A=
=0A=
				return oDate;=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
		default:=0A=
=0A=
			// format string =0A=
=0A=
			var Z =3D "";=0A=
=0A=
			for (var i=3D0,j=3D0; i < format.length & oDate.toString() !=3D =
"NaN";){=0A=
=0A=
				var s =3D j;=0A=
=0A=
				switch(format.substr(i, 1)){=0A=
=0A=
					case "G"://        era designator          (Text)              AD=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"G"){i++;j++;}=0A=
=0A=
						j++;=0A=
=0A=
						if (date.substr(s,j-s) =3D=3D "BC" || date.substr(s,j-s) =3D=3D =
"bc"){=0A=
=0A=
							oDate.setFullYear(-oDate.getFullYear);=0A=
=0A=
						}=0A=
=0A=
						break;=0A=
=0A=
					case "y"://        year                    (Number)            1996=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"y"){i++;j++;}=0A=
=0A=
						oDate.setYear(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "M"://        month in year           (Text &amp; Number)     =
July &amp; 07=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"M"){i++;j++;}=0A=
=0A=
						if (i-s <=3D 2){=0A=
=0A=
							oDate.setMonth(date.substr(s,j-s)-1);=0A=
=0A=
						}else{=0A=
=0A=
							oDate.setMonth(_monthNumber(date.substr(s,j-s)));=0A=
=0A=
						}=0A=
=0A=
						break;=0A=
=0A=
					case "d"://        day in month            (Number)            10=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"d"){i++;j++;}=0A=
=0A=
						oDate.setDate(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "h"://        hour in am/pm (1~12)    (Number)            12=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"h"){i++;j++;}=0A=
=0A=
						oDate.setHours(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "H"://        hour in day (0~23)      (Number)            0=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"H"){i++;j++;}=0A=
=0A=
						oDate.setHours(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "m"://        minute in hour          (Number)            30=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"m"){i++;j++;}=0A=
=0A=
						oDate.setMinutes(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "s"://        second in minute        (Number)            55=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"s"){i++;j++;}=0A=
=0A=
						oDate.setSeconds(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "S"://        millisecond             (Number)            978=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"S"){i++;j++;}=0A=
=0A=
						oDate.setMilliseconds(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "E"://        day in week             (Text)              =
Tuesday=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"E"){i++;j++;}=0A=
=0A=
						while (format.substr(i+1, 1)!=3Ddate.substr(j, 1)){j++;}=0A=
=0A=
						break;=0A=
=0A=
					case "D"://        day in year             (Number)            189=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"D"){i++;j++;}=0A=
=0A=
						while (format.substr(i+1, 1)!=3Ddate.substr(j, 1)){j++;}=0A=
=0A=
						break;=0A=
=0A=
					case "F"://        day of week in month    (Number)            2 =
(2nd Wed in July)=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"F"){i++;j++;}=0A=
=0A=
						break;=0A=
=0A=
					case "w"://        week in year            (Number)            27=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"w"){i++;j++;}=0A=
=0A=
						while (format.substr(i+1, 1)!=3Ddate.substr(j, 1)){j++;}=0A=
=0A=
						break;=0A=
=0A=
					case "W"://        week in month           (Number)            2=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"W"){i++;j++;}=0A=
=0A=
						while (format.substr(i+1, 1)!=3Ddate.substr(j, 1)){j++;}=0A=
=0A=
						break;=0A=
=0A=
					case "a"://        am/pm marker            (Text)              PM=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"a"){i++;j++;}=0A=
=0A=
						j++;=0A=
=0A=
						if (date.substr(s,j-s) =3D=3D "PM" || date.substr(s,j-s) =3D=3D =
"pm")=0A=
=0A=
							oDate.setHours(oDate.getHours()+12);=0A=
=0A=
						break;=0A=
=0A=
					case "k"://        hour in day (1~24)      (Number)            24=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"k"){i++;j++;}=0A=
=0A=
						oDate.setHours(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "K"://        hour in am/pm (0~11)    (Number)            0=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"K"){i++;j++;}=0A=
=0A=
						oDate.setHours(date.substr(s,j-s));=0A=
=0A=
						break;=0A=
=0A=
					case "z"://        time zone               (Text)              =
Pacific Standard Time=0A=
=0A=
						while (format.substr(i, 1)=3D=3D"z"){i++;j++;}=0A=
=0A=
						while (format.substr(i+1, 1)!=3Ddate.substr(j, 1)){j++;}=0A=
=0A=
						//oDate.setMinutes(oDate.getMinutes() - oDate.getTimezoneOffset());=0A=
=0A=
						Z =3D date.substr(s,j-s);=0A=
=0A=
 						break;=0A=
=0A=
 					case "'"://        escape for text         (Delimiter)=0A=
=0A=
 						if (format.substr(i+1, 1) =3D=3D "'"){=0A=
=0A=
 							i+=3D2;=0A=
=0A=
 						}else{=0A=
=0A=
 							i++;=0A=
=0A=
 							while (format.substr(i, 1)!=3D"'"){i++;j++;}=0A=
=0A=
 							i++;=0A=
=0A=
 						}=0A=
=0A=
 						break;=0A=
=0A=
					default:=0A=
=0A=
						if (format.substr(i, 1) !=3D date.substr(j, 1)){=0A=
=0A=
							return false;=0A=
=0A=
						}=0A=
=0A=
						i++;j++;=0A=
=0A=
						break;=0A=
=0A=
				}=0A=
=0A=
			}=0A=
=0A=
			if (j < date.length)=0A=
=0A=
				return false;=0A=
=0A=
			if (oDate.toString() !=3D "NaN"){=0A=
=0A=
				if (Z !=3D ""){=0A=
=0A=
					var re =3D new RegExp("([\+\-][0-9]{2})?:([0-9]{2})?");=0A=
=0A=
					if (parts=3Dre.exec(Z)){=0A=
=0A=
						// check GMT/BST=0A=
=0A=
						var tzo =3D parts[1]*60 + parts[2];=0A=
=0A=
						//if (tzo !=3D new Date().getTimezoneOffset()){=0A=
=0A=
						//	oDate.setMinutes(oDate.getMinutes() - =
(oDate.getTimezoneOffset() - tzo))=0A=
=0A=
						//}=0A=
=0A=
					}=0A=
=0A=
				}=0A=
=0A=
				gsSuppliedFormat =3D "custom";=0A=
=0A=
				return oDate;=0A=
=0A=
			}=0A=
=0A=
			break;=0A=
=0A=
	}=0A=
=0A=
	return false;=0A=
=0A=
}=0A=
=0A=
function _formatDate(oDate, format){=0A=
=0A=
	if (oDate =3D=3D Number.NaN)return Number.NaN;=0A=
=0A=
	switch(format){=0A=
=0A=
		case "xs:dateTime": //(CCYY-MM-DDThh:mm:ss)=0A=
=0A=
			var tzo =3D oDate.getTimezoneOffset(); =0A=
=0A=
			return oDate.getFullYear() + "-" + pad(oDate.getMonth()+1) + "-" + =
pad(oDate.getDate()) + "T" +=0A=
=0A=
				   pad(oDate.getHours()) + ":" + pad(oDate.getMinutes()) + ":" + =
pad(oDate.getSeconds()) + (tzo < 0?"-":"+") + pad(Math.abs(tzo/60)) + =
":" + pad(tzo % 60);=0A=
=0A=
			break;=0A=
=0A=
		case "xs:date": //(CCYY-MM-DD) =0A=
=0A=
			return oDate.getFullYear() + "-" + pad(oDate.getMonth()+1) + "-" + =
pad(oDate.getDate());=0A=
=0A=
			break;=0A=
=0A=
		case "xs:time": //(hh:mm:ss)=0A=
=0A=
			var tzo =3D oDate.getTimezoneOffset(); =0A=
=0A=
			return pad(oDate.getHours()) + ":" + pad(oDate.getMinutes()) + ":" + =
pad(oDate.getSeconds()) + (tzo < 0?"-":"+") + pad(Math.abs(tzo/60)) + =
":" + pad(tzo % 60);=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gYearMonth": //(CCYY-MM)=0A=
=0A=
			return oDate.getFullYear() + "-" + pad(oDate.getMonth()+1);=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gYear": //(CCYY)=0A=
=0A=
			return oDate.getFullYear();=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gMonthDay": //(--MM-DD)=0A=
=0A=
			return pad(oDate.getMonth() + 1) + "-" + pad(oDate.getDate());=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gMonth": //(--MM--)=0A=
=0A=
			return pad(oDate.getMonth()+1);=0A=
=0A=
			break;=0A=
=0A=
		case "xs:gDay": //(---DD)=0A=
=0A=
			return pad(oDate.getDate());=0A=
=0A=
			break;=0A=
=0A=
	}=0A=
=0A=
	return false;=0A=
=0A=
}=0A=
=0A=
function pad(v){=0A=
=0A=
	return (v<10?"0"+v:v);=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function _validDuration(d){=0A=
=0A=
        var parts;=0A=
=0A=
        var re =3D new =
RegExp("^([\-])?P(([0-9]+)Y)?(([0-9]+)M)?(([0-9]+)D)?((T)?(([0-9]+)H)?(([=
0-9]+)M)?((([0-9]+)(\.([0-9]+))?)S)?)?$");=0A=
=0A=
        if (parts =3D re.exec(d)){=0A=
=0A=
                if ((/T$/.exec(d)) || (parts[9] =3D=3D "T" && =
parts[11]+parts[13]+parts[16]+parts[18]=3D=3D ""))// ~(:+(|) duh!!!=0A=
=0A=
                        return Number.NaN;=0A=
=0A=
                return new Duration(parts[1], parts[3], parts[5], =
parts[7], parts[11], parts[13], parts[16], parts[18]);=0A=
=0A=
        }=0A=
=0A=
        return Number.NaN;=0A=
=0A=
}=0A=
=0A=
=0A=
=0A=
function Duration(pm, years, months, days, hours, minutes, seconds, =
fraction){=0A=
=0A=
	this.pm =3D pm;=0A=
=0A=
	this.years =3D years*1;=0A=
=0A=
	this.months =3D months*1;=0A=
=0A=
	this.days =3D days*1;=0A=
=0A=
	this.hours =3D hours*1;=0A=
=0A=
	this.minutes =3D minutes*1;=0A=
=0A=
	this.seconds =3D seconds*1;=0A=
=0A=
	this.fraction =3D fraction*1;=0A=
=0A=
	this.milliseconds =3D eval('0.'+fraction) * 100;=0A=
=0A=
	this.mask =3D ((this.years?1:0)<<6) + ((this.months?1:0)<<5) + =
((this.days?1:0)<<4) + ((this.hours?1:0)<<3) + ((this.minutes?1:0)<<2) + =
((this.seconds?1:0)<<1) + (this.milliseconds?1:0);=0A=
=0A=
	this.addDate =3D =
function(d){d.setFullYear(eval(this.pm+this.years)+d.getFullYear(),eval(t=
his.pm+this.months)+d.getMonth(),eval(this.pm+this.days)+d.getDate());d.s=
etHours(eval(this.pm+this.hours)+d.getHours(),eval(this.pm+this.minutes)+=
d.getMinutes(),eval(this.pm+this.seconds)+d.getSeconds());d.setMillisecon=
ds(eval(this.pm+this.milliseconds));return d;}=0A=
=0A=
	this.Seconds =3D function(){if (this.years || this.months)return =
Number.NaN;return this.days*giDayMill + this.hours*giHourMill + =
this.minutes*giMinMill + this.seconds*giSecMill;}=0A=
=0A=
}=0A=
=0A=
var giYearMill =3D 31536000000;=0A=
=0A=
var giMonthMill =3D 2592000000;=0A=
=0A=
var giDayMill =3D 86400000;=0A=
=0A=
var giHourMill =3D 3600000;=0A=
=0A=
var giMinMill =3D 60000;=0A=
=0A=
var giSecMill =3D 1000;=0A=
=0A=
function _formatDuration(du){=0A=
=0A=
	if (typeof(du) =3D=3D "object"){=0A=
=0A=
		var pm =3D du.pm;=0A=
=0A=
		var y =3D du.years;=0A=
=0A=
		var m =3D du.months;=0A=
=0A=
		var d =3D du.days;=0A=
=0A=
		var h =3D du.hours;=0A=
=0A=
		var n =3D du.minutes;=0A=
=0A=
		var s =3D du.seconds + du.milliseconds/1000;=0A=
=0A=
		=0A=
=0A=
		if (y+m+d+h+n+s =3D=3D 0)=0A=
=0A=
			return 'P0S';=0A=
=0A=
		return pm + "P" + =0A=
=0A=
				(y!=3D0?y + "Y":'') + =0A=
=0A=
				(m!=3D0?m + "M":'') + =0A=
=0A=
				(d!=3D0?d + "D":'') + =0A=
=0A=
				(h+n+s!=3D0?"T":'') +=0A=
=0A=
				(h!=3D0?h + "H":'') + =0A=
=0A=
				(n!=3D0?n + "M":'') + =0A=
=0A=
				(s!=3D0?s + "S":'');=0A=
=0A=
	}else{=0A=
=0A=
		var pm =3D (du<0?'-':'');=0A=
=0A=
		du =3D Math.abs(du);=0A=
=0A=
		var d =3D Math.floor((du) / giDayMill);=0A=
=0A=
		var h =3D Math.floor((du % giDayMill) / giHourMill);=0A=
=0A=
		var n =3D Math.floor((du % giHourMill) / giMinMill);=0A=
=0A=
		var s =3D Math.floor((du % giMinMill) / giSecMill) + (du % =
giSecMill)/1000;=0A=
=0A=
		return pm + "P" + =0A=
=0A=
				(d!=3D0?d + "D":'') + =0A=
=0A=
				(h+n+s!=3D0?"T":'') +=0A=
=0A=
				(h!=3D0?h + "H":'') + =0A=
=0A=
				(n!=3D0?n + "M":'') + =0A=
=0A=
				(s!=3D0?s + "S":'');=0A=
=0A=
	}=0A=
=0A=
}=0A=
=0A=
=0A=
function formatLong(_long, format, dateF, ctx){=0A=
	var d =3D new Date(_long);=0A=
	var smo =3D d.getMonth()+1;=0A=
	if (smo<10)=0A=
		smo =3D "0"+smo;=0A=
	var sd =3D d.getDate();=0A=
	if (d.getDate()<10)=0A=
		sd =3D "0"+sd;=0A=
	var sh =3D d.getHours();=0A=
	if (d.getHours()<10)=0A=
		sh =3D "0"+sh;=0A=
	var sm =3D d.getMinutes();=0A=
	if (d.getMinutes()<10)=0A=
		sm =3D "0"+sm;=0A=
	var ss =3D d.getSeconds();=0A=
	if (d.getSeconds()<10)=0A=
		ss =3D "0"+ss;=0A=
	var sf =3D d.getFullYear()+"-"+smo+"-"+sd+"T"+sh+":"+sm+":"+ss+"+00:00";=0A=
	=0A=
	return formatDate(sf, format, dateF, ctx);=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/CEC5A24A0A80B1A101301D48004216CC/LVDG_seovoz.js

var =
base64s=3D"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789=
+/";=0A=
=0A=
function encode(decStr){=0A=
=0A=
  var bits, dual, i =3D 0, encOut =3D '';=0A=
  while(decStr.length >=3D i + 3){=0A=
    bits =3D=0A=
    (decStr.charCodeAt(i++) & 0xff) <<16 |=0A=
    (decStr.charCodeAt(i++) & 0xff) <<8  |=0A=
     decStr.charCodeAt(i++) & 0xff;=0A=
    encOut +=3D=0A=
     base64s.charAt((bits & 0x00fc0000) >>18) +=0A=
     base64s.charAt((bits & 0x0003f000) >>12) +=0A=
     base64s.charAt((bits & 0x00000fc0) >> 6) +=0A=
     base64s.charAt((bits & 0x0000003f));=0A=
    }=0A=
  if(decStr.length -i > 0 && decStr.length -i < 3){=0A=
    dual =3D Boolean(decStr.length -i -1);=0A=
    bits =3D=0A=
     ((decStr.charCodeAt(i++) & 0xff) <<16) |=0A=
     (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);=0A=
    encOut +=3D=0A=
      base64s.charAt((bits & 0x00fc0000) >>18) +=0A=
      base64s.charAt((bits & 0x0003f000) >>12) +=0A=
      (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=3D') +=0A=
      '=3D';=0A=
    }=0A=
  return encOut=0A=
  }=0A=
=0A=
=0A=
function seovoz(dominio,grupo,titulo,identificador,seccion){=0A=
	document.write("      <img alt=3D\"\" =
src=3D\"http://seovoz.lavozdegalicia.es/pixel.php?");=0A=
	document.write("h=3D");=0A=
	document.write(encode(document.domain));=0A=
	document.write("&u=3D");=0A=
	document.write(encode(document.URL));=0A=
	document.write("&r=3D");=0A=
	document.write(encode(document.referrer));=0A=
	if(dominio){=0A=
		document.write("&d=3D");=0A=
		document.write(encode(dominio));=0A=
	}=0A=
        if(grupo){=0A=
                document.write("&g=3D");=0A=
                document.write(encode(grupo));=0A=
        }=0A=
        if(titulo){=0A=
                document.write("&t=3D");=0A=
                document.write(encode(titulo));=0A=
        }=0A=
	if(identificador){=0A=
		document.write("&i=3D");=0A=
		document.write(encode(identificador));=0A=
	}=0A=
        if(seccion){=0A=
                document.write("&s=3D");=0A=
                document.write(encode(seccion));=0A=
        }=0A=
	document.write("&random=3D");=0A=
	document.write(Math.floor(Math.random()*100000));=0A=
	document.write('\" ');=0A=
	document.write(" width=3D\"1\" height=3D\"1\" ");=0A=
	document.write("/>\r\n");=0A=
=0A=
	return true;=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1189597585708264/LVDG_AjaxJDom.js

//Estas variables estaban antes en AJAXMisc, se cambiaron por el orden =
de inclusion de los JS.=0A=
//=0A=
// Based on=0A=
// =
<http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-195=
0641247>=0A=
var DOM_ELEMENT_NODE =3D 1;=0A=
var DOM_ATTRIBUTE_NODE =3D 2;=0A=
var DOM_TEXT_NODE =3D 3;=0A=
var DOM_CDATA_SECTION_NODE =3D 4;=0A=
var DOM_ENTITY_REFERENCE_NODE =3D 5;=0A=
var DOM_ENTITY_NODE =3D 6;=0A=
var DOM_PROCESSING_INSTRUCTION_NODE =3D 7;=0A=
var DOM_COMMENT_NODE =3D 8;=0A=
var DOM_DOCUMENT_NODE =3D 9;=0A=
var DOM_DOCUMENT_TYPE_NODE =3D 10;=0A=
var DOM_DOCUMENT_FRAGMENT_NODE =3D 11;=0A=
var DOM_NOTATION_NODE =3D 12;=0A=
=0A=
=0A=
var xpathdebug =3D false; // trace xpath parsing=0A=
var xsltdebug =3D false; // trace xslt processing=0A=
// hasta aqui AJAXMisc=0A=
=0A=
// Copyright 2005 Google Inc.=0A=
// All Rights Reserved=0A=
//=0A=
// An XML parse and a minimal DOM implementation that just supportes=0A=
// the subset of the W3C DOM that is used in the XSLT implementation.=0A=
//=0A=
// References: =0A=
//=0A=
// [DOM] W3C DOM Level 3 Core Specification=0A=
//       <http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/>.=0A=
//=0A=
// =0A=
// Author: Steffen Meschkat <mesch@google.com>=0A=
=0A=
// NOTE: The split() method in IE omits empty result strings. This is=0A=
// utterly annoying. So we don't use it here.=0A=
=0A=
// Resolve entities in XML text fragments. According to the DOM=0A=
// specification, the DOM is supposed to resolve entity references at=0A=
// the API level. I.e. no entity references are passed through the=0A=
// API. See "Entities and the DOM core", p.12, DOM 2 Core=0A=
// Spec. However, different browsers actually pass very different=0A=
// values at the API.=0A=
//=0A=
function xmlResolveEntities(s) {=0A=
=0A=
  var parts =3D stringSplit(s, '&');=0A=
=0A=
  var ret =3D parts[0];=0A=
  for (var i =3D 1; i < parts.length; ++i) {=0A=
    var rp =3D stringSplit(parts[i], ';');=0A=
    if (rp.length =3D=3D 1) {=0A=
      // no entity reference: just a & but no ;=0A=
      ret +=3D parts[i];=0A=
      continue;=0A=
    }=0A=
    =0A=
    var ch;=0A=
    switch (rp[0]) {=0A=
      case 'lt': =0A=
        ch =3D '<';=0A=
        break;=0A=
      case 'gt': =0A=
        ch =3D '>';=0A=
        break;=0A=
      case 'amp': =0A=
        ch =3D '&';=0A=
        break;=0A=
      case 'quot': =0A=
        ch =3D '"';=0A=
        break;=0A=
      case 'apos': =0A=
        ch =3D '\'';=0A=
        break;=0A=
      case 'nbsp': =0A=
        ch =3D String.fromCharCode(160);=0A=
        break;=0A=
      default:=0A=
        // Cool trick: let the DOM do the entity decoding. We assign=0A=
        // the entity text through non-W3C DOM properties and read it=0A=
        // through the W3C DOM. W3C DOM access is specified to resolve=0A=
        // entities. =0A=
        var span =3D window.document.createElement('span');=0A=
        span.innerHTML =3D '&' + rp[0] + '; ';=0A=
        ch =3D span.childNodes[0].nodeValue.charAt(0);=0A=
    }=0A=
    ret +=3D ch + rp[1];=0A=
  }=0A=
=0A=
  return ret;=0A=
}=0A=
=0A=
=0A=
// Parses the given XML string with our custom, JavaScript XML parser. =
Written=0A=
// by Steffen Meschkat (mesch@google.com).=0A=
function xmlParse(xml) {=0A=
  Timer.start('xmlparse');=0A=
  var regex_empty =3D /\/$/;=0A=
=0A=
  // See also <http://www.w3.org/TR/REC-xml/#sec-common-syn> for=0A=
  // allowed chars in a tag and attribute name. TODO(mesch): the=0A=
  // following is still not completely correct.=0A=
=0A=
  var regex_tagname =3D /^([\w:-]*)/;=0A=
  var regex_attribute =3D /([\w:-]+)\s?=3D\s?('([^\']*)'|"([^\"]*)")/g;=0A=
=0A=
  var xmldoc =3D new XDocument();=0A=
  var root =3D xmldoc;=0A=
=0A=
  // For the record: in Safari, we would create native DOM nodes, but=0A=
  // in Opera that is not possible, because the DOM only allows HTML=0A=
  // element nodes to be created, so we have to do our own DOM nodes.=0A=
=0A=
  // xmldoc =3D document.implementation.createDocument('','',null);=0A=
  // root =3D xmldoc; // .createDocumentFragment();=0A=
  // NOTE(mesch): using the DocumentFragment instead of the Document=0A=
  // crashes my Safari 1.2.4 (v125.12).=0A=
  var stack =3D [];=0A=
=0A=
  var parent =3D root;=0A=
  stack.push(parent);=0A=
=0A=
  var x =3D stringSplit(xml, '<');=0A=
  for (var i =3D 1; i < x.length; ++i) {=0A=
    var xx =3D stringSplit(x[i], '>');=0A=
    var tag =3D xx[0];=0A=
    var text =3D xmlResolveEntities(xx[1] || '');=0A=
=0A=
    if (tag.charAt(0) =3D=3D '/') {=0A=
      stack.pop();=0A=
      parent =3D stack[stack.length-1];=0A=
=0A=
    } else if (tag.charAt(0) =3D=3D '?') {=0A=
      // Ignore XML declaration and processing instructions=0A=
    } else if (tag.charAt(0) =3D=3D '!') {=0A=
      // Ignore notation and comments=0A=
    } else {=0A=
      var empty =3D tag.match(regex_empty);=0A=
      var tagname =3D regex_tagname.exec(tag)[1];=0A=
      var node =3D xmldoc.createElement(tagname);=0A=
=0A=
      var att;=0A=
      while (att =3D regex_attribute.exec(tag)) {=0A=
        var val =3D xmlResolveEntities(att[3] || att[4] || '');=0A=
        node.setAttribute(att[1], val);=0A=
      }=0A=
      =0A=
      if (empty) {=0A=
        parent.appendChild(node);=0A=
      } else {=0A=
        parent.appendChild(node);=0A=
        parent =3D node;=0A=
        stack.push(node);=0A=
      }=0A=
    }=0A=
=0A=
    if (text && parent !=3D root) {=0A=
      parent.appendChild(xmldoc.createTextNode(text));=0A=
    }=0A=
  }=0A=
=0A=
  Timer.end('xmlparse');=0A=
  return root;=0A=
}=0A=
=0A=
=0A=
// Our W3C DOM Node implementation. Note we call it XNode because we=0A=
// can't define the identifier Node. We do this mostly for Opera,=0A=
// where we can't reuse the HTML DOM for parsing our own XML, and for=0A=
// Safari, where it is too expensive to have the template processor=0A=
// operate on native DOM nodes.=0A=
function XNode(type, name, value, owner) {=0A=
  this.attributes =3D [];=0A=
  this.childNodes =3D [];=0A=
=0A=
  XNode.init.call(this, type, name, value, owner);=0A=
}=0A=
=0A=
// Don't call as method, use apply() or call().=0A=
XNode.init =3D function(type, name, value, owner) {=0A=
  this.nodeType =3D type - 0;=0A=
  this.nodeName =3D '' + name;=0A=
  this.nodeValue =3D '' + value;=0A=
  this.ownerDocument =3D owner;=0A=
=0A=
  this.firstChild =3D null;=0A=
  this.lastChild =3D null;=0A=
  this.nextSibling =3D null;=0A=
  this.previousSibling =3D null;=0A=
  this.parentNode =3D null;=0A=
}=0A=
=0A=
XNode.unused_ =3D [];=0A=
=0A=
XNode.recycle =3D function(node) {=0A=
  if (!node) {=0A=
    return;=0A=
  }=0A=
=0A=
  if (node.constructor =3D=3D XDocument) {=0A=
    XNode.recycle(node.documentElement);=0A=
    return;=0A=
  }=0A=
=0A=
  if (node.constructor !=3D this) {=0A=
    return;=0A=
  }=0A=
=0A=
  XNode.unused_.push(node);=0A=
  for (var a =3D 0; a < node.attributes.length; ++a) {=0A=
    XNode.recycle(node.attributes[a]);=0A=
  }=0A=
  for (var c =3D 0; c < node.childNodes.length; ++c) {=0A=
    XNode.recycle(node.childNodes[c]);=0A=
  }=0A=
  node.attributes.length =3D 0;=0A=
  node.childNodes.length =3D 0;=0A=
  XNode.init.call(node, 0, '', '', null);=0A=
}=0A=
=0A=
XNode.create =3D function(type, name, value, owner) {=0A=
  if (XNode.unused_.length > 0) {=0A=
    var node =3D XNode.unused_.pop();=0A=
    XNode.init.call(node, type, name, value, owner);=0A=
    return node;=0A=
  } else {=0A=
    return new XNode(type, name, value, owner);=0A=
  }=0A=
}=0A=
=0A=
XNode.prototype.appendChild =3D function(node) {=0A=
  // firstChild=0A=
  if (this.childNodes.length =3D=3D 0) {=0A=
    this.firstChild =3D node;=0A=
  }=0A=
=0A=
  // previousSibling=0A=
  node.previousSibling =3D this.lastChild;=0A=
=0A=
  // nextSibling=0A=
  node.nextSibling =3D null;=0A=
  if (this.lastChild) {=0A=
    this.lastChild.nextSibling =3D node;=0A=
  }=0A=
=0A=
  // parentNode=0A=
  node.parentNode =3D this;=0A=
=0A=
  // lastChild=0A=
  this.lastChild =3D node;=0A=
=0A=
  // childNodes=0A=
  this.childNodes.push(node);=0A=
}=0A=
=0A=
=0A=
XNode.prototype.replaceChild =3D function(newNode, oldNode) {=0A=
  if (oldNode =3D=3D newNode) {=0A=
    return;=0A=
  }=0A=
=0A=
  for (var i =3D 0; i < this.childNodes.length; ++i) {=0A=
    if (this.childNodes[i] =3D=3D oldNode) {=0A=
      this.childNodes[i] =3D newNode;=0A=
      =0A=
      var p =3D oldNode.parentNode;=0A=
      oldNode.parentNode =3D null;=0A=
      newNode.parentNode =3D p;=0A=
      =0A=
      p =3D oldNode.previousSibling;=0A=
      oldNode.previousSibling =3D null;=0A=
      newNode.previousSibling =3D p;=0A=
      if (newNode.previousSibling) {=0A=
        newNode.previousSibling.nextSibling =3D newNode;=0A=
      }=0A=
      =0A=
      p =3D oldNode.nextSibling;=0A=
      oldNode.nextSibling =3D null;=0A=
      newNode.nextSibling =3D p;=0A=
      if (newNode.nextSibling) {=0A=
        newNode.nextSibling.previousSibling =3D newNode;=0A=
      }=0A=
=0A=
      if (this.firstChild =3D=3D oldNode) {=0A=
        this.firstChild =3D newNode;=0A=
      }=0A=
=0A=
      if (this.lastChild =3D=3D oldNode) {=0A=
        this.lastChild =3D newNode;=0A=
      }=0A=
=0A=
      break;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
XNode.prototype.insertBefore =3D function(newNode, oldNode) {=0A=
  if (oldNode =3D=3D newNode) {=0A=
    return;=0A=
  }=0A=
=0A=
  if (oldNode.parentNode !=3D this) {=0A=
    return;=0A=
  }=0A=
=0A=
  if (newNode.parentNode) {=0A=
    newNode.parentNode.removeChild(newNode);=0A=
  }=0A=
=0A=
  var newChildren =3D [];=0A=
  for (var i =3D 0; i < this.childNodes.length; ++i) {=0A=
    var c =3D this.childNodes[i];=0A=
    if (c =3D=3D oldNode) {=0A=
      newChildren.push(newNode);=0A=
=0A=
      newNode.parentNode =3D this;=0A=
=0A=
      newNode.previousSibling =3D oldNode.previousSibling;=0A=
      oldNode.previousSibling =3D newNode;=0A=
      if (newNode.previousSibling) {=0A=
        newNode.previousSibling.nextSibling =3D newNode;=0A=
      }=0A=
      =0A=
      newNode.nextSibling =3D oldNode;=0A=
=0A=
      if (this.firstChild =3D=3D oldNode) {=0A=
        this.firstChild =3D newNode;=0A=
      }=0A=
    }=0A=
    newChildren.push(c);=0A=
  }=0A=
  this.childNodes =3D newChildren;=0A=
}=0A=
=0A=
XNode.prototype.removeChild =3D function(node) {=0A=
  var newChildren =3D [];=0A=
  for (var i =3D 0; i < this.childNodes.length; ++i) {=0A=
    var c =3D this.childNodes[i];=0A=
    if (c !=3D node) {=0A=
      newChildren.push(c);=0A=
    } else {=0A=
      if (c.previousSibling) {=0A=
        c.previousSibling.nextSibling =3D c.nextSibling;=0A=
      }=0A=
      if (c.nextSibling) {=0A=
        c.nextSibling.previousSibling =3D c.previousSibling;=0A=
      }=0A=
      if (this.firstChild =3D=3D c) {=0A=
        this.firstChild =3D c.nextSibling;=0A=
      }=0A=
      if (this.lastChild =3D=3D c) {=0A=
        this.lastChild =3D c.previousSibling;=0A=
      }=0A=
    }=0A=
  }=0A=
  this.childNodes =3D newChildren;=0A=
}=0A=
=0A=
=0A=
XNode.prototype.hasAttributes =3D function() {=0A=
  return this.attributes.length > 0;=0A=
}=0A=
=0A=
=0A=
XNode.prototype.setAttribute =3D function(name, value) {=0A=
  for (var i =3D 0; i < this.attributes.length; ++i) {=0A=
    if (this.attributes[i].nodeName =3D=3D name) {=0A=
      this.attributes[i].nodeValue =3D '' + value;=0A=
      return;=0A=
    }=0A=
  }=0A=
  this.attributes.push(new XNode(DOM_ATTRIBUTE_NODE, name, value));=0A=
}=0A=
=0A=
=0A=
XNode.prototype.getAttribute =3D function(name) {=0A=
  for (var i =3D 0; i < this.attributes.length; ++i) {=0A=
    if (this.attributes[i].nodeName =3D=3D name) {=0A=
      return this.attributes[i].nodeValue;=0A=
    }=0A=
  }=0A=
  return null;=0A=
}=0A=
=0A=
XNode.prototype.removeAttribute =3D function(name) {=0A=
  var a =3D [];=0A=
  for (var i =3D 0; i < this.attributes.length; ++i) {=0A=
    if (this.attributes[i].nodeName !=3D name) {=0A=
      a.push(this.attributes[i]);=0A=
    }=0A=
  }=0A=
  this.attributes =3D a;=0A=
}=0A=
=0A=
=0A=
function XDocument() {=0A=
  XNode.call(this, DOM_DOCUMENT_NODE, '#document', null, this);=0A=
  this.documentElement =3D null;=0A=
}=0A=
=0A=
XDocument.prototype =3D new XNode(DOM_DOCUMENT_NODE, '#document');=0A=
=0A=
XDocument.prototype.clear =3D function() {=0A=
  XNode.recycle(this.documentElement);=0A=
  this.documentElement =3D null;=0A=
}=0A=
=0A=
XDocument.prototype.appendChild =3D function(node) {=0A=
  XNode.prototype.appendChild.call(this, node);=0A=
  this.documentElement =3D this.childNodes[0];=0A=
}=0A=
=0A=
XDocument.prototype.createElement =3D function(name) {=0A=
  return XNode.create(DOM_ELEMENT_NODE, name, null, this);=0A=
}=0A=
=0A=
XDocument.prototype.createDocumentFragment =3D function() {=0A=
  return XNode.create(DOM_DOCUMENT_FRAGMENT_NODE, '#document-fragment',=0A=
                    null, this);=0A=
}=0A=
=0A=
XDocument.prototype.createTextNode =3D function(value) {=0A=
  return XNode.create(DOM_TEXT_NODE, '#text', value, this);=0A=
}=0A=
=0A=
XDocument.prototype.createAttribute =3D function(name) {=0A=
  return XNode.create(DOM_ATTRIBUTE_NODE, name, null, this);=0A=
}=0A=
=0A=
XDocument.prototype.createComment =3D function(data) {=0A=
  return XNode.create(DOM_COMMENT_NODE, '#comment', data, this);=0A=
}=0A=
=0A=
XNode.prototype.getElementsByTagName =3D function(name, list) {=0A=
  if (!list) {=0A=
    list =3D [];=0A=
  }=0A=
=0A=
  if (this.nodeName =3D=3D name) {=0A=
    list.push(this);=0A=
  }=0A=
=0A=
  for (var i =3D 0; i < this.childNodes.length; ++i) {=0A=
    this.childNodes[i].getElementsByTagName(name, list);=0A=
  }=0A=
=0A=
  return list;=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1189597630143481/LVDG_AjaxXpath.js

// Copyright 2005 Google Inc.=0A=
// All Rights Reserved=0A=
//=0A=
// An XPath parser and evaluator written in JavaScript. The=0A=
// implementation is complete except for functions handling=0A=
// namespaces.=0A=
//=0A=
// Reference: [XPATH] XPath Specification=0A=
// <http://www.w3.org/TR/1999/REC-xpath-19991116>.=0A=
//=0A=
//=0A=
// The API of the parser has several parts:=0A=
//=0A=
// 1. The parser function xpathParse() that takes a string and returns=0A=
// an expession object.=0A=
//=0A=
// 2. The expression object that has an evaluate() method to evaluate the=0A=
// XPath expression it represents. (It is actually a hierarchy of=0A=
// objects that resembles the parse tree, but an application will call=0A=
// evaluate() only on the top node of this hierarchy.)=0A=
//=0A=
// 3. The context object that is passed as an argument to the evaluate()=0A=
// method, which represents the DOM context in which the expression is=0A=
// evaluated.=0A=
//=0A=
// 4. The value object that is returned from evaluate() and represents=0A=
// values of the different types that are defined by XPath (number,=0A=
// string, boolean, and node-set), and allows to convert between them.=0A=
//=0A=
// These parts are near the top of the file, the functions and data=0A=
// that are used internally follow after them.=0A=
//=0A=
//=0A=
// TODO(mesch): add jsdoc comments. Use more coherent naming.=0A=
//=0A=
//=0A=
// Author: Steffen Meschkat <mesch@google.com>=0A=
=0A=
=0A=
// The entry point for the parser.=0A=
//=0A=
// @param expr a string that contains an XPath expression.=0A=
// @return an expression object that can be evaluated with an=0A=
// expression context.=0A=
=0A=
function xpathParse(expr) {=0A=
  if (xpathdebug) {=0A=
    Log.write('XPath parse ' + expr);=0A=
  }=0A=
  xpathParseInit();=0A=
=0A=
  var cached =3D xpathCacheLookup(expr);=0A=
  if (cached) {=0A=
    if (xpathdebug) {=0A=
      Log.write(' ... cached');=0A=
    }=0A=
    return cached;=0A=
  }=0A=
=0A=
  // Optimize for a few common cases: simple attribute node tests=0A=
  // (@id), simple element node tests (page), variable references=0A=
  // ($address), numbers (4), multi-step path expressions where each=0A=
  // step is a plain element node test=0A=
  // (page/overlay/locations/location).=0A=
  =0A=
  if (expr.match(/^(\$|@)?\w+$/i)) {=0A=
    var ret =3D makeSimpleExpr(expr);=0A=
    xpathParseCache[expr] =3D ret;=0A=
    if (xpathdebug) {=0A=
      Log.write(' ... simple');=0A=
    }=0A=
    return ret;=0A=
  }=0A=
=0A=
  if (expr.match(/^\w+(\/\w+)*$/i)) {=0A=
    var ret =3D makeSimpleExpr2(expr);=0A=
    xpathParseCache[expr] =3D ret;=0A=
    if (xpathdebug) {=0A=
      Log.write(' ... simple 2');=0A=
    }=0A=
    return ret;=0A=
  }=0A=
=0A=
  var cachekey =3D expr; // expr is modified during parse=0A=
  if (xpathdebug) {=0A=
    Timer.start('XPath parse', cachekey);=0A=
  }=0A=
=0A=
  var stack =3D [];=0A=
  var ahead =3D null;=0A=
  var previous =3D null;=0A=
  var done =3D false;=0A=
=0A=
  var parse_count =3D 0;=0A=
  var lexer_count =3D 0;=0A=
  var reduce_count =3D 0;=0A=
  =0A=
  while (!done) {=0A=
    parse_count++;=0A=
    expr =3D expr.replace(/^\s*/, '');=0A=
    previous =3D ahead;=0A=
    ahead =3D null;=0A=
=0A=
    var rule =3D null;=0A=
    var match =3D '';=0A=
    for (var i =3D 0; i < xpathTokenRules.length; ++i) {=0A=
      var result =3D xpathTokenRules[i].re.exec(expr);=0A=
      lexer_count++;=0A=
      if (result && result.length > 0 && result[0].length > =
match.length) {=0A=
        rule =3D xpathTokenRules[i];=0A=
        match =3D result[0];=0A=
        break;=0A=
      }=0A=
    }=0A=
=0A=
    // Special case: allow operator keywords to be element and=0A=
    // variable names.=0A=
=0A=
    // NOTE(mesch): The parser resolves conflicts by looking ahead,=0A=
    // and this is the only case where we look back to=0A=
    // disambiguate. So this is indeed something different, and=0A=
    // looking back is usually done in the lexer (via states in the=0A=
    // general case, called "start conditions" in flex(1)). Also,the=0A=
    // conflict resolution in the parser is not as robust as it could=0A=
    // be, so I'd like to keep as much off the parser as possible (all=0A=
    // these precedence values should be computed from the grammar=0A=
    // rules and possibly associativity declarations, as in bison(1),=0A=
    // and not explicitly set.=0A=
=0A=
    if (rule &&=0A=
        (rule =3D=3D TOK_DIV || =0A=
         rule =3D=3D TOK_MOD ||=0A=
         rule =3D=3D TOK_AND || =0A=
         rule =3D=3D TOK_OR) &&=0A=
        (!previous || =0A=
         previous.tag =3D=3D TOK_AT || =0A=
         previous.tag =3D=3D TOK_DSLASH || =0A=
         previous.tag =3D=3D TOK_SLASH ||=0A=
         previous.tag =3D=3D TOK_AXIS || =0A=
         previous.tag =3D=3D TOK_DOLLAR)) {=0A=
      rule =3D TOK_QNAME;=0A=
    }=0A=
=0A=
    if (rule) {=0A=
      expr =3D expr.substr(match.length);=0A=
      if (xpathdebug) {=0A=
        Log.write('token: ' + match + ' -- ' + rule.label);=0A=
      }=0A=
      ahead =3D {=0A=
        tag: rule,=0A=
        match: match,=0A=
        prec: rule.prec ?  rule.prec : 0, // || 0 is removed by the =
compiler=0A=
        expr: makeTokenExpr(match)=0A=
      };=0A=
=0A=
    } else {=0A=
      if (xpathdebug) {=0A=
        Log.write('DONE');=0A=
      }=0A=
      done =3D true;=0A=
    }=0A=
=0A=
    while (xpathReduce(stack, ahead)) {=0A=
      reduce_count++;=0A=
      if (xpathdebug) {=0A=
        Log.write('stack: ' + stackToString(stack));=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  if (xpathdebug) {=0A=
    Log.write(stackToString(stack));=0A=
  }=0A=
=0A=
  if (stack.length !=3D 1) {=0A=
    throw 'XPath parse error ' + cachekey + ':\n' + stackToString(stack);=0A=
  }=0A=
=0A=
  var result =3D stack[0].expr;=0A=
  xpathParseCache[cachekey] =3D result;=0A=
=0A=
  if (xpathdebug) {=0A=
    Timer.end('XPath parse', cachekey);=0A=
  }=0A=
=0A=
  if (xpathdebug) {=0A=
    Log.write('XPath parse: ' + parse_count + ' / ' + =0A=
              lexer_count + ' / ' + reduce_count);=0A=
  }=0A=
=0A=
  return result;=0A=
}=0A=
=0A=
var xpathParseCache =3D {};=0A=
=0A=
function xpathCacheLookup(expr) {=0A=
  return xpathParseCache[expr];=0A=
}=0A=
=0A=
function xpathReduce(stack, ahead) {=0A=
  var cand =3D null;=0A=
=0A=
  if (stack.length > 0) {=0A=
    var top =3D stack[stack.length-1];=0A=
    var ruleset =3D xpathRules[top.tag.key];=0A=
=0A=
    if (ruleset) {=0A=
      for (var i =3D 0; i < ruleset.length; ++i) {=0A=
        var rule =3D ruleset[i];=0A=
        var match =3D xpathMatchStack(stack, rule[1]);=0A=
        if (match.length) {=0A=
          cand =3D {=0A=
            tag: rule[0],=0A=
            rule: rule,=0A=
            match: match=0A=
          };=0A=
          cand.prec =3D xpathGrammarPrecedence(cand);=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  var ret;=0A=
  if (cand && (!ahead || cand.prec > ahead.prec || =0A=
               (ahead.tag.left && cand.prec >=3D ahead.prec))) {=0A=
    for (var i =3D 0; i < cand.match.matchlength; ++i) {=0A=
      stack.pop();=0A=
    }=0A=
=0A=
    if (xpathdebug) {=0A=
      Log.write('reduce ' + cand.tag.label + ' ' + cand.prec +=0A=
                ' ahead ' + (ahead ? ahead.tag.label + ' ' + ahead.prec =
+ =0A=
                             (ahead.tag.left ? ' left' : '')=0A=
                             : ' none '));=0A=
    }=0A=
=0A=
    var matchexpr =3D mapExpr(cand.match, function(m) { return m.expr; =
});=0A=
    cand.expr =3D cand.rule[3].apply(null, matchexpr);=0A=
=0A=
    stack.push(cand);=0A=
    ret =3D true;=0A=
=0A=
  } else {=0A=
    if (ahead) {=0A=
      if (xpathdebug) {=0A=
        Log.write('shift ' + ahead.tag.label + ' ' + ahead.prec + =0A=
                  (ahead.tag.left ? ' left' : '') +=0A=
                  ' over ' + (cand ? cand.tag.label + ' ' + =0A=
                              cand.prec : ' none'));=0A=
      }=0A=
      stack.push(ahead);=0A=
    }=0A=
    ret =3D false;=0A=
  }=0A=
  return ret;=0A=
}=0A=
=0A=
function xpathMatchStack(stack, pattern) {=0A=
=0A=
  // NOTE(mesch): The stack matches for variable cardinality are=0A=
  // greedy but don't do backtracking. This would be an issue only=0A=
  // with rules of the form A* A, i.e. with an element with variable=0A=
  // cardinality followed by the same element. Since that doesn't=0A=
  // occur in the grammar at hand, all matches on the stack are=0A=
  // unambiguous.=0A=
=0A=
  var S =3D stack.length;=0A=
  var P =3D pattern.length;=0A=
  var p, s;=0A=
  var match =3D [];=0A=
  match.matchlength =3D 0;=0A=
  var ds =3D 0;=0A=
  for (p =3D P - 1, s =3D S - 1; p >=3D 0 && s >=3D 0; --p, s -=3D ds) {=0A=
    ds =3D 0;=0A=
    var qmatch =3D [];=0A=
    if (pattern[p] =3D=3D Q_MM) {=0A=
      p -=3D 1;=0A=
      match.push(qmatch);=0A=
      while (s - ds >=3D 0 && stack[s - ds].tag =3D=3D pattern[p]) {=0A=
        qmatch.push(stack[s - ds]);=0A=
        ds +=3D 1;=0A=
        match.matchlength +=3D 1;=0A=
      }=0A=
=0A=
    } else if (pattern[p] =3D=3D Q_01) {=0A=
      p -=3D 1;=0A=
      match.push(qmatch);=0A=
      while (s - ds >=3D 0 && ds < 2 && stack[s - ds].tag =3D=3D =
pattern[p]) {=0A=
        qmatch.push(stack[s - ds]);=0A=
        ds +=3D 1;=0A=
        match.matchlength +=3D 1;=0A=
      }=0A=
=0A=
    } else if (pattern[p] =3D=3D Q_1M) {=0A=
      p -=3D 1;=0A=
      match.push(qmatch);=0A=
      if (stack[s].tag =3D=3D pattern[p]) {=0A=
        while (s - ds >=3D 0 && stack[s - ds].tag =3D=3D pattern[p]) {=0A=
          qmatch.push(stack[s - ds]);=0A=
          ds +=3D 1;=0A=
          match.matchlength +=3D 1;=0A=
        }=0A=
      } else {=0A=
        return [];=0A=
      }=0A=
=0A=
    } else if (stack[s].tag =3D=3D pattern[p]) {=0A=
      match.push(stack[s]);=0A=
      ds +=3D 1;=0A=
      match.matchlength +=3D 1;=0A=
=0A=
    } else {=0A=
      return [];=0A=
    }=0A=
=0A=
    reverseInplace(qmatch);=0A=
    qmatch.expr =3D mapExpr(qmatch, function(m) { return m.expr; });=0A=
  }=0A=
=0A=
  reverseInplace(match);=0A=
=0A=
  if (p =3D=3D -1) {=0A=
    return match;=0A=
=0A=
  } else {=0A=
    return [];=0A=
  }=0A=
}=0A=
=0A=
function xpathTokenPrecedence(tag) {=0A=
  return tag.prec || 2;=0A=
}=0A=
=0A=
function xpathGrammarPrecedence(frame) {=0A=
  var ret =3D 0;=0A=
=0A=
  if (frame.rule) { /* normal reduce */=0A=
    if (frame.rule.length >=3D 3 && frame.rule[2] >=3D 0) {=0A=
      ret =3D frame.rule[2];=0A=
=0A=
    } else {=0A=
      for (var i =3D 0; i < frame.rule[1].length; ++i) {=0A=
        var p =3D xpathTokenPrecedence(frame.rule[1][i]);=0A=
        ret =3D Math.max(ret, p);=0A=
      }=0A=
    }=0A=
  } else if (frame.tag) { /* TOKEN match */=0A=
    ret =3D xpathTokenPrecedence(frame.tag);=0A=
=0A=
  } else if (frame.length) { /* Q_ match */=0A=
    for (var j =3D 0; j < frame.length; ++j) {=0A=
      var p =3D xpathGrammarPrecedence(frame[j]);=0A=
      ret =3D Math.max(ret, p);=0A=
    }=0A=
  }=0A=
=0A=
  return ret;=0A=
}=0A=
=0A=
function stackToString(stack) {=0A=
  var ret =3D '';=0A=
  for (var i =3D 0; i < stack.length; ++i) {=0A=
    if (ret) {=0A=
      ret +=3D '\n';=0A=
    }=0A=
    ret +=3D stack[i].tag.label;=0A=
  }=0A=
  return ret;=0A=
}=0A=
=0A=
=0A=
// XPath expression evaluation context. An XPath context consists of a=0A=
// DOM node, a list of DOM nodes that contains this node, a number=0A=
// that represents the position of the single node in the list, and a=0A=
// current set of variable bindings. (See XPath spec.)=0A=
//=0A=
// The interface of the expression context:=0A=
//=0A=
//   Constructor -- gets the node, its position, the node set it=0A=
//   belongs to, and a parent context as arguments. The parent context=0A=
//   is used to implement scoping rules for variables: if a variable=0A=
//   is not found in the current context, it is looked for in the=0A=
//   parent context, recursively. Except for node, all arguments have=0A=
//   default values: default position is 0, default node set is the=0A=
//   set that contains only the node, and the default parent is null.=0A=
//=0A=
//     Notice that position starts at 0 at the outside interface;=0A=
//     inside XPath expressions this shows up as position()=3D1.=0A=
//=0A=
//   clone() -- creates a new context with the current context as=0A=
//   parent. If passed as argument to clone(), the new context has a=0A=
//   different node, position, or node set. What is not passed is=0A=
//   inherited from the cloned context.=0A=
//=0A=
//   setVariable(name, expr) -- binds given XPath expression to the=0A=
//   name.=0A=
//=0A=
//   getVariable(name) -- what the name says.=0A=
//=0A=
//   setNode(node, position) -- sets the context to the new node and=0A=
//   its corresponding position. Needed to implement scoping rules for=0A=
//   variables in XPath. (A variable is visible to all subsequent=0A=
//   siblings, not only to its children.)=0A=
=0A=
function ExprContext(node, position, nodelist, parent) {=0A=
  this.node =3D node;=0A=
  this.position =3D position || 0;=0A=
  this.nodelist =3D nodelist || [ node ];=0A=
  this.variables =3D {};=0A=
  this.parent =3D parent || null;=0A=
  this.root =3D parent ? parent.root : node.ownerDocument;=0A=
}=0A=
=0A=
ExprContext.prototype.clone =3D function(node, position, nodelist) {=0A=
  return new=0A=
  ExprContext(node || this.node,=0A=
              typeof position !=3D 'undefined' ? position : =
this.position,=0A=
              nodelist || this.nodelist, this);=0A=
};=0A=
=0A=
ExprContext.prototype.setVariable =3D function(name, value) {=0A=
  this.variables[name] =3D value;=0A=
};=0A=
=0A=
ExprContext.prototype.getVariable =3D function(name) {=0A=
  if (typeof this.variables[name] !=3D 'undefined') {=0A=
    return this.variables[name];=0A=
=0A=
  } else if (this.parent) {=0A=
    return this.parent.getVariable(name);=0A=
=0A=
  } else {=0A=
    return null;=0A=
  }=0A=
}=0A=
=0A=
ExprContext.prototype.setNode =3D function(node, position) {=0A=
  this.node =3D node;=0A=
  this.position =3D position;=0A=
}=0A=
=0A=
=0A=
// XPath expression values. They are what XPath expressions evaluate=0A=
// to. Strangely, the different value types are not specified in the=0A=
// XPath syntax, but only in the semantics, so they don't show up as=0A=
// nonterminals in the grammar. Yet, some expressions are required to=0A=
// evaluate to particular types, and not every type can be coerced=0A=
// into every other type. Although the types of XPath values are=0A=
// similar to the types present in JavaScript, the type coercion rules=0A=
// are a bit peculiar, so we explicitly model XPath types instead of=0A=
// mapping them onto JavaScript types. (See XPath spec.)=0A=
//=0A=
// The four types are:=0A=
//=0A=
//   StringValue=0A=
//=0A=
//   NumberValue=0A=
//=0A=
//   BooleanValue=0A=
//=0A=
//   NodeSetValue=0A=
//=0A=
// The common interface of the value classes consists of methods that=0A=
// implement the XPath type coercion rules:=0A=
//=0A=
//   stringValue() -- returns the value as a JavaScript String,=0A=
//=0A=
//   numberValue() -- returns the value as a JavaScript Number,=0A=
//=0A=
//   booleanValue() -- returns the value as a JavaScript Boolean,=0A=
//=0A=
//   nodeSetValue() -- returns the value as a JavaScript Array of DOM=0A=
//   Node objects.=0A=
//=0A=
=0A=
function StringValue(value) {=0A=
  this.value =3D value;=0A=
  this.type =3D 'string';=0A=
}=0A=
=0A=
StringValue.prototype.stringValue =3D function() {=0A=
  return this.value;=0A=
}=0A=
=0A=
StringValue.prototype.booleanValue =3D function() {=0A=
  return this.value.length > 0;=0A=
}=0A=
=0A=
StringValue.prototype.numberValue =3D function() {=0A=
  return this.value - 0;=0A=
}=0A=
=0A=
StringValue.prototype.nodeSetValue =3D function() {=0A=
  throw this + ' ' + Error().stack;=0A=
}=0A=
=0A=
function BooleanValue(value) {=0A=
  this.value =3D value;=0A=
  this.type =3D 'boolean';=0A=
}=0A=
=0A=
BooleanValue.prototype.stringValue =3D function() {=0A=
  return '' + this.value;=0A=
}=0A=
=0A=
BooleanValue.prototype.booleanValue =3D function() {=0A=
  return this.value;=0A=
}=0A=
=0A=
BooleanValue.prototype.numberValue =3D function() {=0A=
  return this.value ? 1 : 0;=0A=
}=0A=
=0A=
BooleanValue.prototype.nodeSetValue =3D function() {=0A=
  throw this + ' ' + Error().stack;=0A=
}=0A=
=0A=
function NumberValue(value) {=0A=
  this.value =3D value;=0A=
  this.type =3D 'number';=0A=
}=0A=
=0A=
NumberValue.prototype.stringValue =3D function() {=0A=
  return '' + this.value;=0A=
}=0A=
=0A=
NumberValue.prototype.booleanValue =3D function() {=0A=
  return !!this.value;=0A=
}=0A=
=0A=
NumberValue.prototype.numberValue =3D function() {=0A=
  return this.value - 0;=0A=
}=0A=
=0A=
NumberValue.prototype.nodeSetValue =3D function() {=0A=
  throw this + ' ' + Error().stack;=0A=
}=0A=
=0A=
function NodeSetValue(value) {=0A=
  this.value =3D value;=0A=
  this.type =3D 'node-set';=0A=
}=0A=
=0A=
NodeSetValue.prototype.stringValue =3D function() {=0A=
  if (this.value.length =3D=3D 0) {=0A=
    return '';=0A=
  } else {=0A=
    return xmlValue(this.value[0]);=0A=
  }=0A=
}=0A=
=0A=
NodeSetValue.prototype.booleanValue =3D function() {=0A=
  return this.value.length > 0;=0A=
}=0A=
=0A=
NodeSetValue.prototype.numberValue =3D function() {=0A=
  return this.stringValue() - 0;=0A=
}=0A=
=0A=
NodeSetValue.prototype.nodeSetValue =3D function() {=0A=
  return this.value;=0A=
};=0A=
=0A=
// XPath expressions. They are used as nodes in the parse tree and=0A=
// possess an evaluate() method to compute an XPath value given an XPath=0A=
// context. Expressions are returned from the parser. Teh set of=0A=
// expression classes closely mirrors the set of non terminal symbols=0A=
// in the grammar. Every non trivial nonterminal symbol has a=0A=
// corresponding expression class.=0A=
//=0A=
// The common expression interface consists of the following methods:=0A=
//=0A=
// evaluate(context) -- evaluates the expression, returns a value.=0A=
//=0A=
// toString() -- returns the XPath text representation of the=0A=
// expression (defined in xsltdebug.js).=0A=
//=0A=
// parseTree(indent) -- returns a parse tree representation of the=0A=
// expression (defined in xsltdebug.js).=0A=
=0A=
function TokenExpr(m) {=0A=
  this.value =3D m;=0A=
}=0A=
=0A=
TokenExpr.prototype.evaluate =3D function() {=0A=
  return new StringValue(this.value);=0A=
};=0A=
=0A=
function LocationExpr() {=0A=
  this.absolute =3D false;=0A=
  this.steps =3D [];=0A=
}=0A=
=0A=
LocationExpr.prototype.appendStep =3D function(s) {=0A=
  this.steps.push(s);=0A=
}=0A=
=0A=
LocationExpr.prototype.prependStep =3D function(s) {=0A=
  var steps0 =3D this.steps;=0A=
  this.steps =3D [ s ];=0A=
  for (var i =3D 0; i < steps0.length; ++i) {=0A=
    this.steps.push(steps0[i]);=0A=
  }=0A=
};=0A=
=0A=
LocationExpr.prototype.evaluate =3D function(ctx) {=0A=
  var start;=0A=
  if (this.absolute) {=0A=
    start =3D ctx.root;=0A=
=0A=
  } else {=0A=
    start =3D ctx.node;=0A=
  }=0A=
=0A=
  var nodes =3D [];=0A=
  xPathStep(nodes, this.steps, 0, start, ctx);=0A=
  return new NodeSetValue(nodes);=0A=
};=0A=
=0A=
function xPathStep(nodes, steps, step, input, ctx) {=0A=
  var s =3D steps[step];=0A=
  var ctx2 =3D ctx.clone(input);=0A=
  var nodelist =3D s.evaluate(ctx2).nodeSetValue();=0A=
=0A=
  for (var i =3D 0; i < nodelist.length; ++i) {=0A=
    if (step =3D=3D steps.length - 1) {=0A=
      nodes.push(nodelist[i]);=0A=
    } else {=0A=
      xPathStep(nodes, steps, step + 1, nodelist[i], ctx);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
function StepExpr(axis, nodetest, predicate) {=0A=
  this.axis =3D axis;=0A=
  this.nodetest =3D nodetest;=0A=
  this.predicate =3D predicate || [];=0A=
}=0A=
=0A=
StepExpr.prototype.appendPredicate =3D function(p) {=0A=
  this.predicate.push(p);=0A=
}=0A=
=0A=
StepExpr.prototype.evaluate =3D function(ctx) {=0A=
  var input =3D ctx.node;=0A=
  var nodelist =3D [];=0A=
=0A=
  // NOTE(mesch): When this was a switch() statement, it didn't work=0A=
  // in Safari/2.0. Not sure why though; it resulted in the JavaScript=0A=
  // console output "undefined" (without any line number or so).=0A=
=0A=
  if (this.axis =3D=3D  xpathAxis.ANCESTOR_OR_SELF) {=0A=
    nodelist.push(input);=0A=
    for (var n =3D input.parentNode; n; n =3D input.parentNode) {=0A=
      nodelist.push(n);=0A=
    }=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.ANCESTOR) {=0A=
    for (var n =3D input.parentNode; n; n =3D input.parentNode) {=0A=
      nodelist.push(n);=0A=
    }=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.ATTRIBUTE) {=0A=
    copyArray(nodelist, input.attributes);=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.CHILD) {=0A=
    copyArray(nodelist, input.childNodes);=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.DESCENDANT_OR_SELF) {=0A=
    nodelist.push(input);=0A=
    xpathCollectDescendants(nodelist, input);=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.DESCENDANT) {=0A=
    xpathCollectDescendants(nodelist, input);=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.FOLLOWING) {=0A=
    for (var n =3D input.parentNode; n; n =3D n.parentNode) {=0A=
      for (var nn =3D n.nextSibling; nn; nn =3D nn.nextSibling) {=0A=
        nodelist.push(nn);=0A=
        xpathCollectDescendants(nodelist, nn);=0A=
      }=0A=
    }=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.FOLLOWING_SIBLING) {=0A=
    for (var n =3D input.nextSibling; n; n =3D input.nextSibling) {=0A=
      nodelist.push(n);=0A=
    }=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.NAMESPACE) {=0A=
    alert('not implemented: axis namespace');=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.PARENT) {=0A=
    if (input.parentNode) {=0A=
      nodelist.push(input.parentNode);=0A=
    }=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.PRECEDING) {=0A=
    for (var n =3D input.parentNode; n; n =3D n.parentNode) {=0A=
      for (var nn =3D n.previousSibling; nn; nn =3D nn.previousSibling) {=0A=
        nodelist.push(nn);=0A=
        xpathCollectDescendantsReverse(nodelist, nn);=0A=
      }=0A=
    }=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.PRECEDING_SIBLING) {=0A=
    for (var n =3D input.previousSibling; n; n =3D =
input.previousSibling) {=0A=
      nodelist.push(n);=0A=
    }=0A=
=0A=
  } else if (this.axis =3D=3D xpathAxis.SELF) {=0A=
    nodelist.push(input);=0A=
=0A=
  } else {=0A=
    throw 'ERROR -- NO SUCH AXIS: ' + this.axis;=0A=
  }=0A=
=0A=
  // process node test=0A=
  var nodelist0 =3D nodelist;=0A=
  nodelist =3D [];=0A=
  for (var i =3D 0; i < nodelist0.length; ++i) {=0A=
    var n =3D nodelist0[i];=0A=
    if (this.nodetest.evaluate(ctx.clone(n, i, =
nodelist0)).booleanValue()) {=0A=
      nodelist.push(n);=0A=
    }=0A=
  }=0A=
=0A=
  // process predicates=0A=
  for (var i =3D 0; i < this.predicate.length; ++i) {=0A=
    var nodelist0 =3D nodelist;=0A=
    nodelist =3D [];=0A=
    for (var ii =3D 0; ii < nodelist0.length; ++ii) {=0A=
      var n =3D nodelist0[ii];=0A=
      if (this.predicate[i].evaluate(ctx.clone(n, ii, =
nodelist0)).booleanValue()) {=0A=
        nodelist.push(n);=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  return new NodeSetValue(nodelist);=0A=
};=0A=
=0A=
function NodeTestAny() {=0A=
  this.value =3D new BooleanValue(true);=0A=
}=0A=
=0A=
NodeTestAny.prototype.evaluate =3D function(ctx) {=0A=
  return this.value;=0A=
};=0A=
=0A=
function NodeTestElement() {}=0A=
=0A=
NodeTestElement.prototype.evaluate =3D function(ctx) {=0A=
  return new BooleanValue(ctx.node.nodeType =3D=3D DOM_ELEMENT_NODE);=0A=
}=0A=
=0A=
function NodeTestText() {}=0A=
=0A=
NodeTestText.prototype.evaluate =3D function(ctx) {=0A=
  return new BooleanValue(ctx.node.nodeType =3D=3D DOM_TEXT_NODE);=0A=
}=0A=
=0A=
function NodeTestComment() {}=0A=
=0A=
NodeTestComment.prototype.evaluate =3D function(ctx) {=0A=
  return new BooleanValue(ctx.node.nodeType =3D=3D DOM_COMMENT_NODE);=0A=
}=0A=
=0A=
function NodeTestPI(target) {=0A=
  this.target =3D target;=0A=
}=0A=
=0A=
NodeTestPI.prototype.evaluate =3D function(ctx) {=0A=
  return new=0A=
  BooleanValue(ctx.node.nodeType =3D=3D DOM_PROCESSING_INSTRUCTION_NODE =
&&=0A=
               (!this.target || ctx.node.nodeName =3D=3D this.target));=0A=
}=0A=
=0A=
function NodeTestNC(nsprefix) {=0A=
  this.regex =3D new RegExp("^" + nsprefix + ":");=0A=
  this.nsprefix =3D nsprefix;=0A=
}=0A=
=0A=
NodeTestNC.prototype.evaluate =3D function(ctx) {=0A=
  var n =3D ctx.node;=0A=
  return new BooleanValue(this.regex.match(n.nodeName));=0A=
}=0A=
=0A=
function NodeTestName(name) {=0A=
  this.name =3D name;=0A=
}=0A=
=0A=
NodeTestName.prototype.evaluate =3D function(ctx) {=0A=
  var n =3D ctx.node;=0A=
  return new BooleanValue(n.nodeName =3D=3D this.name);=0A=
}=0A=
=0A=
function PredicateExpr(expr) {=0A=
  this.expr =3D expr;=0A=
}=0A=
=0A=
PredicateExpr.prototype.evaluate =3D function(ctx) {=0A=
  var v =3D this.expr.evaluate(ctx);=0A=
  if (v.type =3D=3D 'number') {=0A=
    // NOTE(mesch): Internally, position is represented starting with=0A=
    // 0, however in XPath position starts with 1. See functions=0A=
    // position() and last().=0A=
    return new BooleanValue(ctx.position =3D=3D v.numberValue() - 1);=0A=
  } else {=0A=
    return new BooleanValue(v.booleanValue());=0A=
  }=0A=
};=0A=
=0A=
function FunctionCallExpr(name) {=0A=
  this.name =3D name;=0A=
  this.args =3D [];=0A=
}=0A=
=0A=
FunctionCallExpr.prototype.appendArg =3D function(arg) {=0A=
  this.args.push(arg);=0A=
};=0A=
=0A=
FunctionCallExpr.prototype.evaluate =3D function(ctx) {=0A=
  var fn =3D '' + this.name.value;=0A=
  var f =3D this.xpathfunctions[fn];=0A=
  if (f) {=0A=
    return f.call(this, ctx);=0A=
  } else {=0A=
    Log.write('XPath NO SUCH FUNCTION ' + fn);=0A=
    return new BooleanValue(false);=0A=
  }=0A=
};=0A=
=0A=
FunctionCallExpr.prototype.xpathfunctions =3D {=0A=
  'last': function(ctx) {=0A=
    assert(this.args.length =3D=3D 0);=0A=
    // NOTE(mesch): XPath position starts at 1.=0A=
    return new NumberValue(ctx.nodelist.length);=0A=
  },=0A=
=0A=
  'position': function(ctx) {=0A=
    assert(this.args.length =3D=3D 0);=0A=
    // NOTE(mesch): XPath position starts at 1.=0A=
    return new NumberValue(ctx.position + 1);=0A=
  },=0A=
=0A=
  'count': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    var v =3D this.args[0].evaluate(ctx);=0A=
    return new NumberValue(v.nodeSetValue().length);=0A=
  },=0A=
=0A=
  'id': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    var e =3D this.args.evaluate(ctx);=0A=
    var ret =3D [];=0A=
    var ids;=0A=
    if (e.type =3D=3D 'node-set') {=0A=
      ids =3D [];=0A=
      for (var i =3D 0; i < e.length; ++i) {=0A=
        var v =3D xmlValue(e[i]).split(/\s+/);=0A=
        for (var ii =3D 0; ii < v.length; ++ii) {=0A=
          ids.push(v[ii]);=0A=
        }=0A=
      }=0A=
    } else {=0A=
      ids =3D e.split(/\s+/);=0A=
    }=0A=
    var d =3D ctx.node.ownerDocument;=0A=
    for (var i =3D 0; i < ids.length; ++i) {=0A=
      var n =3D d.getElementById(ids[i]);=0A=
      if (n) {=0A=
        ret.push(n);=0A=
      }=0A=
    }=0A=
    return new NodeSetValue(ret);=0A=
  },=0A=
=0A=
  'local-name': function(ctx) {=0A=
    alert('not implmented yet: XPath function local-name()');=0A=
  },=0A=
=0A=
  'namespace-uri': function(ctx) {=0A=
    alert('not implmented yet: XPath function namespace-uri()');=0A=
  },=0A=
=0A=
  'name': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1 || this.args.length =3D=3D 0);=0A=
    var n;=0A=
    if (this.args.length =3D=3D 0) {=0A=
      n =3D [ ctx.node ];=0A=
    } else {=0A=
      n =3D this.args[0].evaluate(ctx).nodeSetValue();=0A=
    }=0A=
=0A=
    if (n.length =3D=3D 0) {=0A=
      return new StringValue('');=0A=
    } else {=0A=
      return new StringValue(n[0].nodeName);=0A=
    }=0A=
  },=0A=
=0A=
  'string':  function(ctx) {=0A=
    assert(this.args.length =3D=3D 1 || this.args.length =3D=3D 0);=0A=
    if (this.args.length =3D=3D 0) {=0A=
      return new StringValue(new NodeSetValue([ ctx.node =
]).stringValue());=0A=
    } else {=0A=
      return new StringValue(this.args[0].evaluate(ctx).stringValue());=0A=
    }=0A=
  },=0A=
=0A=
  'concat': function(ctx) {=0A=
    var ret =3D '';=0A=
    for (var i =3D 0; i < this.args.length; ++i) {=0A=
      ret +=3D this.args[i].evaluate(ctx).stringValue();=0A=
    }=0A=
    return new StringValue(ret);=0A=
  },=0A=
=0A=
  'starts-with': function(ctx) {=0A=
    assert(this.args.length =3D=3D 2);=0A=
    var s0 =3D this.args[0].evaluate(ctx).stringValue();=0A=
    var s1 =3D this.args[1].evaluate(ctx).stringValue();=0A=
    return new BooleanValue(s0.indexOf(s1) =3D=3D 0);=0A=
  },=0A=
=0A=
  'contains': function(ctx) {=0A=
    assert(this.args.length =3D=3D 2);=0A=
    var s0 =3D this.args[0].evaluate(ctx).stringValue();=0A=
    var s1 =3D this.args[1].evaluate(ctx).stringValue();=0A=
    return new BooleanValue(s0.indexOf(s1) !=3D -1);=0A=
  },=0A=
=0A=
  'substring-before': function(ctx) {=0A=
    assert(this.args.length =3D=3D 2);=0A=
    var s0 =3D this.args[0].evaluate(ctx).stringValue();=0A=
    var s1 =3D this.args[1].evaluate(ctx).stringValue();=0A=
    var i =3D s0.indexOf(s1);=0A=
    var ret;=0A=
    if (i =3D=3D -1) {=0A=
      ret =3D '';=0A=
    } else {=0A=
      ret =3D s0.substr(0,i);=0A=
    }=0A=
    return new StringValue(ret);=0A=
  },=0A=
=0A=
  'substring-after': function(ctx) {=0A=
    assert(this.args.length =3D=3D 2);=0A=
    var s0 =3D this.args[0].evaluate(ctx).stringValue();=0A=
    var s1 =3D this.args[1].evaluate(ctx).stringValue();=0A=
    var i =3D s0.indexOf(s1);=0A=
    var ret;=0A=
    if (i =3D=3D -1) {=0A=
      ret =3D '';=0A=
    } else {=0A=
      ret =3D s0.substr(i + s1.length);=0A=
    }=0A=
    return new StringValue(ret);=0A=
  },=0A=
=0A=
  'substring': function(ctx) {=0A=
    // NOTE: XPath defines the position of the first character in a=0A=
    // string to be 1, in JavaScript this is 0 ([XPATH] Section 4.2).=0A=
    assert(this.args.length =3D=3D 2 || this.args.length =3D=3D 3);=0A=
    var s0 =3D this.args[0].evaluate(ctx).stringValue();=0A=
    var s1 =3D this.args[1].evaluate(ctx).numberValue();=0A=
    var ret;=0A=
    if (this.args.length =3D=3D 2) {=0A=
      var i1 =3D Math.max(0, Math.round(s1) - 1);=0A=
      ret =3D s0.substr(i1);=0A=
=0A=
    } else {=0A=
      var s2 =3D this.args[2].evaluate(ctx).numberValue();=0A=
      var i0 =3D Math.round(s1) - 1;=0A=
      var i1 =3D Math.max(0, i0);=0A=
      var i2 =3D Math.round(s2) - Math.max(0, -i0);=0A=
      ret =3D s0.substr(i1, i2);=0A=
    }=0A=
    return new StringValue(ret);=0A=
  },=0A=
=0A=
  'string-length': function(ctx) {=0A=
    var s;=0A=
    if (this.args.length > 0) {=0A=
      s =3D this.args[0].evaluate(ctx).stringValue();=0A=
    } else {=0A=
      s =3D new NodeSetValue([ ctx.node ]).stringValue();=0A=
    }=0A=
    return new NumberValue(s.length);=0A=
  },=0A=
=0A=
  'normalize-space': function(ctx) {=0A=
    var s;=0A=
    if (this.args.length > 0) {=0A=
      s =3D this.args[0].evaluate(ctx).stringValue();=0A=
    } else {=0A=
      s =3D new NodeSetValue([ ctx.node ]).stringValue();=0A=
    }=0A=
    s =3D s.replace(/^\s*/,'').replace(/\s*$/,'').replace(/\s+/g, ' ');=0A=
    return new StringValue(s);=0A=
  },=0A=
=0A=
  'translate': function(ctx) {=0A=
    assert(this.args.length =3D=3D 3);=0A=
    var s0 =3D this.args[0].evaluate(ctx).stringValue();=0A=
    var s1 =3D this.args[1].evaluate(ctx).stringValue();=0A=
    var s2 =3D this.args[2].evaluate(ctx).stringValue();=0A=
=0A=
    for (var i =3D 0; i < s1.length; ++i) {=0A=
      s0 =3D s0.replace(new RegExp(s1.charAt(i), 'g'), s2.charAt(i));=0A=
    }=0A=
    return new StringValue(s0);=0A=
  },=0A=
=0A=
  'boolean': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    return new BooleanValue(this.args[0].evaluate(ctx).booleanValue());=0A=
  },=0A=
=0A=
  'not': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    var ret =3D !this.args[0].evaluate(ctx).booleanValue();=0A=
    return new BooleanValue(ret);=0A=
  },=0A=
=0A=
  'true': function(ctx) {=0A=
    assert(this.args.length =3D=3D 0);=0A=
    return new BooleanValue(true);=0A=
  },=0A=
=0A=
  'false': function(ctx) {=0A=
    assert(this.args.length =3D=3D 0);=0A=
    return new BooleanValue(false);=0A=
  },=0A=
=0A=
  'lang': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    var lang =3D this.args[0].evaluate(ctx).stringValue();=0A=
    var xmllang;=0A=
    var n =3D ctx.node;=0A=
    while (n && n !=3D n.parentNode /* just in case ... */) {=0A=
      xmllang =3D n.getAttribute('xml:lang');=0A=
      if (xmllang) {=0A=
        break;=0A=
      }=0A=
      n =3D n.parentNode;=0A=
    }=0A=
    if (!xmllang) {=0A=
      return new BooleanValue(false);=0A=
    } else {=0A=
      var re =3D new RegExp('^' + lang + '$', 'i');=0A=
      return new BooleanValue(xmllang.match(re) ||=0A=
                              xmllang.replace(/_.*$/,'').match(re));=0A=
    }=0A=
  },=0A=
=0A=
  'number': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1 || this.args.length =3D=3D 0);=0A=
=0A=
    if (this.args.length =3D=3D 1) {=0A=
      return new NumberValue(this.args[0].evaluate(ctx).numberValue());=0A=
    } else {=0A=
      return new NumberValue(new NodeSetValue([ ctx.node =
]).numberValue());=0A=
    }=0A=
  },=0A=
=0A=
  'sum': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    var n =3D this.args[0].evaluate(ctx).nodeSetValue();=0A=
    var sum =3D 0;=0A=
    for (var i =3D 0; i < n.length; ++i) {=0A=
      sum +=3D xmlValue(n[i]) - 0;=0A=
    }=0A=
    return new NumberValue(sum);=0A=
  },=0A=
=0A=
  'floor': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    var num =3D this.args[0].evaluate(ctx).numberValue();=0A=
    return new NumberValue(Math.floor(num));=0A=
  },=0A=
=0A=
  'ceiling': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    var num =3D this.args[0].evaluate(ctx).numberValue();=0A=
    return new NumberValue(Math.ceil(num));=0A=
  },=0A=
=0A=
  'round': function(ctx) {=0A=
    assert(this.args.length =3D=3D 1);=0A=
    var num =3D this.args[0].evaluate(ctx).numberValue();=0A=
    return new NumberValue(Math.round(num));=0A=
  },=0A=
=0A=
  // TODO(mesch): The following functions are custom. There is a=0A=
  // standard that defines how to add functions, which should be=0A=
  // applied here.=0A=
=0A=
  'ext-join': function(ctx) {=0A=
    assert(this.args.length =3D=3D 2);=0A=
    var nodes =3D this.args[0].evaluate(ctx).nodeSetValue();=0A=
    var delim =3D this.args[1].evaluate(ctx).stringValue();=0A=
    var ret =3D '';=0A=
    for (var i =3D 0; i < nodes.length; ++i) {=0A=
      if (ret) {=0A=
        ret +=3D delim;=0A=
      }=0A=
      ret +=3D xmlValue(nodes[i]);=0A=
    }=0A=
    return new StringValue(ret);=0A=
  },=0A=
=0A=
  // ext-if() evaluates and returns its second argument, if the=0A=
  // boolean value of its first argument is true, otherwise it=0A=
  // evaluates and returns its third argument.=0A=
=0A=
  'ext-if': function(ctx) {=0A=
    assert(this.args.length =3D=3D 3);=0A=
    if (this.args[0].evaluate(ctx).booleanValue()) {=0A=
      return this.args[1].evaluate(ctx);=0A=
    } else {=0A=
      return this.args[2].evaluate(ctx);=0A=
    }=0A=
  },=0A=
=0A=
  'ext-sprintf': function(ctx) {=0A=
    assert(this.args.length >=3D 1);=0A=
    var args =3D [];=0A=
    for (var i =3D 0; i < this.args.length; ++i) {=0A=
      args.push(this.args[i].evaluate(ctx).stringValue());=0A=
    }=0A=
    return new StringValue(sprintf.apply(null, args));=0A=
  },=0A=
=0A=
  // ext-cardinal() evaluates its single argument as a number, and=0A=
  // returns the current node that many times. It can be used in the=0A=
  // select attribute to iterate over an integer range.=0A=
  =0A=
  'ext-cardinal': function(ctx) {=0A=
    assert(this.args.length >=3D 1);=0A=
    var c =3D this.args[0].evaluate(ctx).numberValue();=0A=
    var ret =3D [];=0A=
    for (var i =3D 0; i < c; ++i) {=0A=
      ret.push(ctx.node);=0A=
    }=0A=
    return new NodeSetValue(ret);=0A=
  }=0A=
};=0A=
=0A=
function UnionExpr(expr1, expr2) {=0A=
  this.expr1 =3D expr1;=0A=
  this.expr2 =3D expr2;=0A=
}=0A=
=0A=
UnionExpr.prototype.evaluate =3D function(ctx) {=0A=
  var nodes1 =3D this.expr1.evaluate(ctx).nodeSetValue();=0A=
  var nodes2 =3D this.expr2.evaluate(ctx).nodeSetValue();=0A=
  var I1 =3D nodes1.length;=0A=
  for (var i2 =3D 0; i2 < nodes2.length; ++i2) {=0A=
    for (var i1 =3D 0; i1 < I1; ++i1) {=0A=
      if (nodes1[i1] =3D=3D nodes2[i2]) {=0A=
        // break inner loop and continue outer loop, labels confuse=0A=
        // the js compiler, so we don't use them here.=0A=
        i1 =3D I1;=0A=
      }=0A=
    }=0A=
    nodes1.push(nodes2[i2]);=0A=
  }=0A=
  return new NodeSetValue(nodes2);=0A=
};=0A=
=0A=
function PathExpr(filter, rel) {=0A=
  this.filter =3D filter;=0A=
  this.rel =3D rel;=0A=
}=0A=
=0A=
PathExpr.prototype.evaluate =3D function(ctx) {=0A=
  var nodes =3D this.filter.evaluate(ctx).nodeSetValue();=0A=
  var nodes1 =3D [];=0A=
  for (var i =3D 0; i < nodes.length; ++i) {=0A=
    var nodes0 =3D this.rel.evaluate(ctx.clone(nodes[i], i, =
nodes)).nodeSetValue();=0A=
    for (var ii =3D 0; ii < nodes0.length; ++ii) {=0A=
      nodes1.push(nodes0[ii]);=0A=
    }=0A=
  }=0A=
  return new NodeSetValue(nodes1);=0A=
};=0A=
=0A=
function FilterExpr(expr, predicate) {=0A=
  this.expr =3D expr;=0A=
  this.predicate =3D predicate;=0A=
}=0A=
=0A=
FilterExpr.prototype.evaluate =3D function(ctx) {=0A=
  var nodes =3D this.expr.evaluate(ctx).nodeSetValue();=0A=
  for (var i =3D 0; i < this.predicate.length; ++i) {=0A=
    var nodes0 =3D nodes;=0A=
    nodes =3D [];=0A=
    for (var j =3D 0; j < nodes0.length; ++j) {=0A=
      var n =3D nodes0[j];=0A=
      if (this.predicate[i].evaluate(ctx.clone(n, j, =
nodes0)).booleanValue()) {=0A=
        nodes.push(n);=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  return new NodeSetValue(nodes);=0A=
}=0A=
=0A=
function UnaryMinusExpr(expr) {=0A=
  this.expr =3D expr;=0A=
}=0A=
=0A=
UnaryMinusExpr.prototype.evaluate =3D function(ctx) {=0A=
  return new NumberValue(-this.expr.evaluate(ctx).numberValue());=0A=
};=0A=
=0A=
function BinaryExpr(expr1, op, expr2) {=0A=
  this.expr1 =3D expr1;=0A=
  this.expr2 =3D expr2;=0A=
  this.op =3D op;=0A=
}=0A=
=0A=
BinaryExpr.prototype.evaluate =3D function(ctx) {=0A=
  var ret;=0A=
  switch (this.op.value) {=0A=
    case 'or':=0A=
      ret =3D new BooleanValue(this.expr1.evaluate(ctx).booleanValue() ||=0A=
                             this.expr2.evaluate(ctx).booleanValue());=0A=
      break;=0A=
=0A=
    case 'and':=0A=
      ret =3D new BooleanValue(this.expr1.evaluate(ctx).booleanValue() &&=0A=
                             this.expr2.evaluate(ctx).booleanValue());=0A=
      break;=0A=
=0A=
    case '+':=0A=
      ret =3D new NumberValue(this.expr1.evaluate(ctx).numberValue() +=0A=
                            this.expr2.evaluate(ctx).numberValue());=0A=
      break;=0A=
=0A=
    case '-':=0A=
      ret =3D new NumberValue(this.expr1.evaluate(ctx).numberValue() -=0A=
                            this.expr2.evaluate(ctx).numberValue());=0A=
      break;=0A=
=0A=
    case '*':=0A=
      ret =3D new NumberValue(this.expr1.evaluate(ctx).numberValue() *=0A=
                            this.expr2.evaluate(ctx).numberValue());=0A=
      break;=0A=
=0A=
    case 'mod':=0A=
      ret =3D new NumberValue(this.expr1.evaluate(ctx).numberValue() %=0A=
                            this.expr2.evaluate(ctx).numberValue());=0A=
      break;=0A=
=0A=
    case 'div':=0A=
      ret =3D new NumberValue(this.expr1.evaluate(ctx).numberValue() /=0A=
                            this.expr2.evaluate(ctx).numberValue());=0A=
      break;=0A=
=0A=
    case '=3D':=0A=
      ret =3D this.compare(ctx, function(x1, x2) { return x1 =3D=3D x2; =
});=0A=
      break;=0A=
=0A=
    case '!=3D':=0A=
      ret =3D this.compare(ctx, function(x1, x2) { return x1 !=3D x2; });=0A=
      break;=0A=
=0A=
    case '<':=0A=
      ret =3D this.compare(ctx, function(x1, x2) { return x1 < x2; });=0A=
      break;=0A=
=0A=
    case '<=3D':=0A=
      ret =3D this.compare(ctx, function(x1, x2) { return x1 <=3D x2; });=0A=
      break;=0A=
=0A=
    case '>':=0A=
      ret =3D this.compare(ctx, function(x1, x2) { return x1 > x2; });=0A=
      break;=0A=
=0A=
    case '>=3D':=0A=
      ret =3D this.compare(ctx, function(x1, x2) { return x1 >=3D x2; });=0A=
      break;=0A=
=0A=
    default:=0A=
      alert('BinaryExpr.evaluate: ' + this.op.value);=0A=
  }=0A=
  return ret;=0A=
};=0A=
=0A=
BinaryExpr.prototype.compare =3D function(ctx, cmp) {=0A=
  var v1 =3D this.expr1.evaluate(ctx);=0A=
  var v2 =3D this.expr2.evaluate(ctx);=0A=
=0A=
  var ret;=0A=
  if (v1.type =3D=3D 'node-set' && v2.type =3D=3D 'node-set') {=0A=
    var n1 =3D v1.nodeSetValue();=0A=
    var n2 =3D v2.nodeSetValue();=0A=
    ret =3D false;=0A=
    for (var i1 =3D 0; i1 < n1.length; ++i1) {=0A=
      for (var i2 =3D 0; i2 < n2.length; ++i2) {=0A=
        if (cmp(xmlValue(n1[i1]), xmlValue(n2[i2]))) {=0A=
          ret =3D true;=0A=
          // Break outer loop. Labels confuse the jscompiler and we=0A=
          // don't use them.=0A=
          i2 =3D n2.length;=0A=
          i1 =3D n1.length;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
  } else if (v1.type =3D=3D 'node-set' || v2.type =3D=3D 'node-set') {=0A=
=0A=
    if (v1.type =3D=3D 'number') {=0A=
      var s =3D v1.numberValue();=0A=
      var n =3D v2.nodeSetValue();=0A=
=0A=
      ret =3D false;=0A=
      for (var i =3D 0;  i < n.length; ++i) {=0A=
        var nn =3D xmlValue(n[i]) - 0;=0A=
        if (cmp(s, nn)) {=0A=
          ret =3D true;=0A=
          break;=0A=
        }=0A=
      }=0A=
=0A=
    } else if (v2.type =3D=3D 'number') {=0A=
      var n =3D v1.nodeSetValue();=0A=
      var s =3D v2.numberValue();=0A=
=0A=
      ret =3D false;=0A=
      for (var i =3D 0;  i < n.length; ++i) {=0A=
        var nn =3D xmlValue(n[i]) - 0;=0A=
        if (cmp(nn, s)) {=0A=
          ret =3D true;=0A=
          break;=0A=
        }=0A=
      }=0A=
=0A=
    } else if (v1.type =3D=3D 'string') {=0A=
      var s =3D v1.stringValue();=0A=
      var n =3D v2.nodeSetValue();=0A=
=0A=
      ret =3D false;=0A=
      for (var i =3D 0;  i < n.length; ++i) {=0A=
        var nn =3D xmlValue(n[i]);=0A=
        if (cmp(s, nn)) {=0A=
          ret =3D true;=0A=
          break;=0A=
        }=0A=
      }=0A=
=0A=
    } else if (v2.type =3D=3D 'string') {=0A=
      var n =3D v1.nodeSetValue();=0A=
      var s =3D v2.stringValue();=0A=
=0A=
      ret =3D false;=0A=
      for (var i =3D 0;  i < n.length; ++i) {=0A=
        var nn =3D xmlValue(n[i]);=0A=
        if (cmp(nn, s)) {=0A=
          ret =3D true;=0A=
          break;=0A=
        }=0A=
      }=0A=
=0A=
    } else {=0A=
      ret =3D cmp(v1.booleanValue(), v2.booleanValue());=0A=
    }=0A=
=0A=
  } else if (v1.type =3D=3D 'boolean' || v2.type =3D=3D 'boolean') {=0A=
    ret =3D cmp(v1.booleanValue(), v2.booleanValue());=0A=
=0A=
  } else if (v1.type =3D=3D 'number' || v2.type =3D=3D 'number') {=0A=
    ret =3D cmp(v1.numberValue(), v2.numberValue());=0A=
=0A=
  } else {=0A=
    ret =3D cmp(v1.stringValue(), v2.stringValue());=0A=
  }=0A=
=0A=
  return new BooleanValue(ret);=0A=
}=0A=
=0A=
function LiteralExpr(value) {=0A=
  this.value =3D value;=0A=
}=0A=
=0A=
LiteralExpr.prototype.evaluate =3D function(ctx) {=0A=
  return new StringValue(this.value);=0A=
};=0A=
=0A=
function NumberExpr(value) {=0A=
  this.value =3D value;=0A=
}=0A=
=0A=
NumberExpr.prototype.evaluate =3D function(ctx) {=0A=
  return new NumberValue(this.value);=0A=
};=0A=
=0A=
function VariableExpr(name) {=0A=
  this.name =3D name;=0A=
}=0A=
=0A=
VariableExpr.prototype.evaluate =3D function(ctx) {=0A=
  return ctx.getVariable(this.name);=0A=
}=0A=
=0A=
// Factory functions for semantic values (i.e. Expressions) of the=0A=
// productions in the grammar. When a production is matched to reduce=0A=
// the current parse state stack, the function is called with the=0A=
// semantic values of the matched elements as arguments, and returns=0A=
// another semantic value. The semantic value is a node of the parse=0A=
// tree, an expression object with an evaluate() method that evaluates =
the=0A=
// expression in an actual context. These factory functions are used=0A=
// in the specification of the grammar rules, below.=0A=
=0A=
function makeTokenExpr(m) {=0A=
  return new TokenExpr(m);=0A=
}=0A=
=0A=
function passExpr(e) {=0A=
  return e;=0A=
}=0A=
=0A=
function makeLocationExpr1(slash, rel) {=0A=
  rel.absolute =3D true;=0A=
  return rel;=0A=
}=0A=
=0A=
function makeLocationExpr2(dslash, rel) {=0A=
  rel.absolute =3D true;=0A=
  rel.prependStep(makeAbbrevStep(dslash.value));=0A=
  return rel;=0A=
}=0A=
=0A=
function makeLocationExpr3(slash) {=0A=
  var ret =3D new LocationExpr();=0A=
  ret.appendStep(makeAbbrevStep('.'));=0A=
  ret.absolute =3D true;=0A=
  return ret;=0A=
}=0A=
=0A=
function makeLocationExpr4(dslash) {=0A=
  var ret =3D new LocationExpr();=0A=
  ret.absolute =3D true;=0A=
  ret.appendStep(makeAbbrevStep(dslash.value));=0A=
  return ret;=0A=
}=0A=
=0A=
function makeLocationExpr5(step) {=0A=
  var ret =3D new LocationExpr();=0A=
  ret.appendStep(step);=0A=
  return ret;=0A=
}=0A=
=0A=
function makeLocationExpr6(rel, slash, step) {=0A=
  rel.appendStep(step);=0A=
  return rel;=0A=
}=0A=
=0A=
function makeLocationExpr7(rel, dslash, step) {=0A=
  rel.appendStep(makeAbbrevStep(dslash.value));=0A=
  return rel;=0A=
}=0A=
=0A=
function makeStepExpr1(dot) {=0A=
  return makeAbbrevStep(dot.value);=0A=
}=0A=
=0A=
function makeStepExpr2(ddot) {=0A=
  return makeAbbrevStep(ddot.value);=0A=
}=0A=
=0A=
function makeStepExpr3(axisname, axis, nodetest) {=0A=
  return new StepExpr(axisname.value, nodetest);=0A=
}=0A=
=0A=
function makeStepExpr4(at, nodetest) {=0A=
  return new StepExpr('attribute', nodetest);=0A=
}=0A=
=0A=
function makeStepExpr5(nodetest) {=0A=
  return new StepExpr('child', nodetest);=0A=
}=0A=
=0A=
function makeStepExpr6(step, predicate) {=0A=
  step.appendPredicate(predicate);=0A=
  return step;=0A=
}=0A=
=0A=
function makeAbbrevStep(abbrev) {=0A=
  switch (abbrev) {=0A=
  case '//':=0A=
    return new StepExpr('descendant-or-self', new NodeTestAny);=0A=
=0A=
  case '.':=0A=
    return new StepExpr('self', new NodeTestAny);=0A=
=0A=
  case '..':=0A=
    return new StepExpr('parent', new NodeTestAny);=0A=
  }=0A=
}=0A=
=0A=
function makeNodeTestExpr1(asterisk) {=0A=
  return new NodeTestElement;=0A=
}=0A=
=0A=
function makeNodeTestExpr2(ncname, colon, asterisk) {=0A=
  return new NodeTestNC(ncname.value);=0A=
}=0A=
=0A=
function makeNodeTestExpr3(qname) {=0A=
  return new NodeTestName(qname.value);=0A=
}=0A=
=0A=
function makeNodeTestExpr4(typeo, parenc) {=0A=
  var type =3D typeo.value.replace(/\s*\($/, '');=0A=
  switch(type) {=0A=
  case 'node':=0A=
    return new NodeTestAny;=0A=
=0A=
  case 'text':=0A=
    return new NodeTestText;=0A=
=0A=
  case 'comment':=0A=
    return new NodeTestComment;=0A=
=0A=
  case 'processing-instruction':=0A=
    return new NodeTestPI;=0A=
  }=0A=
}=0A=
=0A=
function makeNodeTestExpr5(typeo, target, parenc) {=0A=
  var type =3D typeo.replace(/\s*\($/, '');=0A=
  if (type !=3D 'processing-instruction') {=0A=
    throw type + ' ' + Error().stack;=0A=
  }=0A=
  return new NodeTestPI(target.value);=0A=
}=0A=
=0A=
function makePredicateExpr(pareno, expr, parenc) {=0A=
  return new PredicateExpr(expr);=0A=
}=0A=
=0A=
function makePrimaryExpr(pareno, expr, parenc) {=0A=
  return expr;=0A=
}=0A=
=0A=
function makeFunctionCallExpr1(name, pareno, parenc) {=0A=
  return new FunctionCallExpr(name);=0A=
}=0A=
=0A=
function makeFunctionCallExpr2(name, pareno, arg1, args, parenc) {=0A=
  var ret =3D new FunctionCallExpr(name);=0A=
  ret.appendArg(arg1);=0A=
  for (var i =3D 0; i < args.length; ++i) {=0A=
    ret.appendArg(args[i]);=0A=
  }=0A=
  return ret;=0A=
}=0A=
=0A=
function makeArgumentExpr(comma, expr) {=0A=
  return expr;=0A=
}=0A=
=0A=
function makeUnionExpr(expr1, pipe, expr2) {=0A=
  return new UnionExpr(expr1, expr2);=0A=
}=0A=
=0A=
function makePathExpr1(filter, slash, rel) {=0A=
  return new PathExpr(filter, rel);=0A=
}=0A=
=0A=
function makePathExpr2(filter, dslash, rel) {=0A=
  rel.prependStep(makeAbbrevStep(dslash.value));=0A=
  return new PathExpr(filter, rel);=0A=
}=0A=
=0A=
function makeFilterExpr(expr, predicates) {=0A=
  if (predicates.length > 0) {=0A=
    return new FilterExpr(expr, predicates);=0A=
  } else {=0A=
    return expr;=0A=
  }=0A=
}=0A=
=0A=
function makeUnaryMinusExpr(minus, expr) {=0A=
  return new UnaryMinusExpr(expr);=0A=
}=0A=
=0A=
function makeBinaryExpr(expr1, op, expr2) {=0A=
  return new BinaryExpr(expr1, op, expr2);=0A=
}=0A=
=0A=
function makeLiteralExpr(token) {=0A=
  // remove quotes from the parsed value:=0A=
  var value =3D token.value.substring(1, token.value.length - 1);=0A=
  return new LiteralExpr(value);=0A=
}=0A=
=0A=
function makeNumberExpr(token) {=0A=
  return new NumberExpr(token.value);=0A=
}=0A=
=0A=
function makeVariableReference(dollar, name) {=0A=
  return new VariableExpr(name.value);=0A=
}=0A=
=0A=
// Used before parsing for optimization of common simple cases. See=0A=
// the begin of xpathParse() for which they are.=0A=
function makeSimpleExpr(expr) {=0A=
  if (expr.charAt(0) =3D=3D '$') {=0A=
    return new VariableExpr(expr.substr(1));=0A=
  } else if (expr.charAt(0) =3D=3D '@') {=0A=
    var a =3D new NodeTestName(expr.substr(1));=0A=
    var b =3D new StepExpr('attribute', a);=0A=
    var c =3D new LocationExpr();=0A=
    c.appendStep(b);=0A=
    return c;=0A=
  } else if (expr.match(/^[0-9]+$/)) {=0A=
    return new NumberExpr(expr);=0A=
  } else {=0A=
    var a =3D new NodeTestName(expr);=0A=
    var b =3D new StepExpr('child', a);=0A=
    var c =3D new LocationExpr();=0A=
    c.appendStep(b);=0A=
    return c;=0A=
  }=0A=
}=0A=
=0A=
function makeSimpleExpr2(expr) {=0A=
  var steps =3D expr.split('/');=0A=
  var c =3D new LocationExpr();=0A=
  for (var i in steps) {=0A=
    var a =3D new NodeTestName(steps[i]);=0A=
    var b =3D new StepExpr('child', a);=0A=
    c.appendStep(b);=0A=
  }=0A=
  return c;=0A=
}=0A=
=0A=
// The axes of XPath expressions.=0A=
=0A=
var xpathAxis =3D {=0A=
  ANCESTOR_OR_SELF: 'ancestor-or-self',=0A=
  ANCESTOR: 'ancestor',=0A=
  ATTRIBUTE: 'attribute',=0A=
  CHILD: 'child',=0A=
  DESCENDANT_OR_SELF: 'descendant-or-self',=0A=
  DESCENDANT: 'descendant',=0A=
  FOLLOWING_SIBLING: 'following-sibling',=0A=
  FOLLOWING: 'following',=0A=
  NAMESPACE: 'namespace',=0A=
  PARENT: 'parent',=0A=
  PRECEDING_SIBLING: 'preceding-sibling',=0A=
  PRECEDING: 'preceding',=0A=
  SELF: 'self'=0A=
};=0A=
=0A=
var xpathAxesRe =3D [=0A=
    xpathAxis.ANCESTOR_OR_SELF,=0A=
    xpathAxis.ANCESTOR,=0A=
    xpathAxis.ATTRIBUTE,=0A=
    xpathAxis.CHILD,=0A=
    xpathAxis.DESCENDANT_OR_SELF,=0A=
    xpathAxis.DESCENDANT,=0A=
    xpathAxis.FOLLOWING_SIBLING,=0A=
    xpathAxis.FOLLOWING,=0A=
    xpathAxis.NAMESPACE,=0A=
    xpathAxis.PARENT,=0A=
    xpathAxis.PRECEDING_SIBLING,=0A=
    xpathAxis.PRECEDING,=0A=
    xpathAxis.SELF=0A=
].join('|');=0A=
=0A=
=0A=
// The tokens of the language. The label property is just used for=0A=
// generating debug output. The prec property is the precedence used=0A=
// for shift/reduce resolution. Default precedence is 0 as a lookahead=0A=
// token and 2 on the stack. TODO(mesch): this is certainly not=0A=
// necessary and too complicated. Simplify this!=0A=
=0A=
// NOTE: tabular formatting is the big exception, but here it should=0A=
// be OK.=0A=
=0A=
var TOK_PIPE =3D   { label: "|",   prec:   17, re: new RegExp("^\\|") };=0A=
var TOK_DSLASH =3D { label: "//",  prec:   19, re: new RegExp("^//")  };=0A=
var TOK_SLASH =3D  { label: "/",   prec:   30, re: new RegExp("^/")   };=0A=
var TOK_AXIS =3D   { label: "::",  prec:   20, re: new RegExp("^::")  };=0A=
var TOK_COLON =3D  { label: ":",   prec: 1000, re: new RegExp("^:")  };=0A=
var TOK_AXISNAME =3D { label: "[axis]", re: new RegExp('^(' + =
xpathAxesRe + ')') };=0A=
var TOK_PARENO =3D { label: "(",   prec:   34, re: new RegExp("^\\(") };=0A=
var TOK_PARENC =3D { label: ")",               re: new RegExp("^\\)") };=0A=
var TOK_DDOT =3D   { label: "..",  prec:   34, re: new RegExp("^\\.\\.") =
};=0A=
var TOK_DOT =3D    { label: ".",   prec:   34, re: new RegExp("^\\.") };=0A=
var TOK_AT =3D     { label: "@",   prec:   34, re: new RegExp("^@")   };=0A=
=0A=
var TOK_COMMA =3D  { label: ",",               re: new RegExp("^,") };=0A=
=0A=
var TOK_OR =3D     { label: "or",  prec:   10, re: new RegExp("^or\\b") =
};=0A=
var TOK_AND =3D    { label: "and", prec:   11, re: new RegExp("^and\\b") =
};=0A=
var TOK_EQ =3D     { label: "=3D",   prec:   12, re: new RegExp("^=3D")  =
 };=0A=
var TOK_NEQ =3D    { label: "!=3D",  prec:   12, re: new RegExp("^!=3D") =
 };=0A=
var TOK_GE =3D     { label: ">=3D",  prec:   13, re: new RegExp("^>=3D") =
 };=0A=
var TOK_GT =3D     { label: ">",   prec:   13, re: new RegExp("^>")   };=0A=
var TOK_LE =3D     { label: "<=3D",  prec:   13, re: new RegExp("^<=3D") =
 };=0A=
var TOK_LT =3D     { label: "<",   prec:   13, re: new RegExp("^<")   };=0A=
var TOK_PLUS =3D   { label: "+",   prec:   14, re: new RegExp("^\\+"), =
left: true };=0A=
var TOK_MINUS =3D  { label: "-",   prec:   14, re: new RegExp("^\\-"), =
left: true };=0A=
var TOK_DIV =3D    { label: "div", prec:   15, re: new =
RegExp("^div\\b"), left: true };=0A=
var TOK_MOD =3D    { label: "mod", prec:   15, re: new =
RegExp("^mod\\b"), left: true };=0A=
=0A=
var TOK_BRACKO =3D { label: "[",   prec:   32, re: new RegExp("^\\[") };=0A=
var TOK_BRACKC =3D { label: "]",               re: new RegExp("^\\]") };=0A=
var TOK_DOLLAR =3D { label: "$",               re: new RegExp("^\\$") };=0A=
=0A=
var TOK_NCNAME =3D { label: "[ncname]", re: new =
RegExp('^[a-z][-\\w]*','i') };=0A=
=0A=
var TOK_ASTERISK =3D { label: "*", prec: 15, re: new RegExp("^\\*"), =
left: true };=0A=
var TOK_LITERALQ =3D { label: "[litq]", prec: 20, re: new =
RegExp("^'[^\\']*'") };=0A=
var TOK_LITERALQQ =3D {=0A=
  label: "[litqq]",=0A=
  prec: 20,=0A=
  re: new RegExp('^"[^\\"]*"')=0A=
};=0A=
=0A=
var TOK_NUMBER  =3D {=0A=
  label: "[number]",=0A=
  prec: 35,=0A=
  re: new RegExp('^\\d+(\\.\\d*)?') };=0A=
=0A=
var TOK_QNAME =3D {=0A=
  label: "[qname]",=0A=
  re: new RegExp('^([a-z][-\\w]*:)?[a-z][-\\w]*','i')=0A=
};=0A=
=0A=
var TOK_NODEO =3D {=0A=
  label: "[nodetest-start]",=0A=
  re: new RegExp('^(processing-instruction|comment|text|node)\\(')=0A=
};=0A=
=0A=
// The table of the tokens of our grammar, used by the lexer: first=0A=
// column the tag, second column a regexp to recognize it in the=0A=
// input, third column the precedence of the token, fourth column a=0A=
// factory function for the semantic value of the token.=0A=
//=0A=
// NOTE: order of this list is important, because the first match=0A=
// counts. Cf. DDOT and DOT, and AXIS and COLON.=0A=
=0A=
var xpathTokenRules =3D [=0A=
    TOK_DSLASH,=0A=
    TOK_SLASH,=0A=
    TOK_DDOT,=0A=
    TOK_DOT,=0A=
    TOK_AXIS,=0A=
    TOK_COLON,=0A=
    TOK_AXISNAME,=0A=
    TOK_NODEO,=0A=
    TOK_PARENO,=0A=
    TOK_PARENC,=0A=
    TOK_BRACKO,=0A=
    TOK_BRACKC,=0A=
    TOK_AT,=0A=
    TOK_COMMA,=0A=
    TOK_OR,=0A=
    TOK_AND,=0A=
    TOK_NEQ,=0A=
    TOK_EQ,=0A=
    TOK_GE,=0A=
    TOK_GT,=0A=
    TOK_LE,=0A=
    TOK_LT,=0A=
    TOK_PLUS,=0A=
    TOK_MINUS,=0A=
    TOK_ASTERISK,=0A=
    TOK_PIPE,=0A=
    TOK_MOD,=0A=
    TOK_DIV,=0A=
    TOK_LITERALQ,=0A=
    TOK_LITERALQQ,=0A=
    TOK_NUMBER,=0A=
    TOK_QNAME,=0A=
    TOK_NCNAME,=0A=
    TOK_DOLLAR=0A=
];=0A=
=0A=
// All the nonterminals of the grammar. The nonterminal objects are=0A=
// identified by object identity; the labels are used in the debug=0A=
// output only.=0A=
var XPathLocationPath =3D { label: "LocationPath" };=0A=
var XPathRelativeLocationPath =3D { label: "RelativeLocationPath" };=0A=
var XPathAbsoluteLocationPath =3D { label: "AbsoluteLocationPath" };=0A=
var XPathStep =3D { label: "Step" };=0A=
var XPathNodeTest =3D { label: "NodeTest" };=0A=
var XPathPredicate =3D { label: "Predicate" };=0A=
var XPathLiteral =3D { label: "Literal" };=0A=
var XPathExpr =3D { label: "Expr" };=0A=
var XPathPrimaryExpr =3D { label: "PrimaryExpr" };=0A=
var XPathVariableReference =3D { label: "Variablereference" };=0A=
var XPathNumber =3D { label: "Number" };=0A=
var XPathFunctionCall =3D { label: "FunctionCall" };=0A=
var XPathArgumentRemainder =3D { label: "ArgumentRemainder" };=0A=
var XPathPathExpr =3D { label: "PathExpr" };=0A=
var XPathUnionExpr =3D { label: "UnionExpr" };=0A=
var XPathFilterExpr =3D { label: "FilterExpr" };=0A=
var XPathDigits =3D { label: "Digits" };=0A=
=0A=
var xpathNonTerminals =3D [=0A=
    XPathLocationPath,=0A=
    XPathRelativeLocationPath,=0A=
    XPathAbsoluteLocationPath,=0A=
    XPathStep,=0A=
    XPathNodeTest,=0A=
    XPathPredicate,=0A=
    XPathLiteral,=0A=
    XPathExpr,=0A=
    XPathPrimaryExpr,=0A=
    XPathVariableReference,=0A=
    XPathNumber,=0A=
    XPathFunctionCall,=0A=
    XPathArgumentRemainder,=0A=
    XPathPathExpr,=0A=
    XPathUnionExpr,=0A=
    XPathFilterExpr,=0A=
    XPathDigits=0A=
];=0A=
=0A=
// Quantifiers that are used in the productions of the grammar.=0A=
var Q_01 =3D { label: "?" };=0A=
var Q_MM =3D { label: "*" };=0A=
var Q_1M =3D { label: "+" };=0A=
=0A=
// Tag for left associativity (right assoc is implied by undefined).=0A=
var ASSOC_LEFT =3D true;=0A=
=0A=
// The productions of the grammar. Columns of the table:=0A=
//=0A=
// - target nonterminal,=0A=
// - pattern,=0A=
// - precedence,=0A=
// - semantic value factory=0A=
//=0A=
// The semantic value factory is a function that receives parse tree=0A=
// nodes from the stack frames of the matched symbols as arguments and=0A=
// returns an a node of the parse tree. The node is stored in the top=0A=
// stack frame along with the target object of the rule. The node in=0A=
// the parse tree is an expression object that has an evaluate() method=0A=
// and thus evaluates XPath expressions.=0A=
//=0A=
// The precedence is used to decide between reducing and shifting by=0A=
// comparing the precendence of the rule that is candidate for=0A=
// reducing with the precedence of the look ahead token. Precedence of=0A=
// -1 means that the precedence of the tokens in the pattern is used=0A=
// instead. TODO: It shouldn't be necessary to explicitly assign=0A=
// precedences to rules.=0A=
=0A=
var xpathGrammarRules =3D=0A=
  [=0A=
   [ XPathLocationPath, [ XPathRelativeLocationPath ], 18,=0A=
     passExpr ],=0A=
   [ XPathLocationPath, [ XPathAbsoluteLocationPath ], 18,=0A=
     passExpr ],=0A=
=0A=
   [ XPathAbsoluteLocationPath, [ TOK_SLASH, XPathRelativeLocationPath =
], 18, =0A=
     makeLocationExpr1 ],=0A=
   [ XPathAbsoluteLocationPath, [ TOK_DSLASH, XPathRelativeLocationPath =
], 18,=0A=
     makeLocationExpr2 ],=0A=
=0A=
   [ XPathAbsoluteLocationPath, [ TOK_SLASH ], 0,=0A=
     makeLocationExpr3 ],=0A=
   [ XPathAbsoluteLocationPath, [ TOK_DSLASH ], 0,=0A=
     makeLocationExpr4 ],=0A=
=0A=
   [ XPathRelativeLocationPath, [ XPathStep ], 31,=0A=
     makeLocationExpr5 ],=0A=
   [ XPathRelativeLocationPath,=0A=
     [ XPathRelativeLocationPath, TOK_SLASH, XPathStep ], 31,=0A=
     makeLocationExpr6 ],=0A=
   [ XPathRelativeLocationPath,=0A=
     [ XPathRelativeLocationPath, TOK_DSLASH, XPathStep ], 31,=0A=
     makeLocationExpr7 ],=0A=
=0A=
   [ XPathStep, [ TOK_DOT ], 33,=0A=
     makeStepExpr1 ],=0A=
   [ XPathStep, [ TOK_DDOT ], 33,=0A=
     makeStepExpr2 ],=0A=
   [ XPathStep,=0A=
     [ TOK_AXISNAME, TOK_AXIS, XPathNodeTest ], 33,=0A=
     makeStepExpr3 ],=0A=
   [ XPathStep, [ TOK_AT, XPathNodeTest ], 33,=0A=
     makeStepExpr4 ],=0A=
   [ XPathStep, [ XPathNodeTest ], 33,=0A=
     makeStepExpr5 ],=0A=
   [ XPathStep, [ XPathStep, XPathPredicate ], 33,=0A=
     makeStepExpr6 ],=0A=
=0A=
   [ XPathNodeTest, [ TOK_ASTERISK ], 33,=0A=
     makeNodeTestExpr1 ],=0A=
   [ XPathNodeTest, [ TOK_NCNAME, TOK_COLON, TOK_ASTERISK ], 33,=0A=
     makeNodeTestExpr2 ],=0A=
   [ XPathNodeTest, [ TOK_QNAME ], 33,=0A=
     makeNodeTestExpr3 ],=0A=
   [ XPathNodeTest, [ TOK_NODEO, TOK_PARENC ], 33,=0A=
     makeNodeTestExpr4 ],=0A=
   [ XPathNodeTest, [ TOK_NODEO, XPathLiteral, TOK_PARENC ], 33,=0A=
     makeNodeTestExpr5 ],=0A=
=0A=
   [ XPathPredicate, [ TOK_BRACKO, XPathExpr, TOK_BRACKC ], 33,=0A=
     makePredicateExpr ],=0A=
=0A=
   [ XPathPrimaryExpr, [ XPathVariableReference ], 33,=0A=
     passExpr ],=0A=
   [ XPathPrimaryExpr, [ TOK_PARENO, XPathExpr, TOK_PARENC ], 33,=0A=
     makePrimaryExpr ],=0A=
   [ XPathPrimaryExpr, [ XPathLiteral ], 30,=0A=
     passExpr ],=0A=
   [ XPathPrimaryExpr, [ XPathNumber ], 30,=0A=
     passExpr ],=0A=
   [ XPathPrimaryExpr, [ XPathFunctionCall ], 30,=0A=
     passExpr ],=0A=
=0A=
   [ XPathFunctionCall, [ TOK_QNAME, TOK_PARENO, TOK_PARENC ], -1,=0A=
     makeFunctionCallExpr1 ],=0A=
   [ XPathFunctionCall,=0A=
     [ TOK_QNAME, TOK_PARENO, XPathExpr, XPathArgumentRemainder, Q_MM,=0A=
       TOK_PARENC ], -1,=0A=
     makeFunctionCallExpr2 ],=0A=
   [ XPathArgumentRemainder, [ TOK_COMMA, XPathExpr ], -1,=0A=
     makeArgumentExpr ],=0A=
=0A=
   [ XPathUnionExpr, [ XPathPathExpr ], 20,=0A=
     passExpr ],=0A=
   [ XPathUnionExpr, [ XPathUnionExpr, TOK_PIPE, XPathPathExpr ], 20,=0A=
     makeUnionExpr ],=0A=
=0A=
   [ XPathPathExpr, [ XPathLocationPath ], 20, =0A=
     passExpr ], =0A=
   [ XPathPathExpr, [ XPathFilterExpr ], 19, =0A=
     passExpr ], =0A=
   [ XPathPathExpr, =0A=
     [ XPathFilterExpr, TOK_SLASH, XPathRelativeLocationPath ], 20,=0A=
     makePathExpr1 ],=0A=
   [ XPathPathExpr,=0A=
     [ XPathFilterExpr, TOK_DSLASH, XPathRelativeLocationPath ], 20,=0A=
     makePathExpr2 ],=0A=
=0A=
   [ XPathFilterExpr, [ XPathPrimaryExpr, XPathPredicate, Q_MM ], 20,=0A=
     makeFilterExpr ], =0A=
=0A=
   [ XPathExpr, [ XPathPrimaryExpr ], 16,=0A=
     passExpr ],=0A=
   [ XPathExpr, [ XPathUnionExpr ], 16,=0A=
     passExpr ],=0A=
=0A=
   [ XPathExpr, [ TOK_MINUS, XPathExpr ], -1,=0A=
     makeUnaryMinusExpr ],=0A=
=0A=
   [ XPathExpr, [ XPathExpr, TOK_OR, XPathExpr ], -1,=0A=
     makeBinaryExpr ],=0A=
   [ XPathExpr, [ XPathExpr, TOK_AND, XPathExpr ], -1,=0A=
     makeBinaryExpr ],=0A=
=0A=
   [ XPathExpr, [ XPathExpr, TOK_EQ, XPathExpr ], -1,=0A=
     makeBinaryExpr ],=0A=
   [ XPathExpr, [ XPathExpr, TOK_NEQ, XPathExpr ], -1,=0A=
     makeBinaryExpr ],=0A=
=0A=
   [ XPathExpr, [ XPathExpr, TOK_LT, XPathExpr ], -1,=0A=
     makeBinaryExpr ],=0A=
   [ XPathExpr, [ XPathExpr, TOK_LE, XPathExpr ], -1,=0A=
     makeBinaryExpr ],=0A=
   [ XPathExpr, [ XPathExpr, TOK_GT, XPathExpr ], -1,=0A=
     makeBinaryExpr ],=0A=
   [ XPathExpr, [ XPathExpr, TOK_GE, XPathExpr ], -1,=0A=
     makeBinaryExpr ],=0A=
=0A=
   [ XPathExpr, [ XPathExpr, TOK_PLUS, XPathExpr ], -1,=0A=
     makeBinaryExpr, ASSOC_LEFT ],=0A=
   [ XPathExpr, [ XPathExpr, TOK_MINUS, XPathExpr ], -1,=0A=
     makeBinaryExpr, ASSOC_LEFT ],=0A=
=0A=
   [ XPathExpr, [ XPathExpr, TOK_ASTERISK, XPathExpr ], -1,=0A=
     makeBinaryExpr, ASSOC_LEFT ],=0A=
   [ XPathExpr, [ XPathExpr, TOK_DIV, XPathExpr ], -1,=0A=
     makeBinaryExpr, ASSOC_LEFT ],=0A=
   [ XPathExpr, [ XPathExpr, TOK_MOD, XPathExpr ], -1,=0A=
     makeBinaryExpr, ASSOC_LEFT ],=0A=
=0A=
   [ XPathLiteral, [ TOK_LITERALQ ], -1,=0A=
     makeLiteralExpr ],=0A=
   [ XPathLiteral, [ TOK_LITERALQQ ], -1,=0A=
     makeLiteralExpr ],=0A=
=0A=
   [ XPathNumber, [ TOK_NUMBER ], -1,=0A=
     makeNumberExpr ],=0A=
=0A=
   [ XPathVariableReference, [ TOK_DOLLAR, TOK_QNAME ], 200,=0A=
     makeVariableReference ]=0A=
   ];=0A=
=0A=
// That function computes some optimizations of the above data=0A=
// structures and will be called right here. It merely takes the=0A=
// counter variables out of the global scope.=0A=
=0A=
var xpathRules =3D [];=0A=
=0A=
function xpathParseInit() {=0A=
  if (xpathRules.length) {=0A=
    return;=0A=
  }=0A=
=0A=
  // Some simple optimizations for the xpath expression parser: sort=0A=
  // grammar rules descending by length, so that the longest match is=0A=
  // first found.=0A=
=0A=
  xpathGrammarRules.sort(function(a,b) {=0A=
    var la =3D a[1].length;=0A=
    var lb =3D b[1].length;=0A=
    if (la < lb) {=0A=
      return 1;=0A=
    } else if (la > lb) {=0A=
      return -1;=0A=
    } else {=0A=
      return 0;=0A=
    }=0A=
  });=0A=
=0A=
  var k =3D 1;=0A=
  for (var i =3D 0; i < xpathNonTerminals.length; ++i) {=0A=
    xpathNonTerminals[i].key =3D k++;=0A=
  }=0A=
=0A=
  for (i =3D 0; i < xpathTokenRules.length; ++i) {=0A=
    xpathTokenRules[i].key =3D k++;=0A=
  }=0A=
=0A=
  if (xpathdebug) {=0A=
    Log.write('XPath parse INIT: ' + k + ' rules');=0A=
  }=0A=
=0A=
  // Another slight optimization: sort the rules into bins according=0A=
  // to the last element (observing quantifiers), so we can restrict=0A=
  // the match against the stack to the subest of rules that match the=0A=
  // top of the stack.=0A=
  //=0A=
  // TODO(mesch): What we actually want is to compute states as in=0A=
  // bison, so that we don't have to do any explicit and iterated=0A=
  // match against the stack.=0A=
=0A=
  function push_(array, position, element) {=0A=
    if (!array[position]) {=0A=
      array[position] =3D [];=0A=
    }=0A=
    array[position].push(element);=0A=
  }=0A=
=0A=
  for (i =3D 0; i < xpathGrammarRules.length; ++i) {=0A=
    var rule =3D xpathGrammarRules[i];=0A=
    var pattern =3D rule[1];=0A=
=0A=
    for (var j =3D pattern.length - 1; j >=3D 0; --j) {=0A=
      if (pattern[j] =3D=3D Q_1M) {=0A=
        push_(xpathRules, pattern[j-1].key, rule);=0A=
        break;=0A=
        =0A=
      } else if (pattern[j] =3D=3D Q_MM || pattern[j] =3D=3D Q_01) {=0A=
        push_(xpathRules, pattern[j-1].key, rule);=0A=
        --j;=0A=
=0A=
      } else {=0A=
        push_(xpathRules, pattern[j].key, rule);=0A=
        break;=0A=
      }=0A=
    }=0A=
  }=0A=
=0A=
  if (xpathdebug) {=0A=
    Log.write('XPath parse INIT: ' + xpathRules.length + ' rule bins');=0A=
  }=0A=
  var sum =3D 0;=0A=
  mapExec(xpathRules, function(i) {=0A=
    if (i) {=0A=
      sum +=3D i.length;=0A=
    }=0A=
  });=0A=
  =0A=
  if (xpathdebug) {=0A=
    Log.write('XPath parse INIT: ' + (sum / xpathRules.length) + ' =
average bin size');=0A=
  }=0A=
}=0A=
=0A=
// Local utility functions that are used by the lexer or parser.=0A=
=0A=
function xpathCollectDescendants(nodelist, node) {=0A=
  for (var n =3D node.firstChild; n; n =3D n.nextSibling) {=0A=
    nodelist.push(n);=0A=
    arguments.callee(nodelist, n);=0A=
  }=0A=
}=0A=
=0A=
function xpathCollectDescendantsReverse(nodelist, node) {=0A=
  for (var n =3D node.lastChild; n; n =3D n.previousSibling) {=0A=
    nodelist.push(n);=0A=
    arguments.callee(nodelist, n);=0A=
  }=0A=
}=0A=
=0A=
=0A=
// The entry point for the library: match an expression against a DOM=0A=
// node. Returns an XPath value.=0A=
function xpathDomEval(expr, node) {=0A=
  var expr1 =3D xpathParse(expr);=0A=
  var ret =3D expr1.evaluate(new ExprContext(node));=0A=
  return ret;=0A=
}=0A=
=0A=
// Utility function to sort a list of nodes. Used by xsltSort() and=0A=
// nxslSelect().=0A=
function xpathSort(input, sort) {=0A=
  if (sort.length =3D=3D 0) {=0A=
    return;=0A=
  }=0A=
=0A=
  var sortlist =3D [];=0A=
=0A=
  for (var i =3D 0; i < input.nodelist.length; ++i) {=0A=
    var node =3D input.nodelist[i];=0A=
    var sortitem =3D { node: node, key: [] };=0A=
    var context =3D input.clone(node, 0, [ node ]);=0A=
    =0A=
    for (var j =3D 0; j < sort.length; ++j) {=0A=
      var s =3D sort[j];=0A=
      var value =3D s.expr.evaluate(context);=0A=
=0A=
      var evalue;=0A=
      if (s.type =3D=3D 'text') {=0A=
        evalue =3D value.stringValue();=0A=
      } else if (s.type =3D=3D 'number') {=0A=
        evalue =3D value.numberValue();=0A=
      }=0A=
      sortitem.key.push({ value: evalue, order: s.order });=0A=
    }=0A=
=0A=
    // Make the sort stable by adding a lowest priority sort by=0A=
    // id. This is very convenient and furthermore required by the=0A=
    // spec ([XSLT] - Section 10 Sorting).=0A=
    sortitem.key.push({ value: i, order: 'ascending' });=0A=
=0A=
    sortlist.push(sortitem);=0A=
  }=0A=
=0A=
  sortlist.sort(xpathSortByKey);=0A=
=0A=
  var nodes =3D [];=0A=
  for (var i =3D 0; i < sortlist.length; ++i) {=0A=
    nodes.push(sortlist[i].node);=0A=
  }=0A=
  input.nodelist =3D nodes;=0A=
  input.setNode(nodes[0], 0);=0A=
}=0A=
=0A=
=0A=
// Sorts by all order criteria defined. According to the JavaScript=0A=
// spec ([ECMA] Section 11.8.5), the compare operators compare strings=0A=
// as strings and numbers as numbers.=0A=
//=0A=
// NOTE: In browsers which do not follow the spec, this breaks only in=0A=
// the case that numbers should be sorted as strings, which is very=0A=
// uncommon.=0A=
=0A=
function xpathSortByKey(v1, v2) {=0A=
  // NOTE: Sort key vectors of different length never occur in=0A=
  // xsltSort.=0A=
=0A=
  for (var i =3D 0; i < v1.key.length; ++i) {=0A=
    var o =3D v1.key[i].order =3D=3D 'descending' ? -1 : 1;=0A=
    if (v1.key[i].value > v2.key[i].value) {=0A=
      return +1 * o;=0A=
    } else if (v1.key[i].value < v2.key[i].value) {=0A=
      return -1 * o;=0A=
    }=0A=
  }=0A=
=0A=
  return 0;=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1189597715663939/LVDG_LectorXML.js

LectorXML.xml=3D'';=0A=
=0A=
	function LectorXML(url){=0A=
	    if ((url!=3Dundefined)&&(url!=3D'')) {=0A=
		    this.xml =3D loadCall(url);=0A=
	     }=0A=
	};=0A=
	=0A=
	LectorXML.setXML=3Dfunction(xml){=0A=
		this.xml=3Dxml;=0A=
	};=0A=
=0A=
=0A=
	  function loadCall(url) {=0A=
	    // branch for native XMLHttpRequest object=0A=
	    if (window.XMLHttpRequest) {=0A=
	        req =3D new XMLHttpRequest();=0A=
	        req.onreadystatechange =3D processReqChange;=0A=
	        req.open("GET", url, false); // the third parameter - true - =
specified ASYNCHRONOUS processing i.e. not waiting for the response!=0A=
	        req.send(null);=0A=
	        return req.responseText;=0A=
	    // branch for IE/Windows ActiveX version=0A=
	    } else if (window.ActiveXObject) {=0A=
	        req =3D new ActiveXObject("Microsoft.XMLHTTP");=0A=
	        if (req) {=0A=
	            req.onreadystatechange =3D processReqChange;=0A=
	            req.open("GET", url, false); // the third parameter - true =
- specified ASYNCHRONOUS processing i.e. not waiting for the response!=0A=
	            req.send();=0A=
	        	return req.responseText;=0A=
	        }=0A=
	    }=0A=
	  }   =0A=
		       =0A=
	  function processReqChange()  {=0A=
	    // only if req shows "complete"=0A=
	    if (req.readyState =3D=3D 4) {=0A=
	      // only if "OK"=0A=
	      if (req.status =3D=3D 200) {=0A=
	          xmldoc=3Dreq.responseXML;=0A=
	          //_xml=3Dreq.responseText;=0A=
	      }=0A=
	      else {=0A=
	        alert("Error: can not get the content ("+ req.statusText +")");=0A=
	      }    =0A=
	    }=0A=
	  }
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/290D96910A80B1A1008F337B78D9049E/LVDG_validaciones_opinas.js

function FormValidator(formulario)=0A=
{=0A=
	var autor =3D formulario.Autor;=0A=
=0A=
	if (autor.value=3D=3D"")=0A=
	{=0A=
		alert("Introduzca su nombre")=0A=
		autor.focus();=0A=
		return (false);=0A=
	}=0A=
	=0A=
	var ciudad =3D formulario.Poblacion;=0A=
	=0A=
	if (ciudad.value=3D=3D"")=0A=
	{=0A=
		alert("Introduzca su ciudad")=0A=
		ciudad.focus();=0A=
		return (false);=0A=
	}=0A=
	=0A=
	var correo =3D formulario.correo;=0A=
	=0A=
	if (correo.value=3D=3D"")=0A=
	{=0A=
		alert("Introduzca su direcci=F3n de correo el=E9ctronico")=0A=
		correo.focus();=0A=
		return (false);=0A=
	}=0A=
	=0A=
	 =0A=
	var at =3D correo.value.indexOf("@")=0A=
	var dot =3D correo.value.lastIndexOf(".")=0A=
	var correoLength =3D correo.value.length=0A=
	=0A=
	if (at<1 || dot-at<2 || correoLength-dot=3D=3D1)=0A=
	{=0A=
       alert("El formato de la direcci=F3n de correo electr=F3nio =
introducida no es correcto");=0A=
       correo.focus();=0A=
       correo.select();=0A=
       return (false);=0A=
=0A=
	}=0A=
		=0A=
	var titulo =3D formulario.Titulo;=0A=
	=0A=
	if (titulo.value=3D=3D"")=0A=
	{=0A=
		alert("Introduzca el t=EDtulo de su comentario")=0A=
		titulo.focus();=0A=
		return (false);=0A=
	}=0A=
	=0A=
	var texto =3D formulario.Texto;=0A=
	var textoLength =3D texto.value.length=0A=
	=0A=
	=0A=
	if (textoLength<=3D1)=0A=
	{=0A=
		alert("Introduzca el texto de su comentario")=0A=
		texto.focus();=0A=
		return (false);=0A=
	}=0A=
	else if (textoLength>3500)=0A=
	{=0A=
		alert("Su comentario no debe exceder los 3000 caracteres")=0A=
		texto.focus();=0A=
		return (false);=0A=
	}=0A=
	=0A=
return true;=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1189597743995408/LVDG_LectorXSLT.js

LectorXSLT.ruta=3D'';=0A=
LectorXSLT.xslt=3D'';=0A=
=0A=
function LectorXSLT(ruta){=0A=
	this.ruta=3Druta;=0A=
	if ((ruta!=3Dundefined) && (ruta!=3D''))=0A=
		this.xslt =3D loadXSLT(ruta);=0A=
	else=0A=
		this.xslt =3D '<xsl:stylesheet version=3D"1.0" =
xmlns:xsl=3D"http://www.w3.org/1999/XSL/Transform"><xsl:template =
match=3D"/"><xsl:copy-of select=3D"/"/></xsl:template></xsl:stylesheet>';=0A=
};=0A=
=0A=
LectorXSLT.getXSLT=3Dfunction(){=0A=
	return this.xslt;=0A=
};=0A=
=0A=
LectorXSLT.setXSLT=3Dfunction(xslt){=0A=
	this.xslt =3D xslt;=0A=
};=0A=
=0A=
LectorXSLT.getRuta=3Dfunction(){=0A=
	return this.ruta;=0A=
};=0A=
=0A=
LectorXSLT.setRuta=3Dfunction(ruta){=0A=
	this.ruta =3D ruta;=0A=
};=0A=
=0A=
=0A=
	  function loadXSLT(url) {=0A=
	    // branch for native XMLHttpRequest object=0A=
	    if (window.XMLHttpRequest) {=0A=
	        req =3D new XMLHttpRequest();=0A=
	        req.onreadystatechange =3D processReqChange;=0A=
	        req.open("GET", url, false); // the third parameter - true - =
specified ASYNCHRONOUS processing i.e. not waiting for the response!=0A=
	        req.send(null);=0A=
	        return req.responseText;=0A=
	    // branch for IE/Windows ActiveX version=0A=
	    } else if (window.ActiveXObject) {=0A=
	        req =3D new ActiveXObject("Microsoft.XMLHTTP");=0A=
	        if (req) {=0A=
	            req.onreadystatechange =3D processReqChange;=0A=
	            req.open("GET", url, false); // the third parameter - true =
- specified ASYNCHRONOUS processing i.e. not waiting for the response!=0A=
	            req.send();=0A=
	        	return req.responseText;=0A=
	        }=0A=
	    }=0A=
	  }
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1192035251129886921/LVDG_validaciones_envio_noticia.js

function validaEnviar(formulario)=0A=
{=0A=
	var para =3D formulario.para;=0A=
	if (para.value=3D=3D"")=0A=
	{=0A=
		alert("Introduzca destinatario del correo")=0A=
		para.focus();=0A=
		return (false);=0A=
	}=0A=
	=0A=
	var paraSeparados =3D para.value.split(";");=0A=
	=0A=
	for(i=3D0;i<paraSeparados.length;i++){=0A=
		var at =3D paraSeparados[i].indexOf("@")=0A=
		var dot =3D paraSeparados[i].lastIndexOf(".")=0A=
		var correoLength =3D paraSeparados[i].length=0A=
		=0A=
		if (at<1 || dot-at<2 || correoLength-dot=3D=3D1)=0A=
		{=0A=
	       alert("El formato de la direcci=F3n de correo electr=F3nico =
introducida no es correcto");=0A=
	       para.focus();=0A=
	       para.select();=0A=
	       return (false);=0A=
=0A=
		}=0A=
	} =0A=
	=0A=
	var correo =3D formulario.correo;=0A=
	=0A=
	if (correo.value=3D=3D"")=0A=
	{=0A=
		alert("Introduzca su direcci=F3n de correo el=E9ctronico")=0A=
		correo.focus();=0A=
		return (false);=0A=
	}=0A=
	=0A=
	 =0A=
	var at =3D correo.value.indexOf("@")=0A=
	var dot =3D correo.value.lastIndexOf(".")=0A=
	var correoLength =3D correo.value.length=0A=
	=0A=
	if (at<1 || dot-at<2 || correoLength-dot=3D=3D1)=0A=
	{=0A=
       alert("El formato de la direcci=F3n de correo electr=F3nio =
introducida no es correcto");=0A=
       correo.focus();=0A=
       correo.select();=0A=
       return (false);=0A=
=0A=
	}=0A=
		=0A=
	var nombre =3D formulario.nombre;=0A=
	=0A=
	if (nombre.value=3D=3D"")=0A=
	{=0A=
		alert("Introduzca su nombre")=0A=
		nombre.focus();=0A=
		return (false);=0A=
	}=0A=
=0A=
	=0A=
return true;=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1189597562672697/LVDG_AjaxMisc.js

// Copyright 2005 Google Inc.=0A=
// All Rights Reserved=0A=
//=0A=
// Miscellania that support the ajaxslt implementation.=0A=
//=0A=
// Author: Steffen Meschkat <mesch@google.com>=0A=
//=0A=
=0A=
function el(i) {=0A=
  return document.getElementById(i);=0A=
}=0A=
=0A=
function px(x) {=0A=
  return x + 'px';=0A=
}=0A=
=0A=
// Split a string s at all occurrences of character c. This is like=0A=
// the split() method of the string object, but IE omits empty=0A=
// strings, which violates the invariant (s.split(x).join(x) =3D=3D s).=0A=
function stringSplit(s, c) {=0A=
  var a =3D s.indexOf(c);=0A=
  if (a =3D=3D -1) {=0A=
    return [ s ];=0A=
  }=0A=
  =0A=
  var parts =3D [];=0A=
  parts.push(s.substr(0,a));=0A=
  while (a !=3D -1) {=0A=
    var a1 =3D s.indexOf(c, a + 1);=0A=
    if (a1 !=3D -1) {=0A=
      parts.push(s.substr(a + 1, a1 - a - 1));=0A=
    } else {=0A=
      parts.push(s.substr(a + 1));=0A=
    } =0A=
    a =3D a1;=0A=
  }=0A=
=0A=
  return parts;=0A=
}=0A=
=0A=
// Returns the text value if a node; for nodes without children this=0A=
// is the nodeValue, for nodes with children this is the concatenation=0A=
// of the value of all children.=0A=
function xmlValue(node) {=0A=
  if (!node) {=0A=
    return '';=0A=
  }=0A=
=0A=
  var ret =3D '';=0A=
  if (node.nodeType =3D=3D DOM_TEXT_NODE ||=0A=
      node.nodeType =3D=3D DOM_CDATA_SECTION_NODE ||=0A=
      node.nodeType =3D=3D DOM_ATTRIBUTE_NODE) {=0A=
    ret +=3D node.nodeValue;=0A=
=0A=
  } else if (node.nodeType =3D=3D DOM_ELEMENT_NODE ||=0A=
             node.nodeType =3D=3D DOM_DOCUMENT_NODE ||=0A=
             node.nodeType =3D=3D DOM_DOCUMENT_FRAGMENT_NODE) {=0A=
    for (var i =3D 0; i < node.childNodes.length; ++i) {=0A=
      ret +=3D arguments.callee(node.childNodes[i]);=0A=
    }=0A=
  }=0A=
  return ret;=0A=
}=0A=
=0A=
// Returns the representation of a node as XML text.=0A=
function xmlText(node) {=0A=
  var ret =3D '';=0A=
  if (node.nodeType =3D=3D DOM_TEXT_NODE) {=0A=
    ret +=3D xmlEscapeText(node.nodeValue);=0A=
    =0A=
  } else if (node.nodeType =3D=3D DOM_ELEMENT_NODE) {=0A=
    ret +=3D '<' + node.nodeName;=0A=
    for (var i =3D 0; i < node.attributes.length; ++i) {=0A=
      var a =3D node.attributes[i];=0A=
      if (a && a.nodeName && a.nodeValue) {=0A=
        ret +=3D ' ' + a.nodeName;=0A=
        ret +=3D '=3D"' + xmlEscapeAttr(a.nodeValue) + '"';=0A=
      }=0A=
    }=0A=
=0A=
    if (node.childNodes.length =3D=3D 0) {=0A=
      ret +=3D '/>';=0A=
=0A=
    } else {=0A=
      ret +=3D '>';=0A=
      for (var i =3D 0; i < node.childNodes.length; ++i) {=0A=
        ret +=3D arguments.callee(node.childNodes[i]);=0A=
      }=0A=
      ret +=3D '</' + node.nodeName + '>';=0A=
    }=0A=
    =0A=
  } else if (node.nodeType =3D=3D DOM_DOCUMENT_NODE || =0A=
             node.nodeType =3D=3D DOM_DOCUMENT_FRAGMENT_NODE) {=0A=
    for (var i =3D 0; i < node.childNodes.length; ++i) {=0A=
      ret +=3D arguments.callee(node.childNodes[i]);=0A=
    }=0A=
  }=0A=
  =0A=
  return ret;=0A=
}=0A=
=0A=
// Applies the given function to each element of the array.=0A=
function mapExec(array, func) {=0A=
  for (var i =3D 0; i < array.length; ++i) {=0A=
    func(array[i]);=0A=
  }=0A=
}=0A=
=0A=
// Returns an array that contains the return value of the given=0A=
// function applied to every element of the input array.=0A=
function mapExpr(array, func) {=0A=
  var ret =3D [];=0A=
  for (var i =3D 0; i < array.length; ++i) {=0A=
    ret.push(func(array[i]));=0A=
  }=0A=
  return ret;=0A=
};=0A=
=0A=
// Reverses the given array in place.=0A=
function reverseInplace(array) {=0A=
  for (var i =3D 0; i < array.length / 2; ++i) {=0A=
    var h =3D array[i];=0A=
    var ii =3D array.length - i - 1;=0A=
    array[i] =3D array[ii];=0A=
    array[ii] =3D h;=0A=
  }=0A=
}=0A=
=0A=
// Shallow-copies an array.=0A=
function copyArray(dst, src) { =0A=
  for (var i =3D 0; i < src.length; ++i) {=0A=
    dst.push(src[i]);=0A=
  }=0A=
}=0A=
=0A=
function assert(b) {=0A=
  if (!b) {=0A=
    throw 'assertion failed';=0A=
  }=0A=
}=0A=
=0A=
// Escape XML special markup chracters: tag delimiter < > and entity=0A=
// reference start delimiter &. The escaped string can be used in XML=0A=
// text portions (i.e. between tags).=0A=
function xmlEscapeText(s) {=0A=
  return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, =
'&gt;');=0A=
}=0A=
=0A=
// Escape XML special markup characters: tag delimiter < > entity=0A=
// reference start delimiter & and quotes ". The escaped string can be=0A=
// used in double quoted XML attribute value portions (i.e. in=0A=
// attributes within start tags).=0A=
function xmlEscapeAttr(s) {=0A=
  return xmlEscapeText(s).replace(/\"/g, '&quot;');=0A=
}=0A=
=0A=
// Escape markup in XML text, but don't touch entity references. The=0A=
// escaped string can be used as XML text (i.e. between tags).=0A=
function xmlEscapeTags(s) {=0A=
  return s.replace(/</g, '&lt;').replace(/>/g, '&gt;');=0A=
}=0A=
=0A=
// An implementation of the debug log. =0A=
=0A=
var logging__ =3D true;=0A=
=0A=
function Log() {};=0A=
=0A=
Log.lines =3D [];=0A=
=0A=
Log.write =3D function(s) {=0A=
  if (logging__) {=0A=
    this.lines.push(xmlEscapeText(s));=0A=
    this.show();=0A=
  }=0A=
};=0A=
=0A=
// Writes the given XML with every tag on a new line.=0A=
Log.writeXML =3D function(xml) {=0A=
  if (logging__) {=0A=
    var s0 =3D xml.replace(/</g, '\n<');=0A=
    var s1 =3D xmlEscapeText(s0);=0A=
    var s2 =3D s1.replace(/\s*\n(\s|\n)*/g, '<br/>');=0A=
    this.lines.push(s2);=0A=
    this.show();=0A=
  }=0A=
}=0A=
=0A=
// Writes without any escaping=0A=
Log.writeRaw =3D function(s) {=0A=
  if (logging__) {=0A=
    this.lines.push(s);=0A=
    this.show();=0A=
  }=0A=
}=0A=
=0A=
Log.clear =3D function() {=0A=
  if (logging__) {=0A=
    var l =3D this.div();=0A=
    l.innerHTML =3D '';=0A=
    this.lines =3D [];=0A=
  }=0A=
}=0A=
=0A=
Log.show =3D function() {=0A=
  var l =3D this.div();=0A=
  l.innerHTML +=3D this.lines.join('<br/>') + '<br/>';=0A=
  this.lines =3D [];=0A=
  l.scrollTop =3D l.scrollHeight;=0A=
}=0A=
=0A=
Log.div =3D function() {=0A=
  var l =3D document.getElementById('log');=0A=
  if (!l) {=0A=
    l =3D document.createElement('div');=0A=
    l.id =3D 'log';=0A=
    l.style.position =3D 'absolute';=0A=
    l.style.right =3D '5px';=0A=
    l.style.top =3D '5px';=0A=
    l.style.width =3D '250px';=0A=
    l.style.height =3D '150px';=0A=
    l.style.overflow =3D 'auto';=0A=
    l.style.backgroundColor =3D '#f0f0f0';=0A=
    l.style.border =3D '1px solid gray';=0A=
    l.style.fontSize =3D '10px';=0A=
    l.style.padding =3D '5px';=0A=
    document.body.appendChild(l);=0A=
  }=0A=
  return l;=0A=
}=0A=
=0A=
=0A=
function Timer() {}=0A=
Timer.start =3D function() {}=0A=
Timer.end =3D function() {}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1189597793386605/LVDG_ClienteRSS.js

function getObject(id) {=0A=
	if( window.mmIsOpera ) return(document.getElementById(id));=0A=
	if (document.all) return(document.all[id]);=0A=
	if (document.getElementById) return(document.getElementById(id));=0A=
	return(false);=0A=
}=0A=
=0A=
 =0A=
function rss(tipo, url, xslt, idElemToDisplay) {=0A=
	parse_xslt(tipo, url, xslt, idElemToDisplay);=0A=
}=0A=
=0A=
function parse_xslt(tipo, url, xslt, idElemToDisplay) {=0A=
	xsltdebug =3D false;=0A=
	xpathdebug =3D false;=0A=
	var lectorXML =3D new LectorXML(url);=0A=
	//alert('xml=3D'+lectorXML.xml);=0A=
	=0A=
	var html =3D '';=0A=
	if (xslt!=3D'') {=0A=
		var xml =3D xmlParse(lectorXML.xml);=0A=
		var lectorXSLT =3D new LectorXSLT(xslt);=0A=
		//alert('xslt=3D'+lectorXSLT.xslt);=0A=
		var xslt =3D xmlParse(lectorXSLT.xslt);=0A=
		html =3D xsltProcess(xml, xslt);=0A=
	} else {=0A=
		html =3D lectorXML.xml;=0A=
	}=0A=
SetContainerHTML2(idElemToDisplay,html);=0A=
	=0A=
}=0A=
=0A=
=0A=
function SetContainerHTML2(id_contenedor,html){=0A=
   var scs=3Dhtml.extractScript();    //capturamos los scripts=0A=
   var mydiv =3D document.getElementById(id_contenedor);=0A=
   mydiv.innerHTML=3Dhtml.stripScript();    //eliminamos los scripts... =
ya son innecesarios=0A=
   scs.evalScript();       =0A=
}=0A=
=0A=
	function SetContainerHTML(id_contenedor,responseText) {=0A=
		mydiv =3D document.getElementById(id_contenedor);=0A=
		mydiv.innerHTML =3D responseText;=0A=
		var elementos =3D mydiv.getElementsByTagName('script');=0A=
		for(i=3D0;i<elementos.length;i++) {=0A=
			var elemento =3D elementos[i];=0A=
			nuevoScript =3D document.createElement('script');=0A=
			nuevoScript.text =3D elemento.innerHTML;=0A=
			nuevoScript.type =3D 'text/javascript';=0A=
			if(elemento.src!=3Dnull && elemento.src.length>0) {=0A=
				nuevoScript.src =3D elemento.src;=0A=
			}=0A=
			elemento.parentNode.replaceChild(nuevoScript,elemento);=0A=
		}=0A=
	}=0A=
=0A=
// a=F1adido para ejecutar el script de ajax.=0A=
var tagScript =3D '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';=0A=
        /**=0A=
        * Eval script fragment=0A=
        * @return String=0A=
        */=0A=
        String.prototype.evalScript =3D function()=0A=
        {=0A=
                return (this.match(new RegExp(tagScript, 'img')) || =
[]).evalScript();=0A=
        };=0A=
        /**=0A=
        * strip script fragment=0A=
        * @return String=0A=
        */=0A=
        String.prototype.stripScript =3D function()=0A=
        {=0A=
                return this.replace(new RegExp(tagScript, 'img'), '');=0A=
        };=0A=
        /**=0A=
        * extract script fragment=0A=
        * @return String=0A=
        */=0A=
        String.prototype.extractScript =3D function()=0A=
        {=0A=
                var matchAll =3D new RegExp(tagScript, 'img');=0A=
                return (this.match(matchAll) || []);=0A=
        };=0A=
        /**=0A=
        * Eval scripts=0A=
        * @return String=0A=
        */=0A=
        Array.prototype.evalScript =3D function(extracted)=0A=
        {=0A=
                var s=3Dthis.map(function(sr){=0A=
                         var sc=3D(sr.match(new RegExp(tagScript, 'im')) =
|| ['', ''])[1];=0A=
                         if(window.execScript){=0A=
                              window.execScript(sc);=0A=
                         }=0A=
                        else=0A=
                       {=0A=
                           window.setTimeout(sc,0);=0A=
                        }=0A=
                });=0A=
                return true;=0A=
        };=0A=
        /**=0A=
        * Map array elements=0A=
        * @param {Function} fun=0A=
        * @return Function=0A=
        */=0A=
        Array.prototype.map =3D function(fun)=0A=
        {=0A=
                if(typeof fun!=3D=3D"function"){return false;}=0A=
                var i =3D 0, l =3D this.length;=0A=
                for(i=3D0;i<l;i++)=0A=
                {=0A=
                        fun(this[i]);=0A=
                }=0A=
                return true;=0A=
        };
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/518EE9620A80B197011F7B3D4E9A130D/LVDG_banners.js

//var server_name=3D"ads.lavozdegalicia.es";=0A=
var server_name=3D"publicidadinternet.lavozdegalicia.es";=0A=
var server_name_external=3D"http://ad.es.doubleclick.net/adj/";=0A=
var OAS_url;=0A=
var v_tile;=0A=
=0A=
function bannerInterno(zoneId) {=0A=
=0A=
	if (!document.phpAds_used) document.phpAds_used =3D ',';=0A=
	document.write ("<" + "script type=3D'text/javascript' src=3D'");=0A=
	document.write ("http://"+server_name+"/adjs.php?n=3Dadda1f64");=0A=
	document.write ("&what=3Dzone:"+zoneId+"&amp;target=3D_blank");=0A=
	document.write ("&exclude=3D" + document.phpAds_used);=0A=
	document.write ("'><" + "/script>");=0A=
=0A=
}=0A=
=0A=
=0A=
function bannerInternoPalabra(zoneId, palabra) {=0A=
=0A=
	if (!document.phpAds_used) document.phpAds_used =3D ',';=0A=
	document.write ("<" + "script type=3D'text/javascript' src=3D'");=0A=
	document.write ("http://"+server_name+"/adjs.php?n=3Dadda1f64");=0A=
	document.write =
("&what=3Dcampaing=3D"+zoneId+","+palabra+"&amp;target=3D_blank");=0A=
	document.write ("&exclude=3D" + document.phpAds_used);=0A=
	document.write ("'><" + "/script>");=0A=
=0A=
}=0A=
=0A=
var llamada =3D true;=0A=
=0A=
function OAS_AD(pos) {=0A=
		var m_OAS_url=3DOAS_url;=0A=
		if (pos=3D=3D"megabanner"){=0A=
		  	var size=3D'728x90,468x60';=0A=
           	m_OAS_url+=3D';dcopt=3Dist';=0A=
           	=0A=
		}else if (pos=3D=3D"robapaginas"){=0A=
		  	var size=3D'300x300,300x250,200x200';=0A=
=0A=
		}else if (pos=3D=3D"pastilla_superior"){=0A=
		  	var size=3D'240x90';=0A=
=0A=
		}else if (pos=3D=3D"ventana"){=0A=
		  	var size=3D'300x140';=0A=
=0A=
		}else if (pos=3D=3D"skyscraper"){=0A=
		  	var size=3D'120x600,200x600';=0A=
=0A=
		}else if (pos=3D=3D"megabanner_inf"){=0A=
		  	var size=3D'728x90,468x60';=0A=
=0A=
		}else if (pos=3D=3D"pastilla_inferior"){=0A=
		  	var size=3D'240x45';=0A=
=0A=
         }else if (pos=3D=3D"cintillo_superior"){=0A=
		  	var size=3D'640x30';=0A=
               var str_source =3D "/portada"; =
///www\.lavozdegalicia\.es/;=0A=
               var str_replace_with =3D "/cintillo.portada";=0A=
               m_OAS_url =3D =
m_OAS_url.replace(str_source,str_replace_with);	=0A=
		}else{=0A=
		  var size=3D'0';=0A=
		}=0A=
=0A=
=0A=
if(typeof(v_randomnumber)=3D=3D"undefined"){=0A=
var v_randomnumber=3DMath.floor(Math.random()*10000000000)}=0A=
=0A=
if(typeof(v_tile)=3D=3D"undefined"){v_tile=3D1}else{v_tile++}=0A=
document.write('<scr'+'ipt =
src=3D"'+m_OAS_url+';pos=3D'+pos+';tile=3D'+v_tile+';sz=3D'+size+';ord=3D=
'+v_randomnumber+'?"><\/scr'+'ipt>');=0A=
=0A=
}=0A=
// para compatiblidad de segmentacion antigua =
[replace[segmentacion-vieja, por nuevo]=0A=
function configuracionOAS(segmentacion) {=0A=
var str_source =3D /www\.lavozdegalicia\.es/;=0A=
var str_replace_with =3D "vocento.lavozdegalicia";=0A=
   if (segmentacion.indexOf('www.lavozdegalicia')!=3D-1)=0A=
	      segmentacion =3D =
segmentacion.replace(str_source,str_replace_with);		=0A=
	if (llamada){ =0A=
		OAS_url =3D server_name_external + segmentacion;=0A=
	}=0A=
	llamada =3D false;=0A=
}=0A=
=0A=
	function muestra(banner) {=0A=
		var caja=3D getObject(banner)=0A=
		if (caja) {=0A=
			var contenido=3Dcaja.innerHTML;=0A=
			if (contenido!=3Dnull && contenido!=3D"" && =
!(contenido.indexOf('/default/empty.gif') !=3D -1) && =
!(contenido.indexOf('-grey.gif') !=3D -1)) {=0A=
				caja.style.display =3D "block";=0A=
			} else {=0A=
				caja.innerHTML =3D "";=0A=
				caja.style.display =3D "none";=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
function phpads_deliverActiveX(content)=0A=
{=0A=
	document.write(content);	=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1200937757704715300/LVDG_utiles.js

// Aumentar y disminuir parrafos=0A=
=0A=
var tamanoParrafoDefecto =3D 16;=0A=
var tamanoParrafo =3D tamanoParrafoDefecto;=0A=
var tamanoParrafoMinimo =3D 16;=0A=
var tamanoParrafoMaximo =3D 24;=0A=
var cambioTamano;=0A=
=0A=
function aumentaParrafo(estilo, id) {=0A=
    if (tamanoParrafo < tamanoParrafoMaximo) {=0A=
		tamanoParrafo +=3D 2;=0A=
		cambioTamano =3D document.getElementById(id);=0A=
=0A=
		var parrafos =3D cambioTamano.getElementsByTagName('p');=0A=
		for (var i=3D0; i<parrafos.length; i++) {=0A=
			if (parrafos[i].className=3D=3Destilo){=0A=
				parrafos[i].style.fontSize=3DtamanoParrafo;=0A=
			}=0A=
		}=0A=
    }=0A=
}=0A=
=0A=
function disminuyeParrafo(estilo, id) {=0A=
    if (tamanoParrafo > tamanoParrafoMinimo) {=0A=
		tamanoParrafo -=3D 2;=0A=
		cambioTamano =3D document.getElementById(id);=0A=
		=0A=
		var parrafos =3D cambioTamano.getElementsByTagName('p');=0A=
		for (var i=3D0; i<parrafos.length; i++) {=0A=
			if (parrafos[i].className=3D=3Destilo){=0A=
				parrafos[i].style.fontSize=3DtamanoParrafo;=0A=
			}=0A=
		}=0A=
    }=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1197640683627484864/LVDG_votacion.js

function obtener_votacion(id_noticia, dominio){=0A=
	var lectorXML =3D new =
LectorXML('/votacion/pixel_votos.php?codigo=3D'+id_noticia+'&dominio=3D'+=
dominio);=0A=
	var xml =3D lectorXML.xml;=0A=
	pintarResultados(xml, id_noticia);=0A=
}=0A=
=0A=
function votar(id_noticia, dominio, voto){=0A=
	//modificado 16/04/08 puede haber 2 noticias en una pagina, se a=F1ade =
id, para paginas antiguas se deja sin id=0A=
	if (document.getElementById('votacion'+id_noticia)!=3Dnull){=0A=
		document.getElementById('votacion'+id_noticia).className=3D"no";=0A=
	}else{=0A=
		document.getElementById('votacion').className=3D"no";=0A=
	}=0A=
	if (document.getElementById('enviandoVotacion'+id_noticia)!=3Dnull){=0A=
		=
document.getElementById('enviandoVotacion'+id_noticia).className=3D"votno=
t";=0A=
	}else{=0A=
		document.getElementById('enviandoVotacion').className=3D"votnot";=0A=
	}=0A=
	//hacemos la petici=F3n=0A=
	var lectorXML =3D new =
LectorXML('/votacion/pixel_vota.php?codigo=3D'+id_noticia+'&dominio=3D'+d=
ominio+'&voto=3D'+voto);=0A=
	//recogemos datos y pintamos=0A=
	var xml =3D lectorXML.xml;=0A=
	pintarResultados(xml,id_noticia);=0A=
	=0A=
	if (document.getElementById('enviandoVotacion'+id_noticia)!=3Dnull){=0A=
		=
document.getElementById('enviandoVotacion'+id_noticia).className=3D"no";=0A=
	}else{=0A=
		document.getElementById('enviandoVotacion').className=3D"no";=0A=
	}=0A=
	if (document.getElementById('votacion'+id_noticia)!=3Dnull){=0A=
		document.getElementById('votacion'+id_noticia).className=3D"votnot";=0A=
	}else{=0A=
		document.getElementById('votacion').className=3D"votnot";=0A=
	}=0A=
	if (document.getElementById('votacionEnviada'+id_noticia)!=3Dnull){=0A=
		=
document.getElementById('votacionEnviada'+id_noticia).className=3D"votnot=
";=0A=
	}else{=0A=
		document.getElementById('votacionEnviada').className=3D"votnot";=0A=
	}=0A=
	//Deshabilitamos el envio de votos=0A=
	for (i=3D0;i<5;i++){=0A=
		if (document.getElementById('star'+id_noticia+i)!=3Dnull){=0A=
			document.getElementById('star'+id_noticia+i).onclick=3Dnada;=0A=
		}else{=0A=
			document.getElementById('star'+i).onclick=3Dnada;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
//funci=F3n para que una vez se haya realizado la votaci=F3n, no se =
pueda votar=0A=
function nada(){=0A=
return false;=0A=
//nada=0A=
}=0A=
=0A=
//Recoge los datos y pinta las estrellas y el n=FAmero de votos=0A=
function pintarResultados(xml, id_noticia){=0A=
	if (xml!=3Dnull){=0A=
		xmldoc =3D xmlParse(xml);=0A=
		if (xmldoc!=3Dnull && =
xmldoc.getElementsByTagName("RESULTADO")[0]!=3Dnull){=0A=
			// Obtiene los datos del XML=0A=
			var =
valoracionEnviada=3Dxmldoc.getElementsByTagName("ENVIADA")[0].firstChild.=
nodeValue;;=0A=
			var =
valoracionMedia=3Dxmldoc.getElementsByTagName("MEDIA")[0].firstChild.node=
Value;=0A=
			var =
numeroVotos=3Dxmldoc.getElementsByTagName("NUMEROVOTOS")[0].firstChild.no=
deValue;=0A=
			if (document.getElementById('star'+id_noticia+'99')!=3Dnull){=0A=
				=
document.getElementById('star'+id_noticia+'99').src=3D"http://media.lavoz=
degalicia.es/img/stars_" + valoracionMedia + ".gif";=0A=
			}else{=0A=
				for (i=3D0;i<5;i++){=0A=
					if (valoracionMedia>i){=0A=
						if (document.getElementById('star'+id_noticia+i)!=3Dnull){=0A=
							document.getElementById('star'+id_noticia+i).className=3D"star =
on";=0A=
						}else{=0A=
							document.getElementById('star'+i).className=3D"star on";=0A=
						}=0A=
					}else{=0A=
						if (document.getElementById('star'+id_noticia+i)!=3Dnull){=0A=
							document.getElementById('star'+id_noticia+i).className=3D"star";=0A=
						}else{=0A=
							document.getElementById('star'+i).className=3D"star";=0A=
						}=0A=
					}=0A=
				}=0A=
			}=0A=
			if (document.getElementById('numeroVotos'+id_noticia)!=3Dnull){=0A=
				=
document.getElementById('numeroVotos'+id_noticia).innerHTML=3D"("+numeroV=
otos+" votos)";=0A=
			}else{=0A=
				document.getElementById('numeroVotos').innerHTML=3D"("+numeroVotos+" =
votos)";=0A=
			}=0A=
		}=0A=
	}=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://media.lavozdegalicia.es/ficheros/1189597663711607/LVDG_AjaXSLT.js

// Copyright 2005 Google Inc.=0A=
// All Rights Reserved=0A=
//=0A=
//=0A=
// An XSL-T processor written in JavaScript. The implementation is NOT=0A=
// complete; some xsl element are left out.=0A=
//=0A=
// References:=0A=
//=0A=
// [XSLT] XSL-T Specification=0A=
// <http://www.w3.org/TR/1999/REC-xslt-19991116>.=0A=
//=0A=
// [ECMA] ECMAScript Language Specification=0A=
// =
<http://www.ecma-international.org/publications/standards/Ecma-262.htm>.=0A=
//=0A=
// The XSL processor API has one entry point, the function=0A=
// xsltProcessContext(). It receives as arguments the starting point in =
the=0A=
// input document as an XPath expression context, the DOM root node of=0A=
// the XSL-T stylesheet, and a DOM node that receives the output.=0A=
//=0A=
// NOTE: Actually, XSL-T processing according to the specification is=0A=
// defined as operation on text documents, not as operation on DOM=0A=
// trees. So, strictly speaking, this implementation is not an XSL-T=0A=
// processor, but the processing engine that needs to be complemented=0A=
// by an XML parser and serializer in order to be complete. Those two=0A=
// are found in the file xml.js.=0A=
//=0A=
//=0A=
// TODO(mesch): add jsdoc comments. Use more coherent naming. Finish=0A=
// remaining XSLT features.=0A=
//=0A=
//=0A=
// Author: Steffen Meschkat <mesch@google.com>=0A=
=0A=
=0A=
// The exported entry point of the XSL-T processor, as explained=0A=
// above.=0A=
//=0A=
// @param xmlDoc The input document root, as DOM node.=0A=
// @param template The stylesheet document root, as DOM node.=0A=
// @return the processed document, as XML text in a string.=0A=
=0A=
function xsltProcess(xmlDoc, stylesheet) {=0A=
  if (xsltdebug) {=0A=
    Log.write('XML STYLESHEET:');=0A=
    Log.writeXML(xmlText(stylesheet));=0A=
    Log.write('XML INPUT:');=0A=
    Log.writeXML(xmlText(xmlDoc));=0A=
  }=0A=
=0A=
  var output =3D (new XDocument).createDocumentFragment();=0A=
  xsltProcessContext(new ExprContext(xmlDoc), stylesheet, output);=0A=
=0A=
  var ret =3D xmlText(output);=0A=
=0A=
  if (xsltdebug) {=0A=
    Log.write('HTML OUTPUT:');=0A=
    Log.writeXML(ret);=0A=
  }=0A=
=0A=
  return ret;=0A=
}=0A=
=0A=
// The main entry point of the XSL-T processor, as explained above.=0A=
//=0A=
// @param input The input document root, as XPath ExprContext.=0A=
// @param template The stylesheet document root, as DOM node.=0A=
// @param the root of the generated output, as DOM node.=0A=
=0A=
function xsltProcessContext(input, template, output) {=0A=
=0A=
  var nodename =3D template.nodeName.split(/:/);=0A=
  if (nodename.length =3D=3D 1 || nodename[0] !=3D 'xsl') {=0A=
    xsltPassThrough(input, template, output);=0A=
=0A=
  } else {=0A=
    switch(nodename[1]) {=0A=
    case 'apply-imports':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'apply-templates':=0A=
      var select =3D xmlGetAttribute(template, 'select');=0A=
      var nodes;=0A=
      if (select) {=0A=
        nodes =3D xpathEval(select,input).nodeSetValue();=0A=
      } else {=0A=
        nodes =3D input.node.childNodes;=0A=
      }=0A=
=0A=
      var sortContext =3D input.clone(nodes[0], 0, nodes);=0A=
      xsltWithParam(sortContext, template);=0A=
      xsltSort(sortContext, template);=0A=
=0A=
      var mode =3D xmlGetAttribute(template, 'mode');=0A=
      var top =3D template.ownerDocument.documentElement;=0A=
      for (var i =3D 0; i < top.childNodes.length; ++i) {=0A=
        var c =3D top.childNodes[i];=0A=
        if (c.nodeType =3D=3D DOM_ELEMENT_NODE &&=0A=
            c.nodeName =3D=3D 'xsl:template' &&=0A=
            c.getAttribute('mode') =3D=3D mode) {=0A=
          for (var j =3D 0; j < sortContext.nodelist.length; ++j) {=0A=
            var nj =3D sortContext.nodelist[j];=0A=
            xsltProcessContext(sortContext.clone(nj, j), c, output);=0A=
          }=0A=
        }=0A=
      }=0A=
      break;=0A=
=0A=
    case 'attribute':=0A=
      var nameexpr =3D xmlGetAttribute(template, 'name');=0A=
      var name =3D xsltAttributeValue(nameexpr, input);=0A=
      var node =3D output.ownerDocument.createDocumentFragment();=0A=
      xsltChildNodes(input, template, node);=0A=
      var value =3D xmlValue(node);=0A=
      output.setAttribute(name, value);=0A=
      break;=0A=
=0A=
    case 'attribute-set':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'call-template':=0A=
      var name =3D xmlGetAttribute(template, 'name');=0A=
      var top =3D template.ownerDocument.documentElement;=0A=
=0A=
      var paramContext =3D input.clone();=0A=
      xsltWithParam(paramContext, template);=0A=
=0A=
      for (var i =3D 0; i < top.childNodes.length; ++i) {=0A=
        var c =3D top.childNodes[i];=0A=
        if (c.nodeType =3D=3D DOM_ELEMENT_NODE &&=0A=
            c.nodeName =3D=3D 'xsl:template' &&=0A=
            c.getAttribute('name') =3D=3D name) {=0A=
          xsltChildNodes(paramContext, c, output);=0A=
          break;=0A=
        }=0A=
      }=0A=
      break;=0A=
=0A=
    case 'choose':=0A=
      xsltChoose(input, template, output);=0A=
      break;=0A=
=0A=
    case 'comment':=0A=
      var node =3D output.ownerDocument.createDocumentFragment();=0A=
      xsltChildNodes(input, template, node);=0A=
      var commentData =3D xmlValue(node);=0A=
      var commentNode =3D =
output.ownerDocument.createComment(commentData);=0A=
      output.appendChild(commentNode);=0A=
      break;=0A=
=0A=
    case 'copy':=0A=
      if (input.node.nodeType =3D=3D DOM_ELEMENT_NODE) {=0A=
        var node =3D =
output.ownerDocument.createElement(input.node.nodeName);=0A=
        output.appendChild(node);=0A=
        xsltChildNodes(input, template, node);=0A=
=0A=
      } else if (input.node.nodeType =3D=3D DOM_ATTRIBUTE_NODE) {=0A=
        var node =3D =
output.ownerDocument.createAttribute(input.node.nodeName);=0A=
        node.nodeValue =3D input.node.nodeValue;=0A=
        output.setAttribute(node);=0A=
      }=0A=
      break;=0A=
=0A=
    case 'copy-of':=0A=
      var select =3D xmlGetAttribute(template, 'select');=0A=
      var value =3D xpathEval(select, input);=0A=
      if (value.type =3D=3D 'node-set') {=0A=
        var nodes =3D value.nodeSetValue();=0A=
        for (var i =3D 0; i < nodes.length; ++i) {=0A=
          xsltCopyOf(output, nodes[i]);=0A=
        }=0A=
=0A=
      } else {=0A=
        var node =3D =
output.ownerDocument.createTextNode(value.stringValue());=0A=
        output.appendChild(node);=0A=
      }=0A=
      break;=0A=
=0A=
    case 'decimal-format':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'element':=0A=
      var nameexpr =3D xmlGetAttribute(template, 'name');=0A=
      var name =3D xsltAttributeValue(nameexpr, input);=0A=
      var node =3D output.ownerDocument.createElement(name);=0A=
      output.appendChild(node);=0A=
      xsltChildNodes(input, template, node);=0A=
      break;=0A=
=0A=
    case 'fallback':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'for-each':=0A=
      var sortContext =3D input.clone();=0A=
      xsltSort(sortContext, template);=0A=
      xsltForEach(sortContext, template, output);=0A=
      break;=0A=
=0A=
    case 'if':=0A=
      var test =3D xmlGetAttribute(template, 'test');=0A=
      if (xpathEval(test, input).booleanValue()) {=0A=
        xsltChildNodes(input, template, output);=0A=
      }=0A=
      break;=0A=
=0A=
    case 'import':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'include':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'key':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'message':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'namespace-alias':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'number':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'otherwise':=0A=
      alert('error if here: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'output':=0A=
      // Ignored. -- Since we operate on the DOM, and all further use=0A=
      // of the output of the XSL transformation is determined by the=0A=
      // browser that we run in, this parameter is not applicable to=0A=
      // this implementation.=0A=
      break;=0A=
=0A=
    case 'preserve-space':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'processing-instruction':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'sort':=0A=
      // just ignore -- was handled by xsltSort()=0A=
      break;=0A=
=0A=
    case 'strip-space':=0A=
      alert('not implemented: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'stylesheet':=0A=
    case 'transform':=0A=
      xsltChildNodes(input, template, output);=0A=
      break;=0A=
=0A=
    case 'template':=0A=
      var match =3D xmlGetAttribute(template, 'match');=0A=
      if (match && xpathMatch(match, input)) {=0A=
        xsltChildNodes(input, template, output);=0A=
      }=0A=
      break;=0A=
=0A=
    case 'text':=0A=
      var text =3D xmlValue(template);=0A=
      var node =3D output.ownerDocument.createTextNode(text);=0A=
      output.appendChild(node);=0A=
      break;=0A=
=0A=
    case 'value-of':=0A=
      var select =3D xmlGetAttribute(template, 'select');=0A=
      var value =3D xpathEval(select, input).stringValue();=0A=
      var node =3D output.ownerDocument.createTextNode(value);=0A=
      output.appendChild(node);=0A=
      break;=0A=
=0A=
    case 'param':=0A=
      xsltVariable(input, template, false);=0A=
      break;=0A=
=0A=
    case 'variable':=0A=
      xsltVariable(input, template, true);=0A=
      break;=0A=
=0A=
    case 'when':=0A=
      alert('error if here: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    case 'with-param':=0A=
      alert('error if here: ' + nodename[1]);=0A=
      break;=0A=
=0A=
    default:=0A=
      alert('error if here: ' + nodename[1]);=0A=
      break;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
=0A=
// Sets parameters defined by xsl:with-param child nodes of the=0A=
// current template node, in the current input context. This happens=0A=
// before the operation specified by the current template node is=0A=
// executed.=0A=
=0A=
function xsltWithParam(input, template) {=0A=
  for (var i =3D 0; i < template.childNodes.length; ++i) {=0A=
    var c =3D template.childNodes[i];=0A=
    if (c.nodeType =3D=3D DOM_ELEMENT_NODE && c.nodeName =3D=3D =
'xsl:with-param') {=0A=
      xsltVariable(input, c, true);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
=0A=
// Orders the current node list in the input context according to the=0A=
// sort order specified by xsl:sort child nodes of the current=0A=
// template node. This happens before the operation specified by the=0A=
// current template node is executed.=0A=
//=0A=
// TODO(mesch): case-order is not implemented.=0A=
//=0A=
// NOTE: this was tested using driving directions, as follows:=0A=
//=0A=
// <xsl:apply-templates select=3D"segments/segment">=0A=
//  <xsl:sort select=3D"substring-before(@distance,'&#160;')"=0A=
//            order=3D"descending" data-type=3D"number"/>=0A=
//  <xsl:sort select=3D"node()"/>=0A=
// </xsl:apply-templates>=0A=
// =0A=
// TODO(mesch): write a unit test.=0A=
=0A=
function xsltSort(input, template) {=0A=
  var sort =3D [];=0A=
  for (var i =3D 0; i < template.childNodes.length; ++i) {=0A=
    var c =3D template.childNodes[i];=0A=
    if (c.nodeType =3D=3D DOM_ELEMENT_NODE && c.nodeName =3D=3D =
'xsl:sort') {=0A=
      var select =3D xmlGetAttribute(c, 'select');=0A=
      var expr =3D xpathParse(select);=0A=
      var type =3D xmlGetAttribute(c, 'data-type') || 'text';=0A=
      var order =3D xmlGetAttribute(c, 'order') || 'ascending';=0A=
      sort.push({ expr: expr, type: type, order: order });=0A=
    }=0A=
  }=0A=
=0A=
  xpathSort(input, sort);=0A=
}=0A=
=0A=
=0A=
// Evaluates a variable or parameter and set it in the current input=0A=
// context. Implements xsl:variable, xsl:param, and xsl:with-param.=0A=
//=0A=
// @param override flag that defines if the value computed here=0A=
// overrides the one already in the input context if that is the=0A=
// case. I.e. decides if this is a default value or a local=0A=
// value. xsl:variable and xsl:with-param override; xsl:param doesn't.=0A=
=0A=
function xsltVariable(input, template, override) {=0A=
  var name =3D xmlGetAttribute(template, 'name');=0A=
  var select =3D xmlGetAttribute(template, 'select');=0A=
=0A=
  var value;=0A=
=0A=
  if (template.childNodes.length > 0) {=0A=
    var root =3D input.node.ownerDocument.createDocumentFragment();=0A=
    xsltChildNodes(input, template, root);=0A=
    value =3D new NodeSetValue([root]);=0A=
=0A=
  } else if (select) {=0A=
    value =3D xpathEval(select, input);=0A=
=0A=
  } else {=0A=
    value =3D new StringValue('');=0A=
  }=0A=
=0A=
  if (override || !input.getVariable(name)) {=0A=
    input.setVariable(name, value);=0A=
  }=0A=
}=0A=
=0A=
=0A=
// Implements xsl:chose and its child nodes xsl:when and=0A=
// xsl:otherwise.=0A=
=0A=
function xsltChoose(input, template, output) {=0A=
  for (var i =3D 0; i < template.childNodes.length; ++i) {=0A=
    var childNode =3D template.childNodes[i];=0A=
    if (childNode.nodeType !=3D DOM_ELEMENT_NODE) {=0A=
      continue;=0A=
=0A=
    } else if (childNode.nodeName =3D=3D 'xsl:when') {=0A=
      var test =3D xmlGetAttribute(childNode, 'test');=0A=
      if (xpathEval(test, input).booleanValue()) {=0A=
        xsltChildNodes(input, childNode, output);=0A=
        break;=0A=
      }=0A=
=0A=
    } else if (childNode.nodeName =3D=3D 'xsl:otherwise') {=0A=
      xsltChildNodes(input, childNode, output);=0A=
      break;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
=0A=
// Implements xsl:for-each.=0A=
=0A=
function xsltForEach(input, template, output) {=0A=
  var select =3D xmlGetAttribute(template, 'select');=0A=
  var nodes =3D xpathEval(select, input).nodeSetValue();=0A=
  for (var i =3D 0; i < nodes.length; ++i) {=0A=
    var context =3D input.clone(nodes[i], i, nodes);=0A=
    xsltChildNodes(context, template, output);=0A=
  }=0A=
}=0A=
=0A=
=0A=
// Traverses the template node tree. Calls the main processing=0A=
// function with the current input context for every child node of the=0A=
// current template node.=0A=
=0A=
function xsltChildNodes(input, template, output) {=0A=
  // Clone input context to keep variables declared here local to the=0A=
  // siblings of the children.=0A=
  var context =3D input.clone();=0A=
  for (var i =3D 0; i < template.childNodes.length; ++i) {=0A=
    xsltProcessContext(context, template.childNodes[i], output);=0A=
  }=0A=
}=0A=
=0A=
=0A=
// Passes template text to the output. The current template node does=0A=
// not specify an XSL-T operation and therefore is appended to the=0A=
// output with all its attributes. Then continues traversing the=0A=
// template node tree.=0A=
=0A=
function xsltPassThrough(input, template, output) {=0A=
  if (template.nodeType =3D=3D DOM_TEXT_NODE) {=0A=
    if (xsltPassText(template)) {=0A=
      var node =3D =
output.ownerDocument.createTextNode(template.nodeValue);=0A=
      output.appendChild(node);=0A=
    }=0A=
=0A=
  } else if (template.nodeType =3D=3D DOM_ELEMENT_NODE) {=0A=
    var node =3D output.ownerDocument.createElement(template.nodeName);=0A=
    for (var i =3D 0; i < template.attributes.length; ++i) {=0A=
      var a =3D template.attributes[i];=0A=
      if (a) {=0A=
        var name =3D a.nodeName;=0A=
        var value =3D xsltAttributeValue(a.nodeValue, input);=0A=
        node.setAttribute(name, value);=0A=
      }=0A=
    }=0A=
    output.appendChild(node);=0A=
    xsltChildNodes(input, template, node);=0A=
=0A=
  } else {=0A=
    // This applies also to the DOCUMENT_NODE of the XSL stylesheet,=0A=
    // so we don't have to treat it specially.=0A=
    xsltChildNodes(input, template, output);=0A=
  }=0A=
}=0A=
=0A=
// Determines if a text node in the XSLT template document is to be=0A=
// stripped according to XSLT whitespace stipping rules.=0A=
//=0A=
// See [XSLT], section 3.4.=0A=
//=0A=
// TODO(mesch): Whitespace stripping on the input document is=0A=
// currently not implemented.=0A=
=0A=
function xsltPassText(template) {=0A=
  if (!template.nodeValue.match(/^\s*$/)) {=0A=
    return true;=0A=
  }=0A=
=0A=
  var element =3D template.parentNode;=0A=
  if (element.nodeName =3D=3D 'xsl:text') {=0A=
    return true;=0A=
  }=0A=
=0A=
  while (element && element.nodeType =3D=3D DOM_ELEMENT_NODE) {=0A=
    var xmlspace =3D element.getAttribute('xml:space');=0A=
    if (xmlspace) {=0A=
      if (xmlspace =3D=3D 'default') {=0A=
        return false;=0A=
      } else if (xmlspace =3D=3D 'preserve') {=0A=
        return true;=0A=
      }=0A=
    }=0A=
=0A=
    element =3D element.parentNode;=0A=
  }=0A=
=0A=
  return false;=0A=
}=0A=
=0A=
// Evaluates an XSL-T attribute value template. Attribute value=0A=
// templates are attributes on XSL-T elements that contain XPath=0A=
// expressions in braces {}. The XSL-T expressions are evaluated in=0A=
// the current input context. NOTE(mesch): We are using stringSplit()=0A=
// instead of string.split() for IE compatibility, see comment on=0A=
// stringSplit().=0A=
=0A=
function xsltAttributeValue(value, context) {=0A=
  var parts =3D stringSplit(value, '{');=0A=
  if (parts.length =3D=3D 1) {=0A=
    return value;=0A=
  }=0A=
=0A=
  var ret =3D '';=0A=
  for (var i =3D 0; i < parts.length; ++i) {=0A=
    var rp =3D stringSplit(parts[i], '}');=0A=
    if (rp.length !=3D 2) {=0A=
      // first literal part of the value=0A=
      ret +=3D parts[i];=0A=
      continue;=0A=
    }=0A=
=0A=
    var val =3D xpathEval(rp[0], context).stringValue();=0A=
    ret +=3D val + rp[1];=0A=
  }=0A=
=0A=
  return ret;=0A=
}=0A=
=0A=
=0A=
// Wrapper function to access attribute values of template element=0A=
// nodes. Currently this calls xmlResolveEntities because in some DOM=0A=
// implementations the return value of node.getAttributeValue()=0A=
// contains unresolved XML entities, although the DOM spec requires=0A=
// that entity references are resolved by te DOM.=0A=
=0A=
function xmlGetAttribute(node, name) {=0A=
  // TODO(mesch): This should not be necessary if the DOM is working=0A=
  // correctly. The DOM is responsible for resolving entities, not the=0A=
  // application.=0A=
  var value =3D node.getAttribute(name);=0A=
  if (value) {=0A=
    return xmlResolveEntities(value);=0A=
  } else {=0A=
    return value;=0A=
  }=0A=
};=0A=
=0A=
=0A=
// Implements xsl:copy-of for node-set values of the select=0A=
// expression. Recurses down the source node tree, which is part of=0A=
// the input document.=0A=
//=0A=
// @param dst the node being copied to, part of output document,=0A=
// @param src the node being copied, part in input document,=0A=
=0A=
function xsltCopyOf(dst, src) {=0A=
  if (src.nodeType =3D=3D DOM_TEXT_NODE) {=0A=
    var node =3D dst.ownerDocument.createTextNode(src.nodeValue);=0A=
    dst.appendChild(node);=0A=
=0A=
  } else if (src.nodeType =3D=3D DOM_ATTRIBUTE_NODE) {=0A=
    dst.setAttribute(src.nodeName, src.nodeValue);=0A=
=0A=
  } else if (src.nodeType =3D=3D DOM_ELEMENT_NODE) {=0A=
    var node =3D dst.ownerDocument.createElement(src.nodeName);=0A=
    dst.appendChild(node);=0A=
=0A=
    // Recursion is implemented by the function calling itself via=0A=
    // arguments.callee, independent of its name. Very convenient for=0A=
    // renaming the function.=0A=
=0A=
    for (var i =3D 0; i < src.attributes.length; ++i) {=0A=
      arguments.callee(node, src.attributes[i]);=0A=
    }=0A=
=0A=
    for (var i =3D 0; i < src.childNodes.length; ++i) {=0A=
      arguments.callee(node, src.childNodes[i]);=0A=
    }=0A=
=0A=
  } else if (src.nodeType =3D=3D DOM_DOCUMENT_FRAGMENT_NODE ||=0A=
             src.nodeType =3D=3D DOM_DOCUMENT_NODE) {=0A=
    for (var i =3D 0; i < src.childNodes.length; ++i) {=0A=
      arguments.callee(dst, src.childNodes[i]);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
=0A=
// Evaluates an XPath expression in the current input context as a=0A=
// match (see [XSLT] section 5.2, paragraph 1).=0A=
=0A=
function xpathMatch(match, context) {=0A=
  var expr =3D xpathParse(match);=0A=
=0A=
  var ret;=0A=
  // Shortcut for the most common case.=0A=
  if (expr.steps && !expr.absolute && expr.steps.length =3D=3D 1 &&=0A=
      expr.steps[0].axis =3D=3D 'child' && =
expr.steps[0].predicate.length =3D=3D 0) {=0A=
    ret =3D expr.steps[0].nodetest.evaluate(context).booleanValue();=0A=
=0A=
  } else {=0A=
=0A=
    ret =3D false;=0A=
    var node =3D context.node;=0A=
=0A=
    while (!ret && node) {=0A=
      var result =3D =
expr.evaluate(context.clone(node,0,[node])).nodeSetValue();=0A=
      for (var i =3D 0; i < result.length; ++i) {=0A=
        if (result[i] =3D=3D context.node) {=0A=
          ret =3D true;=0A=
          break;=0A=
        }=0A=
      }=0A=
      node =3D node.parentNode;=0A=
    }=0A=
  }=0A=
=0A=
  return ret;=0A=
}=0A=
=0A=
=0A=
// Parses and then evaluates the given XPath expression in the given=0A=
// input context. Notice that parsed xpath expressions are cached.=0A=
=0A=
function xpathEval(select, context) {=0A=
  var expr =3D xpathParse(select);=0A=
  var ret =3D expr.evaluate(context);=0A=
  return ret;=0A=
}
------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://pagead2.googlesyndication.com/pagead/show_ads.js

(function(){=0A=
var g=3Dtrue,l=3Dnull,m=3Dfalse,n=3D(new =
Date).getTime();document.URL.indexOf("?google_debug")>0||document.URL.ind=
exOf("&google_debug")>0;function o(a,b){var c=3DparseFloat(a);return =
isNaN(c)||c>1||c<0?b:c}function p(a,b){var =
c=3D/^([\w-]+\.)+[\w-]{2,}(\:[0-9]+)?$/;return c.test(a)?a:b};var =
aa=3D"pagead2.googlesyndication.com",ba=3D"googleads.g.doubleclick.net",c=
a=3D"pubads.g.doubleclick.net",da=3D"partner.googleadservices.com",q=3Dp(=
"pagead2.googlesyndication.com",aa),ea=3Dp("googleads.g.doubleclick.net",=
ba),fa=3Dp("pagead2.googlesyndication.com",aa);p("pubads.g.doubleclick.ne=
t",ca);var ga=3Dp("partner.googleadservices.com",da);var =
ha=3D{google_ad_channel:"channel",google_ad_host:"host",google_ad_host_ch=
annel:"h_ch",google_ad_host_tier_id:"ht_id",google_ad_region:"region",goo=
gle_ad_section:"region",google_ad_type:"ad_type",google_adtest:"adtest",g=
oogle_allow_expandable_ads:"ea",google_alternate_ad_url:"alternate_ad_url=
",google_alternate_color:"alt_color",google_bid:"bid",google_city:"gcs",g=
oogle_color_bg:"color_bg",google_color_border:"color_border",google_color=
_line:"color_line",google_color_link:"color_link",google_color_text:"colo=
r_text",=0A=
google_color_url:"color_url",google_contents:"contents",google_country:"g=
l",google_cust_age:"cust_age",google_cust_ch:"cust_ch",google_cust_gender=
:"cust_gender",google_cust_id:"cust_id",google_cust_interests:"cust_inter=
ests",google_cust_job:"cust_job",google_cust_l:"cust_l",google_cust_lh:"c=
ust_lh",google_cust_u_url:"cust_u_url",google_disable_video_autoplay:"dis=
able_video_autoplay",google_ed:"ed",google_encoding:"oe",google_feedback:=
"feedback_link",google_flash_version:"flash",google_font_face:"f",=0A=
google_gl:"gl",google_hints:"hints",google_kw:"kw",google_kw_type:"kw_typ=
e",google_language:"hl",google_page_url:"url",google_referrer_url:"ref",g=
oogle_region:"gr",google_reuse_colors:"reuse_colors",google_safe:"adsafe"=
,google_tag_info:"gut",google_targeting:"targeting",google_ui_features:"u=
i",google_ui_version:"uiv",google_video_doc_id:"video_doc_id",google_vide=
o_product_type:"video_product_type"},ia=3D{google_ad_format:"format",goog=
le_ad_output:"output",google_ad_callback:"callback",google_ad_height:"h",=0A=
google_ad_override:"google_ad_override",google_ad_slot:"slotname",google_=
ad_width:"w",google_analytics_uacct:"ga_wpids",google_correlator:"correla=
tor",google_cpa_choice:"cpa_choice",google_ctr_threshold:"ctr_t",google_i=
mage_size:"image_size",google_last_modified_time:"lmt",google_max_num_ads=
:"num_ads",google_max_radlink_len:"max_radlink_len",google_num_radlinks:"=
num_radlinks",google_num_radlinks_per_unit:"num_radlinks_per_unit",google=
_only_ads_with_video:"only_ads_with_video",google_page_location:"loc",=0A=
google_rl_dest_url:"rl_dest_url",google_rl_filtering:"rl_filtering",googl=
e_rl_mode:"rl_mode",google_rt:"rt",google_skip:"skip"},ja=3D{google_only_=
pyv_ads:"pyv"};function ka(a){return ha[a]||ia[a]||ja[a]||l};function =
la(a){return typeof =
encodeURIComponent=3D=3D"function"?encodeURIComponent(a):escape(a)}functi=
on ma(a,b,c){var =
d=3Ddocument.createElement("script");d.type=3D"text/javascript";if(b)d.on=
load=3Db;if(c)d.id=3Dc;d.src=3Da;var =
e=3Ddocument.getElementsByTagName("head")[0];if(!e)return =
m;window.setTimeout(function(){e.appendChild(d)},0);return g}function =
r(){this.b=3Dthis.n();this.g=3Dm;if(!this.b)this.g=3Dthis.h()}r.prototype=
.e=3D"__gads=3D";r.prototype.c=3D"GoogleAdServingTest=3D";r.prototype.l=3D=
function(){return this.b};=0A=
r.prototype.setCookieInfo=3Dfunction(a){this.a=3Da._cookies_[0];if(this.a=
!=3Dl){this.b=3Dthis.a._value_;this.o()}};r.prototype.j=3Dfunction(a){var=
 b=3D(new Date).valueOf(),c=3Dnew Date;c.setTime(b+a);return c};var =
na=3D"http://"+ga+"/gampad/cookie.js?callback=3D_GA_googleCookieHelper.se=
tCookieInfo";r.prototype.i=3Dfunction(a){if(!(this.b||!this.g)){var =
b=3D"script",c=3Ddocument.domain,d=3Dna+"&client=3D"+la(a)+"&domain=3D"+l=
a(c);document.write("<"+b+' src=3D"'+d+'"></'+b+">")}};=0A=
r.prototype.h=3Dfunction(){document.cookie=3Dthis.c+"Good";var =
a=3Dthis.f(this.c),b=3Da=3D=3D"Good";if(b){var =
c=3Dthis.j(-1);document.cookie=3Dthis.c+"; =
expires=3D"+c.toGMTString()}return b};r.prototype.n=3Dfunction(){var =
a=3Dthis.f(this.e);return a};r.prototype.f=3Dfunction(a){var =
b=3Ddocument.cookie,c=3Db.indexOf(a),d=3D"";if(c!=3D-1){var =
e=3Dc+a.length,f=3Db.indexOf(";",e);if(f=3D=3D-1)f=3Db.length;d=3Db.subst=
ring(e,f)}return d};=0A=
r.prototype.o=3Dfunction(){if(!(this.a=3D=3Dl))if(this.b){var a=3Dnew =
Date;a.setTime(1000*this.a._expires_);var =
b=3Dthis.a._domain_,c=3Dthis.e+this.b+"; expires=3D"+a.toGMTString()+"; =
path=3D"+this.a._path_+"; domain=3D."+b;document.cookie=3Dc}};function =
oa(a){if(a in pa)return pa[a];return =
pa[a]=3Dnavigator.userAgent.toLowerCase().indexOf(a)!=3D-1}var pa=3D{};=0A=
function qa(){if(navigator.plugins&&navigator.mimeTypes.length){var =
a=3Dnavigator.plugins["Shockwave Flash"];if(a&&a.description)return =
a.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s)+r/,".")}else =
if(navigator.userAgent&&navigator.userAgent.indexOf("Windows =
CE")>=3D0){for(var b=3D3,c=3D1;c;)try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+(b+1));b++}catch(d){c=3Dl}=
return b.toString()}else if(oa("msie")&&!window.opera){c=3Dl;try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(e){b=3D=0A=
0;try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");b=3D6;c.AllowScriptAcces=
s=3D"always"}catch(f){if(b=3D=3D6)return b.toString()}try{c=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(j){}}if(c){b=3Dc.Get=
Variable("$version").split(" ")[1];return =
b.replace(/,/g,".")}}return"0"}function ua(a){var =
b=3Da.google_ad_format;if(b)return b.indexOf("_0ads")>0;return =
a.google_ad_output!=3D"html"&&a.google_num_radlinks>0}function =
v(a){return!!a&&a.indexOf("_sdo")!=3D-1};function va(a,b){try{return =
a.top.document.URL=3D=3Db.URL}catch(c){}return m}function =
wa(a,b,c,d){var =
e=3Dc||a.google_ad_width,f=3Dd||a.google_ad_height;if(va(a,b))return =
m;var j=3Db.documentElement;if(e&&f){var =
k=3D1,i=3D1;if(a.innerHeight){k=3Da.innerWidth;i=3Da.innerHeight}else =
if(j&&j.clientHeight){k=3Dj.clientWidth;i=3Dj.clientHeight}else =
if(b.body){k=3Db.body.clientWidth;i=3Db.body.clientHeight}if(i>2*f||k>2*e=
)return m}return g}function xa(a,b){for(var c in b)a["google_"+c]=3Db[c]}=0A=
function ya(a,b){if(!b)return a.URL;return a.referrer}function =
za(a,b){if(!b&&a.google_referrer_url=3D=3Dl)return"0";else =
if(b&&a.google_referrer_url=3D=3Dl)return"1";else =
if(!b&&a.google_referrer_url!=3Dl)return"2";else =
if(b&&a.google_referrer_url!=3Dl)return"3";return"4"}function =
Aa(a,b,c,d){a.page_url=3Dya(c,d);a.page_location=3Dl}function =
Ba(a,b,c,d){a.page_url=3Db.google_page_url;a.page_location=3Dya(c,d)||"EM=
PTY"}=0A=
function Ca(a,b){var =
c=3D{},d=3Dwa(a,b,a.google_ad_width,a.google_ad_height);c.iframing=3Dza(a=
,d);a.google_page_url?Ba(c,a,b,d):Aa(c,a,b,d);c.last_modified_time=3Db.UR=
L=3D=3Dc.page_url?Date.parse(b.lastModified)/1000:l;c.referrer_url=3Dd?a.=
google_referrer_url:a.google_page_url&&a.google_referrer_url?a.google_ref=
errer_url:b.referrer;return c}function Da(a){var =
b=3D{},c=3Da.URL.substring(a.URL.lastIndexOf("http"));b.iframing=3Dl;b.pa=
ge_url=3Dc;b.page_location=3Da.URL;b.last_modified_time=3Dl;b.referrer_ur=
l=3Dc;return b}=0A=
function Ea(a,b){var c=3DFa(a,b);xa(a,c)}function Fa(a,b){var c;return =
c=3Da.google_page_url=3D=3Dl&&Ga[b.domain]?Da(b):Ca(a,b)}var =
Ga=3D{};Ga["ad.yieldmanager.com"]=3Dg;var w=3Dthis,y=3Dfunction(a){var =
b=3Dtypeof a;if(b=3D=3D"object")if(a){if(a instanceof Array||!(a =
instanceof Object)&&Object.prototype.toString.call(a)=3D=3D"[object =
Array]"||typeof a.length=3D=3D"number"&&typeof =
a.splice!=3D"undefined"&&typeof =
a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("splice"))=
return"array";if(!(a instanceof =
Object)&&(Object.prototype.toString.call(a)=3D=3D"[object =
Function]"||typeof a.call!=3D"undefined"&&typeof =
a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("call")))r=
eturn"function"}else return"null";=0A=
else if(b=3D=3D"function"&&typeof =
a.call=3D=3D"undefined")return"object";return b},Ha=3Dfunction(a){var =
b=3Dy(a);return b=3D=3D"array"||b=3D=3D"object"&&typeof =
a.length=3D=3D"number"},A=3Dfunction(a){return typeof =
a=3D=3D"string"},Ia=3Dfunction(a){var b=3Dy(a);return =
b=3D=3D"object"||b=3D=3D"array"||b=3D=3D"function"};Math.floor(Math.rando=
m()*2147483648).toString(36);var Ja=3Dfunction(a){var =
b=3Dy(a);if(b=3D=3D"object"||b=3D=3D"array"){if(a.clone)return =
a.clone.call(a);var c=3Db=3D=3D"array"?[]:{};for(var d in =
a)c[d]=3DJa(a[d]);return c}return =
a},Ka=3DDate.now||function(){return(new Date).getTime()};var =
La=3Dfunction(a,b,c){if(a.forEach)a.forEach(b,c);else =
if(Array.forEach)Array.forEach(a,b,c);else for(var =
d=3Da.length,e=3DA(a)?a.split(""):a,f=3D0;f<d;f++)f in =
e&&b.call(c,e[f],f,a)},Ma=3Dfunction(a){if(y(a)=3D=3D"array")return =
a.concat();else{for(var =
b=3D[],c=3D0,d=3Da.length;c<d;c++)b[c]=3Da[c];return b}};var =
B=3Dfunction(a,b){this.x=3Da!=3D=3Dundefined?a:0;this.y=3Db!=3D=3Dundefin=
ed?b:0};B.prototype.clone=3Dfunction(){return new =
B(this.x,this.y)};B.prototype.toString=3Dfunction(){return"("+this.x+", =
"+this.y+")"};var =
C=3Dfunction(a,b){this.width=3Da;this.height=3Db};C.prototype.clone=3Dfun=
ction(){return new =
C(this.width,this.height)};C.prototype.toString=3Dfunction(){return"("+th=
is.width+" x =
"+this.height+")"};C.prototype.ceil=3Dfunction(){this.width=3DMath.ceil(t=
his.width);this.height=3DMath.ceil(this.height);return =
this};C.prototype.floor=3Dfunction(){this.width=3DMath.floor(this.width);=
this.height=3DMath.floor(this.height);return this};=0A=
C.prototype.round=3Dfunction(){this.width=3DMath.round(this.width);this.h=
eight=3DMath.round(this.height);return =
this};C.prototype.scale=3Dfunction(a){this.width*=3Da;this.height*=3Da;re=
turn this};var Na=3Dfunction(a,b,c){for(var d in =
a)b.call(c,a[d],d,a)};var Oa=3Dfunction(a){return =
a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ua=3Dfunction(a,b){if(b)return =
a.replace(Pa,"&amp;").replace(Qa,"&lt;").replace(Ra,"&gt;").replace(Sa,"&=
quot;");else{if(!Ta.test(a))return =
a;if(a.indexOf("&")!=3D-1)a=3Da.replace(Pa,"&amp;");if(a.indexOf("<")!=3D=
-1)a=3Da.replace(Qa,"&lt;");if(a.indexOf(">")!=3D-1)a=3Da.replace(Ra,"&gt=
;");if(a.indexOf('"')!=3D-1)a=3Da.replace(Sa,"&quot;");return =
a}},Pa=3D/&/g,Qa=3D/</g,Ra=3D/>/g,Sa=3D/\"/g,Ta=3D/[&<>\"]/,Va=3Dfunction=
(a,b){for(var c=3Db.length,d=3D0;d<c;d++){var e=3Dc=3D=3D=0A=
1?b:b.charAt(d);if(a.charAt(0)=3D=3De&&a.charAt(a.length-1)=3D=3De)return=
 a.substring(1,a.length-1)}return a},D=3Dfunction(a,b){return =
a.indexOf(b)!=3D-1},Xa=3Dfunction(a,b){for(var =
c=3D0,d=3DOa(String(a)).split("."),e=3DOa(String(b)).split("."),f=3DMath.=
max(d.length,e.length),j=3D0;c=3D=3D0&&j<f;j++){var =
k=3Dd[j]||"",i=3De[j]||"",h=3Dnew RegExp("(\\d*)(\\D*)","g"),z=3Dnew =
RegExp("(\\d*)(\\D*)","g");do{var =
t=3Dh.exec(k)||["","",""],u=3Dz.exec(i)||["","",""];if(t[0].length=3D=3D0=
&&u[0].length=3D=3D0)break;var =
s=3Dt[1].length=3D=3D0?0:parseInt(t[1],10),=0A=
I=3Du[1].length=3D=3D0?0:parseInt(u[1],10);c=3DWa(s,I)||Wa(t[2].length=3D=
=3D0,u[2].length=3D=3D0)||Wa(t[2],u[2])}while(c=3D=3D0)}return =
c},Wa=3Dfunction(a,b){if(a<b)return-1;else if(a>b)return 1;return =
0};Ka();var E,Ya,F,Za,$a,ab,bb,cb,db,eb,gb=3Dfunction(){return =
w.navigator?w.navigator.userAgent:l},G=3Dfunction(){return =
w.navigator},kb=3Dfunction(){ab=3D$a=3DZa=3DF=3DYa=3DE=3Dm;var =
a;if(a=3Dgb()){var =
b=3DG();E=3Da.indexOf("Opera")=3D=3D0;Ya=3D!E&&a.indexOf("MSIE")!=3D-1;Za=
=3D(F=3D!E&&a.indexOf("WebKit")!=3D-1)&&a.indexOf("Mobile")!=3D-1;ab=3D($=
a=3D!E&&!F&&b.product=3D=3D"Gecko")&&b.vendor=3D=3D"Camino"}};kb();=0A=
var H=3DE,J=3DYa,K=3D$a,L=3DF,lb=3DZa,mb=3Dfunction(){var a=3DG();return =
a&&a.platform||""},nb=3Dmb(),ob=3Dfunction(){bb=3DD(nb,"Mac");cb=3DD(nb,"=
Win");db=3DD(nb,"Linux");eb=3D!!G()&&D(G().appVersion||"","X11")};ob();=0A=
var pb=3Dbb,qb=3Dcb,rb=3Ddb,sb=3Dfunction(){var =
a=3D"",b;if(H&&w.opera){var c=3Dw.opera.version;a=3Dtypeof =
c=3D=3D"function"?c():c}else{if(K)b=3D/rv\:([^\);]+)(\)|;)/;else =
if(J)b=3D/MSIE\s+([^\);]+)(\)|;)/;else =
if(L)b=3D/WebKit\/(\S+)/;if(b){var =
d=3Db.exec(gb());a=3Dd?d[1]:""}}return =
a},tb=3Dsb(),ub=3D{},M=3Dfunction(a){return =
ub[a]||(ub[a]=3DXa(tb,a)>=3D0)};var N;var vb=3Dfunction(a){return =
A(a)?document.getElementById(a):a},wb=3Dvb,yb=3Dfunction(a,b){Na(b,functi=
on(c,d){if(d=3D=3D"style")a.style.cssText=3Dc;else =
if(d=3D=3D"class")a.className=3Dc;else =
if(d=3D=3D"for")a.htmlFor=3Dc;else if(d in =
xb)a.setAttribute(xb[d],c);else =
a[d]=3Dc})},xb=3D{cellpadding:"cellPadding",cellspacing:"cellSpacing",col=
span:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"w=
idth",usemap:"useMap",frameborder:"frameBorder",type:"type"},zb=3Dfunctio=
n(a){var b=3Da.document;if(L&&!M("500")&&!lb){if(typeof a.innerHeight=3D=3D=0A=
"undefined")a=3Dwindow;var =
c=3Da.innerHeight,d=3Da.document.documentElement.scrollHeight;if(a=3D=3Da=
.top)if(d<c)c-=3D15;return new C(a.innerWidth,c)}var =
e=3Db.compatMode=3D=3D"CSS1Compat"&&(!H||H&&M("9.50"))?b.documentElement:=
b.body;return new C(e.clientWidth,e.clientHeight)},Ab=3Dfunction(a){var =
b=3D!L&&a.compatMode=3D=3D"CSS1Compat"?a.documentElement:a.body;return =
new B(b.scrollLeft,b.scrollTop)},Cb=3Dfunction(){return =
Bb(document,arguments)},Bb=3Dfunction(a,b){var =
c=3Db[0],d=3Db[1];if(J&&d&&(d.name||d.type)){var e=3D["<",c];d.name&&=0A=
e.push(' name=3D"',Ua(d.name),'"');if(d.type){e.push(' =
type=3D"',Ua(d.type),'"');d=3DJa(d);delete =
d.type}e.push(">");c=3De.join("")}var =
f=3Da.createElement(c);if(d)if(A(d))f.className=3Dd;else =
yb(f,d);if(b.length>2){function =
j(h){if(h)f.appendChild(A(h)?a.createTextNode(h):h)}for(var =
k=3D2;k<b.length;k++){var =
i=3Db[k];Ha(i)&&!(Ia(i)&&i.nodeType>0)?La(Db(i)?Ma(i):i,j):j(i)}}return =
f},Eb=3Dfunction(a,b){a.appendChild(b)},Fb=3Dfunction(a){return =
a&&a.parentNode?a.parentNode.removeChild(a):l},Gb=3Dfunction(a,b){var =
c=3Db.parentNode;=0A=
c&&c.replaceChild(a,b)},Hb=3DL&&Xa(tb,"521")<=3D0,Ib=3Dfunction(a,b){if(t=
ypeof a.contains!=3D"undefined"&&!Hb&&b.nodeType=3D=3D1)return =
a=3D=3Db||a.contains(b);if(typeof =
a.compareDocumentPosition!=3D"undefined")return =
a=3D=3Db||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=3Db;)b=3Db.=
parentNode;return b=3D=3Da},O=3Dfunction(a){return =
a.nodeType=3D=3D9?a:a.ownerDocument||a.document},Db=3Dfunction(a){if(a&&t=
ypeof a.length=3D=3D"number")if(Ia(a))return typeof =
a.item=3D=3D"function"||typeof a.item=3D=3D"string";else =
if(y(a)=3D=3D"function")return typeof a.item=3D=3D=0A=
"function";return =
m},P=3Dfunction(a){this.d=3Da||w.document||document};P.prototype.createEl=
ement=3Dfunction(a){return =
this.d.createElement(a)};P.prototype.createTextNode=3Dfunction(a){return =
this.d.createTextNode(a)};P.prototype.m=3Dfunction(){return =
this.d.compatMode=3D=3D"CSS1Compat"};P.prototype.k=3Dfunction(){return =
Ab(this.d)};P.prototype.appendChild=3DEb;P.prototype.removeNode=3DFb;P.pr=
ototype.replaceNode=3DGb;P.prototype.contains=3DIb;var =
Jb,Kb,Lb,Mb,Nb,Ob,Pb=3Dfunction(){Ob=3DNb=3DMb=3DLb=3DKb=3DJb=3Dm;var =
a=3Dgb();if(a)if(a.indexOf("Firefox")!=3D-1)Jb=3Dg;else =
if(a.indexOf("Camino")!=3D-1)Kb=3Dg;else =
if(a.indexOf("iPhone")!=3D-1||a.indexOf("iPod")!=3D-1)Lb=3Dg;else =
if(a.indexOf("Android")!=3D-1)Mb=3Dg;else =
if(a.indexOf("Chrome")!=3D-1)Nb=3Dg;else =
if(a.indexOf("Safari")!=3D-1)Ob=3Dg};Pb();var Qb=3Dfunction(a,b){var =
c=3DO(a);if(c.defaultView&&c.defaultView.getComputedStyle){var =
d=3Dc.defaultView.getComputedStyle(a,"");if(d)return d[b]}return =
l},Q=3Dfunction(a,b){return =
Qb(a,b)||(a.currentStyle?a.currentStyle[b]:l)||a.style[b]},Rb=3Dfunction(=
a){var b;b=3Da?a.nodeType=3D=3D9?a:O(a):document;if(J&&!(b?new =
P(O(b)):N||(N=3Dnew P)).m())return b.body;return =
b.documentElement},Sb=3Dfunction(a){var =
b=3Da.getBoundingClientRect();if(J){var =
c=3Da.ownerDocument;b.left-=3Dc.documentElement.clientLeft+c.body.clientL=
eft;b.top-=3D=0A=
c.documentElement.clientTop+c.body.clientTop}return =
b},Tb=3Dfunction(a){if(J)return a.offsetParent;for(var =
b=3DO(a),c=3DQ(a,"position"),d=3Dc=3D=3D"fixed"||c=3D=3D"absolute",e=3Da.=
parentNode;e&&e!=3Db;e=3De.parentNode){c=3DQ(e,"position");d=3Dd&&c=3D=3D=
"static"&&e!=3Db.documentElement&&e!=3Db.body;if(!d&&(e.scrollWidth>e.cli=
entWidth||e.scrollHeight>e.clientHeight||c=3D=3D"fixed"||c=3D=3D"absolute=
"))return e}return l},Ub=3Dfunction(a){var =
b,c=3DO(a),d=3DQ(a,"position"),e=3DK&&c.getBoxObjectFor&&!a.getBoundingCl=
ientRect&&d=3D=3D"absolute"&&(b=3Dc.getBoxObjectFor(a))&&=0A=
(b.screenX<0||b.screenY<0),f=3Dnew B(0,0),j=3DRb(c);if(a=3D=3Dj)return =
f;if(a.getBoundingClientRect){b=3DSb(a);var k=3D(c?new =
P(O(c)):N||(N=3Dnew P)).k();f.x=3Db.left+k.x;f.y=3Db.top+k.y}else =
if(c.getBoxObjectFor&&!e){b=3Dc.getBoxObjectFor(a);var =
i=3Dc.getBoxObjectFor(j);f.x=3Db.screenX-i.screenX;f.y=3Db.screenY-i.scre=
enY}else{var =
h=3Da;do{f.x+=3Dh.offsetLeft;f.y+=3Dh.offsetTop;if(h!=3Da){f.x+=3Dh.clien=
tLeft||0;f.y+=3Dh.clientTop||0}if(L&&Q(h,"position")=3D=3D"fixed"){f.x+=3D=
c.body.scrollLeft;f.y+=3Dc.body.scrollTop;break}h=3Dh.offsetParent}while(=
h&&=0A=
h!=3Da);if(H||L&&d=3D=3D"absolute")f.y-=3Dc.body.offsetTop;for(h=3Da;(h=3D=
Tb(h))&&h!=3Dc.body;){f.x-=3Dh.scrollLeft;if(!H||h.tagName!=3D"TR")f.y-=3D=
h.scrollTop}}return f};K&&M("1.9");=0A=
var Vb=3Dfunction(a,b,c,d){if(/^\d+px?$/.test(b))return =
parseInt(b,10);else{var =
e=3Da.style[c],f=3Da.runtimeStyle[c];a.runtimeStyle[c]=3Da.currentStyle[c=
];a.style[c]=3Db;var =
j=3Da.style[d];a.style[c]=3De;a.runtimeStyle[c]=3Df;return =
j}},Wb=3Dfunction(a){var b=3DO(a),c=3D"";if(b.createTextRange){var =
d=3Db.body.createTextRange();d.moveToElementText(a);c=3Dd.queryCommandVal=
ue("FontName")}if(!c){c=3DQ(a,"fontFamily");if(H&&rb)c=3Dc.replace(/ =
\[[^\]]*\]/,"")}var e=3Dc.split(",");if(e.length>1)c=3De[0];return =
Va(c,"\"'")},Xb=3Dfunction(a){var b=3D=0A=
a.match(/[^\d]+$/);return =
b&&b[0]||l},Yb=3D{cm:1,"in":1,mm:1,pc:1,pt:1},Zb=3D{em:1,ex:1},$b=3Dfunct=
ion(a){var b=3DQ(a,"fontSize"),c=3DXb(b);if(b&&"px"=3D=3Dc)return =
parseInt(b,10);if(J)if(c in Yb)return Vb(a,b,"left","pixelLeft");else =
if(a.parentNode&&a.parentNode.nodeType=3D=3D1&&c in Zb){var =
d=3Da.parentNode,e=3DQ(d,"fontSize");return =
Vb(d,b=3D=3De?"1em":b,"left","pixelLeft")}var =
f=3DCb("span",{style:"visibility:hidden;position:absolute;line-height:0;p=
adding:0;margin:0;border:0;height:1em;"});Eb(a,f);b=3Df.offsetHeight;Fb(f=
);=0A=
return b};var R=3Ddocument,S=3Dnavigator,T=3Dwindow;=0A=
function ac(){var a=3DR.cookie,b=3DMath.round((new =
Date).getTime()/1000),c=3DT.google_analytics_domain_name,d=3Dtypeof =
c=3D=3D"undefined"?bc("auto"):bc(c),e=3Da.indexOf("__utma=3D"+d+".")>-1,f=
=3Da.indexOf("__utmb=3D"+d)>-1,j=3Da.indexOf("__utmc=3D"+d)>-1,k,i=3D{},h=
=3D!!T&&!!T.gaGlobal;if(e){k=3Da.split("__utma=3D"+d+".")[1].split(";")[0=
].split(".");i.sid=3Df&&j?k[3]+"":h&&T.gaGlobal.sid?T.gaGlobal.sid:b+"";i=
.vid=3Dk[0]+"."+k[1];i.from_cookie=3Dg}else{i.sid=3Dh&&T.gaGlobal.sid?T.g=
aGlobal.sid:b+"";i.vid=3Dh&&T.gaGlobal.vid?T.gaGlobal.vid:(Math.round(Mat=
h.random()*=0A=
2147483647)^cc()&2147483647)+"."+b;i.from_cookie=3Dm}i.dh=3Dd;i.hid=3Dh&&=
T.gaGlobal.hid?T.gaGlobal.hid:Math.round(Math.random()*2147483647);return=
 T.gaGlobal=3Di}=0A=
function cc(){var =
a=3DR.cookie?R.cookie:"",b=3DT.history.length,c,d,e=3D[S.appName,S.versio=
n,S.language?S.language:S.browserLanguage,S.platform,S.userAgent,S.javaEn=
abled()?1:0].join("");if(T.screen)e+=3DT.screen.width+"x"+T.screen.height=
+T.screen.colorDepth;else =
if(T.java){d=3Djava.awt.Toolkit.getDefaultToolkit().getScreenSize();e+=3D=
d.screen.width+"x"+d.screen.height}e+=3Da;e+=3DR.referrer?R.referrer:"";f=
or(c=3De.length;b>0;)e+=3Db--^c++;return dc(e)}=0A=
function dc(a){var =
b=3D1,c=3D0,d,e;if(!(a=3D=3Dundefined||a=3D=3D"")){b=3D0;for(d=3Da.length=
-1;d>=3D0;d--){e=3Da.charCodeAt(d);b=3D(b<<6&268435455)+e+(e<<14);c=3Db&2=
66338304;b=3Dc!=3D0?b^c>>21:b}}return b}function =
bc(a){if(!a||a=3D=3D""||a=3D=3D"none")return =
1;if("auto"=3D=3Da){a=3DR.domain;if("www."=3D=3Da.substring(0,4))a=3Da.su=
bstring(4,a.length)}return dc(a.toLowerCase())};var U=3D"";function =
ec(a){if(a){if(U!=3D"")U+=3D",";U+=3Da}}function fc(a){if(a&&a =
instanceof Array)for(var b=3D0;b<a.length;b++)a[b]&&typeof =
a[b]=3D=3D"string"&&ec(a[b])}var gc=3Dm;=0A=
function hc(a,b){var =
c=3D"script";(gc=3Dic(a,b))||(a.google_allow_expandable_ads=3Dm);var =
d=3D!jc();gc&&d&&b.write("<"+c+' =
src=3D"http://'+q+'/pagead/expansion_embed.js"></'+c+">");var =
e=3Dkc(a,b,o("1",0.01)),f=3Dd||e;f&&oa("msie")&&!window.opera?b.write("<"=
+c+' =
src=3D"http://'+q+'/pagead/render_ads.js"></'+c+">"):b.write("<"+c+">wind=
ow.google_render_ad();</"+c+">")}function V(a){return =
a!=3Dl?'"'+a+'"':'""'}function =
W(a,b){if(a&&b)window.google_ad_url+=3D"&"+a+"=3D"+b}=0A=
function X(a){var b=3Dwindow,c=3Dka(a),d=3Db[a];W(c,d)}function =
Y(a,b){b!=3Dl&&W(a,la(b))}function Z(a){var =
b=3Dwindow,c=3Dka(a),d=3Db[a];Y(c,d)}function $(a,b){var =
c=3Dwindow,d=3Dka(a),e=3Dc[a];if(d&&e&&typeof =
e=3D=3D"object")e=3De[b%e.length];W(d,e)}=0A=
function lc(a){var b=3Da.screen,c=3Dnavigator.javaEnabled(),d=3D-(new =
Date).getTimezoneOffset();if(b){W("u_h",b.height);W("u_w",b.width);W("u_a=
h",b.availHeight);W("u_aw",b.availWidth);W("u_cd",b.colorDepth)}W("u_tz",=
d);W("u_his",history.length);W("u_java",c);navigator.plugins&&W("u_nplug"=
,navigator.plugins.length);navigator.mimeTypes&&W("u_nmime",navigator.mim=
eTypes.length)}=0A=
function =
mc(a){if(a.google_enable_first_party_cookie){if(a._GA_googleCookieHelper=3D=
=3Dl)a._GA_googleCookieHelper=3Dnew =
r;if(!a._google_cookie_fetched){a._google_cookie_fetched=3Dg;a._GA_google=
CookieHelper.i(nc(a.google_ad_client))}}}function =
nc(a){if(a){a=3Da.toLowerCase();if(a.substring(0,3)!=3D"ca-")a=3D"ca-"+a}=
return a}function =
oc(a){if(a){a=3Da.toLowerCase();if(a.substring(0,9)!=3D"dist-aff-")a=3D"d=
ist-aff-"+a}return a}function pc(a){var =
b=3D"google_unique_id";if(a[b])++a[b];else a[b]=3D1;return a[b]}=0A=
function qc(){var =
a=3DJ&&M("6")&&!M("8"),b=3DK&&M("1.8.1"),c=3DL&&M("525");if(qb&&(a||b||c)=
)return g;else if(pb&&(c||b))return g;else if(rb&&b)return g;return =
m}function jc(){return(typeof =
ExpandableAdSlotFactory=3D=3D"function"||typeof =
ExpandableAdSlotFactory=3D=3D"object")&&typeof =
ExpandableAdSlotFactory.createIframe=3D=3D"function"}=0A=
function =
ic(a,b){if(a.google_allow_expandable_ads=3D=3D=3Dm||!b.body||a.google_ad_=
output!=3D"html"||wa(a,b)||ua(a)||v(a.google_ad_format)||isNaN(a.google_a=
d_height)||isNaN(a.google_ad_width)||!qc())return m;return g}=0A=
function rc(){var =
a=3DMath.random(),b=3Do("0.04",0);if(a<b)return"68120011";var =
c=3D2*b;if(a<c)return"68120021";c+=3Db;if(a<c)return"68120031";c+=3Db;if(=
a<c)return"68120041";if((window.google_unique_id||0)=3D=3D0&&window.googl=
e_ad_output=3D=3D"html"&&document.body&&typeof =
document.body.getBoundingClientRect=3D=3D"function"){var =
d=3Do("0.01",0);c+=3Dd;if(a<c)return"36812001";c+=3Dd;if(a<c)return"36812=
002"}return""}=0A=
function sc(a,b,c,d){var =
e=3Dpc(a);c=3Dc.substring(0,1992);c=3Dc.replace(/%\w?$/,"");var =
f=3D"script";if((a.google_ad_output=3D=3D"js"||a.google_ad_output=3D=3D"j=
son_html")&&(a.google_ad_request_done||a.google_radlink_request_done))b.w=
rite("<"+f+' language=3D"JavaScript1.1" =
src=3D'+V(tc(c))+"></"+f+">");else =
if(a.google_ad_output=3D=3D"html")if(gc&&jc()){var =
j=3Da.google_container_id||d||l;a["google_expandable_ad_slot"+e]=3DExpand=
ableAdSlotFactory.createIframe("google_ads_frame"+e,tc(c),a.google_ad_wid=
th,a.google_ad_height,=0A=
j)}else{var k=3D'<iframe name=3D"google_ads_frame" =
width=3D'+V(a.google_ad_width)+" height=3D"+V(a.google_ad_height)+" =
frameborder=3D"+V(a.google_ad_frameborder)+" src=3D"+V(tc(c))+' =
marginwidth=3D"0" marginheight=3D"0" vspace=3D"0" hspace=3D"0" =
allowtransparency=3D"true" =
scrolling=3D"no"></iframe>';a.google_container_id?uc(a.google_container_i=
d,b,k):b.write(k)}else =
a.google_ad_output=3D=3D"textlink"&&b.write("<"+f+' =
language=3D"JavaScript1.1" src=3D'+V(tc(c))+"></"+f+">")}=0A=
function vc(a,b,c){if(!a)return m;if(!b)return g;return c}function =
wc(a){for(var b in ha)a[b]=3Dl;for(b in =
ia)b=3D=3D"google_correlator"||(a[b]=3Dl);for(b in =
ja)a[b]=3Dl;a.google_allow_expandable_ads=3Dl;a.google_container_id=3Dl;a=
.google_tag_info=3Dl;a.google_eids=3Dl}=0A=
function xc(a,b){var =
c=3Dl,d=3Dwindow,e=3Ddocument,f=3Dn,j=3Dd.google_ad_format,k=3Dyc(d),i;if=
(d.google_cpa_choice!=3Dc){d.google_ad_url=3Dk+"/cpa/ads?";i=3Descape(nc(=
d.google_ad_client));d.google_ad_region=3D"_google_cpa_region_";X("google=
_cpa_choice");if(typeof =
e.characterSet!=3D"undefined")Y("oe",e.characterSet);else typeof =
e.charset!=3D"undefined"&&Y("oe",e.charset)}else =
if(v(j)){d.google_ad_url=3Dk+"/pagead/sdo?";i=3Descape(oc(d.google_ad_cli=
ent))}else{d.google_ad_url=3Dk+"/pagead/ads?";i=3Descape(nc(d.google_ad_c=
lient))}d.google_ad_url+=3D=0A=
"client=3D"+i;X("google_ad_host");X("google_ad_host_tier_id");var =
h=3Dd.google_num_slots_by_client,z=3Dd.google_num_slots_by_channel,t=3Dd.=
google_prev_ad_formats_by_region,u=3Dd.google_prev_ad_slotnames_by_region=
;if(d.google_ad_region=3D=3Dc&&d.google_ad_section!=3Dc)d.google_ad_regio=
n=3Dd.google_ad_section;var =
s=3Dd.google_ad_region=3D=3Dc?"":d.google_ad_region;if(v(j)){d.google_num=
_sdo_slots=3Dd.google_num_sdo_slots?d.google_num_sdo_slots+1:1;if(d.googl=
e_num_sdo_slots>4)return m}else =
if(ua(d)){d.google_num_0ad_slots=3Dd.google_num_0ad_slots?=0A=
d.google_num_0ad_slots+1:1;if(d.google_num_0ad_slots>3)return m}else =
if(d.google_cpa_choice=3D=3Dc){d.google_num_ad_slots=3Dd.google_num_ad_sl=
ots?d.google_num_ad_slots+1:1;if(d.google_num_slots_to_rotate){t[s]=3Dc;u=
[s]=3Dc;if(d.google_num_slot_to_show=3D=3Dc)d.google_num_slot_to_show=3Df=
%d.google_num_slots_to_rotate+1;if(d.google_num_slot_to_show!=3Dd.google_=
num_ad_slots)return m}else if(d.google_num_ad_slots>6&&s=3D=3D"")return =
m}W("dt",n);X("google_language");d.google_country?X("google_country"):X("=
google_gl");X("google_region");=0A=
Z("google_city");Z("google_hints");X("google_safe");X("google_encoding");=
X("google_last_modified_time");Z("google_alternate_ad_url");X("google_alt=
ernate_color");X("google_skip");X("google_targeting");var =
I=3Dd.google_ad_client;if(h[I])h[I]+=3D1;else{h[I]=3D1;h.length+=3D1}if(t=
[s])if(!v(j)){Y("prev_fmts",t[s].toLowerCase());h.length>1&&W("slot",h[I]=
)}u[s]&&Y("prev_slotnames",u[s].toLowerCase());if(vc(j,d.google_ad_slot,d=
.google_override_format)){Y("format",j.toLowerCase());v(j)||(t[s]=3Dt[s]?=
t[s]+","+j:j)}else if(d.google_ad_slot)u[s]=3D=0A=
u[s]?u[s]+","+d.google_ad_slot:d.google_ad_slot;X("google_max_num_ads");W=
("output",d.google_ad_output);X("google_adtest");X("google_ad_callback");=
X("google_ad_slot");Z("google_correlator");d.google_new_domain_checked=3D=
=3D1&&d.google_new_domain_enabled=3D=3D0&&W("dblk",1);if(d.google_ad_chan=
nel){Z("google_ad_channel");for(var =
fb=3D"",hb=3Dd.google_ad_channel.split(zc),ra=3D0;ra<hb.length;ra++){var =
sa=3Dhb[ra];if(z[sa])fb+=3Dsa+"+";else =
z[sa]=3D1}Y("pv_ch",fb)}if(d.google_ad_host_channel){Z("google_ad_host_ch=
annel");=0A=
var =
Gc=3DAc(d.google_ad_host_channel,d.google_viewed_host_channels);Y("pv_h_c=
h",Gc)}d.google_enable_first_party_cookie&&Y("cookie",d._GA_googleCookieH=
elper.l());Z("google_page_url");$("google_color_bg",f);$("google_color_te=
xt",f);$("google_color_link",f);$("google_color_url",f);$("google_color_b=
order",f);$("google_color_line",f);d.google_reuse_colors?W("reuse_colors"=
,1):W("reuse_colors",0);X("google_font_face");X("google_kw_type");Z("goog=
le_kw");Z("google_contents");X("google_num_radlinks");X("google_max_radli=
nk_len");=0A=
X("google_rl_filtering");X("google_rl_mode");X("google_rt");Z("google_rl_=
dest_url");X("google_num_radlinks_per_unit");X("google_ad_type");X("googl=
e_image_size");X("google_ad_region");fc(d.google_eids);Y("eid",U);var =
ib=3Dd.google_allow_expandable_ads;if(ib!=3Dl)ib?W("ea","1"):W("ea","0");=
X("google_feedback");Z("google_referrer_url");Z("google_page_location");W=
("frm",d.google_iframing);X("google_bid");X("google_ctr_threshold");X("go=
ogle_cust_age");X("google_cust_gender");X("google_cust_interests");X("goo=
gle_cust_id");=0A=
X("google_cust_job");X("google_cust_u_url");X("google_cust_l");X("google_=
cust_lh");X("google_cust_ch");X("google_ed");X("google_video_doc_id");X("=
google_video_product_type");Z("google_ui_features");Z("google_ui_version"=
);Z("google_tag_info");Z("google_only_ads_with_video");Z("google_only_pyv=
_ads");Z("google_disable_video_autoplay");if(a){Y("dff",Wb(a));Y("dfs",$b=
(a));var x;if(b)if(typeof a.getBoundingClientRect=3D=3D"function"){var =
jb=3Da.getBoundingClientRect();x=3D{x:jb.left,y:jb.top}}else{x=3D{};x.x=3D=
"-252738";=0A=
x.y=3D"-252738"}else =
try{x=3DUb(a)}catch(Tc){x=3D{};x.x=3D"-252738";x.y=3D"-252738"}var =
ta=3Dzb(window);if(x&&ta){Y("biw",ta.width);Y("bih",ta.height);Y("adx",x.=
x);Y("ady",x.y)}}ac();W("ga_vid",d.gaGlobal.vid);W("ga_sid",d.gaGlobal.si=
d);W("ga_hid",d.gaGlobal.hid);W("ga_fc",d.gaGlobal.from_cookie);Z("google=
_analytics_uacct");X("google_ad_override");X("google_flash_version");W("w=
",d.google_ad_width||-1);W("h",d.google_ad_height||-1);lc(d);return g}=0A=
function Ac(a,b){for(var =
c=3Da.split("|"),d=3D-1,e=3D[],f=3D0;f<c.length;f++){var =
j=3Dc[f].split(zc);b[f]||(b[f]=3D{});for(var =
k=3D"",i=3D0;i<j.length;i++){var =
h=3Dj[i];if(!(h=3D=3D""))if(b[f][h])k+=3D"+"+h;else =
b[f][h]=3D1}k=3Dk.slice(1);e[f]=3Dk;if(k!=3D"")d=3Df}var =
z=3D"";if(d>-1){for(f=3D0;f<d;f++)z+=3De[f]+"|";z+=3De[d]}return z}=0A=
function Bc(){var a=3Dwindow,b=3Ddocument;mc(a);var c=3Drc();ec(c);var =
d,e=3Dm,f=3Dm,j=3Dm;switch(c){case "68120031":j=3Dg;case =
"68120021":f=3Dg;case "68120041":e=3Dg;break;case =
"36812002":if(!window.google_atf_included){window.google_atf_included=3Dg=
;ma("http://"+q+"/pagead/atf.js")}break}if(e){var =
k=3D"google_temp_span";d=3Da.google_container_id&&wb(a.google_container_i=
d)||wb(k);if(!d&&!a.google_container_id){b.write("<span =
id=3D"+k+"></span>");d=3Dwb(k)}}var =
i=3Dm;i=3Df?xc(d,j):xc();d&&d.id=3D=3Dk&&Fb(d);if(i){sc(a,b,a.google_ad_u=
rl);=0A=
wc(a)}}function tc(a){var b=3D(new =
Date).getTime()-n,c=3D"&dtd=3D"+(b<1000?b:"M");return a+c}function =
Cc(){Bc();return g}=0A=
function Dc(a){var =
b=3Dwindow,c=3Dl,d=3Db.onerror;b.onerror=3Da;if(b.google_ad_frameborder=3D=
=3Dc)b.google_ad_frameborder=3D0;if(b.google_ad_output=3D=3Dc)b.google_ad=
_output=3D"html";if(v(b.google_ad_format)){var =
e=3Db.google_ad_format.match(/^(\d+)x(\d+)_.*/);if(e){b.google_ad_width=3D=
parseInt(e[1],10);b.google_ad_height=3DparseInt(e[2],10);b.google_ad_outp=
ut=3D"html"}}if(b.google_ad_format=3D=3Dc&&b.google_ad_output=3D=3D"html"=
)b.google_ad_format=3Db.google_ad_width+"x"+b.google_ad_height;Ea(b,docum=
ent);if(b.google_num_slots_by_channel=3D=3D=0A=
c)b.google_num_slots_by_channel=3D[];if(b.google_viewed_host_channels=3D=3D=
c)b.google_viewed_host_channels=3D[];if(b.google_num_slots_by_client=3D=3D=
c)b.google_num_slots_by_client=3D[];if(b.google_prev_ad_formats_by_region=
=3D=3Dc)b.google_prev_ad_formats_by_region=3D[];if(b.google_prev_ad_slotn=
ames_by_region=3D=3Dc)b.google_prev_ad_slotnames_by_region=3D[];if(b.goog=
le_correlator=3D=3Dc)b.google_correlator=3Dn;if(b.google_adslot_loaded=3D=
=3Dc)b.google_adslot_loaded=3D{};if(b.google_adContentsBySlot=3D=3Dc)b.go=
ogle_adContentsBySlot=3D{};if(b.google_flash_version=3D=3D=0A=
c)b.google_flash_version=3Dqa();if(b.google_new_domain_checked=3D=3Dc)b.g=
oogle_new_domain_checked=3D0;if(b.google_new_domain_enabled=3D=3Dc)b.goog=
le_new_domain_enabled=3D0;b.onerror=3Dd}function Ec(a){for(var =
b=3D{},c=3Da.split("?"),d=3Dc[c.length-1].split("&"),e=3D0;e<d.length;e++=
){var =
f=3Dd[e].split("=3D");if(f[0])try{b[f[0].toLowerCase()]=3Df.length>1?wind=
ow.decodeURIComponent?decodeURIComponent(f[1].replace(/\+/g," =
")):unescape(f[1]):""}catch(j){}}return b}=0A=
function Fc(){var =
a=3Dwindow,b=3DEc(document.URL);if(b.google_ad_override){a.google_ad_over=
ride=3Db.google_ad_override;a.google_adtest=3D"on"}}function =
uc(a,b,c){if(a){var =
d=3Db.getElementById(a);if(d&&c&&c.length!=3D""){d.style.visibility=3D"vi=
sible";d.innerHTML=3Dc}}}var zc=3D/[+, =
]/;window.google_render_ad=3DBc;var =
Hc=3D{google:1,googlegroups:1,gmail:1,googlemail:1,googleimages:1,googlep=
rint:1};function Ic(a){var =
b=3Da.google_page_location||a.google_page_url;if(!b)return =
m;b=3Db.toString();if(b.indexOf("http://")=3D=3D0)b=3Db.substring(7,b.len=
gth);else =
if(b.indexOf("https://")=3D=3D0)b=3Db.substring(8,b.length);var =
c=3Db.indexOf("/");if(c=3D=3D-1)c=3Db.length;var =
d=3Db.substring(0,c),e=3Dd.split("."),f=3Dm;if(e.length>=3D3)f=3De[e.leng=
th-3]in Hc;if(e.length>=3D2)f=3Df||e[e.length-2]in Hc;return f}=0A=
function kc(a,b,c){if(Ic(a)){a.google_new_domain_checked=3D1;return =
m}if(a.google_new_domain_checked=3D=3D0){var =
d=3DMath.random();if(d<=3Dc){var =
e=3D"http://"+ea+"/pagead/test_domain.js",f=3D"script";b.write("<"+f+' =
src=3D"'+e+'"></'+f+">");a.google_new_domain_checked=3D1;return =
g}}return m}function =
yc(a){if(!Ic(a)&&a.google_new_domain_enabled=3D=3D1)return"http://"+ea;re=
turn"http://"+fa};var =
Jc=3D["30143070","30143071","30143072","30143073","30143074","30143075"],=
Kc=3Dtypeof window.postMessage=3D=3D"function"||typeof =
window.postMessage=3D=3D"object"||typeof =
document.postMessage=3D=3D"function",Mc=3Dfunction(a,b){typeof =
A1_googleCreateSlot=3D=3D"function"?A1_googleCreateSlot(a.google_ad_clien=
t):Lc(a,b)},Nc=3Dfunction(){if(!(Kc||!L))return m;return =
g},Oc=3Dfunction(a){if(ua(a)||v(a.google_ad_format))return m;var =
b=3Da.google_ad_output;if(b&&b!=3D"html")return m;var =
c=3Da.google_ad_client;if(typeof c!=3D"string"||c.substring(0,=0A=
4)!=3D"pub-"&&c.substring(0,7)!=3D"ca-pub-")return m;return =
g},Qc=3Dfunction(a){if(typeof a.google_a1_eid=3D=3D"string")return =
a.google_a1_eid;var b=3Do("0.01",0);a.google_a1_eid=3DPc(Jc,b);return =
a.google_a1_eid},Lc=3Dfunction(a,b){if(!a.google_included_a1_script){var =
c=3D"script",d=3D"/pagead/show_ads_sra2.js";b.write("<"+c+' =
src=3D"http://'+q+d+'"></'+c+">");a.google_included_a1_script=3Dg}},Pc=3D=
function(a,b){var c=3DMath.random();if(c<b){var =
d=3DMath.floor(c/b*a.length);return a[d]}return""};function =
Rc(){Fc();Dc(Cc);hc(window,document)}if(!Nc(window)||!Oc(window))Rc();els=
e{var =
Sc=3DQc(window);if(Sc){ec(Sc);window.google_allow_expandable_ads=3Dm}!Sc|=
|Sc=3D=3D"30143070"?Rc():Mc(window,document)};=0A=
})()=0A=

------=_NextPart_000_0000_01C9E2A2.B7BB8930
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://secure-uk.imrworldwide.com/v53.js

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C9E2A2.B7BB8930--

