From: <Salvo pelo Windows Internet Explorer 8>
Subject: ANFIP...noticias
Date: Fri, 19 Mar 2010 12:06:28 -0300
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CAC75C.9B3FF8A0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/anfip-noticia.php?id=18009

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>ANFIP...noticias</TIT=
LE>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/prototype.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/effects.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/carousel.js"></SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.anfip.org.br/js/prototype-ui.css"><LINK =
rel=3Dstylesheet=20
type=3Dtext/css href=3D"http://www.anfip.org.br/folha-estilo3.css"><LINK =

rel=3Dstylesheet type=3Dtext/css =
href=3D"http://www.anfip.org.br/js/tips.css"><LINK=20
rel=3Dstylesheet type=3Dtext/css =
href=3D"http://www.anfip.org.br/js/ext-all.css"><!--[if lt IE 7]>
<script defer type=3D"text/javascript" src=3D"js/pngfix.js"></script>
<![endif]--><!--Folha de estilos do calend=E1rio --><LINK =
title=3Dwin2k-cold-1=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.anfip.org.br/js/calendar-green.css" media=3Dall><!-- =
biblioteca principal do calendario -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/calendar.js"></SCRIPT>
<!-- biblioteca para carregar a linguagem desejada -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/calendar-es.js"></SCRIPT>
<!-biblioteca que declara a fun=E7=E3o Calendar.setup, que ajuda a gerar =
um calend=E1rio em poucas linhas de c=F3digo -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/calendar-setup.js"></SCRIPT>
<!-- Outro modo de importar o CSS
<style type=3D"text/css" title=3D"cssEXT"> @import "ext-all.css"; =
</style>
<style type=3D"text/css" title=3D"cssEXT2"> @import "examples.css"; =
</style>=20
Fim da importa=E7=E3o do CSS -->
<SCRIPT language=3Djavascript=20
src=3D"http://www.anfip.org.br/js/letra_aumentar_disminuir[2].js"></SCRIP=
T>
<!-- Caminho para a Biblioteca EXT -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/yui-utilities.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/ext-yui-adapter.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.anfip.org.br/js/ext-all.js"></SCRIPT>

<SCRIPT language=3Djavascript =
src=3D"http://www.anfip.org.br/js/hello.js"></SCRIPT>
<!-- Fim do caminho da Biblioteca EXT -->
<SCRIPT>
function Impressao( preVisualizar )=20
{
	var CorpoMensagem =3D document.body.innerHTML;
	document.body.innerHTML =3D '<p><img align=3D"left" =
src=3D"img/logo_cabecalho_noticia.jpg" =
/></p><br><br>'+datapublicacao.innerHTML+'<br><br>'+noticiacoluna.innerHT=
ML;
	if( preVisualizar )=20
	{
		PreVisualizar();
	}=20
	else=20
	{
		window.print();
	}
	document.body.innerHTML =3D CorpoMensagem;
}

function PreVisualizar()=20
{
	try=20
	{
		 //Utilizando o componente WebBrowser1 registrado no MS Windows Server =
2000/2003 ou XP/Vista
		 var WebBrowser =3D '<OBJECT ID=3D"WebBrowser1" WIDTH=3D0 HEIGHT=3D0 =
CLASSID=3D"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';=20
		 document.body.insertAdjacentHTML('beforeEnd', WebBrowser);=20
		 WebBrowser1.ExecWB( 7, 1 );=20
		 WebBrowser1.outerHTML =3D "";=20
	}=20
	catch(e)=20
	{
		alert("Para visualizar a impress=E3o voc=EA precisa habilitar o uso de =
controles ActiveX na p=E1gina.");
		return;
	}
}
</SCRIPT>

<SCRIPT type=3Dtext/javascript>
    // <![CDATA[
      function runTest() {
        hCarousel =3D new UI.Carousel('horizontal_carousel');
        vCarousel =3D new UI.Carousel('vertical_carousel', {direction: =
'vertical'});
      }

      Event.observe(window, 'load', runTest);
    // ]]>
    </SCRIPT>

<STYLE type=3Dtext/css>.style23 {
	COLOR: #ff8000; FONT-SIZE: 24px
}
.style15 {
	FONT-SIZE: 12px
}
.style20 {
	COLOR: #afd2f2
}
.style24 {
	COLOR: #ffffff; FONT-SIZE: 18px; FONT-WEIGHT: bold
}
.leg {
	COLOR: #ffffff; FONT-SIZE: 9px
}
</STYLE>

<STYLE type=3Dtext/css>FORM P {
	DISPLAY: inline
}
FORM FIELDSET {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: medium none; =
BORDER-RIGHT: medium none; PADDING-TOP: 0px
}
</STYLE>

<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18876"></HEAD>
<BODY class=3DtwoColElsRtHdr><!-- come=E7o do include  (topo de =
p=E1gina) -->
<DIV id=3DapDiv1><A href=3D"http://www.anfip.org.br/index.php"><IMG=20
src=3D"http://www.anfip.org.br/img/logo-anfip3.png"></DIV>
<DIV id=3Dheader>
<UL id=3Dsubmenu>
  <LI id=3Dbotao></A><A=20
  href=3D"http://www.anfip.org.br/noticias/index.php"><SPAN>ANFIP=20
  noticias</SPAN></A></LI>
  <LI id=3Dbotao><A=20
  =
href=3D"http://www.fundacaoanfip.org.br/"><SPAN>Funda=E7=E3o</SPAN></A></=
LI>
  <LI id=3Dbotao1><A=20
  =
href=3D"http://www.anfip.org.br/publicacoes/index.php"><SPAN>Publica=E7=F5=
es</SPAN></A></LI>
  <LI id=3Dbotao1><A=20
  =
href=3D"http://www.anfip.org.br/publicacoes/artigos.php"><SPAN>Artigos</S=
PAN></A></LI>
  <LI id=3Dbotao1><A=20
  =
href=3D"http://www.anfip.org.br/servicos/index.php"><SPAN>Servi=E7os</SPA=
N></A></LI>
  <LI id=3Dbotao1><A=20
  =
href=3D"http://www.anfip.org.br/associacao/index.php"><SPAN>Associa=E7=E3=
o</SPAN></A></LI>
  <LI id=3Dbotao1><A=20
  =
href=3D"http://www.anfip.org.br/estaduais/estaduais.php"><SPAN>Estaduais<=
/SPAN></A></LI>
  <LI id=3Dbotao1><A =
href=3D"http://www.anfip.org.br/"><SPAN>Inicial</SPAN></A></LI>
  <LI id=3Dbotao1><A=20
  =
href=3D"http://www.anfip.org.br/servicos/envio/contato.php"><SPAN>Contato=
</SPAN></A></LI>
  <LI id=3Dend><A><SPAN></SPAN></A></LI></UL></DIV><!-- end header-->
<DIV id=3Dlogo><IMG align=3Dbottom=20
src=3D"http://www.anfip.org.br/img/anfip3.png"></DIV><!-- final do =
include include  (topo de p=E1gina) -->
<DIV id=3Ddestaque2>
<DIV id=3Dcabeca>
<DIV id=3Ddata><BR>
<H1>&nbsp;&nbsp;25</H1>
<H3>&nbsp;&nbsp;02.2010</H3>
<DIV style=3D"DISPLAY: none" id=3Ddatapublicacao>
<P align=3Dright>Mat=E9ria Publicada em: 25.02.2010</P></DIV></DIV><!-- =
end data-->
<DIV id=3Dcomentario>
<DIV id=3Dmarquee>
<MARQUEE onmouseover=3Dthis.stop() onmouseout=3Dthis.start() =
direction=3Dup height=3D120=20
trueSpeed scrollDelay=3D250 align=3D"right">
<H3>Not=EDcias do dia 25.02.2010</H3><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18015">A Voz do =
Cidad=E3o=20
divulga livro da ANFIP ...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18014">Informa=E7=F5=
es sobre=20
precat=F3rio da GDAT ...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18013">Conselheiro=
s se re=FAnem=20
com grupo de trabalho ...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18012">Codac =
publica novos=20
atos declarat=F3rios executivos...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18011">PEC n=B0 =
555: ANFIP e=20
demais entidades retomam trab...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18010">XII =
Encontro Nacional:=20
confira importantes inform...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18009">Artigo: =
Decis=E3o do STF=20
fragiliza a previd=EAncia so...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18007">Artigo: =
Aposentadoria=20
especial de servidor ser=E1 r...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18006">C=E2mara =
aprova emenda=20
ao PL n=BA 5940/09 que benefic...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18005">Previc =
aprova=20
programas de educa=E7=E3o previdenci=E1ri...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18004">Ouvidoria =
do=20
Planejamento implanta a carta-respos...<BR><BR><A=20
href=3D"http://www.anfip.org.br/anfip-noticia.php?id=3D18003">Contribuint=
es t=EAm novo=20
prazo para desistir de a=E7=F5...<BR><BR></A></MARQUEE></DIV></DIV><!-- =
end comentario-->
<DIV id=3Dpadrao>
<TABLE border=3D0 width=3D253 height=3D82>
  <TBODY>
  <TR>
    <TD height=3D18 scope=3Dcol>
      <DIV align=3Dcenter><BR>
      <DIV id=3Dimgdiv><A title=3D""=20
      href=3D"http://www.anfip.org.br/noticias-imagens/logo-padrao2.jpg" =

      rel=3Daumenta><IMG border=3D0=20
      src=3D"http://www.anfip.org.br/noticias-imagens/logo-padrao2.jpg" =
width=3D180=20
      height=3D143></A><BR></DIV></DIV></TD></TR>
  <TR>
    <TH height=3D18 scope=3Dcol>&nbsp;</TH></TR>
  <TR>
    <TH height=3D18 scope=3Dcol>&nbsp;</TH></TR>
  <TR>
    <TH scope=3Dcol>&nbsp;</TH></TR></TBODY></TABLE></DIV><!-- end =
padrao--></DIV><!--end cabeca --></DIV><!-- end destaque--><!-- Come=E7a =
Corpo do site (noticia) -->
<DIV id=3Dtextonoticia>
<DIV align=3Djustify></DIV>
<TABLE border=3D0 width=3D744 align=3Dcenter height=3D"10%">
  <TBODY>
  <TR>
    <TD height=3D167 width=3D743>
      <TABLE border=3D0 cellSpacing=3D0 width=3D"99%" height=3D167>
        <TBODY>
        <TR>
          <FORM method=3Dpost action=3D#>
          <TD bgColor=3D#193d53 width=3D"35%">
            <DIV class=3Dstyle2 align=3Dcenter>
            <DIV class=3Dstyle2 align=3Dcenter><IMG=20
            src=3D"http://www.anfip.org.br/img/lupabusca_r2_c2.png" =
width=3D102=20
            height=3D27></DIV></DIV></TD>
          <TD bgColor=3D#193d53 width=3D"26%"><SPAN =
class=3Dstyle15><SPAN=20
            class=3Dstyle2>Data:</SPAN> <INPUT id=3Dlancador size=3D14 =
type=3Dtext=20
            name=3Ddate> <INPUT value=3Dok type=3Dsubmit> =
</SPAN></TD></FORM>
          <FORM id=3Dformnoticia method=3Dget name=3Dformnoticia=20
          action=3Dhttp://www.anfip.org.br/noticias/busca.php>
          <TD bgColor=3D#193d53 width=3D"39%"><SPAN =
class=3Dstyle15><SPAN=20
            class=3Dstyle2>Palavra:</SPAN> <INPUT id=3Dbuscatag =
size=3D20 type=3Dtext=20
            name=3Dbuscatag> <INPUT id=3Dbuscar value=3Dok type=3Dsubmit =
name=3Dbuscar>=20
            <BR></SPAN></TD></FORM></TR>
        <TR></TR>
        <TR>
          <TD bgColor=3D#aed1f1 height=3D23 colSpan=3D3>
            <TABLE id=3Dnoticiacoluna1 border=3D0 cellSpacing=3D0 =
width=3D731>
              <TBODY>
              <TR>
                <SCRIPT type=3Dtext/javascript>
    // <![CDATA[
      function runTest() {
        hCarousel =3D new UI.Carousel("horizontal_carousel");
        vCarousel =3D new UI.Carousel("vertical_carousel", {direction: =
"vertical"});
      }

      Event.observe(window, "load", runTest);
    // ]]>
    </SCRIPT>

              <TR>
                <TD bgColor=3D#ffffff>
                  <DIV id=3Dnoticia align=3Djustify>
                  <TABLE border=3D0 cellSpacing=3D0 width=3D740>
                    <TBODY>
                    <TR>
                      <TD>&nbsp;</TD>
                      <TD>
                        <DIV align=3Dcenter>
                        <TABLE width=3D647>
                          <TBODY>
                          <TR>
                            <TD>
                              <DIV=20
                      =
align=3Dcenter></DIV></TD></TR></TBODY></TABLE></DIV></TD>
                      <TD>&nbsp;</TD></TR>
                    <TR>
                      <TD width=3D132><IMG=20
                        =
src=3D"http://www.anfip.org.br/img/noticiasanfip_r2_c2.png"=20
                        width=3D35 height=3D281></TD>
                      <TD width=3D471>
                        <DIV id=3Dnoticiacoluna>
                        <H1>Artigo: Decis=E3o do STF fragiliza a =
previd=EAncia=20
                        social na =E1rea rural (D=E9cio Bruno Lopes*) =
</H1><BR><SPAN=20
                        class=3Dstyle7><A =
href=3D"javascript:Bignot();">A +</A>| <A=20
                        href=3D"javascript:Smalnot();">A =
-</A></SPAN><BR><BR>
                        <P>
                        <P align=3Djustify>No dia 3 de fevereiro deste =
ano, o=20
                        plen=E1rio do Supremo Tribunal Federal =96 STF, =
ao julgar o=20
                        Recurso Extraordin=E1rio n=BA 363852/MG, =
relatado pelo=20
                        ministro Marco Aur=E9lio, concluiu pela=20
                        inconstitucionalidade do artigo 1=BA da Lei n=BA =
8.540/92,=20
                        que trata da contribui=E7=E3o previdenci=E1ria =
dos produtores=20
                        rurais pessoas f=EDsicas. <BR><BR>Fato =
interessante e at=E9=20
                        curioso =E9 que a a=E7=E3o que deu origem ao =
referido recurso=20
                        foi impetrada por empresa adquirente de =
produ=E7=E3o rural=20
                        de pessoas f=EDsica, que na verdade, nessa =
condi=E7=E3o, nem =E9=20
                        contribuinte, mas, sim, respons=E1vel pela =
contribui=E7=E3o=20
                        descontada dos referidos produtores rurais. =
<BR><BR>Para=20
                        entender essa quest=E3o, antes mesmo de analisar =
a decis=E3o=20
                        da Suprema Corte, faz-se necess=E1ria uma breve =
an=E1lise da=20
                        legisla=E7=E3o previdenci=E1ria pret=E9rita de =
forma a entender=20
                        a legisla=E7=E3o atual que disciplina o assunto. =
Vale=20
                        ressaltar que a an=E1lise que se pretende =E9 =
referente ao=20
                        Direito Previdenci=E1rio =E0 luz da =
Constitui=E7=E3o Federal,=20
                        quer no momento anterior, quer no momento =
posterior =E0=20
                        Constitui=E7=E3o de 1988. <BR><BR>1 =96 =
PER=CDODO ANTERIOR =C0=20
                        CONSTITUI=C7=C3O DE 1988 =
<BR><BR>Preliminarmente, =E9=20
                        necess=E1rio frisar que o Direito =
Previdenci=E1rio, inserido=20
                        num sistema de prote=E7=E3o social, n=E3o se =
refere apenas a=20
                        pagamento de benef=EDcios previdenci=E1rios, =
mas, sim, ao=20
                        sistema como um todo, qual seja, a previs=E3o=20
                        constitucional dos direitos sociais, entre eles =
a=20
                        Previd=EAncia Social, seu custeio e as =
respectivas=20
                        presta=E7=F5es. Mesmo antes de os textos =
constitucionais=20
                        mencionarem o custeio das presta=E7=F5es =
decorrentes dos=20
                        infort=FAnios causados pelas rela=E7=F5es de =
emprego e de=20
                        trabalho, n=E3o se pode olvidar de que o =
surgimento da=20
                        Previd=EAncia Social no Brasil se fez com a =
previs=E3o das=20
                        referidas presta=E7=F5es mediante custeio por =
parte do=20
                        empregador, do trabalhador e do aumento de =
tarifa das=20
                        estradas de ferro (poder-se-ia dizer de uma =
contribui=E7=E3o=20
                        estatal). Assim eram os pressupostos de uma =
previd=EAncia=20
                        que surgia e deveria, at=E9 o fim dos tempos, =
ser=20
                        auto-sustent=E1vel, nos termos da Lei Eloy =
Chaves, em 1923=20
                        (Decreto n=BA 4.682, de 24 de janeiro de 1923).=20
                        <BR><BR>Portanto, n=E3o se trata aqui de Direito =

                        Tribut=E1rio, com o qual n=E3o se confunde o =
Direito=20
                        Previdenci=E1rio, ainda que as contribui=E7=F5es =
para o=20
                        custeio de suas presta=E7=F5es sejam entendidas =
como uma das=20
                        esp=E9cies tribut=E1rias. <BR><BR>As =
contribui=E7=F5es=20
                        previdenci=E1rias, desde a edi=E7=E3o da Lei =
Eloy Chaves =96=20
                        Decreto n=BA 4.682, de 24 de janeiro de 1923, =
que=20
                        instituiu as Caixas de Aposentadoria e =
Pens=F5es, sempre=20
                        ficaram a cargo do empregador, do empregado ou =
segurado=20
                        e do Estado, sendo que essa tr=EDplice forma de =
custeio=20
                        somente veio a aparecer pela primeira vez na=20
                        Constitui=E7=E3o de 1934. <BR><BR>Vale ressaltar =
que a=20
                        Constitui=E7=E3o de 1934 foi a primeira a =
estabelecer a=20
                        matriz do Direito Previdenci=E1rio que, nascido =
no seio do=20
                        Direito do Trabalho, come=E7aria a sua =
trajet=F3ria rumo =E0=20
                        sua autonomia em rela=E7=E3o aos demais ramos do =
Direito, j=E1=20
                        no caminho de uma verdadeira seguridade social. =
A=20
                        referida Constitui=E7=E3o (1934) estabeleceu a =
tr=EDplice=20
                        forma do custeio previdenci=E1rio, nos seguintes =
termos:=20
                        <BR><BR>Art 121 - A lei promover=E1 o amparo da =
produ=E7=E3o e=20
                        estabelecer=E1 as condi=E7=F5es do trabalho, na =
cidade e nos=20
                        campos, tendo em vista a prote=E7=E3o social do =
trabalhador=20
                        e os interesses econ=F4micos do Pa=EDs. <BR>=A7 =
1=BA - A=20
                        legisla=E7=E3o do trabalho observar=E1 os =
seguintes preceitos,=20
                        al=E9m de outros que colimem melhorar as =
condi=E7=F5es do=20
                        trabalhador: <BR>........................... =
<BR>h)=20
                        assist=EAncia m=E9dica e sanit=E1ria ao =
trabalhador e =E0=20
                        gestante, assegurando a esta descanso antes e =
depois do=20
                        parto, sem preju=EDzo do sal=E1rio e do emprego, =
e=20
                        institui=E7=E3o de previd=EAncia, mediante =
contribui=E7=E3o igual=20
                        da Uni=E3o, do empregador e do empregado, a =
favor da=20
                        velhice, da invalidez, da maternidade e nos =
casos de=20
                        acidentes de trabalho ou de morte. =
<BR><BR>Estava criado=20
                        o modelo de previd=EAncia do Estado Brasileiro =
para os=20
                        trabalhadores da iniciativa privada que se =
mant=E9m at=E9 os=20
                        dias atuais, embora de forma mais ampliada tanto =
em=20
                        rela=E7=E3o aos segurados, quanto em rela=E7=E3o =
=E0s presta=E7=F5es.=20
                        N=E3o se pode olvidar que tal modelo =
previdenci=E1rio=20
                        surgira com financiamento pr=F3prio, distinto da =

                        tributa=E7=E3o, de forma a tornar o sistema =
auto-sustent=E1vel=20
                        e, assim, garantir a subsist=EAncia do =
trabalhador e de=20
                        sua fam=EDlia nos momentos de infort=FAnio. =
<BR><BR>As=20
                        contribui=E7=F5es a cargo da empresa, =
originalmente,=20
                        incidentes sobre o faturamento, passaram a =
incidir sobre=20
                        a folha de pagamento dos empregados, e aquelas a =
cargo=20
                        da Uni=E3o foram se avolumando sob a =
denomina=E7=E3o de=20
                        =93quotas de previd=EAncia=94 que incidiam sobre =
os mais=20
                        diversos fatos jur=EDgenos ligados =E0 renda ou =
ao consumo,=20
                        a exemplo do faturamento, lucro, importa=E7=E3o, =
concursos=20
                        de progn=F3sticos, entre outros. <BR><BR>Em =
rela=E7=E3o =E0 =E1rea=20
                        rural, em 23 de setembro de 1955 a Lei n=BA =
2.613=20
                        instituiu o Servi=E7o Social Rural, autarquia =
que=20
                        prestaria servi=E7os sociais aos trabalhadores =
rurais,=20
                        cuja =E1rea se financiaria nos seguintes termos: =

                        <BR><BR>Art 6=BA - =C9 devida ao S.S.R. a =
contribui=E7=E3o de 3%=20
                        (tr=EAs por cento) sobre a soma paga mensalmente =
aos seus=20
                        empregados pelas pessoas naturais ou jur=EDdicas =
que=20
                        exer=E7am as atividades industriais adiante =
enumeradas:=20
                        <BR>1 -Ind=FAstria do a=E7=FAcar; <BR>2 - =
Ind=FAstria de=20
                        latic=EDnios; <BR>3 - Xarqueadas; <BR>4 - =
Ind=FAstria do=20
                        mate; <BR>5 - Extra=E7=E3o de fibras vegetais e=20
                        descaro=E7amento de algod=E3o; <BR>6 - =
Ind=FAstria de=20
                        beneficiamento de caf=E9; <BR>7 - Ind=FAstria de =

                        beneficiamento de arroz; <BR>8 - Extra=E7=E3o do =
sal; <BR>9=20
                        - Extra=E7=E3o de madeira, resina e lenha; =
<BR>10 -=20
                        Matadouros; <BR>11 - Frigor=EDficos rurais; =
<BR>12 -=20
                        Cortumes rurais; <BR>13 - Olaria. =
<BR><BR>(......) <BR>=A7=20
                        3=BA As pessoas naturais ou jur=EDdicas que =
exer=E7am as=20
                        atividades industriais enumeradas neste artigo =
n=E3o se=20
                        eximem de contribui=E7=E3o ainda quando em =
cooperativas de=20
                        produ=E7=E3o. <BR>=A7 4=BA A contribui=E7=E3o =
devida por todos os=20
                        empregadores aos institutos e caixas de =
aposentadoria e=20
                        pens=F5es =E9 acrescida de um adicional de 0,3% =
(tr=EAs=20
                        d=E9cimos por cento) sobre o total dos =
sal=E1rios pagos e=20
                        destinados ao Servi=E7o Social Rural, ao qual =
ser=E1=20
                        diretamente entregue pelos respectivos =
=F3rg=E3os=20
                        arrecadadores. <BR>Art 7=BA As empresas de =
atividades=20
                        rurais n=E3o enquadradas no art. 6=BA desta lei =
contribuir=E3o=20
                        para o Servi=E7o Social Rural com 1% (um por =
cento) do=20
                        montante e da remunera=E7=E3o mensal para os =
seus=20
                        empregados. <BR><BR><BR>A Lei n=BA 3.807/60, ao =
dispor=20
                        sobre a Lei Org=E2nica da Previd=EAncia Social =
=96 LOPS,=20
                        unificou toda a legisla=E7=E3o da Previd=EAncia =
Social=20
                        existente nas referidas caixas e nos institutos =
de=20
                        aposentadorias e pens=F5es, disciplinando a =
gest=E3o dos=20
                        =F3rg=E3os de Previd=EAncia Social, as =
contribui=E7=F5es que=20
                        financiariam o sistema e as respectivas =
presta=E7=F5es.=20
                        Entretanto, essa lei n=E3o tratava da =
previd=EAncia do=20
                        trabalhador rural, que continuou sendo regida =
pela Lei=20
                        n=BA 2.613/55, alterada mais tarde pelo =
Decreto-Lei n=BA=20
                        1.146/70. <BR><BR>A partir da Emenda =
Constitucional n=BA=20
                        18/65, que instituiu o Sistema Tribut=E1rio =
Nacional, e=20
                        com a edi=E7=E3o da Lei n=BA 5.172/66, que =
estabeleceu normas=20
                        gerais de direito tribut=E1rio aplic=E1vel =E0 =
Uni=E3o, aos=20
                        Estados e aos munic=EDpios, denominada de =
C=F3digo=20
                        Tribut=E1rio Nacional =96 CTN, passaram a =
coexistir no=20
                        ordenamento jur=EDdico tr=EAs normas =
disciplinadoras de=20
                        exa=E7=F5es: a LOPS, regendo o custeio do =
sistema=20
                        previdenci=E1rio dos trabalhadores urbanos, a =
Lei n=BA 2.613=20
                        /55 regendo o custeio do Servi=E7o Social Rural, =
e o CTN,=20
                        regendo o sistema tribut=E1rio (impostos, taxas =
e=20
                        contribui=E7=F5es de melhoria). <BR><BR>Vale =
destacar como=20
                        ponto mais relevante para a Previd=EAncia Social =
Rural a=20
                        edi=E7=E3o da Lei Complementar n=BA 11, de 25 de =
maio de 1971,=20
                        que instituiu o Programa de Assist=EAncia ao =
Trabalhador=20
                        Rural (PRORURAL) e criou o Fundo de =
Assist=EAncia ao=20
                        Trabalhador Rural =96 FUNRURAL, instituindo, =
assim, o=20
                        custeio e as presta=E7=F5es previdenci=E1rias =
para aqueles=20
                        trabalhadores. <BR><BR>Nos termos do art. 2=BA =
da referida=20
                        lei, o Programa de Assist=EAncia ao Trabalhador =
Rural=20
                        consistiria na presta=E7=E3o dos seguintes =
benef=EDcios: I -=20
                        aposentadoria por velhice; II - aposentadoria =
por=20
                        invalidez; III - pens=E3o; IV - =
aux=EDlio-funeral; V -=20
                        servi=E7o de sa=FAde; VI - servi=E7o social. =
<BR><BR>Por sua=20
                        vez, o art. 15 estabelecia o plano de custeio na =

                        seguinte forma: <BR><BR>Art. 15. Os recursos =
para o=20
                        custeio do Programa de Assist=EAncia ao =
Trabalhador Rural=20
                        provir=E3o das seguintes fontes: <BR>I - da =
contribui=E7=E3o=20
                        de 2% (dois por cento) devida pelo produtor =
sobre o=20
                        valor comercial dos produtos rurais, e =
recolhida: <BR>a)=20
                        pelo adquirente consignat=E1rio ou cooperativa =
que ficam=20
                        sub-rogados, para esse fim, em todas as =
obriga=E7=F5es do=20
                        produtor; <BR>b) pelo produtor, quando ele =
pr=F3prio=20
                        industrializar seus produtos e vend=EA-los, no =
varejo,=20
                        diretamente ao consumidor. <BR>II - da =
contribui=E7=E3o de=20
                        que trata o <A=20
                        =
href=3D"http://www.planalto.gov.br/ccivil_03/Decreto-Lei/1965-1988/Del114=
6.htm#art3"=20
                        target=3D_blank>art. 3=BA do Decreto-lei n=BA =
1.146, de 31 de=20
                        dezembro de 1970,</A> a qual fica elevada para =
2,6%=20
                        (dois e seis d=E9cimos por cento), cabendo 2,4% =
(dois e=20
                        quatro d=E9cimos por cento) ao FUNRURAL. =
<BR><BR><BR>Como=20
                        se percebe, a contribui=E7=E3o incidente sobre a =

                        comercializa=E7=E3o da produ=E7=E3o rural do =
produtor rural=20
                        pessoa f=EDsica foi institu=EDda por lei =
complementar e=20
                        existe desde 1971, praticamente nos mesmos =
moldes do que=20
                        estabeleceu a Lei n=BA 8.540/92. =
<BR><BR>Quest=E3o de grande=20
                        relev=E2ncia que deve ser levada em =
considera=E7=E3o no trato=20
                        das quest=F5es da Previd=EAncia Social =E9 o =
princ=EDpio da=20
                        preced=EAncia do custeio, previsto nos textos=20
                        constitucionais desde a Constitui=E7=E3o Federal =
de 1967,=20
                        segundo a qual =93Nenhuma presta=E7=E3o de =
servi=E7o de car=E1ter=20
                        assistencial ou de benef=EDcio compreendido na =
Previd=EAncia=20
                        Social ser=E1 criada, majorada ou estendida, sem =
a=20
                        correspondente fonte de custeio total=94 ( Art. =
158,=A7 1=BA=20
                        da Constitui=E7=E3o de 1967).<BR><BR>E neste =
contexto =E9 que=20
                        foi institu=EDda a contribui=E7=E3o para o =
FUNRURAL como forma=20
                        de estender os benef=EDcios dos trabalhadores =
urbanos aos=20
                        trabalhadores rurais por meio de lei =
complementar, pois=20
                        estaria sendo criada uma nova contribui=E7=E3o, =
para fazer=20
                        face aos benef=EDcios previdenci=E1rios, ora =
estendidos aos=20
                        trabalhadores rurais e, nessa =E9poca, a =
Constitui=E7=E3o j=E1=20
                        requisitava lei complementar para tratamento de =
quest=F5es=20
                        do Sistema Tribut=E1rio Nacional. <BR><BR>2 =96 =
PER=CDODO AP=D3S=20
                        A CONSTITUI=C7=C3O DE 1988 <BR><BR>A =
Constitui=E7=E3o de 1988=20
                        trouxe, no Cap=EDtulo II do T=EDtulo VIII =96 Da =
Ordem Social=20
                        =96 a Seguridade Social como um amplo sistema de =
prote=E7=E3o=20
                        social universal, nele inclu=EDdas as =E1reas de =
sa=FAde,=20
                        previd=EAncia e assist=EAncia social, com =
custeio pr=F3prio,=20
                        distinto do or=E7amento fiscal. <BR><BR>O =
constituinte de=20
                        1988 teve a preocupa=E7=E3o de estabelecer os =
princ=EDpios da=20
                        seguridade social estampados no art. 194, entre =
eles o=20
                        da universalidade da cobertura e do atendimento, =
o da=20
                        uniformidade e equival=EAncia dos benef=EDcios e =
servi=E7os =E0s=20
                        popula=E7=F5es urbanas e rurais, o da equidade =
na forma de=20
                        participa=E7=E3o no custeio e o da diversidade =
das bases de=20
                        financiamento. <BR><BR>Com base no princ=EDpio =
da=20
                        diversidade das bases de financiamento, foram=20
                        estabelecidas as diversas bases de =
incid=EAncias: folha de=20
                        sal=E1rios, faturamento, lucro e receitas de =
concursos de=20
                        progn=F3sticos e, mais tarde, as receitas de =
importa=E7=E3o,=20
                        nos termos do inciso IV art. 195. <BR><BR>N=E3o =
olvidou o=20
                        constituinte de 1988 de prever, tamb=E9m, o =
custeio dos=20
                        benef=EDcios do trabalhador rural em regime de =
economia=20
                        familiar, ao estabelecer no =A7 8=BA do art. =
195: <BR><BR>=93O=20
                        produtor, o parceiro, o meeiro e o =
arrendat=E1rio rurais e=20
                        o pescador artesanal, bem como os respectivos =
c=F4njuges,=20
                        que exer=E7am suas atividades em regime de =
economia=20
                        familiar, sem empregados permanentes, =
contribuir=E3o para=20
                        a seguridade social mediante a aplica=E7=E3o de =
uma al=EDquota=20
                        sobre o resultado da comercializa=E7=E3o da =
produ=E7=E3o e far=E3o=20
                        jus aos benef=EDcios nos termos da LEI=94. =
(grifos nossos).=20
                        <BR><BR>Portanto, essa =E9 a contribui=E7=E3o do =
produtor=20
                        rural pessoa f=EDsica que j=E1 estava prevista =
na Lei=20
                        Complementar n=BA 11, de 25 de maio de 1971, =
como custeio=20
                        para pagamento dos benef=EDcios =
previdenci=E1rios,=20
                        reinstitu=EDda pela Lei n=BA 8.540/92, objeto de =
toda a=20
                        discuss=E3o judicial. <BR><BR>Cabe ressaltar que =
a=20
                        participa=E7=E3o no custeio da seguridade social =
=E9 obriga=E7=E3o=20
                        de toda a sociedade, de forma direta ou =
indireta, tendo=20
                        o pr=F3prio texto constitucional estabelecido =
que a sa=FAde=20
                        =E9 direito de todos e dever do Estado (art. =
196), para a=20
                        qual n=E3o =E9 exigida contribui=E7=E3o do =
participante; a=20
                        assist=EAncia social ser=E1 devida a quem dela =
necessitar,=20
                        independentemente de contribui=E7=E3o =E0 =
seguridade social=20
                        (art. 203), mas, em rela=E7=E3o =E0 =
Previd=EAncia, a pr=F3pria=20
                        Constitui=E7=E3o tratou de estabelecer o seu =
car=E1ter=20
                        contributivo direto, nos termos do art. 201: =
<BR><BR>=93A=20
                        Previd=EAncia Social ser=E1 organizada sob a =
forma de regime=20
                        geral, de car=E1ter contributivo e de =
filia=E7=E3o=20
                        obrigat=F3ria, observados os crit=E9rios que =
preservem o=20
                        equil=EDbrio financeiro e atuarial, e =
atender=E1, nos termos=20
                        da lei a:...=94. <BR><BR>Ademais, nos termos das =

                        Constitui=E7=F5es pret=E9ritas, o constituinte =
de 1988 se=20
                        preocupou com o custeio do sistema ao =
estabelecer, no =A7=20
                        5=BA do art. 195, o princ=EDpio da preced=EAncia =
do custeio,=20
                        segundo o qual: <BR><BR>=93Nenhum benef=EDcio ou =
servi=E7o da=20
                        seguridade social poder=E1 ser criado, majorado =
ou=20
                        estendido sem a correspondente fonte de custeio =
total=94.=20
                        <BR><BR>Assim, a Constitui=E7=E3o de 1988, nos =
artigos 194 e=20
                        195, disp=F4s sobre a Seguridade Social, seus =
princ=EDpios,=20
                        fundamentos e sobre o seu financiamento, tudo =
nos termos=20
                        da LEI. Ademais, possibilitou a institui=E7=E3o =
de novas=20
                        fontes de custeio, al=E9m das previstas no texto =

                        constitucional, para manuten=E7=E3o ou =
amplia=E7=E3o da=20
                        seguridade social, deste vez mediante lei =
complementar.=20
                        <BR><BR>Para tornar fact=EDvel tal sistema de =
prote=E7=E3o=20
                        social, a nova Carta Constitucional, no art. 59 =
do Ato=20
                        das Disposi=E7=F5es Constitucionais =
Transit=F3rias - ADCT -=20
                        estabeleceu o prazo m=E1ximo de seis meses a =
partir da=20
                        promulga=E7=E3o da Constitui=E7=E3o para que os =
projetos de lei=20
                        relativos =E0 organiza=E7=E3o da seguridade =
social e aos=20
                        planos de benef=EDcio e custeio fossem =
apresentados ao=20
                        Congresso Nacional, que teria igual prazo para=20
                        apreci=E1-los. Para satisfazer tal dispositivo, =
a Lei n=BA=20
                        7.787, de 30 de julho de 1989, definiu novos =
regramentos=20
                        para as contribui=E7=F5es previdenci=E1rias =
incidentes sobre a=20
                        folha de sal=E1rios, Finsocial e lucro, ao mesmo =
tempo em=20
                        que fez refer=EAncias, tamb=E9m, ao projeto de =
lei que=20
                        estabeleceria a organiza=E7=E3o da seguridade =
social e=20
                        estabeleceria o seu plano de custeio, requisito=20
                        constitucional atendido com a aprova=E7=E3o da =
Lei n=BA 8.212,=20
                        de 24/07/1991. <BR><BR>A Lei n=BA 8.212/91, ao =
definir a=20
                        Organiza=E7=E3o da Seguridade Social e =
estabelecer o seu=20
                        custeio, definiu tamb=E9m os contribuintes e os =
segurados=20
                        da Previd=EAncia Social. <BR><BR>Em rela=E7=E3o =
ao trabalhador=20
                        rural, a mat=E9ria ficou assim disciplinada: =
<BR>Art. 12.=20
                        S=E3o segurados obrigat=F3rios da Previd=EAncia =
Social as=20
                        seguintes pessoas f=EDsicas: <BR>.......... =
<BR>V - como=20
                        equiparado a trabalhador aut=F4nomo, al=E9m dos =
casos=20
                        previstos em legisla=E7=E3o espec=EDfica: <BR>a) =
a pessoa=20
                        f=EDsica, propriet=E1ria ou n=E3o, que explora =
atividade=20
                        agropecu=E1ria, pesqueira ou de extra=E7=E3o de =
minerais, em=20
                        car=E1ter permanente ou tempor=E1rio, =
diretamente ou atrav=E9s=20
                        de prepostos e com aux=EDlio de empregados, =
utilizados a=20
                        qualquer t=EDtulo, ainda que de forma n=E3o =
cont=EDnua;=20
                        <BR>VII - como segurado especial: o produtor, o=20
                        parceiro, o meeiro e o arrendat=E1rio rurais, o=20
                        garimpeiro, o pescador artesanal e o =
assemelhado, que=20
                        exer=E7am essas atividades, individualmente ou =
em regime=20
                        de economia familiar, ainda que com o aux=EDlio =
eventual=20
                        de terceiros, bem como seus respectivos =
c=F4njuges ou=20
                        companheiros e filhos maiores de 14 anos ou a =
eles=20
                        equiparados, desde que trabalhem, =
comprovadamente, com o=20
                        grupo familiar respectivo. <BR><BR>Definiu, =
ainda, o=20
                        conceito de empresa, nos seguintes moldes: =
<BR>Art. 15.=20
                        Considera-se: <BR>I - empresa - a firma =
individual ou=20
                        sociedade que assume o risco de atividade =
econ=F4mica=20
                        urbana ou rural, com fins lucrativos ou n=E3o, =
bem como os=20
                        =F3rg=E3os e entidades da administra=E7=E3o =
p=FAblica direta,=20
                        indireta e fundacional; <BR>........ =
<BR>Par=E1grafo=20
                        =FAnico. Considera-se empresa, para os efeitos =
desta lei,=20
                        o aut=F4nomo e equiparado em rela=E7=E3o a =
segurado que lhe=20
                        presta servi=E7o, bem como a cooperativa, a =
associa=E7=E3o ou=20
                        entidade de qualquer natureza ou finalidade, a =
miss=E3o=20
                        diplom=E1tica e a reparti=E7=E3o consular de =
carreira=20
                        estrangeiras. <BR><BR>Como se observa, o =
produtor rural=20
                        pessoa f=EDsica (empregador rural) =E9 =
equiparado =E0 empresa=20
                        e, portanto, deveria recolher as =
contribui=E7=F5es=20
                        descontadas dos seus empregados, al=E9m das suas =

                        contribui=E7=F5es patronais incidentes sobre a =
folha de=20
                        pagamentos, conforme estabelece o artigo 22 da =
Lei n=BA=20
                        8.212/91, nos percentuais de 20%, mais uma =
contribui=E7=E3o=20
                        que varia de 1 a 3%, dependendo de o grau de =
risco da=20
                        atividade econ=F4mica ser leve, m=E9dio ou =
grave, tamb=E9m=20
                        incidentes sobre a folha de pagamento dos =
empregados.=20
                        <BR><BR>Em rela=E7=E3o ao produtor rural pessoa =
f=EDsica=20
                        (segurado especial =96 CF -Art. 195,=A7 8=BA), a =
lei n=BA=20
                        8.212/91 tratou de disciplinar a sua =
contribui=E7=E3o no=20
                        artigo 25, nos seguintes termos: <BR><BR>Art. =
25.=20
                        Contribui com 3% (tr=EAs por cento) da receita =
bruta=20
                        proveniente da comercializa=E7=E3o da sua =
produ=E7=E3o o=20
                        segurado especial referido no inciso VII do art. =
12.=20
                        <BR><BR>Com o advento da Lei n=BA 8.540/92, =
mudou-se a=20
                        sistem=E1tica de recolhimento dos produtores =
rurais=20
                        pessoas f=EDsicas =96 empregadores rurais e =
segurados=20
                        especiais. <BR><BR>Em rela=E7=E3o aos =
empregadores rurais,=20
                        estes deixaram de recolher a contribui=E7=E3o =
patronal=20
                        incidente sobre a folha de pagamentos de seus=20
                        empregados, por disposi=E7=E3o expressa do =A7 =
5=BA acrescido ao=20
                        art. 22 da Lei n=BA 8.212/91, e tiveram aquela=20
                        contribui=E7=E3o substitu=EDda pelo percentual =
de 2% incidente=20
                        sobre a receita bruta proveniente da =
comercializa=E7=E3o da=20
                        sua produ=E7=E3o rural para o pagamento dos =
benef=EDcios=20
                        gerais da Previd=EAncia Social, acrescido de =
0,1% para=20
                        financiamento dos benef=EDcios decorrentes de =
acidentes de=20
                        trabalho. Definiu-se tamb=E9m que tais =
empregadores rurais=20
                        recolheriam a sua contribui=E7=E3o pessoal para =
a=20
                        previd=EAncia nos moldes de quaisquer outros =
trabalhadores=20
                        aut=F4nomos e equiparados, para fazer face aos =
seus=20
                        respectivos benef=EDcios. <BR><BR>Quanto aos =
segurados=20
                        especiais, a Lei n=BA 8.540/92 reduziu a sua =
contribui=E7=E3o=20
                        de 3% para 2% incidente sobre a receita bruta da =

                        comercializa=E7=E3o da produ=E7=E3o rural e =
instituiu a=20
                        contribui=E7=E3o de 0,1% para financiamento da=20
                        complementa=E7=E3o dos benef=EDcios decorrentes =
de acidentes=20
                        do trabalho, al=E9m de possibilitar a sua =
contribui=E7=E3o=20
                        facultativa na forma dos segurados aut=F4nomos e =

                        equiparados de ent=E3o. <BR><BR>As =
altera=E7=F5es produzidas=20
                        na Lei n=BA 8.212/91 pela lei em comento, em =
verdade,=20
                        vieram possibilitar a efetividade da =
arrecada=E7=E3o nesse=20
                        setor, haja vista a precariedade das =
rela=E7=F5es laborais=20
                        na =E1rea rural, aliada =E0 dificuldade para =
cumprimento das=20
                        obriga=E7=F5es decorrentes dessas rela=E7=F5es =
jur=EDdicas. Nesse=20
                        contexto, a Lei n=BA 8.540/92 atribuiu a =
responsabilidade=20
                        pelo recolhimento ao adquirente, consignat=E1rio =
ou=20
                        cooperativa que ficaram sub-rogados na =
obriga=E7=E3o dos=20
                        referidos produtores rurais. <BR><BR>Atribuiu =
tamb=E9m aos=20
                        referidos produtores rurais a obriga=E7=E3o pelo =

                        recolhimento das respectivas contribui=E7=F5es=20
                        previdenci=E1rias rurais quando comercializarem =
a sua=20
                        produ=E7=E3o no exterior ou, diretamente, no =
varejo, ao=20
                        consumidor. <BR><BR>Nesses termos, n=E3o h=E1 =
que se falar=20
                        em cobran=E7a cumulada de contribui=E7=F5es, =
pois, em rela=E7=E3o=20
                        ao empregador rural, tais contribui=E7=F5es =
substituem a=20
                        contribui=E7=E3o patronal incidente sobre a =
folha de=20
                        pagamentos dos seus empregados. Para o segurado =
especial=20
                        s=E3o as =FAnicas contribui=E7=F5es =
obrigat=F3rias que dever=E3o=20
                        verter ao sistema. Ademais, tais segurados n=E3o =
recolhem=20
                        ao sistema de seguridade social as =
contribui=E7=F5es=20
                        incidentes sobre o faturamento e o lucro por =
disposi=E7=E3o=20
                        expressa do =A7 2=BA do art. 23 da Lei n=BA =
8.212/91.=20
                        <BR><BR>Da mesma forma n=E3o se vislumbra quebra =
do=20
                        princ=EDpio da isonomia, haja vista que todos os =

                        produtores rurais t=EAm a mesma contribui=E7=E3o =
rural e todos=20
                        os adquirentes, consignat=E1rios e cooperativas =
t=EAm a=20
                        mesma obriga=E7=E3o de descontar e recolher as=20
                        contribui=E7=F5es. Al=E9m disso, os produtores =
rurais pessoas=20
                        jur=EDdicas nos termos do art. 25 da Lei n=BA =
8.870/94=20
                        tiveram sua contribui=E7=E3o patronal incidente =
sobre a=20
                        folha de pagamento de seus empregados =
substitu=EDda por=20
                        2,5% sobre a receita bruta da =
comercializa=E7=E3o da=20
                        produ=E7=E3o rural, acrescida de 0,1% para =
benef=EDcios=20
                        decorrentes de acidentes de trabalho, nos mesmos =
moldes=20
                        das agroind=FAstrias, conforme disp=F5e a Lei =
n=BA=20
                        10.256/2001. <BR><BR>Quanto =E0 arg=FCi=E7=E3o =
de=20
                        inconstitucionalidade da Lei n=BA 8.540/92 por =
n=E3o ter=20
                        sido veiculada por lei complementar, vale dizer =
que tal=20
                        lei tem seu fundamento de validade no =A7 8=BA =
do art. 195=20
                        da Constitui=E7=E3o de 1988, n=E3o sendo, pois, =
exigido o=20
                        requisito de tal instrumento legislativo. Tal=20
                        dispositivo guarda conson=E2ncia com os =
princ=EDpios da=20
                        universalidade da cobertura e do atendimento, da =

                        uniformidade e equival=EAncia dos benef=EDcios =
=E0s popula=E7=F5es=20
                        urbanas e rurais e com o princ=EDpio da =
preced=EAncia do=20
                        custeio. Refor=E7a ainda tal posicionamento a =
exist=EAncia=20
                        de legisla=E7=E3o anterior ao novo texto =
constitucional,=20
                        principalmente a Lei Complementar n=BA 11/71, =
que trata=20
                        inteiramente o assunto, por n=E3o ter sido =
revogada e,=20
                        assim, continuaria a surtir efeitos jur=EDdicos =
com a=20
                        revoga=E7=E3o da Lei n=BA 8.540/92 e por estar =
em conson=E2ncia=20
                        com a nova ordem constitucional instaurada em 5 =
de=20
                        outubro de 1988. <BR><BR>3 =96 POSS=CDVEIS =
EFEITOS PR=C1TICOS=20
                        DA DECIS=C3O DO STF. <BR><BR>No julgamento =
proferido pelo=20
                        STF, n=E3o foi aceito o pedido de modula=E7=E3o =
de efeitos=20
                        solicitado pela Procuradoria Geral da Fazenda=20
                        Nacional-PGFN. Assim, a decis=E3o pela=20
                        inconstitucionalidade do art. 1=BA da Lei n=BA =
8.540/92, que=20
                        alterou dispositivos da Lei n=BA 8.212/91, tem =
efeito ex=20
                        tunc, ou seja, efeito retroativo. Entretanto, =
como se=20
                        tratou de uma decis=E3o por via incidental, vale =
dizer,=20
                        pelo controle difuso de constitucionalidade =
(n=E3o foi por=20
                        a=E7=E3o direta de inconstitucionalidade), os =
efeitos se=20
                        aplicam apenas aos autores da a=E7=E3o. =
<BR><BR>Ressalta-se=20
                        que, conforme j=E1 dito, os recolhimentos =
efetuados pelos=20
                        adquirentes (autores da a=E7=E3o) n=E3o s=E3o =
despesas dessas=20
                        empresas, que apenas t=EAm a obriga=E7=E3o de =
descontar as=20
                        referidas contribui=E7=F5es dos produtores =
rurais e=20
                        recolh=EA-las aos cofres p=FAblicos. Tais =
adquirentes n=E3o=20
                        s=E3o os contribuintes, apenas respons=E1veis =
(sub-rogados=20
                        na obriga=E7=E3o do produtor rural). =
<BR><BR>Nesse contexto=20
                        vislumbram-se diversas hip=F3teses, de cuja =
utiliza=E7=E3o=20
                        decorrer=E3o os respectivos efeitos pr=E1ticos : =
<BR><BR>1=AA=20
                        hip=F3tese - inconstitucionalidade apenas do =
art. 1=BA da=20
                        Lei n=BA 8.540/92 <BR><BR>Nesse caso, =
continuariam em=20
                        vigor os dispositivos da Lei n=BA 8.212/91 =
alterados pela=20
                        norma ora inconstitucional. Essa hip=F3tese =
comportaria os=20
                        seguintes efeitos: <BR><BR>a) a contribui=E7=E3o =
do segurado=20
                        especial seria de 3% da receita bruta =
proveniente da=20
                        comercializa=E7=E3o da sua produ=E7=E3o (art. 25 =
original a Lei=20
                        n=BA 8.212/91 =96 fundamento de validade =96 CF =
art. 195, =A7=20
                        8=BA). <BR>N=E3o ocorreria direito a =
restitui=E7=E3o em=20
                        decorr=EAncia de o percentual ser superior ao da =
lei=20
                        revogada. <BR>Deveria ser cobrada a diferen=E7a =
de=20
                        contribui=E7=E3o nos =FAltimos 5 anos. =
<BR><BR>b) A=20
                        contribui=E7=E3o do produtor rural pessoa =
f=EDsica (empregador=20
                        rural), enquanto equiparado a empresa, seria =
incidente=20
                        sobre a folha de pagamento dos seus empregados.=20
                        <BR><BR>Ocorreria direito =E0 restitui=E7=E3o =
pela diferen=E7a=20
                        entre o valor recolhido com base na =
comercializa=E7=E3o da=20
                        produ=E7=E3o rural e o valor da contribui=E7=E3o =
patronal devida=20
                        sobre a folha de pagamento dos seus empregados =
(art. 12,=20
                        V, a, art. 15-P.U, e art. 22 da Lei n=BA =
8.212/91 =96=20
                        Fundamento de validade =96 CF art. 195, I, a e =
II).=20
                        <BR><BR>O pedido de restitui=E7=E3o seria feito =
pelo=20
                        empregador rural. Caso o pedido seja feito pelo=20
                        adquirente, consignat=E1rio ou cooperativa, =
estes devem=20
                        provar que o valor da contribui=E7=E3o foi =
devolvido ao=20
                        respectivo produtor, sob pena de caracterizar=20
                        enriquecimento il=EDcito, sem preju=EDzo da =
caracteriza=E7=E3o=20
                        de crime de apropria=E7=E3o ind=E9bita =
previdenci=E1ria previsto=20
                        no art. 168-A do C=F3digo Penal, no caso de ter =
havido o=20
                        desconto da contribui=E7=E3o. (art. 30, III, IV =
e art. 33, =A7=20
                        5=BA da lei n=BA 8.212/91). <BR><BR><BR>2=AA =
hip=F3tese -=20
                        inconstitucionalidade do art. 1=BA da Lei n=BA =
8.540/92 at=E9=20
                        a edi=E7=E3o da Lei n=BA 10.256, de 09 de julho =
de 2001.=20
                        <BR><BR>A Lei n=BA 10.256, de 09 de julho de =
2001,=20
                        instituiu, para algumas agroind=FAstrias, a =
substitui=E7=E3o=20
                        da contribui=E7=E3o incidente sobre a folha de =
pagamentos=20
                        por contribui=E7=E3o incidente sobre a =
comercializa=E7=E3o da=20
                        produ=E7=E3o industrializada ou n=E3o, ao mesmo =
tempo em que=20
                        deu nova reda=E7=E3o ao art. 25 da Lei n=BA =
8.212/91,=20
                        disciplinando a forma de contribui=E7=E3o dos =
produtores=20
                        rurais pessoas f=EDsicas (empregador rural) e =
segurados=20
                        especiais. <BR><BR>Neste caso, o pedido de =
restitui=E7=E3o,=20
                        nos moldes da primeira hip=F3tese, observada a =
prescri=E7=E3o,=20
                        seria devido somente at=E9 30 de outubro/2001. A =
partir de=20
                        01/11/2001 (noventena) a contribui=E7=E3o seria =
devida, pois=20
                        a Lei n=BA 10.256/2001 teria como fundamento de =
validade o=20
                        =A7 8=BA do art. 195 da Constitui=E7=E3o Federal =
e o inciso I, b=20
                        do mesmo artigo com a reda=E7=E3o dada pela =
Emenda=20
                        Constitucional n=BA 20, que ampliou o conceito =
de=20
                        faturamento para receita ou faturamento e, =
portanto, sem=20
                        o requisito de lei complementar para instituir =
as=20
                        referidas contribui=E7=F5es. <BR><BR>3=AA =
hip=F3tese =96=20
                        inconstitucionalidade total de todas as =
altera=E7=F5es=20
                        ocorridas na Lei n=BA 8.212/91 por suposta falta =
de=20
                        cumprimento do requisito de lei complementar.=20
                        <BR><BR>Nessa hip=F3tese, considerar-se-ia o =
disposto no=20
                        art. 59, conjugado com o art. 34 (no que =
couber), ambos=20
                        do Ato das Disposi=E7=F5es Constitucionais =
Transit=F3rias. Uma=20
                        vez que o plano de custeio, institu=EDdo por lei =

                        ordin=E1ria, n=E3o poderia tratar da =
contribui=E7=E3o do=20
                        segurado especial, embora prevista no =A7 8=BA =
do art. 195=20
                        do pr=F3prio texto constitucional, poderia ser =
considerado=20
                        o fen=F4meno da recep=E7=E3o e, neste caso, a =
Lei Complementar=20
                        n=BA 11, de 25/05/1971, teria sido recepcionada =
pela nova=20
                        ordem constitucional por trazer em seu bojo a =
disciplina=20
                        da mat=E9ria, estando, pois, ainda em vigor, =
tendo como=20
                        fundamento de validade o pr=F3prio =A7 8=BA do =
art. 195 na=20
                        nova Carta Constitucional. <BR><BR>Ressalta-se =
que tal=20
                        entendimento n=E3o entra em choque com o =
disposto no =A7 1=BA=20
                        do art. 3=BA da Lei n=BA 7.787/89, pois tal =
dispositivo=20
                        refere-se =E0 contribui=E7=E3o patronal do =
empregador rural e=20
                        n=E3o =E0 contribui=E7=E3o do segurado especial. =
<BR><BR>Art. 3=BA=20
                        A contribui=E7=E3o das empresas em geral e das =
entidades ou=20
                        =F3rg=E3os a ela equiparados, destinada =E0 =
Previd=EAncia=20
                        Social, incidente sobre a folha de sal=E1rios, =
ser=E1:=20
                        <BR><BR>I - de 20% (vinte por cento), sobre o =
total das=20
                        remunera=E7=F5es pagas ou creditadas, a qualquer =
t=EDtulo, no=20
                        decorrer do m=EAs, aos segurados empregados, =
avulsos,=20
                        aut=F4nomos e administradores; <BR>II - de 2% =
(dois por=20
                        cento) do total das remunera=E7=F5es pagas ou =
creditadas, no=20
                        decorrer do m=EAs, aos segurados empregados e =
avulsos,=20
                        para o financiamento da complementa=E7=E3o das =
presta=E7=F5es=20
                        por acidente do trabalho. <BR><BR>=A7 1=BA A =
al=EDquota de que=20
                        trata o inciso I abrange as contribui=E7=F5es =
para o=20
                        sal=E1rio-fam=EDlia, para o =
sal=E1rio-maternidade, para o=20
                        abono anual e para o PRO-RURAL, que ficam =
suprimidas a=20
                        partir de 1=BA de setembro, assim como a =
contribui=E7=E3o=20
                        b=E1sica para a Previd=EAncia Social. =
<BR><BR>Tanto =E9 que a=20
                        pr=F3pria Lei n=BA 8.212/91 estabeleceu o =
custeio para os=20
                        benef=EDcios do segurado especial no art. 25, =
nos mesmos=20
                        moldes estabelecidos na referida lei =
complementar.=20
                        Nesses termos, n=E3o haveria que falar em efeito =

                        repristinat=F3rio, pois tal lei complementar =
n=E3o foi=20
                        revogada, em rela=E7=E3o ao segurado especial, =
pelas leis=20
                        que trataram inteiramente do assunto, agora =
declaradas=20
                        inconstitucionais. <BR><BR>Nesse contexto, a =
decis=E3o do=20
                        STF surtiria efeito apenas para o empregador =
rural, nos=20
                        mesmos termos retratados na al=EDnea b da =
primeira=20
                        hip=F3tese (recolhimento sobre folha de =
sal=E1rios). Em=20
                        rela=E7=E3o =E0 contribui=E7=E3o do segurado =
especial, continuaria=20
                        sendo devida nos termos do art. 15, conjugado =
com a=20
                        al=EDnea =93b=94 do =A7 1=BA do art 3=BA, ambos =
da Lei Complementar=20
                        n=BA 11/71. N=E3o haveria, pois, de falar em =
restitui=E7=E3o,=20
                        mas, sim, em complementa=E7=E3o da =
contribui=E7=E3o a ser=20
                        cobrada nos =FAltimos cinco anos. <BR><BR>Os =
efeitos=20
                        tamb=E9m poderiam ser mitigados com a edi=E7=E3o =
da Lei n=BA=20
                        10.256/2001, se se considerar que a partir da =
Emenda=20
                        Constitucional n=BA 20 n=E3o mais seria =
requisitada lei=20
                        complementar para tratar do assunto. =
<BR><BR>AN=C1LISE DO=20
                        JULGAMENTO DO STF <BR><BR>A decis=E3o do =
julgamento=20
                        proferido pelo STF, embora ainda n=E3o tenha =
sido=20
                        publicada, causa certa estranheza, pois a Lei =
n=BA=20
                        8.540/92 n=E3o trata de contribui=E7=E3o do =
adquirente,=20
                        consignat=E1rio ou cooperativa. Trata da =
contribui=E7=E3o dos=20
                        produtores rurais, e os autores da a=E7=E3o, =
objeto do=20
                        julgamento, ao que parece, n=E3o s=E3o =
produtores rurais,=20
                        mas, sim, adquirentes de produto rural de pessoa =
f=EDsica.=20
                        Teriam tais adquirentes o objetivo de devolver =
as=20
                        contribui=E7=F5es descontadas dos seus =
fornecedores? Mas=20
                        esse n=E3o =E9 o cerne da quest=E3o. <BR><BR>O =
fato maior =E9 o=20
                        descaso em rela=E7=E3o ao custeio da =
Previd=EAncia Social. A=20
                        Previd=EAncia Social n=E3o pode ser entendida =
apenas como=20
                        uma obriga=E7=E3o do Estado em pagar =
benef=EDcios. N=E3o =E9 isso=20
                        que pensarem os constituintes de todas as =
=E9pocas,=20
                        principalmente a partir da Constitui=E7=E3o de =
1934. O=20
                        custeio do sistema deve ser levado em =
considera=E7=E3o em=20
                        qualquer inst=E2ncia em que se discutirem =
quest=F5es=20
                        previdenci=E1rias. <BR><BR>A Previd=EAncia =
Social deve ser=20
                        considerada por inteiro, isto =E9, como um =
sistema=20
                        auto-sustent=E1vel com custeio pr=F3prio. =
<BR><BR>O =A7 8=BA do=20
                        art. 195 da Constitui=E7=E3o Federal n=E3o =
requisita lei=20
                        complementar para instituir a contribui=E7=E3o=20
                        previdenci=E1ria do segurado especial. Autoriza =
tal exa=E7=E3o=20
                        mediante LEI, assim como todo o financiamento da =

                        seguridade social, conforme j=E1 decidido em =
diversos=20
                        outros momentos decis=F3rios. S=F3 se trata de =
lei=20
                        complementar quando o pr=F3prio texto =
constitucional assim=20
                        o determina e n=E3o =E9 esse o caso. <BR><BR>A =
declara=E7=E3o de=20
                        inconstitucionalidade da Lei n=BA 8.540/92 sem a =
modula=E7=E3o=20
                        dos efeitos fragiliza mais ainda a Previd=EAncia =
Social e=20
                        coloca em risco a continuidade dos pagamentos =
dos=20
                        benef=EDcios dos segurados especiais em valores =
n=E3o=20
                        inferiores ao sal=E1rio m=EDnimo. <BR><BR>Tratar =
a quest=E3o=20
                        do financiamento da previd=EAncia na =E1rea =
rural como=20
                        apenas uma quest=E3o tribut=E1ria =E9 jogar por =
terra todo o=20
                        avan=E7o dos =FAltimos tempos para =
uniformiza=E7=E3o dos=20
                        benef=EDcios urbanos e rurais e at=E9 uma =
afronta aos=20
                        princ=EDpios constitucionais da Seguridade =
Social=20
                        estampados no art. 195 da Carta Maior. =
<BR><BR>As=20
                        decis=F5es judiciais envolvendo o custeio =
previdenci=E1rio,=20
                        se n=E3o considerarem o Direito Previdenci=E1rio =
como um=20
                        todo (custeio e benef=EDcios), e n=E3o levarem =
em=20
                        considera=E7=E3o o princ=EDpio constitucional da =
preced=EAncia=20
                        do custeio ou princ=EDpio da contra-partida, =
poder=E3o=20
                        causar um retrocesso sem precedentes na =
Previd=EAncia=20
                        Social, ensejando, assim, altera=E7=F5es no =
texto=20
                        constitucional e na legisla=E7=E3o, de forma que =
tais=20
                        benef=EDcios sem custeio teriam car=E1ter =
assistencial e por=20
                        isso poderiam ser pagos em valores inferiores ao =
sal=E1rio=20
                        m=EDnimo, como o foram na legisla=E7=E3o de =
outrora. Essa=20
                        hip=F3tese n=E3o =E9 descartada, pelo =
contr=E1rio: s=F3 se aguarda=20
                        um momento oportuno para que tais altera=E7=F5es =
sejam=20
                        encaminhadas ao legislativo, principalmente por=20
                        articulistas de plant=E3o que provavelmente =
nunca pensaram=20
                        na veda=E7=E3o ao retrocesso em rela=E7=E3o aos =
direitos=20
                        sociais. <BR><BR>Tais considera=E7=F5es talvez =
sirvam para=20
                        que os aplicadores do direito comecem a refletir =
sobre=20
                        essa heran=E7a catastr=F3fica causada pela falta =
ou=20
                        defici=EAncia do ensino de Direito =
Previdenci=E1rio nas=20
                        Faculdades. <BR></P>
                        <P align=3Djustify>*Professor de =
p=F3s-gradua=E7=E3o em Direito=20
                        Previdenci=E1rio. P=F3s-graduado em Direito =
Previdenci=E1rio e=20
                        Direito do Trabalho. Mestre em Direito =
Previdenci=E1rio=20
                        pela PUC-SP. Auditor-fiscal da Receita Federal =
do=20
                        Brasil. <BR></P>
                        <P></P><BR></DIV></TD>
                      <TD width=3D121>
                        <DIV align=3Dcenter><IMG alt=3D""=20
                        =
src=3D"http://www.anfip.org.br/img/noticiasanfip2_r2_c2.png"=20
                        width=3D35=20
              =
height=3D281></DIV></TD></TR></TBODY></TABLE></DIV></TD></TR>
              <TR>
                <TD id=3Dnoticia bgColor=3D#ffffff =
background-position:?left?=20
                background-repeat:?repeat-y?><A=20
                  href=3D"javascript:Impressao( false );"><IMG alt=3D"" =
align=3Dright=20
                  =
src=3D"http://www.anfip.org.br/img/botao_imprimir.jpg"></A></TD></TR></TB=
ODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<SCRIPT type=3Dtext/javascript>=20
   Calendar.setup({=20
    inputField     :    "lancador",     // id do campo de texto=20
     ifFormat     :     "%d/%m/%Y",     // formato da data que se =
escreva no campo de texto=20
     button     :    "lancador"    // o id do bot=E3o que lan=E7ar=E1 o =
calend=E1rio=20
=09
});=20
            </SCRIPT>
<!-- end galeria--><!-- end noticia --><BR class=3Dclearfloat><!-- end =
#footer -->
<P></P></DIV><!--/////--------------------------- end #textonoticia, =
Corpo do site (noticia) -----------------------------------/////-->
<DIV id=3Drodape>
<P>SEDE: SBN Qd. 01 Bl. H Ed. ANFIP <BR>&nbsp;Bras=EDlia/DF - CEP=20
70040-907<BR>&nbsp;&nbsp;;Fone: (61) 3251-8100 &nbsp;;Gratuito: 0800 701 =

6167</P></DIV><!-- end #rodape --></BODY></HTML>

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.anfip.org.br/img/logo-anfip3.png

iVBORw0KGgoAAAANSUhEUgAAAFwAAABeCAMAAACZ+YNhAAAAA3NCSVQICAjb4U/gAAAC/VBMVEX/
//8AAAAAAABLTlBKS0w9QkcAAAAAAACAg4U7S1sAAAApMjoWGx8MDxIAAAA9QkcpMjojKS8RGB0M
DxIADRsDCQ8BBQkAAACprK8xOEAjKS8WGx8MDxIDCQ+utr17kqJ2ipxieY9adI1QWmE7S1soKSoj
KS8RKkAfIiUQIzETHyYWGx8HHC8RGB0LEhgADRtzhZNKS0w+R1A9QkcxPkkaOVAbMUAjKS8RKkAH
HC/EytDAxsuGnKNzhZM9QkcnRV8xPkkaOVApMjoQMk+Tq7N2ipxthZtrc3xhZ21QWmE7S1vX2991
lqmAg4VSfJkiSmoQMk/g5Ofc4OSUtchpka5zjaWBiZFrc3xEd51caHQya5NRZHVKYHRKW2spWHwW
QWLU7/jQ7vfl6OzL6fTg5OfK5vHF5vHc4OTE4e7X29++4O603u292+m72OXO0tW01uas1eek1eit
0eTEytCtz96yy9alzN/AxsuczOKlx9y/wsatxdCcxtyWx92jw9Sdwte2vcOsvsicv9aHxd6jvcuU
vdWYvdGPvNSutr1/v9uUudKMuNKTtc6Utcigs7ynsLmMtM2Htc9xudecrbyMr8qXrL1rtdWCrsuO
q7yTq7OFq8eepKl9qsd8psSNo7VirMx1pcWWnKODnrdwor9so8OXmp2Hm61ynb1tnrh8mqxqnL5Y
ocNjnL+Pk5eElaR1lqlqlbZ7kqJklLhalLppka5zjaVRlbdZkbdrjad2ipyBiZF+ho9SjbVLj7Nc
i6xzhZNthZtUiqxJi6xrg5BShqlchJ5KhK1sfItDhKlSfJlieY9BfqpCe6ZidIRadI08eqZEd51U
cos5dqNbbH45c5s0cZ5caHRUaHtCbI1OaoIybZo2a5Mya5NRZHVAZYRIY3tKYHQsZJAxY4oqYYtC
XXRKW2soXokyXH1CV2opWoIzV3UkWYIpWHw3VG1AUWIhU3skUHMeSnEiSmobSnIuRl0bSG0XRGsW
QWIRPGEQOlwNNFgJL1IGKkwDJkgAIULb8NNnAAAA/3RSTlMAESIzMzMzRFVVVWZmZmZ3d3d3d3d3
d3eIiIiIiIiZmZmZmZmZmZmZmZmZmZmZmZmqqqqqqqqqqqqqu7u7u7u7u7u7u8zMzMzMzMzd3d3d
3d3u7u7u7u7u7u7u7u7u7u7/////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////+G7GHUAAAACXBIWXMAAArwAAAK8AFCrDSYAAAAGHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJl
d29ya3NPsx9OAAAAFnRFWHRDcmVhdGlvbiBUaW1lADA2LzExLzA49goUvQAADBhJREFUaIHdmntY
VNUWwD1TMnSiMTXDTM0EU+NiYt7SEh+ICviALpoBiXAVroIIyDsFgykIRANEMd6I8sZwUEdteCkN
ICDIgIMMyAwgSgONxEt5zNfe5zUHGO7HBfzn/v4a2J7fmrX2Wnufj89p08YLgiDj/rf/K4jqV6oM
5NVEAO7Dvkc+VGG8Aj0y96ujboGBhxYzGYyptiNz/330eGDY+TDbdUyVKbYzFh50Ad/bzjYwzF4f
nVo744uDLu5strWVlbXneafjU2p/7cuDLq5sZysM+zBnh5lTZ399+0EPJ297KwJrtveRGVO0rcj0
7f/5ztnzgJUCZ28bjSnZVtjeHk7O1lZ0bL1tVk6BHbq/d7a3Gom97bpJbyscHQ8n21Fu8OWtTSdp
h6PjZn9AiRturD5zMnLGQsxtTQCEDnQ7Nk0TdoPRcbM7gIPpt6x3s7YeLp+gnQFHx9b2AMUhXRZL
56w1hT464brA0XG0JbCxAW4dHRaKvnf20IHJyrHRcTwEIP0Oq7ZF7VyHMtUSDhGZTFSOqP7r8PeO
dpBDGLZuS3ZGJXh7Hn+TqbbTASYyYTk2Oo5H7BS4Lfk66jL7/Hm260wU3elmA5mYHIzOYV9He/sj
BHZ2plpfRyWww9js8+xjGiiqcxwWakw5snDsqxCOjq8jDh7AdMnlqCh2mKednXNYoCO0nwGlGqsV
QZsxvxgjJzg6vk6ONLYAdwI70AnGcQwMdNKFTeMwlhyOx5c2Y8QFaz8cgzg5HcPc23QuR51jsx2J
InmGOemyULVtDvpKD0Zws3g42NooPfAxt7v7MQp3A52oqF/Y3kQWDg5HnAI9TVlM5owPVBijxx+M
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
TBv7Iv//4299+oU/P8QH0QAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.anfip.org.br/img/anfip3.png

iVBORw0KGgoAAAANSUhEUgAAA1UAAAAzCAYAAAB/uiIcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAAK8AAACvABQqw0mAAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAAABZ0RVh0
Q3JlYXRpb24gVGltZQAwOS8xNC8wN6cjifcAAAQRdEVYdFhNTDpjb20uYWRvYmUueG1wADw/eHBh
Y2tldCBiZWdpbj0iICAgIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1l
dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1j
MDM0IDQ2LjI3Mjk3NiwgU2F0IEphbiAyNyAyMDA3IDIyOjM3OjM3ICAgICAgICAiPgogICA8cmRm
OlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1u
cyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxu
czp4YXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eGFwOkNyZWF0
b3JUb29sPkFkb2JlIEZpcmV3b3JrcyBDUzM8L3hhcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhh
cDpDcmVhdGVEYXRlPjIwMDctMDktMTRUMTQ6MzU6MzNaPC94YXA6Q3JlYXRlRGF0ZT4KICAgICAg
ICAgPHhhcDpNb2RpZnlEYXRlPjIwMDgtMDYtMjBUMTc6NTY6NTBaPC94YXA6TW9kaWZ5RGF0ZT4K
ICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0
PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4x
LyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgIDwvcmRm
OkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPhSivMAACAA
SURBVHic7X15mBzFefevunuO3nN0IiGhHYG4D60EGIONNcL49pglTvyFGFurJLbjz8QI53Cysa3l
czwkdoxE4iTGsc0qcRLHcayVN9gETDTCgMFgswIMmEMaHeiWdvac3Znpru+Pqpru6ame6Z6ZlQT0
73n62dmZ7qq33nq7+33rPYpQShHgtQFCiAKAAFAAqLbPpM4mKT8MflAAJm2CUBBCiI0uGb1+aTY5
jaY4/NBpo8fOPz+0CF4JWsRRxjPJuEkdfZ0sUNvhHBNFOb/sh1d+2f9W8Mx2rn1uGpWTRuDkR9nf
ZtwXAQIECBAgQIDXJ0igJ7w2wJV1FUAIQBRAhH/WwBTQemACKPBjBkCefzYA0HqVSIfxp3E67Ydf
moVBled0zgg6KaVmtQttRo4wpDQAYU5H2EZLNeXdaXgIWsRR5N8BluEh+hL92Md9OhhW9jEVYclA
gf8vjCoZv4ThUw1Oo6QIi19CxkyUz02jctII7AaVYTuKjsMAM7Cqyl2AAAECBAgQ4I0F7VQTEKA2
hEH1vg1/O/RHfb//7paWaFPaffzhJ/HvW7Zi8vjBLzxz/8C/ApgAMAmm+ArPlW9a1/zeHQk1FHkQ
ACil+NgnP4izVyyrm86pySl846v/8G/f/fKf3slpzHI6ZwghtYw/svbjf7ORKMoXAIrrrr8K17/7
mrppAYDx7Mgv3rF03s2chnEAOXBeXfcHdxbZWc3p62SAj6cXbCyT167/y9u0sN5HCBBfvgQf/9SH
Gu5jYjT75PVL5n4EbP4mAMwkPv43P1YUZQ3QmJwUDBOjuUJD9I1lx6iSn5oEgFcz+14aG8nu2/no
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
sWXTlwAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.anfip.org.br/noticias-imagens/logo-padrao2.jpg

/9j/4AAQSkZJRgABAgEASABIAAD/4RSnRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA
AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodp
AAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dz
ADIwMDk6MDM6MDkgMTE6MDc6NDUAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACCKADAAQAAAAB
AAABnwAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA
AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAABNxAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG
AAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL
CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN
Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwM/8AAEQgAgACgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH
CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh
EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi
ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE
BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy
gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX
Z3eHl6e3x//aAAwDAQACEQMRAD8A6xoRGtTNCK1qsEsIU1qI1qdrVMBNJTSg1SATgKQCFpYgJ4Ug
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
EABIAAAAAQACAEgAAAABAAI4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAA
AHg4QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0ECgAAAAAAAQAAOEJJ
TScQAAAAAAAKAAEAAAAAAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQCh
mZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAA
cAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAA
AAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4
QklNBAAAAAAAAAIAADhCSU0EAgAAAAAAAgAAOEJJTQQwAAAAAAABAQA4QklNBC0AAAAAAAYAAQAA
AB44QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAAD
TQAAAAYAAAAAAAAAAAAAAZ8AAAIIAAAADABsAG8AZwBvACAAcABhAGcAaQBuAGEAcwAAAAEAAAAA
AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAACCAAAAZ8AAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAA
AAAAAAAAAAAAAAAQAAAAAQAAAAAAAG51bGwAAAACAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0
MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAZ8AAAAA
UmdodGxvbmcAAAIIAAAABnNsaWNlc1ZsTHMAAAABT2JqYwAAAAEAAAAAAAVzbGljZQAAABIAAAAH
c2xpY2VJRGxvbmcAAAAAAAAAB2dyb3VwSURsb25nAAAAAAAAAAZvcmlnaW5lbnVtAAAADEVTbGlj
ZU9yaWdpbgAAAA1hdXRvR2VuZXJhdGVkAAAAAFR5cGVlbnVtAAAACkVTbGljZVR5cGUAAAAASW1n
IAAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0
bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAGfAAAAAFJnaHRsb25nAAACCAAAAAN1cmxURVhUAAAAAQAA
AAAAAG51bGxURVhUAAAAAQAAAAAAAE1zZ2VURVhUAAAAAQAAAAAABmFsdFRhZ1RFWFQAAAABAAAA
AAAOY2VsbFRleHRJc0hUTUxib29sAQAAAAhjZWxsVGV4dFRFWFQAAAABAAAAAAAJaG9yekFsaWdu
ZW51bQAAAA9FU2xpY2VIb3J6QWxpZ24AAAAHZGVmYXVsdAAAAAl2ZXJ0QWxpZ25lbnVtAAAAD0VT
bGljZVZlcnRBbGlnbgAAAAdkZWZhdWx0AAAAC2JnQ29sb3JUeXBlZW51bQAAABFFU2xpY2VCR0Nv
bG9yVHlwZQAAAABOb25lAAAACXRvcE91dHNldGxvbmcAAAAAAAAACmxlZnRPdXRzZXRsb25nAAAA
AAAAAAxib3R0b21PdXRzZXRsb25nAAAAAAAAAAtyaWdodE91dHNldGxvbmcAAAAAADhCSU0EKAAA
AAAADAAAAAE/8AAAAAAAADhCSU0EFAAAAAAABAAAAB44QklNBAwAAAAAE40AAAABAAAAoAAAAIAA
AAHgAADwAAAAE3EAGAAB/9j/4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAf/uAA5BZG9i
ZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwR
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAIAAoAMBIgACEQEDEQH/3QAEAAr/xAE/
AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkK
CxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWS
U/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpam
tsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGx
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
AGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAAABMAQQBkAG8AYgBlACAAUABoAG8AdABvAHMA
aABvAHAAIABDAFMAMwAAAAEAOEJJTQ+gAAAAAAEIbWFuaUlSRlIAAAD8OEJJTUFuRHMAAADcAAAA
EAAAAAEAAAAAAABudWxsAAAAAwAAAABBRlN0bG9uZwAAAAAAAAAARnJJblZsTHMAAAABT2JqYwAA
AAEAAAAAAABudWxsAAAAAgAAAABGcklEbG9uZ0/C/CIAAAAARnJEbGxvbmcAAAPoAAAAAEZTdHNW
bExzAAAAAU9iamMAAAABAAAAAAAAbnVsbAAAAAQAAAAARnNJRGxvbmcAAAAAAAAAAEFGcm1sb25n
AAAAAAAAAABGc0ZyVmxMcwAAAAFsb25nT8L8IgAAAABMQ250bG9uZwAAAAEAADhCSU1Sb2xsAAAA
CAAAAAAAAAAAOEJJTQ+hAAAAAAAcbWZyaQAAAAIAAAAQAAAAAQAAAAAAAAABAAAAADhCSU0EBgAA
AAAABwAEAAEAAQEA/+EPzmh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJl
Z2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxu
czp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzYgNDYu
Mjc2NzIwLCBNb24gRmViIDE5IDIwMDcgMjI6NDA6MDggICAgICAgICI+IDxyZGY6UkRGIHhtbG5z
OnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6
RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxl
bWVudHMvMS4xLyIgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxu
czp4YXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0
dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnRpZmY9
Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRv
YmUuY29tL2V4aWYvMS4wLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bo
b3Rvc2hvcC8xLjAvIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHhhcDpDcmVhdG9yVG9vbD0iQWRv
YmUgUGhvdG9zaG9wIENTMyBXaW5kb3dzIiB4YXA6Q3JlYXRlRGF0ZT0iMjAwOS0wMy0wOVQxMTow
Nzo0NS0wMzowMCIgeGFwOk1vZGlmeURhdGU9IjIwMDktMDMtMDlUMTE6MDc6NDUtMDM6MDAiIHhh
cDpNZXRhZGF0YURhdGU9IjIwMDktMDMtMDlUMTE6MDc6NDUtMDM6MDAiIHhhcE1NOkRvY3VtZW50
SUQ9InV1aWQ6RTJFMEZGRURCMjBDREUxMTg4NDg5RjdFRTUzMUE2ODIiIHhhcE1NOkluc3RhbmNl
SUQ9InV1aWQ6NDIzQThBQTlCMzBDREUxMTg4NDg5RjdFRTUzMUE2ODIiIHRpZmY6T3JpZW50YXRp
b249IjEiIHRpZmY6WFJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlmZjpZUmVzb2x1dGlvbj0i
NzIwMDAwLzEwMDAwIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiB0aWZmOk5hdGl2ZURpZ2VzdD0i
MjU2LDI1NywyNTgsMjU5LDI2MiwyNzQsMjc3LDI4NCw1MzAsNTMxLDI4MiwyODMsMjk2LDMwMSwz
MTgsMzE5LDUyOSw1MzIsMzA2LDI3MCwyNzEsMjcyLDMwNSwzMTUsMzM0MzI7MUFDQzQ0ODRBQTgw
NUQ3QkIzNUNGQUE1RjhDMzI4Q0IiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI1MjAiIGV4aWY6UGl4
ZWxZRGltZW5zaW9uPSI0MTUiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpOYXRpdmVEaWdlc3Q9
IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2
ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4
LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQx
NDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5
LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQx
OTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywx
NCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDtDMzIzQUNBMURCRjU1OTUw
MEY3OUY4MDYzQ0JGMDczOSIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1By
b2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiBwaG90b3Nob3A6SGlzdG9yeT0iIj4gPHhhcE1NOkRl
cml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6QTczRDUzQTQxQzA4REUxMUIxNjc4NjQ2
RTdCRDdFNTEiIHN0UmVmOmRvY3VtZW50SUQ9InV1aWQ6NDI1NzcwNjNGQTA3REUxMUIxNjc4NjQ2
RTdCRDdFNTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFj
a2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfO
AAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMtSFAg
IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQ
AAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoA
AAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZp
ZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xl
dHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAA
AAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFla
IAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbP
ZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93
d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl
c2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
AAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRp
b24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9u
IGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRf
LgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAA
AAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkA
HgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACp
AK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUB
TAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQIm
Ai8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2
BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoG
ewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiC
CJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK
8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2p
DcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ
1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJ
FGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsY
QBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwh
SCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZX
JocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9Es
BSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHy
MioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4
jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9h
P6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG
8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63
TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF
YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNp
mmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNd
c7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+
AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjO
iTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCU
ipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBp
oNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCt
RK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/I
Pci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV
1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5Pzl
hOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC
9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////uAA5BZG9iZQBkAAAAAAH/
2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwMDAwMDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwBBwcHDQwNGBAQGBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAZ8CCAMBEQACEQEDEQH/3QAEAEH/xAC0AAACAgMBAQAA
AAAAAAAAAAABAgAGAwUHBAgBAQEAAwEBAAAAAAAAAAAAAAABAgMEBQYQAAEDAwEDBQgKDgYKAgID
AAEAAgMRBAUGITESQVFhEwdxkbEiMkJiFIFScpKyI3N0FRah0YIzQ1OzJDRUNTZWCMGiwiV1F9Jj
g5OjRGRVZSbwtOFG0yc3EQEBAAIBAwUAAwEAAwADAAAAARECAyExEkFRYTIEcSJCE2KCFKFSI//a
AAwDAQACEQMRAD8A6oF6ThMAoGARTAKBgEDAKKcBAwCinAQOAopgEDgKBwFFMAgICBgEUQFAQEDU
QEBAaKCIqIDRBKIDRBKIJRAUEQRBEEQRBEEQRBEEQCiCUQSiAUQRAEEQSiIFFQKIFIQCiAEKgEIh
SECkKhCEQhCoUtQIQqhCECkKoQhUKQiFIQKQqP/Q6sAvRcJgEBAUU4CKYBQOAgYBRTgKBwEU4CBg
FA4CKYBQMAiiAgYBQMAgKglEUaIDRBKICgKCUQSiA0QSiKlEEogNFESiDzX+QtLC36+6k4I60Gyp
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
QhVClEKVQhQKVUKUClUKUH//2Q==

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.anfip.org.br/img/lupabusca_r2_c2.png

iVBORw0KGgoAAAANSUhEUgAAAGYAAAAbCAYAAACOY/p9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAABh0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzT7MfTgAAABZ0RVh0
Q3JlYXRpb24gVGltZQAwMi8xMC8wOc3+Z10AAA9+SURBVGiB7Vp9cBTVlv/d7umZ6fmeDCGEEGcI
PpIJD0jARRRNBtwqn1u45vkXuGqC1irirhCgrC1xNZal9cq3PuK+LSSWQmK5BJSSUOwq7qtnklfI
l5gvwCQIYQKSMAwwM5Ckb3dP+u4f0xMmk+HDcl21nr+qU9N9z7n3nntOn77nnh7CGEMS7733Hp58
8smx+1gsJtbV1RVJkpSnaVo+IWQKl8CprKysQ6tWrepGCjo6OgAAJSUl+AXfDyTpmHfeeQdPPfXU
GOO1115bFg6H/15RlBIA0xhjJsZYXNM0VVXVK4IgDNjt9s4pU6b8uaqqam92dvYVAHjjjTfI888/
zzLO9gtuGaSmpgY+nw+VlZUAgJ07d04+fPjw70Kh0HJN08w8z2NoaAhXrlxBJBKB3W7HHXfcgUgk
ol2+fFnVNC3idDrbfD5ffU1NzUcAQAjBnj17sHTp0h91cT9nkLRXmffYsWN/DIfDDzocDjgcjtFL
ly7h7Nmz3PHjx0k4HEZ1dTU2bNiAnp4efPvtt+jp6UFfXx8ikcigw+HY9uCDD/6+oqIiBACNjY1Y
vnz5j7a4nzPGHLNjx45J+/fvf/3y5cv/OH36dCxcuHB0ZGSEv3LlCoaHhxEMBpGVlYVly5aBMYZI
JAJRFMHzPC5evIgjR46gq6sLqqp+NH/+/HXV1dVnAaCnpwdFRUU/6iJ/jhhzzIsvvvh4X1/fO9nZ
2abHHnuM5eTkkPPnz2uiKMJut8PhcEAURWiaRhhjZGhoCOFwGCMjI7BarTAajejt7UVLSwsGBgaa
5s2b98T69esjZrMZlFIAeAjAGgA+na6HKIDOlOsWAPX69V8NCGMMdXV1hQcOHNjEcdyShx9+GLff
fvtoW1ub2t/fz4XDYcPw8DABoNlsNi03N5cVFhaSkpISLj8/n49Go+jv74cgCMjPz2cnT54kH374
IYLB4MbGxsa1AFBZWYmGhgYAgKqqTgAdmOicQMpvVRo/CmCFIAhNP5AdfnIgjDE8++yzq0ZGRn4X
CATsXq93pLW1dbSrq0uMx+MGURRHLRbLiNFoVDiO0wDwAIwWi8Xo9/u5srIyzuv1cuFwGLIso6Cg
gPX29pKGhgbl6NGj/7Bnz56dACAIAlRVBQAMDw8345ojAABWq5Wk3meSAVBqtVo7fhhT/LRg+OCD
D6bFYrHy+fPn27Ozs2lzczM9duyYy2q1ctnZ2ecdDkef0Wi8wPO8DMDAGHMwxtyKorj7+vocg4OD
ltLSUuPChQsFs9mMcDhMCgsLtaVLlxqvXr260u/3/6W7u/tC0ikAoChKByY6ZpxiiqKsAHA6Td+N
Vqt18Q9iiZ8YDIcOHSr2eDwFM2bMwODg4Gh/f7/D7XZzOTk5Rx0ORyfHcQOqqsZlWTYwxqyEEJkQ
ogmCMCoIghKPxx1ffvmlNRqNmu+9916TKIpEURTu7rvvxrlz5+4LhULlAD5KnVRR1ZvuF263Oxi6
cCG9OfB/t/SfNgxDQ0Mmr9crOp1OnDhxwiQIgmHSpEndTqezPR6PX6CURhljUQAaIcRJCIkDMGia
JvA8b7JYLHR0dJQ/efIkVFXFokWLjAaDgTMajezOO+8kZ8+e/VtCyKeMsaHkpIqi3JJyiqLEADh/
mKX/tMFFo9GzNptNczqdLB6PG2w2W8Rut59SFEVVVXUIQD8hpJMQchzAGcbYJcbYVcYY1TRNicfj
miAImsPh0M6dOxc/cuRIPBwOM0mSyG233Ybi4uK71q5dm5M6qaIoEygdp/r6XIqiONPkWtLEmpDI
2lKpSuf5MvBaAGSqF/n0sZhOEQC1SGSRzdexXSCtDwPQDqDiOvIA4NLHbEnrl5zPlRQ0NDU1HS8r
Kxuy2+3MbDYTQRAGASiapikAhgCENE07znEcD0AEMBWADCCuD6qNjo4yQRDgcrnIwMCA5nK5NIvF
wk+bNg0FBQUz8vLy3Kna3UrEKIpSm9YU1Rd1TUZVKzHR2M1GQQCAoM4Ppo3j1PkAAEmSXEgY3weg
XhTFFZIklQOoAbAaQIsoiuMGkCSpVucFkTCmD4lMswTALgArRFGsT+tTgmtOrhBFsVWfp17vvxpA
uSiKpQDAvfLKK+A4rsdkMnEFBQVsZGSEcRw3imve5DiOExljVgBmAAYkMjNCyFgiRRhjYIzB7XaT
UCiEUCikxeNx5OTkWDiOm1NaWmocM+gNIqazqyvQ2dXVpChKZQq/SVGUEn9RUSdSYBSEGJWkIJUk
pFIKvz+dl8oHACrLlVSWfVSWQWW5HgBEUWwVRXExleUOKsvj5CPR6Goqy6t1+VpRFGOiKHZSWW7R
20BleWskGh17+iORiItS2kwpdVFKo5TSzuQ8lNJ6Sil0KolEIqsBgNuyZYsmy/InsVgMpaWlzGg0
TpZl2czzPAfABiAPwJ2EkPkAcpF454sATAAMhBCeEMLpXiImk4lzu91kYGCAXb16FYQQOJ3O2x59
9FEtqaiqqhPoyFdfsSNffcVUVW1WVfUhvT2oqmrF3Dlzfjt3zpx+ZACltCNlYcnDbCq/5YZ8iVZQ
iUKn2sHB864UXhWVrskPDp53UYnWpMh3pMh2pLSDStSbokO57hRQSn2U0o0pvHRyAQAXDAZHPR5P
ZygUilmtVq6kpMR9+fLl23metxNCPAAKABQDKCKEeAkh2YQQOyHEAsCoO4cjhPAAYDQaMWXKFEiS
hEuXLjFFUeJWqzVn3bp18aQymSJGUZSATmsURWnR23yKojTtP3Dg9P4DB2oyOUaidAJ9F36aUUoo
padPnw4GACA3d0onpbQmRfahFAMjN3dKawqvVo8GUEo7cnOnjEW3RGnwejpk0C8AJF5LeP/9988+
99xzdefPn3++uLiY7+/vL7h48aKUnZ3draqqyBIAIcRMCLERQhwcx5k5jjNxHCfo0UUMBgOXk5PD
i6LIGY1GRKNRGAwGRVGUi6nGyLTHBMrLk4tsBfBWS2trFYCtepsPwMstra0PBcrLS8cZVhpv6HTc
lC/TFoxPw10Amrt7et7yFxWtmT7d15oie92Nffp0Xz8Ad3dPz9z0V27B9OmdX3d3VyCxRwb1X3zd
3e3DdY4AHAC0trZSWZY/CoVCYY7jiN/vNxmNxlmxWGy2wWDI5Tguh+O4XEJIDiHEo6fNVp7nTTzP
G1RV5RljZOrUqYLH4+EMBgOMRiMkSUIkEomcOHFif+qkt5KVBcrL61MiJ0kl//OnP72cKvd9I0aS
aK0k0aAkUaTR6rb2jva29g5XiqwrVaatvWNChpfulCSK/f7dxX7/4mK/fwWl1N3W3l5PKW1PjcDU
Vy33+uuvAwAeeeSRIyaTab2qqrDb7ZgxY4aJEPLr4eHhuYSQPI7jPBzHuQkhLkKIlRBiHh0dFWRZ
5o1Go+D1ek3Tpk3jTSYTOI7D6OgoNE3D1atX21599dV94x2jTqBMUBS1NYPsuKeWUmkCfRf+vNKS
mCzTElmmHbJMkUYlskzH0mVZpq40vhffAfsPHHDtP3CgllJ6mlI6l1JaSindndEx8+bNG+u4Y8eO
YF9f32VBEGCxWJCXl8fxPJ+vqqqf47h8QRA8BoPBzvO8zWAwWKxWq3Xq1Km2wsJCMT8/X7BarTCb
zZAkCfF4HISQC4qifMgYuzre4DePGF0uPWKgf1FNMfyEzRPfhQ8Ady1cGJMkGpAkWp8hcko+b26p
BABJotE03o3OLOPw58+bSySJtksSXa2Ps/juu+7KFKkJxzzwwAMAgIaGhrmSJL26e/furG+++Qaq
qiIWizGXywVRFK0GgyHfYrF4s7Ky8nJycibn5eVleb1e27Rp04xZWVm8xWKB2+0Gz/M4c+YMVFWF
wWA4cujQoU8AoLq6+prBVWUCZXSMqpRkkB1XxPy+r7JPPt0bAIAliwOxJYsDKyilVSmbeJJ8upOD
ae0Vn3y614Wb4L8/+TSZLvv0fg33LVkc1cfM+OBwjDFs27btV21tbW/G4/Gy3t5e7Ny5U5s0aRLy
8/PJwMAAGGNwOp1wOBwGp9NpysrKMnk8HoPH4+E8Hg+ZNGkSmzp1KkRRxMGDB9nx48dBCJHtdvuH
GzZsuAwAGzeOZYhQFMV1ixETyBAx40r/aSnqhM2eStR3Qz6l5R/vaqpM3v/dA79poJQG0p2jyzal
p7aU0nF7HgB8vKvJ9fGupkDKHJVpe0kwhZfRMYavv/7a8cUXX7w2ODh43/333w9BENi+ffs4juPY
ggULSDgcjra3t1sJIYLX68XMmTMxefJkeDweYrPZYDKZEI/H0d7ejubmZnb69GmyYMECzJw5c+Ps
2bMbMxtcvenfaN7dsrUKiY9rqehAonSRathgmowvedG4fcdW3PijXNIQNdsat+9+ZPmyKAA8/NuK
zm2N25twrbzTorfv3ta4PXnCT2LNtsbtMQC1jyxfFt3WuD0AYCNSqhQSpenrrflgW2NQH2cNMsCw
d+/e3JGRkdKFCxdi5syZ7MSJE8RsNmtNTU2c3++/dM8997zq9/t/3dLSsvTw4cOezz77TDCbzXC5
XLDb7SCEIBaLgVIKm81GysrK4kuWLKktLi5+HYBy8OBB1NXVYevWrWOTKooyIfw3ba6rQaL25EKi
3rQ6TaQewJpVK5+OpTZKlLYgUa5Jjlm1pb7BDSC5Macb0odESg4AoDJNtjVvqa9f8URVVYfe7tNF
Wp6oqkqVr0LCUalreBnAy1vq65P3VeP6UDru9YvEIX2XrttzABpSeIF3t2xtJ4wxvPTSS3+ZNWvW
vfv27UNvby9mzZqFM2fOfGu32/+lvr7+P/UOf/P5558vP3r06G96enp+FY1GDfF4HIwxuFwu5OTk
fLto0aKOsrKyD2w22w4A6OrqInPmzGEAUPvvfwwgkbM/hMyFxHREdcVbANSvee6fM578AWDT5rpK
pBUBkXBylf4bSBv3lVUrn64FgE1vb35Zl4vqerUi4VSfPnfFqmdWjnsYNr292YvEg5I6LqCfUVY9
s3J3uo7/sentXbhW4AwCqP2nVc+8pfO24lp0BgGsIYwxvPDCC88MDAxsOnXqFGbPno2ysrL/UhTl
Xx9//PEJXwu7u7vt4XB4ZigUyh4eHnbyPO8pLCyMLliw4CyA/QBGAaCnp4cUFRX9v/2/7A+1bzlx
zeHBtWtWX9eRqXhzY60XQHRd9ZrYmxtrk2O4AATXVa/JeCZJ6+u7Vfl/+8NGJwDX+rXVE3TTeb71
a6s7Ab34+PTTT4sXLlxocDqdC+bNm/f7rq6u+nfffXcYAFauXInNmzenj0OQKHBmRFdXF+bMmXMj
HX/BTfC/ZOfgsX6GGMwAAAAASUVORK5CYII=

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.anfip.org.br/img/noticiasanfip_r2_c2.png

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

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.anfip.org.br/img/noticiasanfip2_r2_c2.png

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
AABJRU5ErkJggg==

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.anfip.org.br/img/botao_imprimir.jpg

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
/9k=

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/js/prototype-ui.css

#horizontal_carousel {
	POSITION: relative; WIDTH: 610px; MARGIN-BOTTOM: 10px; FLOAT: left; =
HEIGHT: 100px; MARGIN-LEFT: 65px
}
#horizontal_carousel .container {
	POSITION: relative; WIDTH: 500px; FLOAT: left; HEIGHT: 240px; OVERFLOW: =
hidden
}
#horizontal_carousel UL {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 100000px; PADDING-RIGHT: 0px; HEIGHT: 100px; TOP: 0px; =
PADDING-TOP: 0px; LEFT: 0px
}
#horizontal_carousel UL LI {
	TEXT-ALIGN: center; LIST-STYLE-TYPE: none; WIDTH: 150px; FLOAT: left; =
HEIGHT: 240px; LIST-STYLE-IMAGE: none
}
#horizontal_carousel .previous_button {
	Z-INDEX: 100; WIDTH: 32px; BACKGROUND: =
url(prototype-ui/horizontal/left.png); FLOAT: left; HEIGHT: 175px; =
CURSOR: pointer
}
#horizontal_carousel .previous_button_over {
	BACKGROUND: url(prototype-ui/horizontal/left_over.png)
}
#horizontal_carousel .previous_button_disabled {
	BACKGROUND: url(prototype-ui/horizontal/left_disabled.png); CURSOR: =
default
}
#horizontal_carousel .next_button {
	Z-INDEX: 100; WIDTH: 32px; BACKGROUND: =
url(prototype-ui/horizontal/right.png); FLOAT: left; HEIGHT: 175px; =
CURSOR: pointer
}
#horizontal_carousel .next_button_over {
	BACKGROUND: url(prototype-ui/horizontal/right_over.png)
}
#horizontal_carousel .next_button_disabled {
	BACKGROUND: url(prototype-ui/horizontal/right_disabled.png); CURSOR: =
default
}
.ui_vertical_carousel {
=09
}
#vertical_carousel {
	POSITION: relative; WIDTH: 350px; MARGIN-BOTTOM: 10px; FLOAT: left; =
HEIGHT: 270px
}
#vertical_carousel .container {
	WIDTH: 260px; FLOAT: left; HEIGHT: 240px; OVERFLOW: hidden
}
#vertical_carousel UL {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; HEIGHT: 100000px; TOP: 0px; PADDING-TOP: 0px; =
LEFT: 0px
}
#vertical_carousel UL LI {
	TEXT-ALIGN: center; LIST-STYLE-TYPE: none; WIDTH: 260px; FLOAT: left; =
HEIGHT: 240px; LIST-STYLE-IMAGE: none
}
#vertical_carousel .previous_button {
	MARGIN: 0px 0px 10px 40px; WIDTH: 175px; DISPLAY: inline; BACKGROUND: =
url(prototype-ui/vertical/left.png); FLOAT: left; HEIGHT: 32px; CURSOR: =
pointer
}
#vertical_carousel .previous_button_over {
	BACKGROUND: url(prototype-ui/vertical/left_over.png)
}
#vertical_carousel .previous_button_disabled {
	BACKGROUND: url(prototype-ui/vertical/left_disabled.png); CURSOR: =
default
}
#vertical_carousel .next_button {
	WIDTH: 175px; DISPLAY: inline; BACKGROUND: =
url(prototype-ui/vertical/right.png); FLOAT: left; HEIGHT: 32px; =
MARGIN-LEFT: 40px; CURSOR: pointer
}
#vertical_carousel .next_button_over {
	BACKGROUND: url(prototype-ui/vertical/right_over.png)
}
#vertical_carousel .next_button_disabled {
	BACKGROUND: url(prototype-ui/vertical/right_disabled.png); CURSOR: =
default
}

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/folha-estilo3.css

BODY {
	BACKGROUND-IMAGE: url(img/page-bg.jpg); TEXT-ALIGN: center; =
BACKGROUND-COLOR: #9ec8ee; MARGIN: 0px; WIDTH: auto; BACKGROUND-REPEAT: =
repeat-x; FONT: 100% Verdana, Arial, Helvetica, sans-serif; COLOR: =
#000000; LEFT: auto
}
.twoColElsRtHdr #container {
	Z-INDEX: 1; BORDER-BOTTOM: 1px; TEXT-ALIGN: left; BORDER-RIGHT-WIDTH: =
1px; WIDTH: 56em; MARGIN-BOTTOM: 15px; BORDER-TOP-WIDTH: 1px; =
MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 1px; MARGIN-RIGHT: auto; =
_margin-bottom: 1px
}
.twoColElsRtHdr #container2 {
	Z-INDEX: 1; BORDER-BOTTOM: 1px; TEXT-ALIGN: center; BORDER-RIGHT-WIDTH: =
1px; WIDTH: 47.5em; MARGIN-BOTTOM: 15px; BORDER-TOP-WIDTH: 1px; =
MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 1px; MARGIN-RIGHT: auto; =
_margin-bottom: 1px
}
#associacao2 {
	BACKGROUND-IMAGE: url(img/baner-fundo.png); BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: center 50%; HEIGHT: 140px; PADDING-TOP: =
5px
}
#associacao IMG {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#container IMG {
=09
}
.twoColElsRtHdr #destaque #destaquecontent {
	PADDING-LEFT: 10px; WIDTH: 433px; FONT-FAMILY: sans-serif; FLOAT: left; =
COLOR: #ffffff; FONT-SIZE: 8pt
}
#destaquecontent #titulo A {
	TEXT-ALIGN: center; COLOR: #ffffff; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
#destaquecontent #texto A {
	COLOR: #ffffff; TEXT-DECORATION: none
}
#destaquecontent #imagem-destaque IMG {
	BORDER-BOTTOM-COLOR: #ffffff; BORDER-RIGHT-WIDTH: 3px; =
BACKGROUND-COLOR: #999999; BORDER-TOP-COLOR: #ffffff; BORDER-TOP-WIDTH: =
3px; BORDER-BOTTOM-WIDTH: 3px; BORDER-RIGHT-COLOR: #ffffff; =
BORDER-LEFT-COLOR: #ffffff; BORDER-LEFT-WIDTH: 3px
}
.twoColElsRtHdr #revista {
	TEXT-ALIGN: justify; MARGIN-TOP: -20px; WIDTH: 360px; COLOR: #ffffff; =
FONT-SIZE: 10px; OVERFLOW: visible
}
.twoColElsRtHdr #sessoes {
	BACKGROUND-IMAGE: url(img/fundo-folha.png); PADDING-LEFT: 60px; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 60px 50%; HEIGHT: =
220px; MARGIN-LEFT: 470px; FONT-SIZE: 10px; PADDING-TOP: 7px
}
#td1 {
	BACKGROUND-IMAGE: url(img/aba-g.png); Z-INDEX: 1; MARGIN-TOP: -7px; =
WIDTH: 66px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 50% top; =
FLOAT: left; HEIGHT: 15px; _margin-top: 0px
}
#td1 A {
	PADDING-LEFT: 7px; COLOR: #666666; FONT-SIZE: 12px; TEXT-DECORATION: =
none
}
#td1 A:hover {
	PADDING-LEFT: 7px; COLOR: #cc6600; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
#td1 A:visited {
	PADDING-LEFT: 7px; COLOR: #c3c3c3; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
#td1 A:active {
	PADDING-LEFT: 7px; COLOR: #003366; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
#mail #div1 {
	DISPLAY: block
}
#mail #div1 IMG {
	FLOAT: right
}
#mail #div1 #form {
=09
}
#td2 {
	BACKGROUND-IMAGE: url(img/aba2-g.png); Z-INDEX: 2; MARGIN-TOP: -7px; =
WIDTH: 106px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: right =
top; FLOAT: left; HEIGHT: 15px; MARGIN-LEFT: -10px; _margin-top: 0px
}
#td2 A {
	COLOR: #666666; MARGIN-LEFT: 3px; FONT-SIZE: 12px; TEXT-DECORATION: =
none
}
#td2 A:hover {
	COLOR: #cc6600; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#td2 A:visited {
	PADDING-LEFT: 1px; COLOR: #c3c3c3; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
#td2 A:active {
	PADDING-LEFT: 1px; COLOR: #003366; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
#div2 #ico-restrito {
	WIDTH: 50px; FLOAT: right; HEIGHT: 50px
}
#div2 A {
	COLOR: #ffffff; TEXT-DECORATION: none
}
#div1 A {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.twoColElsRtHdr #mail {
	WIDTH: 360px; BACKGROUND-REPEAT: no-repeat
}
.twoColElsRtHdr #destaque {
	BACKGROUND-IMAGE: url(img/tarja.jpg); LIST-STYLE-TYPE: none; DISPLAY: =
block; BACKGROUND-REPEAT: repeat-x; BACKGROUND-POSITION: 50% bottom; =
HEIGHT: 233px
}
.twoColElsRtHdr #destaque2 {
	BACKGROUND-IMAGE: url(img/tarja.jpg); LIST-STYLE-TYPE: none; DISPLAY: =
block; BACKGROUND-REPEAT: repeat-x; BACKGROUND-POSITION: 50% bottom; =
HEIGHT: 180px
}
.twoColElsRtHdr #destaque3 {
	BACKGROUND-IMAGE: url(img/tarja.jpg); LIST-STYLE-TYPE: none; DISPLAY: =
block; BACKGROUND-REPEAT: repeat-x; BACKGROUND-POSITION: 50% bottom; =
HEIGHT: 150px
}
.twoColElsRtHdr #destaque4 {
	BACKGROUND-COLOR: #0e4d6e; LIST-STYLE-TYPE: none; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; BACKGROUND-POSITION: 50% bottom; HEIGHT: =
180px
}
#destaque-menor {
	WIDTH: 160px; align: left
}
#texto-menor {
	WIDTH: 180px; align: right
}
.twoColElsRtHdr #header {
	BACKGROUND-IMAGE: url(img/topo.jpg); PADDING-BOTTOM: 0px; MIN-HEIGHT: =
100%; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
repeat-x; FONT-FAMILY: sans-serif; BACKGROUND-POSITION: 50% bottom; =
HEIGHT: 35px; COLOR: #ffffff; FONT-SIZE: 10px; PADDING-TOP: 0px
}
.twoColElsRtHdr #header A {
	TEXT-ALIGN: center; DISPLAY: table-header-group; COLOR: #ffffff; =
FONT-SIZE: 10px; FONT-WEIGHT: normal; TEXT-DECORATION: none; =
PADDING-TOP: 5px
}
.twoColElsRtHdr #header A:hover {
	COLOR: #cccccc; TEXT-DECORATION: underline
}
.twoColElsRtHdr #header UL#submenu {
	TEXT-ALIGN: left; LIST-STYLE-TYPE: none; MARGIN: 0px auto; WIDTH: 90%; =
LIST-STYLE-IMAGE: none
}
.twoColElsRtHdr #header #submenu LI {
	TEXT-ALIGN: center; DISPLAY: inline; FLOAT: left; FONT-SIZE: 10px
}
.twoColElsRtHdr #header #submenu LI A {
	MARGIN: 5px 0px 0px; DISPLAY: block; COLOR: #ffffff; TEXT-DECORATION: =
none
}
.twoColElsRtHdr #header TABLE {
	MARGIN: 0px 0px 20px
}
.twoColElsRtHdr #header #submenu LI.right {
	FLOAT: right
}
.twoColElsRtHdr #header #submenu LI#botao A {
	BACKGROUND-IMAGE: url(img/menu/fundo-menu.gif); WIDTH: 120px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 29px; FONT-WEIGHT: bold
}
.twoColElsRtHdr #header #submenu LI#botao A:hover {
	BACKGROUND-IMAGE: url(img/menu/fundo-menu-over.png); WIDTH: 120px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 29px; COLOR: #7eefff; FONT-WEIGHT: =
bold
}
.twoColElsRtHdr #header #submenu LI#botao1 A {
	BACKGROUND-IMAGE: url(img/menu/fundo-menu1.gif); WIDTH: 90px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 29px; FONT-WEIGHT: bold
}
.twoColElsRtHdr #header #submenu LI#botao1 A:hover {
	BACKGROUND-IMAGE: url(img/menu/fundo-menu-over1.png); WIDTH: 90px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 29px; COLOR: #7eefff; FONT-WEIGHT: =
bold
}
.twoColElsRtHdr #rodape {
	BACKGROUND-IMAGE: url(img/tarja.jpg); TEXT-ALIGN: left; FONT-STYLE: =
normal; BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND-POSITION: 50% bottom; HEIGHT: 40px; COLOR: =
#ffffff; FONT-SIZE: 7pt; VERTICAL-ALIGN: top; FONT-WEIGHT: lighter
}
.twoColElsRtHdr #rodape2 {
	BACKGROUND-IMAGE: url(img/rodape-grad.jpg); TEXT-ALIGN: center; =
BACKGROUND-COLOR: #0d3b51; FONT-STYLE: normal; BACKGROUND-REPEAT: =
repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
BACKGROUND-POSITION: 50% top; HEIGHT: 300px; COLOR: #ffffff; FONT-SIZE: =
7pt; VERTICAL-ALIGN: top; FONT-WEIGHT: lighter
}
#rodape-conteudo {
	MARGIN-TOP: 20px; WIDTH: 96em; HEIGHT: 270px; MARGIN-LEFT: auto; =
MARGIN-RIGHT: auto; PADDING-TOP: 10px
}
#rodape-esquerdo {
	TEXT-ALIGN: left; WIDTH: 500px
}
#rodape-esquerdo H3 {
	FONT-FAMILY: Tahoma, "Trebuchet MS"; COLOR: #9ec8ee; FONT-SIZE: 16px; =
FONT-WEIGHT: bold
}
#rodape-direito {
	TEXT-ALIGN: left; WIDTH: 390px; FONT-FAMILY: Tahoma, "Trebuchet MS"; =
FLOAT: right; FONT-SIZE: 11px
}
#rodape-direito A {
	FONT-FAMILY: Tahoma, "Trebuchet MS"; COLOR: #cccccc; TEXT-DECORATION: =
none
}
#rodape-endere=C3=A7o {
	TEXT-ALIGN: left; MARGIN-TOP: 18px
}
#rodape-endere=C3=A7o A {
	COLOR: #999999; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.twoColElsRtHdr #header H1 {
	PADDING-BOTTOM: 10px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 10px
}
.twoColElsRtHdr #sidebar1 {
	PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #ffffff; MARGIN-TOP: 15px; =
PADDING-LEFT: 0px; WIDTH: 29em; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif; =
BACKGROUND-POSITION: 190px 155px; FLOAT: right; COLOR: #666666; =
FONT-SIZE: 12px
}
#cabeca {
	MARGIN-TOP: 20px; WIDTH: 760px; HEIGHT: 160px; MARGIN-LEFT: auto; =
MARGIN-RIGHT: auto
}
#cabeca #data {
	BACKGROUND-IMAGE: url(img/calendario2.png); BACKGROUND-COLOR: #4d647d; =
WIDTH: 200px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: right =
50%; FLOAT: left; HEIGHT: 145px
}
#cabeca #comentario {
	TEXT-ALIGN: justify; BACKGROUND-COLOR: #4d647d; PADDING-LEFT: 7px; =
WIDTH: 280px; PADDING-RIGHT: 7px; FONT-FAMILY: Geneva, Arial, Helvetica, =
sans-serif; FLOAT: left; HEIGHT: 130px; COLOR: #ffffff; FONT-SIZE: 11px; =
PADDING-TOP: 15px
}
#marquee {
	WIDTH: 300px; COLOR: #ffffff
}
#marquee H3 {
	COLOR: #ffffff; FONT-SIZE: 14px
}
#marquee A {
	COLOR: #ffffff; TEXT-DECORATION: none
}
#cabeca #data H1 {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #9caec2; FONT-SIZE: =
50px
}
#cabeca #data H3 {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #4d647d; FONT-SIZE: =
36px
}
#cabeca #padrao {
	BACKGROUND-COLOR: #4d647d; WIDTH: 260px; FLOAT: left; HEIGHT: 145px
}
#textonoticia {
	MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
#galeria {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #4d647d; MIN-HEIGHT: 470px; =
PADDING-LEFT: 5px; WIDTH: 200px; PADDING-RIGHT: 5px; FLOAT: left; =
HEIGHT: 100%; MARGIN-LEFT: 10px; PADDING-TOP: 0px; _float: left
}
#galeria A {
	COLOR: #333333; TEXT-DECORATION: none
}
#galeria #tumb {
	TEXT-ALIGN: center; PADDING-BOTTOM: 15px; BACKGROUND-REPEAT: no-repeat
}
#galeria #tumb IMG {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
PADDING-TOP: 5px
}
#galeria #tumb IMG A {
	BORDER-BOTTOM: #663366 2px solid; BORDER-LEFT: #663366 2px solid; =
BORDER-TOP: #663366 2px solid; BORDER-RIGHT: #663366 2px solid
}
#linhadireta {
	BACKGROUND-IMAGE: url(img/baner-linha.png); PADDING-LEFT: 140px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 95px; PADDING-TOP: 55px
}
#linhadireta .numero {
	FONT-FAMILY: Tahoma, "Trebuchet MS"; COLOR: #a3bcc9; FONT-SIZE: 50px; =
FONT-WEIGHT: bold
}
#linhadireta .data {
	COLOR: #ffffff; FONT-SIZE: 14px; FONT-WEIGHT: bold
}
#mainContent H3 {
	TEXT-ALIGN: center; PADDING-BOTTOM: 5px; LINE-HEIGHT: 22px; =
FONT-FAMILY: Tahoma, "Trebuchet MS"; COLOR: #ffffff; FONT-SIZE: 18px; =
PADDING-TOP: 6px
}
#mainContent H4 {
	TEXT-ALIGN: center; PADDING-BOTTOM: 4px; LINE-HEIGHT: 22px; =
FONT-FAMILY: Tahoma, "Trebuchet MS"; COLOR: #000; FONT-SIZE: 14px; =
PADDING-TOP: 5px
}
#noticia2 {
	BACKGROUND-IMAGE: url(img/fundo-lado-noticia.png); TEXT-ALIGN: center; =
BACKGROUND-COLOR: #afbecf; PADDING-LEFT: 15px; WIDTH: auto; =
PADDING-RIGHT: 8px; BACKGROUND-REPEAT: repeat-y; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; BACKGROUND-POSITION: left 50%; COLOR: =
#666666; MARGIN-LEFT: 0px; FONT-SIZE: 13px; VERTICAL-ALIGN: baseline; =
PADDING-TOP: 5px; _float: right
}
#noticia {
	BACKGROUND-IMAGE: url(img/fundo-lado-noticia.png); TEXT-ALIGN: center; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 15px; WIDTH: auto; =
PADDING-RIGHT: 8px; BACKGROUND-REPEAT: repeat-y; FONT-FAMILY: Verdana, =
Arial, Helvetica, sans-serif; BACKGROUND-POSITION: left 50%; COLOR: =
#666666; MARGIN-LEFT: 0px; FONT-SIZE: 13px; VERTICAL-ALIGN: baseline; =
PADDING-TOP: 5px; _float: right
}
#noticia A {
	COLOR: #333333; TEXT-DECORATION: none
}
#noticiacolunaesquerda {
	TEXT-ALIGN: justify; WIDTH: 265px; FLOAT: left; VERTICAL-ALIGN: =
baseline
}
#noticiacoluna {
	TEXT-ALIGN: center; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 15px; =
WIDTH: 450px; PADDING-RIGHT: 8px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; COLOR: #666666; MARGIN-LEFT: 100px; FONT-SIZE: =
13px; VERTICAL-ALIGN: baseline; PADDING-TOP: 5px; _float: right
}
#noticiacoluna P {
	TEXT-ALIGN: justify; WIDTH: 500px; FONT-FAMILY: Geneva, Arial, =
Helvetica, sans-serif; VERTICAL-ALIGN: baseline
}
#noticiacoluna A {
	COLOR: #993300; FONT-SIZE: 13px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
#noticiacoluna H1 {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #4e5c7e; =
FONT-SIZE: 20px; FONT-WEIGHT: bold
}
#noticiacoluna1 {
	BACKGROUND-IMAGE: url(img/fundo-lado-noticia.png); TEXT-ALIGN: justify; =
BACKGROUND-REPEAT: repeat-y; BACKGROUND-POSITION: left 50%; =
VERTICAL-ALIGN: baseline; _float: right
}
#noticiacoluna1 P {
	TEXT-ALIGN: justify; WIDTH: auto; FONT-FAMILY: Geneva, Arial, =
Helvetica, sans-serif; VERTICAL-ALIGN: baseline
}
#noticiacoluna1 A {
	COLOR: #993300; FONT-SIZE: 13px; FONT-WEIGHT: bold; TEXT-DECORATION: =
none
}
#noticiacoluna1 H1 {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #4e5c7e; =
FONT-SIZE: 20px; FONT-WEIGHT: bold
}
#noticiacolunaesquerda H1 {
	TEXT-ALIGN: left; COLOR: #333333; FONT-SIZE: 16px; FONT-WEIGHT: bold
}
#noticiacolunadireita {
	TEXT-ALIGN: justify; WIDTH: 265px; FLOAT: right; HEIGHT: 400px
}
.twoColElsRtHdr #resultado {
	BACKGROUND-COLOR: #e4e4e4; MARGIN: 0px; PADDING-LEFT: 5px; WIDTH: =
220px; PADDING-RIGHT: 10px; FLOAT: right; COLOR: #0099ff; FONT-SIZE: =
10px
}
.twoColElsRtHdr #consulta {
	BACKGROUND-IMAGE: url(img/progressao.gif); PADDING-LEFT: 3px; WIDTH: =
100px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left top; =
FLOAT: left; HEIGHT: 50px; MARGIN-LEFT: 10px
}
.twoColElsRtHdr #progressao {
	PADDING-BOTTOM: 5px; HEIGHT: 50px
}
.twoColElsRtHdr #consulta #siape {
	MARGIN-TOP: 13px
}
.twoColElsRtHdr #sidebar1 A {
	COLOR: #204579; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.twoColElsRtHdr #sidebar1 H4 {
	COLOR: #260d51; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.twoColElsRtHdr #sidebar1 H3 {
	TEXT-ALIGN: center; PADDING-BOTTOM: 5px; LINE-HEIGHT: 20px; COLOR: =
#666666; FONT-SIZE: 14px; PADDING-TOP: 6px
}
.twoColElsRtHdr #sidebar1 P {
	TEXT-ALIGN: justify; MARGIN-LEFT: 10px; FONT-SIZE: 10px; MARGIN-RIGHT: =
10px
}
.twoColElsRtHdr #mainContent {
	Z-INDEX: 1; MARGIN: 0px 33em 0px 10px; FONT-SIZE: 12px
}
#mainContent EM {
	FONT-STYLE: italic; COLOR: #990000; FONT-SIZE: 10px
}
.twoColElsRtHdr #mainContent FORM {
	TEXT-ALIGN: left; WIDTH: 270px; DISPLAY: block
}
#livros {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
PADDING-TOP: 5px
}
#livros IMG {
	MARGIN: 5px 10px 5px 12px
}
.twoColElsRtHdr #mainContent P {
	TEXT-ALIGN: justify; LINE-HEIGHT: 1.2em; MARGIN: 0px 0px 5px; =
FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif; COLOR: #333333
}
.twoColElsRtHdr #mainContent TABLE TD {
	MARGIN: 30px 0px 0px
}
.twoColElsRtHdr #mainContent1 {
	DISPLAY: block; FLOAT: left
}
.twoColElsRtHdr #mainContent A:hover {
	BACKGROUND-COLOR: #ffffff; COLOR: #333333
}
.twoColElsRtHdr #mainContent A {
	COLOR: #333333; TEXT-DECORATION: none
}
.twoColElsRtHdr #footer {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.twoColElsRtHdr #footer P {
	MARGIN: 0px
}
.twoColElsRtHdr #servicos {
	BACKGROUND-IMAGE: url(img/filiacao.png); BACKGROUND-COLOR: #333333; =
WIDTH: 62%; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: right =
50%; HEIGHT: 123px
}
#juridico {
	MARGIN-TOP: -44px; FLOAT: right
}
.twoColElsRtHdr #titulo {
	PADDING-BOTTOM: 5px; WIDTH: 433px; COLOR: #ffffff; FONT-SIZE: 14px; =
FONT-WEIGHT: bold; PADDING-TOP: 3px
}
.twoColElsRtHdr #texto {
	WIDTH: 433px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; =
COLOR: #ffffff; FONT-SIZE: 10px; PADDING-TOP: 5px
}
.twoColElsRtHdr #imagem-destaque {
	TEXT-ALIGN: center; WIDTH: 433px
}
.fltrt {
	FLOAT: right; MARGIN-LEFT: 8px
}
.fltlft {
	FLOAT: left; MARGIN-RIGHT: 8px
}
.clearfloat {
	LINE-HEIGHT: 0px; HEIGHT: 0px; CLEAR: both; FONT-SIZE: 1px
}
.twoColElsRtHdr #logo {
	TEXT-ALIGN: left; BACKGROUND-POSITION: 50% top; HEIGHT: 51px; =
VERTICAL-ALIGN: bottom
}
#apDiv1 {
	Z-INDEX: 1; POSITION: absolute; WIDTH: 66px; HEIGHT: 87px; TOP: 10px; =
LEFT: 0px
}
#enquete {
	BACKGROUND-IMAGE: url(img/enquete-campanha.png); POSITION: absolute; =
WIDTH: 668px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 522px; TOP: 90px; =
LEFT: 138px
}
#enquete-conteudo {
	PADDING-LEFT: 80px; WIDTH: 450px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 12px; PADDING-TOP: 50px
}
.style1 {
	COLOR: #ffffff; FONT-SIZE: 16px; FONT-WEIGHT: bold
}
.style2 {
	COLOR: #ffffff
}
.style3 {
	LINE-HEIGHT: 1.2em; FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif; =
fontSize: 10px
}
.style4 {
	TEXT-ALIGN: justify; LINE-HEIGHT: 1.2em; COLOR: #ffffff; FONT-SIZE: =
10px
}
.style5 {
	TEXT-ALIGN: justify; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; COLOR: =
#557ed5; FONT-SIZE: 9px
}
.style6 {
	FONT-FAMILY: "Trebuchet MS", Tahoma; COLOR: #3d75a6; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
.style7 {
	FONT-FAMILY: "Trebuchet MS", Tahoma; COLOR: #1c3748; FONT-SIZE: 13px
}
.style8 {
	FONT-FAMILY: "Trebuchet MS", Tahoma; COLOR: #1c3748; FONT-SIZE: 11px
}
.style9 {
	COLOR: #ffffff; FONT-SIZE: 10px; FONT-WEIGHT: bold
}
.transparente {
	DISPLAY: none; FONT-SIZE: 10px; FONT-WEIGHT: bold
}
.style12 {
	FONT-FAMILY: sans-serif; COLOR: #000000; FONT-SIZE: 18px; FONT-WEIGHT: =
bold
}
#sidebar1 EM {
	FONT-STYLE: italic
}
#arabesco {
	BACKGROUND-IMAGE: url(img/arabesco.png); Z-INDEX: 2; POSITION: =
relative; WIDTH: 118px; FLOAT: left; HEIGHT: 259px; TOP: -120px; LEFT: =
-5px
}
#vazio {
	MARGIN-TOP: -110px; WIDTH: 430px; FLOAT: right; HEIGHT: 130px
}
#mini-menu {
	POSITION: absolute; WIDTH: 505px; HEIGHT: 265px; TOP: 55px; =
MARGIN-RIGHT: 150px; LEFT: 486px
}
#somos {
	POSITION: relative; WIDTH: 92px
}
#missao {
	POSITION: relative; WIDTH: 100px; BOTTOM: -15px
}
#aqui {
	WIDTH: 490px
}
#fundo {
	BACKGROUND-IMAGE: url(img/baner-fundo.png); BACKGROUND-REPEAT: =
no-repeat
}
#publicacoes {
	BACKGROUND-IMAGE: url(img/baner-fundo.png); TEXT-ALIGN: center; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 140px; PADDING-TOP: 10px
}
#publicacoes IMG {
	MARGIN-LEFT: 20px; MARGIN-RIGHT: 10px
}
#estatuto {
	TEXT-ALIGN: justify; PADDING-TOP: 10px
}
.ico {
	WIDTH: 78px; FLOAT: left; HEIGHT: 89px
}
.style-data {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #990000; =
FONT-SIZE: 11px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#conv-extra {
	TEXT-ALIGN: justify; MARGIN-TOP: 25px; WIDTH: 330px; COLOR: #ffffff; =
MARGIN-LEFT: 10px; FONT-SIZE: 12px
}
#conv-extra A {
	COLOR: #ffffff; FONT-WEIGHT: bold
}
#conv-extra A:hover {
	COLOR: #ffffff; FONT-WEIGHT: bold
}
#conv-extra A:visited {
	COLOR: #ffffff; FONT-WEIGHT: bold
}
#conv-extra IMG {
	TEXT-ALIGN: left
}
#gradiente {
	BACKGROUND-IMAGE: url(img/enquete-consulta.png); WIDTH: 417px; =
BACKGROUND-REPEAT: no-repeat; MARGIN-LEFT: -1px
}
#Layer2 {
	Z-INDEX: 2; POSITION: absolute; WIDTH: 86px; HEIGHT: 89px; TOP: 241px; =
LEFT: 2px
}
#kwick {
	POSITION: static; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 349px; =
PADDING-RIGHT: 0px; DISPLAY: block; HEIGHT: 132px; PADDING-TOP: 0px
}
#kwick LI {
	LIST-STYLE-TYPE: none; FLOAT: left
}
#kwick .kwick {
	WIDTH: 116px; DISPLAY: block; HEIGHT: 132px
}
#kwick .kwick SPAN {
	DISPLAY: none
}
#kwick .restrita {
	BACKGROUND-IMAGE: url(img/imagem-salarial-largo.jpg)
}
#kwick .tv {
	BACKGROUND: url(img/imagem-tv-largo.jpg)
}
#kwick .midia {
	BACKGROUND: url(img/imagem-xiencontro-largo.jpg)
}
#kwick .extra {
	BACKGROUND: url(img/baner-seminarios-df.jpg)
}
#kwick .trac {
	BACKGROUND: url(../images/trac.gif) #a87aad; BORDER-RIGHT: 0px
}
#carousel {
	MARGIN-TOP: 30px; WIDTH: 500px; FLOAT: left; HEIGHT: 150px
}
#carousel IMG {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
#carousel LI {
	FLOAT: left
}
#carousel A.carouselItem {
	POSITION: absolute
}
#tabelanoticia {
	PADDING-LEFT: 15px; PADDING-RIGHT: 8px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; COLOR: #666666; FONT-SIZE: 13px; VERTICAL-ALIGN: =
baseline; PADDING-TOP: 5px
}
.twoColElsRtHdr #mainContent {
	ZOOM: 1; PADDING-TOP: 15px
}

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/js/tips.css

.tooltip {
	TEXT-ALIGN: center; WIDTH: 150px; FONT: lighter 11px/1.3 Arial, =
sans-serif; COLOR: #000; TEXT-DECORATION: none
}
.tooltip SPAN.top {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: =
url(bt1.png) no-repeat 50% top; COLOR: #ffffff; FONT-SIZE: 10px; =
FONT-WEIGHT: bold; PADDING-TOP: 3px
}
.tooltip B.bottom {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: =
url(bt1.png) no-repeat 50% bottom; COLOR: #548912; PADDING-TOP: 3px
}

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/js/ext-all.css

HTML {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
BODY {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
DIV {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
DL {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
DT {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
DD {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
UL {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
OL {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H1 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H2 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H3 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H4 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H5 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
H6 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
PRE {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
FORM {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
FIELDSET {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
INPUT {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
P {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
BLOCKQUOTE {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
TH {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
TD {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
BODY {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
HTML {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
ADDRESS {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
CAPTION {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
CITE {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
CODE {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
DFN {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
EM {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
STRONG {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
TH {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
VAR {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
OL {
	LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none
}
UL {
	LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none
}
CAPTION {
	TEXT-ALIGN: left
}
TH {
	TEXT-ALIGN: left
}
H1 {
	FONT-SIZE: 100%
}
H2 {
	FONT-SIZE: 100%
}
H3 {
	FONT-SIZE: 100%
}
H4 {
	FONT-SIZE: 100%
}
H5 {
	FONT-SIZE: 100%
}
H6 {
	FONT-SIZE: 100%
}
Q:before {
	CONTENT: ''
}
Q:after {
	CONTENT: ''
}
.ext-el-mask {
	Z-INDEX: 20000; POSITION: absolute; FILTER: alpha(opacity=3D50); =
BACKGROUND-COLOR: #ccc; WIDTH: 100%; ZOOM: 1; HEIGHT: 100%; TOP: 0px; =
LEFT: 0px; -moz-opacity: 0.5; opacity: .50
}
.ext-el-mask-msg {
	Z-INDEX: 20001; BORDER-BOTTOM: #6593cf 1px solid; POSITION: absolute; =
BORDER-LEFT: #6593cf 1px solid; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; BACKGROUND: url(../images/default/box/tb-blue.gif) =
#c3daf9 repeat-x 0px -16px; BORDER-TOP: #6593cf 1px solid; TOP: 0px; =
BORDER-RIGHT: #6593cf 1px solid; PADDING-TOP: 2px; LEFT: 0px
}
.ext-el-mask-msg DIV {
	BORDER-BOTTOM: #a3bad9 1px solid; BORDER-LEFT: #a3bad9 1px solid; =
PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FONT: 12px =
tahoma, arial, helvetica, sans-serif; BACKGROUND: #eee; COLOR: #333; =
BORDER-TOP: #a3bad9 1px solid; CURSOR: wait; BORDER-RIGHT: #a3bad9 1px =
solid; PADDING-TOP: 5px
}
.x-mask-loading DIV {
	PADDING-BOTTOM: 5px; LINE-HEIGHT: 16px; PADDING-LEFT: 25px; =
PADDING-RIGHT: 10px; BACKGROUND: url(../images/default/grid/loading.gif) =
#eee no-repeat 5px 5px; PADDING-TOP: 5px
}
.x-hidden {
	POSITION: absolute; VISIBILITY: hidden; TOP: -2000px; LEFT: -2000px
}
.x-masked {
	OVERFLOW: hidden !important
}
.x-masked SELECT {
	VISIBILITY: hidden
}
.x-masked OBJECT {
	VISIBILITY: hidden
}
.x-masked EMBED {
	VISIBILITY: hidden
}
.x-layer {
	VISIBILITY: hidden
}
.x-unselectable {
	-moz-user-select: none; -khtml-user-select: none
}
.x-unselectable * {
	-moz-user-select: none; -khtml-user-select: none
}
.x-repaint {
	BACKGROUND-COLOR: transparent; ZOOM: 1; -moz-outline: none
}
.x-item-disabled {
	FILTER: alpha(opacity=3D60); COLOR: gray; CURSOR: default; =
-moz-opacity: .6; opacity: .6
}
.x-item-disabled * {
	COLOR: gray; CURSOR: default !important
}
.x-splitbar-proxy {
	Z-INDEX: 20001; POSITION: absolute; LINE-HEIGHT: 1px; ZOOM: 1; =
BACKGROUND: #aaa; VISIBILITY: hidden; FONT-SIZE: 1px; OVERFLOW: hidden
}
.x-splitbar-h {
	CURSOR: col-resize
}
.x-splitbar-proxy-h {
	CURSOR: col-resize
}
.x-splitbar-v {
	CURSOR: row-resize
}
.x-splitbar-proxy-v {
	CURSOR: row-resize
}
.x-color-palette {
	WIDTH: 150px; HEIGHT: 92px
}
.x-color-palette A {
	BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; =
PADDING-BOTTOM: 2px; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
PADDING-LEFT: 2px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 2px; FLOAT: left; =
BORDER-TOP: #fff 1px solid; BORDER-RIGHT: #fff 1px solid; =
TEXT-DECORATION: none; PADDING-TOP: 2px; -moz-outline: 0 none
}
.x-color-palette A:hover {
	BORDER-BOTTOM: #8bb8f3 1px solid; BORDER-LEFT: #8bb8f3 1px solid; =
BACKGROUND: #deecfd; BORDER-TOP: #8bb8f3 1px solid; BORDER-RIGHT: =
#8bb8f3 1px solid
}
.x-color-palette A.x-color-palette-sel {
	BORDER-BOTTOM: #8bb8f3 1px solid; BORDER-LEFT: #8bb8f3 1px solid; =
BACKGROUND: #deecfd; BORDER-TOP: #8bb8f3 1px solid; BORDER-RIGHT: =
#8bb8f3 1px solid
}
.x-color-palette EM {
	BORDER-BOTTOM: #aca899 1px solid; BORDER-LEFT: #aca899 1px solid; =
DISPLAY: block; BORDER-TOP: #aca899 1px solid; BORDER-RIGHT: #aca899 1px =
solid
}
.x-color-palette EM SPAN {
	LINE-HEIGHT: 10px; WIDTH: 10px; DISPLAY: block; HEIGHT: 10px; CURSOR: =
pointer
}
.x-shadow {
	POSITION: absolute; DISPLAY: none; OVERFLOW: hidden
}
.x-shadow * {
	OVERFLOW: hidden
}
.x-shadow * {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; ZOOM: 1; CLEAR: none; BORDER-TOP: =
0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-shadow .xstc {
	FLOAT: left; HEIGHT: 6px
}
.x-shadow .xsbc {
	FLOAT: left; HEIGHT: 6px
}
.x-shadow .xstl {
	WIDTH: 6px; FLOAT: left; HEIGHT: 6px
}
.x-shadow .xstr {
	WIDTH: 6px; FLOAT: left; HEIGHT: 6px
}
.x-shadow .xsbl {
	WIDTH: 6px; FLOAT: left; HEIGHT: 6px
}
.x-shadow .xsbr {
	WIDTH: 6px; FLOAT: left; HEIGHT: 6px
}
.x-shadow .xsc {
	WIDTH: 100%
}
.x-shadow .xsml {
	WIDTH: 6px; FLOAT: left; HEIGHT: 100%
}
.x-shadow .xsmr {
	WIDTH: 6px; FLOAT: left; HEIGHT: 100%
}
.x-shadow .xsmc {
	FILTER: alpha(opacity=3D25); BACKGROUND: #333333; FLOAT: left; HEIGHT: =
100%; -moz-opacity: .35; opacity: .35
}
.x-shadow .xst {
	WIDTH: 100%; HEIGHT: 6px; OVERFLOW: hidden
}
.x-shadow .xsb {
	WIDTH: 100%; HEIGHT: 6px; OVERFLOW: hidden
}
.x-shadow .xsml {
	BACKGROUND: url(../images/default/shadow-lr.png) repeat-y 0px 0px
}
.x-shadow .xsmr {
	BACKGROUND: url(../images/default/shadow-lr.png) repeat-y -6px 0px
}
.x-shadow .xstl {
	BACKGROUND: url(../images/default/shadow.png) no-repeat 0px 0px
}
.x-shadow .xstc {
	BACKGROUND: url(../images/default/shadow.png) repeat-x 0px -30px
}
.x-shadow .xstr {
	BACKGROUND: url(../images/default/shadow.png) repeat-x 0px -18px
}
.x-shadow .xsbl {
	BACKGROUND: url(../images/default/shadow.png) no-repeat 0px -12px
}
.x-shadow .xsbc {
	BACKGROUND: url(../images/default/shadow.png) repeat-x 0px -36px
}
.x-shadow .xsbr {
	BACKGROUND: url(../images/default/shadow.png) repeat-x 0px -6px
}
.loading-indicator {
	BACKGROUND-IMAGE: url(../images/default/grid/loading.gif); LINE-HEIGHT: =
16px; MARGIN: 3px; PADDING-LEFT: 20px; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: left 50%; FONT-SIZE: 11px
}
.x-text-resize {
	POSITION: absolute; ZOOM: 1; VISIBILITY: hidden; TOP: -1000px; LEFT: =
-1000px
}
.x-drag-overlay {
	Z-INDEX: 20000; POSITION: absolute; FILTER: alpha(opacity=3D0); WIDTH: =
100%; DISPLAY: none; BACKGROUND: white; HEIGHT: 100%; TOP: 0px; LEFT: =
0px; -moz-opacity: 0; opacity: 0
}
.x-clear {
	LINE-HEIGHT: 0; HEIGHT: 0px; CLEAR: both; FONT-SIZE: 0px; OVERFLOW: =
hidden
}
.x-tabs-wrap {
	BORDER-BOTTOM: #6593cf 1px solid; PADDING-TOP: 2px
}
.x-tabs-strip-wrap {
	WIDTH: 100%
}
.x-tabs-wrap TABLE {
	POSITION: relative; TOP: 0px; LEFT: 0px
}
.x-tabs-strip TD {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.x-tabs-strip A {
	DISPLAY: block
}
.x-tabs-strip SPAN {
	DISPLAY: block
}
.x-tabs-strip EM {
	DISPLAY: block
}
.x-tabs-strip A {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium; =
CURSOR: pointer; TEXT-DECORATION: none !important; -moz-outline: none
}
.x-tabs-strip .x-tabs-text {
	TEXT-OVERFLOW: ellipsis; FONT: bold 11px tahoma, arial, helvetica; =
WHITE-SPACE: nowrap; COLOR: #666; OVERFLOW: hidden; CURSOR: pointer
}
.x-tabs-strip .on .x-tabs-text {
	COLOR: #083772; CURSOR: default
}
.x-tabs-strip .disabled .x-tabs-text {
	COLOR: #aaaaaa; CURSOR: default
}
.x-tabs-strip .x-tabs-inner {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 4px
}
.x-tabs-strip .on .x-tabs-right {
	BACKGROUND: url(images/tabs/tab-sprite.gif) no-repeat right 0px
}
.x-tabs-strip .on .x-tabs-left {
	BACKGROUND: url(images/tabs/tab-sprite.gif) no-repeat 0px -100px
}
.x-tabs-strip .x-tabs-right {
	BACKGROUND: url(images/tabs/tab-sprite.gif) no-repeat right -50px
}
.x-tabs-strip .x-tabs-left {
	BACKGROUND: url(images/tabs/tab-sprite.gif) no-repeat 0px -150px
}
.x-tabs-strip A {
	POSITION: relative; TOP: 1px; LEFT: 0px
}
.x-tabs-strip .on A {
	POSITION: relative
}
.x-tabs-strip .on .x-tabs-inner {
	PADDING-BOTTOM: 5px
}
.x-tabs-strip .x-tabs-closable .x-tabs-inner {
	POSITION: relative; PADDING-RIGHT: 22px
}
.x-tabs-strip .x-tabs-closable .close-icon {
	BACKGROUND-IMAGE: url(../images/default/layout/tab-close.gif); =
POSITION: absolute; LINE-HEIGHT: 1px; WIDTH: 11px; DISPLAY: block; =
HEIGHT: 11px; FONT-SIZE: 1px; TOP: 4px; CURSOR: pointer; RIGHT: 5px
}
.x-tabs-strip .on .close-icon {
	BACKGROUND-IMAGE: url(../images/default/layout/tab-close-on.gif)
}
.x-tabs-strip .x-tabs-closable .close-over {
	BACKGROUND-IMAGE: url(../images/default/layout/tab-close-on.gif)
}
.x-tabs-body {
	BORDER-BOTTOM: #6593cf 1px solid; BORDER-LEFT: #6593cf 1px solid; =
BORDER-TOP: 0px; BORDER-RIGHT: #6593cf 1px solid
}
.x-tabs-bottom .x-tabs-wrap {
	BORDER-BOTTOM: 0px; PADDING-BOTTOM: 2px; BORDER-TOP: #6593cf 1px solid; =
PADDING-TOP: 0px
}
.x-tabs-bottom .x-tabs-strip .x-tabs-right {
	BACKGROUND: url(images/tabs/tab-btm-inactive-right-bg.gif) no-repeat =
left bottom
}
.x-tabs-bottom .x-tabs-strip .x-tabs-left {
	BACKGROUND: url(images/tabs/tab-btm-inactive-left-bg.gif) no-repeat =
right bottom
}
.x-tabs-bottom .x-tabs-strip .on .x-tabs-right {
	BACKGROUND: url(images/tabs/tab-btm-right-bg.gif) no-repeat left bottom
}
.x-tabs-bottom .x-tabs-strip .on .x-tabs-left {
	BACKGROUND: url(images/tabs/tab-btm-left-bg.gif) no-repeat right bottom
}
.x-tabs-bottom .x-tabs-strip A {
	POSITION: relative; TOP: 0px; LEFT: 0px
}
.x-tabs-bottom .x-tabs-strip .on A {
	MARGIN-TOP: -1px
}
.x-tabs-bottom .x-tabs-strip .on .x-tabs-inner {
	PADDING-TOP: 5px
}
.x-tabs-bottom .x-tabs-body {
	BORDER-BOTTOM: 0px; BORDER-LEFT: #6593cf 1px solid; BORDER-TOP: #6593cf =
1px solid; BORDER-RIGHT: #6593cf 1px solid
}
.x-form-field {
	MARGIN: 0px; FONT: 12px tahoma, arial, helvetica, sans-serif
}
.x-form-text {
	BORDER-BOTTOM: #b5b8c8 1px solid; BORDER-LEFT: #b5b8c8 1px solid; =
PADDING-BOTTOM: 1px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; BACKGROUND: =
url(../images/default/form/text-bg.gif) #fff repeat-x 0px 0px; =
BORDER-TOP: #b5b8c8 1px solid; BORDER-RIGHT: #b5b8c8 1px solid; =
PADDING-TOP: 1px
}
TEXTAREA.x-form-field {
	BORDER-BOTTOM: #b5b8c8 1px solid; BORDER-LEFT: #b5b8c8 1px solid; =
PADDING-BOTTOM: 1px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; BACKGROUND: =
url(../images/default/form/text-bg.gif) #fff repeat-x 0px 0px; =
BORDER-TOP: #b5b8c8 1px solid; BORDER-RIGHT: #b5b8c8 1px solid; =
PADDING-TOP: 1px
}
.x-form-text {
	LINE-HEIGHT: 18px; HEIGHT: 22px; VERTICAL-ALIGN: middle
}
.ext-ie .x-form-text {
	LINE-HEIGHT: 18px; MARGIN-TOP: -1px; MARGIN-BOTTOM: -1px; HEIGHT: 22px
}
.ext-strict .x-form-text {
	HEIGHT: 18px
}
.ext-safari .x-form-text {
	HEIGHT: 20px
}
.ext-gecko .x-form-text {
	PADDING-BOTTOM: 0px; PADDING-TOP: 2px
}
.x-form-select-one {
	BORDER-BOTTOM: #b5b8c8 1px solid; BORDER-LEFT: #b5b8c8 1px solid; =
LINE-HEIGHT: 18px; BACKGROUND-COLOR: #fff; HEIGHT: 20px; VERTICAL-ALIGN: =
middle; BORDER-TOP: #b5b8c8 1px solid; BORDER-RIGHT: #b5b8c8 1px solid
}
.x-form-field-wrap {
	POSITION: relative; ZOOM: 1; WHITE-SPACE: nowrap
}
.x-editor .x-form-check-wrap {
	BACKGROUND: #fff
}
.x-form-field-wrap .x-form-trigger {
	BORDER-BOTTOM: #b5b8c8 1px solid; POSITION: absolute; BORDER-LEFT: 0px; =
WIDTH: 17px; BACKGROUND: url(../images/default/form/trigger.gif) =
no-repeat 0px 0px; HEIGHT: 21px; BORDER-TOP: 0px; TOP: 0px; CURSOR: =
pointer; BORDER-RIGHT: 0px
}
.ext-safari .x-form-field-wrap .x-form-trigger {
	HEIGHT: 19px
}
.x-form-field-wrap .x-form-trigger-over {
	BACKGROUND-POSITION: -17px 0px
}
.x-form-field-wrap .x-form-trigger-click {
	BACKGROUND-POSITION: -34px 0px
}
.x-item-disabled .x-form-trigger-over {
	BACKGROUND-POSITION: 0px 0px
}
.x-item-disabled .x-form-trigger-click {
	BACKGROUND-POSITION: 0px 0px
}
.x-form-field-wrap .x-form-date-trigger {
	BACKGROUND: url(../images/default/form/date-trigger.gif) no-repeat 0px =
0px; CURSOR: pointer
}
.ext-safari .x-form-field-wrap .x-form-date-trigger {
	RIGHT: 0px
}
.x-form-focus {
	BORDER-BOTTOM: #7eadd9 1px solid; BORDER-LEFT: #7eadd9 1px solid; =
BORDER-TOP: #7eadd9 1px solid; BORDER-RIGHT: #7eadd9 1px solid
}
.x-form-invalid {
	BORDER-BOTTOM: #dd7870 1px solid; BORDER-LEFT: #dd7870 1px solid; =
BACKGROUND: url(../images/default/grid/invalid_line.gif) #fff repeat-x =
50% bottom; BORDER-TOP: #dd7870 1px solid; BORDER-RIGHT: #dd7870 1px =
solid
}
.ext-safari .x-form-invalid {
	BORDER-BOTTOM: #ff7870 1px solid; BORDER-LEFT: #ff7870 1px solid; =
BACKGROUND-COLOR: #ffeeee; BORDER-TOP: #ff7870 1px solid; BORDER-RIGHT: =
#ff7870 1px solid
}
.x-editor {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; VISIBILITY: hidden; PADDING-TOP: 0px
}
.x-form-check-wrap {
	LINE-HEIGHT: 18px
}
.ext-ie .x-form-check-wrap INPUT {
	WIDTH: 15px; HEIGHT: 15px
}
.x-editor .x-form-check-wrap {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
PADDING-TOP: 3px
}
.x-editor .x-form-checkbox {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; HEIGHT: 13px; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px
}
.x-form-grow-sizer {
	POSITION: absolute; PADDING-BOTTOM: 8px; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; ZOOM: 1; FONT: 12px tahoma, arial, helvetica, =
sans-serif; WORD-WRAP: break-word; WHITE-SPACE: pre-wrap; VISIBILITY: =
hidden; TOP: -10000px; PADDING-TOP: 8px; LEFT: -10000px
}
.x-form-item {
	DISPLAY: block; FONT: 12px tahoma, arial, helvetica, sans-serif; =
MARGIN-BOTTOM: 4px
}
.x-form-item LABEL {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 0px; WIDTH: 100px; PADDING-RIGHT: =
3px; DISPLAY: block; FLOAT: left; CLEAR: left; PADDING-TOP: 3px
}
.x-form-element {
	POSITION: relative; PADDING-LEFT: 105px
}
.x-form-invalid-msg {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 18px; WIDTH: 200px; PADDING-RIGHT: =
2px; FONT: 11px/16px tahoma, arial, helvetica, sans-serif; BACKGROUND: =
url(../images/default/shared/warning.gif) no-repeat 0px 2px; COLOR: =
#ee0000; PADDING-TOP: 2px
}
.x-form-label-right LABEL {
	TEXT-ALIGN: right
}
.x-form-label-top .x-form-item LABEL {
	WIDTH: auto; DISPLAY: inline; MARGIN-BOTTOM: 4px; FLOAT: none; CLEAR: =
none
}
.x-form-label-top .x-form-element {
	PADDING-LEFT: 0px; PADDING-TOP: 4px
}
.x-form-label-top .x-form-item {
	PADDING-BOTTOM: 4px
}
.x-form FIELDSET {
	BORDER-BOTTOM: #b5b8c8 1px solid; BORDER-LEFT: #b5b8c8 1px solid; =
PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
MARGIN-BOTTOM: 10px; BORDER-TOP: #b5b8c8 1px solid; BORDER-RIGHT: =
#b5b8c8 1px solid; PADDING-TOP: 10px
}
.x-form FIELDSET LEGEND {
	FONT: bold 11px tahoma, arial, helvetica, sans-serif; COLOR: #15428b
}
.ext-ie .x-form FIELDSET LEGEND {
	MARGIN-BOTTOM: 10px
}
.x-form-empty-field {
	COLOR: gray
}
.x-small-editor .x-form-field {
	FONT: 11px arial, tahoma, helvetica, sans-serif
}
.x-small-editor .x-form-text {
	LINE-HEIGHT: 16px; HEIGHT: 20px; VERTICAL-ALIGN: middle
}
.ext-ie .x-small-editor .x-form-text {
	LINE-HEIGHT: 16px !important; MARGIN-TOP: -1px !important; =
MARGIN-BOTTOM: -1px !important; HEIGHT: 20px !important
}
.ext-strict .x-small-editor .x-form-text {
	HEIGHT: 16px !important
}
.ext-safari .x-small-editor .x-form-field {
	FONT: 12px arial, tahoma, helvetica, sans-serif
}
.ext-ie .x-small-editor .x-form-text {
	LINE-HEIGHT: 16px; HEIGHT: 20px
}
.ext-border-box .x-small-editor .x-form-text {
	HEIGHT: 20px
}
.x-small-editor .x-form-select-one {
	LINE-HEIGHT: 16px; HEIGHT: 20px; VERTICAL-ALIGN: middle
}
.x-small-editor .x-form-num-field {
	TEXT-ALIGN: right
}
.x-small-editor .x-form-field-wrap .x-form-trigger {
	HEIGHT: 19px
}
.x-form-clear {
	LINE-HEIGHT: 0; HEIGHT: 0px; CLEAR: both; FONT-SIZE: 0px; OVERFLOW: =
hidden
}
.x-form-clear-left {
	LINE-HEIGHT: 0; HEIGHT: 0px; CLEAR: left; FONT-SIZE: 0px; OVERFLOW: =
hidden
}
.x-form-cb-label {
	DISPLAY: inline !important; FLOAT: none !important; MARGIN-LEFT: 4px; =
CLEAR: none !important
}
.x-form-column {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 48%; =
PADDING-RIGHT: 0px; ZOOM: 1; FLOAT: left; OVERFLOW: hidden; PADDING-TOP: =
0px
}
.x-form .x-form-btns-ct .x-btn {
	FLOAT: right; CLEAR: none
}
.x-form .x-form-btns-ct .x-form-btns TD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px; PADDING-TOP: 0px
}
.x-form .x-form-btns-ct .x-form-btns-right TABLE {
	FLOAT: right; CLEAR: none
}
.x-form .x-form-btns-ct .x-form-btns-left TABLE {
	FLOAT: left; CLEAR: none
}
.x-form .x-form-btns-ct .x-form-btns-center {
	TEXT-ALIGN: center
}
.x-form .x-form-btns-ct .x-form-btns-center TABLE {
	MARGIN: 0px auto
}
.x-form .x-form-btns-ct TABLE TD.x-form-btn-td {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
PADDING-TOP: 3px
}
.x-form-invalid-icon {
	POSITION: absolute; WIDTH: 16px; DISPLAY: block; BACKGROUND: =
url(../images/default/form/exclamation.gif) no-repeat 0px 2px; HEIGHT: =
18px; VISIBILITY: hidden; TOP: 0px; LEFT: 0px
}
.x-btn {
	FONT: 11px tahoma, verdana, helvetica; WHITE-SPACE: nowrap; CURSOR: =
pointer
}
.x-btn BUTTON {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; OUTLINE-STYLE: none; =
OUTLINE-COLOR: invert; PADDING-LEFT: 3px; OUTLINE-WIDTH: 0px; WIDTH: =
auto; PADDING-RIGHT: 3px; FONT: 11px tahoma, verdana, helvetica; =
BACKGROUND: none transparent scroll repeat 0% 0%; OVERFLOW: visible; =
BORDER-TOP: 0px; CURSOR: pointer; BORDER-RIGHT: 0px; -moz-outline: 0 =
none
}
* HTML .ext-ie .x-btn BUTTON {
	WIDTH: 1px
}
.ext-gecko .x-btn BUTTON {
	PADDING-LEFT: 0px; PADDING-RIGHT: 0px
}
.x-btn-icon .x-btn-center .x-btn-text {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: =
0px; BACKGROUND-REPEAT: no-repeat; WHITE-SPACE: nowrap; =
BACKGROUND-POSITION: center 50%; HEIGHT: 16px; CURSOR: pointer; =
PADDING-TOP: 0px
}
.x-btn-icon .x-btn-center {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; =
PADDING-TOP: 1px
}
.x-btn EM {
	FONT-STYLE: normal; FONT-WEIGHT: normal
}
.x-btn-text-icon .x-btn-center .x-btn-text {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 18px; PADDING-RIGHT: 0px; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 0px 2px; PADDING-TOP: =
3px
}
.x-btn-left {
	LINE-HEIGHT: 1px; FONT-SIZE: 1px
}
.x-btn-right {
	LINE-HEIGHT: 1px; FONT-SIZE: 1px
}
.x-btn-left {
	WIDTH: 3px; BACKGROUND: url(images/basic-dialog/btn-sprite.gif) =
no-repeat 0px 0px; HEIGHT: 21px
}
.x-btn-right {
	WIDTH: 3px; BACKGROUND: url(images/basic-dialog/btn-sprite.gif) =
no-repeat 0px -21px; HEIGHT: 21px
}
.x-btn-left I {
	LINE-HEIGHT: 1px; WIDTH: 3px; DISPLAY: block; FONT-SIZE: 1px; OVERFLOW: =
hidden
}
.x-btn-right I {
	LINE-HEIGHT: 1px; WIDTH: 3px; DISPLAY: block; FONT-SIZE: 1px; OVERFLOW: =
hidden
}
.x-btn-center {
	TEXT-ALIGN: center; PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; WHITE-SPACE: nowrap; BACKGROUND: =
url(images/basic-dialog/btn-sprite.gif) repeat-x 0px -42px; =
VERTICAL-ALIGN: middle; CURSOR: pointer; PADDING-TOP: 0px
}
.x-btn-focus .x-btn-left {
	BACKGROUND-POSITION: 0px -126px
}
.x-btn-focus .x-btn-right {
	BACKGROUND-POSITION: 0px -147px
}
.x-btn-focus .x-btn-center {
	BACKGROUND-POSITION: 0px -168px
}
.x-btn-over .x-btn-left {
	BACKGROUND-POSITION: 0px -63px
}
.x-btn-over .x-btn-right {
	BACKGROUND-POSITION: 0px -84px
}
.x-btn-over .x-btn-center {
	BACKGROUND-POSITION: 0px -105px
}
.x-btn-click .x-btn-center {
	BACKGROUND-POSITION: 0px -126px
}
.x-btn-menu-active .x-btn-center {
	BACKGROUND-POSITION: 0px -126px
}
.x-btn-disabled * {
	COLOR: gray !important; CURSOR: default !important
}
.x-btn-menu-text-wrap .x-btn-center {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
PADDING-TOP: 0px
}
.ext-gecko .x-btn-menu-text-wrap .x-btn-center {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; =
PADDING-TOP: 0px
}
.x-btn-menu-arrow-wrap .x-btn-center {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.x-btn-menu-arrow-wrap .x-btn-center BUTTON {
	PADDING-BOTTOM: 0px !important; PADDING-LEFT: 0px !important; WIDTH: =
12px !important; PADDING-RIGHT: 0px !important; DISPLAY: block; =
BACKGROUND: url(images/basic-dialog/btn-arrow.gif) no-repeat left 3px; =
HEIGHT: 21px; PADDING-TOP: 0px !important
}
.x-btn-with-menu .x-btn-center {
	PADDING-RIGHT: 2px !important
}
.x-btn-with-menu .x-btn-center EM {
	PADDING-RIGHT: 10px; DISPLAY: block; BACKGROUND: =
url(../images/default/toolbar/btn-arrow.gif) no-repeat right 0px
}
.x-btn-text-icon .x-btn-with-menu .x-btn-center EM {
	PADDING-RIGHT: 10px; DISPLAY: block; BACKGROUND: =
url(../images/default/toolbar/btn-arrow.gif) no-repeat right 3px
}
.x-toolbar {
	BORDER-BOTTOM: #a9bfd3 1px solid; BORDER-LEFT: #eaf0f7 1px solid; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; DISPLAY: =
block; BACKGROUND: =
url(../images/default/layout/panel-title-light-bg.gif) #d0def0 repeat-x; =
BORDER-TOP: #eaf0f7 1px solid; BORDER-RIGHT: #eaf0f7 1px solid; =
PADDING-TOP: 2px
}
.x-toolbar TD {
	VERTICAL-ALIGN: middle
}
.mso .x-toolbar {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND: =
url(../images/default/grid/mso-hd.gif); BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
.x-grid-mso .x-toolbar {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND: =
url(../images/default/grid/mso-hd.gif); BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
.x-toolbar TD {
	FONT: 11px tahoma, arial, helvetica, sans-serif; WHITE-SPACE: nowrap
}
.x-toolbar SPAN {
	FONT: 11px tahoma, arial, helvetica, sans-serif; WHITE-SPACE: nowrap
}
.x-toolbar INPUT {
	FONT: 11px tahoma, arial, helvetica, sans-serif; WHITE-SPACE: nowrap
}
.x-toolbar DIV {
	FONT: 11px tahoma, arial, helvetica, sans-serif; WHITE-SPACE: nowrap
}
.x-toolbar SELECT {
	FONT: 11px tahoma, arial, helvetica, sans-serif; WHITE-SPACE: nowrap
}
.x-toolbar LABEL {
	FONT: 11px tahoma, arial, helvetica, sans-serif; WHITE-SPACE: nowrap
}
.x-toolbar .x-item-disabled {
	FILTER: alpha(opacity=3D60); COLOR: gray; CURSOR: default; =
-moz-opacity: .6; opacity: .6
}
.x-toolbar .x-item-disabled * {
	COLOR: gray; CURSOR: default
}
.x-toolbar .x-btn-left {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.x-toolbar .x-btn-right {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.x-toolbar .x-btn-center {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; PADDING-TOP: 0px
}
.x-toolbar .x-btn-menu-text-wrap .x-btn-center BUTTON {
	PADDING-RIGHT: 2px
}
.ext-gecko .x-toolbar .x-btn-menu-text-wrap .x-btn-center BUTTON {
	PADDING-RIGHT: 0px
}
.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center BUTTON {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
PADDING-TOP: 0px
}
.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center BUTTON {
	WIDTH: 12px; BACKGROUND: url(../images/default/toolbar/btn-arrow.gif) =
no-repeat 0px 3px
}
.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center BUTTON =
{
	WIDTH: 12px; BACKGROUND: url(../images/default/toolbar/btn-arrow.gif) =
no-repeat 0px 3px
}
.x-toolbar .x-btn-over .x-btn-menu-arrow-wrap .x-btn-center BUTTON {
	BACKGROUND-POSITION: 0px -47px
}
.x-toolbar .x-btn-over .x-btn-left {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat =
0px 0px
}
.x-toolbar .x-btn-over .x-btn-right {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat =
0px -21px
}
.x-toolbar .x-btn-over .x-btn-center {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x =
0px -42px
}
.x-toolbar .x-btn-click .x-btn-left {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat =
0px -63px
}
.x-toolbar .x-btn-pressed .x-btn-left {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat =
0px -63px
}
.x-toolbar .x-btn-menu-active .x-btn-left {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat =
0px -63px
}
.x-toolbar .x-btn-click .x-btn-right {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat =
0px -84px
}
.x-toolbar .x-btn-pressed .x-btn-right {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat =
0px -84px
}
.x-toolbar .x-btn-menu-active .x-btn-right {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) no-repeat =
0px -84px
}
.x-toolbar .x-btn-click .x-btn-center {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x =
0px -105px
}
.x-toolbar .x-btn-pressed .x-btn-center {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x =
0px -105px
}
.x-toolbar .x-btn-menu-active .x-btn-center {
	BACKGROUND: url(../images/default/toolbar/tb-btn-sprite.gif) repeat-x =
0px -105px
}
.x-toolbar .ytb-text {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
PADDING-TOP: 2px
}
.x-toolbar .ytb-sep {
	BACKGROUND-IMAGE: url(../images/default/grid/grid-split.gif); =
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 2px; WIDTH: 4px; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
center 50%; HEIGHT: 16px; FONT-SIZE: 1px; OVERFLOW: hidden; BORDER-TOP: =
0px; CURSOR: default; BORDER-RIGHT: 0px
}
.x-toolbar .ytb-spacer {
	WIDTH: 2px
}
.mso .x-toolbar .ytb-sep {
	BACKGROUND-IMAGE: url(../images/default/grid/grid-blue-split.gif)
}
.x-grid-mso .x-toolbar .ytb-sep {
	BACKGROUND-IMAGE: url(../images/default/grid/grid-blue-split.gif)
}
.ext-ie .x-toolbar .x-form-field-wrap {
	PADDING-BOTTOM: 1px
}
.ext-ie .x-toolbar .x-form-field-wrap .x-form-trigger {
	TOP: 1px
}
.x-grid-page-number {
	WIDTH: 24px; HEIGHT: 14px
}
.x-grid-page-first .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/page-first.gif)
}
.x-grid-loading .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/done.gif)
}
.x-grid-page-last .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/page-last.gif)
}
.x-grid-page-next .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/page-next.gif)
}
.x-grid-page-prev .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/page-prev.gif)
}
.x-item-disabled .x-grid-loading .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/loading.gif)
}
.x-item-disabled .x-grid-page-first .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/page-first-disabled.gif)
}
.x-item-disabled .x-grid-page-last .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/page-last-disabled.gif)
}
.x-item-disabled .x-grid-page-next .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/page-next-disabled.gif)
}
.x-item-disabled .x-grid-page-prev .x-btn-text {
	BACKGROUND-IMAGE: url(../images/default/grid/page-prev-disabled.gif)
}
.x-paging-info {
	POSITION: absolute; COLOR: #15428b; TOP: 8px; RIGHT: 8px
}
.x-resizable-handle {
	Z-INDEX: 100; POSITION: absolute; FILTER: alpha(opacity=3D0); =
LINE-HEIGHT: 6px; ZOOM: 1; BACKGROUND: white; FONT-SIZE: 1px; OVERFLOW: =
hidden; opacity: 0
}
.x-resizable-handle-east {
	WIDTH: 6px; HEIGHT: 100%; TOP: 0px; CURSOR: e-resize; RIGHT: 0px
}
.ext-ie .x-resizable-handle-east {
	MARGIN-RIGHT: -1px
}
.x-resizable-handle-south {
	WIDTH: 100%; BOTTOM: 0px; HEIGHT: 6px; CURSOR: s-resize; LEFT: 0px
}
.ext-ie .x-resizable-handle-south {
	MARGIN-BOTTOM: -1px
}
.x-resizable-handle-west {
	WIDTH: 6px; HEIGHT: 100%; TOP: 0px; CURSOR: w-resize; LEFT: 0px
}
.x-resizable-handle-north {
	WIDTH: 100%; HEIGHT: 6px; TOP: 0px; CURSOR: n-resize; LEFT: 0px
}
.x-resizable-handle-southeast {
	Z-INDEX: 101; WIDTH: 6px; BOTTOM: 0px; HEIGHT: 6px; CURSOR: se-resize; =
RIGHT: 0px
}
.x-resizable-handle-northwest {
	Z-INDEX: 101; WIDTH: 6px; HEIGHT: 6px; TOP: 0px; CURSOR: nw-resize; =
LEFT: 0px
}
.x-resizable-handle-northeast {
	Z-INDEX: 101; WIDTH: 6px; HEIGHT: 6px; TOP: 0px; CURSOR: ne-resize; =
RIGHT: 0px
}
.x-resizable-handle-southwest {
	Z-INDEX: 101; WIDTH: 6px; BOTTOM: 0px; HEIGHT: 6px; CURSOR: sw-resize; =
LEFT: 0px
}
.x-resizable-over .x-resizable-handle {
	FILTER: alpha(opacity=3D100); opacity: 1
}
.x-resizable-pinned .x-resizable-handle {
	FILTER: alpha(opacity=3D100); opacity: 1
}
.x-resizable-over .x-resizable-handle-east {
	BACKGROUND: url(../images/default/sizer/e-handle.gif) left 50%
}
.x-resizable-pinned .x-resizable-handle-east {
	BACKGROUND: url(../images/default/sizer/e-handle.gif) left 50%
}
.x-resizable-over .x-resizable-handle-west {
	BACKGROUND: url(../images/default/sizer/e-handle.gif) left 50%
}
.x-resizable-pinned .x-resizable-handle-west {
	BACKGROUND: url(../images/default/sizer/e-handle.gif) left 50%
}
.x-resizable-over .x-resizable-handle-south {
	BACKGROUND: url(../images/default/sizer/s-handle.gif) 50% top
}
.x-resizable-pinned .x-resizable-handle-south {
	BACKGROUND: url(../images/default/sizer/s-handle.gif) 50% top
}
.x-resizable-over .x-resizable-handle-north {
	BACKGROUND: url(../images/default/sizer/s-handle.gif) 50% top
}
.x-resizable-pinned .x-resizable-handle-north {
	BACKGROUND: url(../images/default/sizer/s-handle.gif) 50% top
}
.x-resizable-over .x-resizable-handle-southeast {
	BACKGROUND: url(../images/default/sizer/se-handle.gif) left top
}
.x-resizable-pinned .x-resizable-handle-southeast {
	BACKGROUND: url(../images/default/sizer/se-handle.gif) left top
}
.x-resizable-over .x-resizable-handle-northwest {
	BACKGROUND: url(../images/default/sizer/nw-handle.gif) right bottom
}
.x-resizable-pinned .x-resizable-handle-northwest {
	BACKGROUND: url(../images/default/sizer/nw-handle.gif) right bottom
}
.x-resizable-over .x-resizable-handle-northeast {
	BACKGROUND: url(../images/default/sizer/ne-handle.gif) left bottom
}
.x-resizable-pinned .x-resizable-handle-northeast {
	BACKGROUND: url(../images/default/sizer/ne-handle.gif) left bottom
}
.x-resizable-over .x-resizable-handle-southwest {
	BACKGROUND: url(../images/default/sizer/sw-handle.gif) right top
}
.x-resizable-pinned .x-resizable-handle-southwest {
	BACKGROUND: url(../images/default/sizer/sw-handle.gif) right top
}
.x-resizable-proxy {
	Z-INDEX: 50000; BORDER-BOTTOM: #6593cf 1px dashed; POSITION: absolute; =
BORDER-LEFT: #6593cf 1px dashed; VISIBILITY: hidden; OVERFLOW: hidden; =
BORDER-TOP: #6593cf 1px dashed; TOP: 0px; BORDER-RIGHT: #6593cf 1px =
dashed; LEFT: 0px
}
.x-resizable-overlay {
	Z-INDEX: 200000; POSITION: absolute; FILTER: alpha(opacity=3D0); WIDTH: =
100%; DISPLAY: none; BACKGROUND: white; HEIGHT: 100%; TOP: 0px; LEFT: =
0px; -moz-opacity: 0; opacity: 0
}
.x-grid {
	POSITION: relative; BACKGROUND: #fff; OVERFLOW: hidden
}
.x-grid-scroller {
	OVERFLOW: auto
}
.x-grid-viewport {
	Z-INDEX: 2; POSITION: absolute; VISIBILITY: hidden; OVERFLOW: hidden; =
TOP: 0px; LEFT: 0px
}
.x-grid-locked {
	Z-INDEX: 2; POSITION: absolute; VISIBILITY: hidden; OVERFLOW: hidden; =
TOP: 0px; LEFT: 0px
}
.x-grid-cell-inner {
	TEXT-OVERFLOW: ellipsis; OVERFLOW: hidden; -o-text-overflow: ellipsis
}
.x-grid-hd-inner {
	TEXT-OVERFLOW: ellipsis; OVERFLOW: hidden; -o-text-overflow: ellipsis
}
.x-grid-hd-row TD {
	FONT: 11px/13px arial, tahoma, helvetica, sans-serif; WHITE-SPACE: =
nowrap; VERTICAL-ALIGN: top; -moz-outline: none; -moz-user-focus: normal
}
.x-grid-row TD {
	FONT: 11px/13px arial, tahoma, helvetica, sans-serif; WHITE-SPACE: =
nowrap; VERTICAL-ALIGN: top; -moz-outline: none; -moz-user-focus: normal
}
.x-grid-hd-row TD {
	LINE-HEIGHT: 14px
}
.x-grid-col {
	BORDER-BOTTOM: #ebebeb 1px solid; BORDER-RIGHT: #ebebeb 1px solid
}
.x-grid-locked .x-grid-body TD {
	BORDER-BOTTOM: #deecfd 1px solid; BACKGROUND: #fbfdff; BORDER-RIGHT: =
#deecfd 1px solid
}
.x-grid-locked .x-grid-body TD .x-grid-cell-inner {
	BORDER-TOP: 0px
}
.x-grid-locked .x-grid-row-alt TD {
	BACKGROUND: #f5fafe
}
.x-grid-locked .x-grid-header TABLE {
	BORDER-RIGHT: transparent 1px solid
}
.x-grid-locked .x-grid-body TABLE {
	BORDER-RIGHT: #c3daf9 1px solid
}
.x-grid-locked .x-grid-body TD .x-grid-cell-inner {
=09
}
.x-grid-row {
	CURSOR: default
}
.x-grid-row-alt {
	BACKGROUND: #f1f1f1
}
.x-grid-row-over TD {
	BACKGROUND: #d9e8fb
}
.x-grid-resize-proxy {
	Z-INDEX: 7; BORDER-BOTTOM: 0px; POSITION: absolute; BORDER-LEFT: 0px; =
WIDTH: 3px; BACKGROUND: #cccccc; HEIGHT: 100px; VISIBILITY: hidden; =
OVERFLOW: hidden; BORDER-TOP: 0px; TOP: 0px; CURSOR: col-resize; =
BORDER-RIGHT: 0px
}
.x-grid-focus {
	POSITION: absolute; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; TOP: 0px; -moz-user-select: normal; =
-khtml-user-select: normal; -moz-outline: 0 none
}
.x-grid-header {
	POSITION: relative; WIDTH: 100%; BACKGROUND: =
url(../images/default/grid/grid-hrow.gif) #ebeadb repeat-x; OVERFLOW: =
hidden; CURSOR: default
}
.x-grid-hd-row {
	HEIGHT: 22px
}
.x-grid-hd {
	PADDING-RIGHT: 1px
}
.x-grid-hd-over .x-grid-hd-inner {
	BORDER-BOTTOM: #c3daf9 1px solid
}
.x-grid-hd-over .x-grid-hd-text {
	BORDER-BOTTOM: #b3cae9 1px solid; PADDING-BOTTOM: 1px; BACKGROUND: =
url(../images/default/grid/grid-hrow.gif) #fafafa repeat-x 0px 1px
}
.x-grid-sort-icon {
	WIDTH: 13px; DISPLAY: none; BACKGROUND-REPEAT: no-repeat; HEIGHT: 4px; =
MARGIN-LEFT: 3px; VERTICAL-ALIGN: middle
}
.x-grid-header .sort-asc .x-grid-sort-icon {
	BACKGROUND-IMAGE: url(../images/default/grid/sort_asc.gif); DISPLAY: =
inline
}
.x-grid-header .sort-desc .x-grid-sort-icon {
	BACKGROUND-IMAGE: url(../images/default/grid/sort_desc.gif); DISPLAY: =
inline
}
.x-grid-body {
	POSITION: relative; WIDTH: 100%; ZOOM: 1; OVERFLOW: hidden
}
.x-grid-cell-text {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; DISPLAY: =
block; COLOR: black; PADDING-TOP: 3px; -moz-user-select: none; =
-khtml-user-select: none
}
.x-grid-hd-text {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; DISPLAY: =
block; COLOR: black; PADDING-TOP: 3px; -moz-user-select: none; =
-khtml-user-select: none
}
.x-grid-hd-text {
	PADDING-TOP: 4px
}
.x-grid-split {
	BACKGROUND-IMAGE: url(../images/default/grid/grid-split.gif); Z-INDEX: =
3; POSITION: absolute; WIDTH: 6px; DISPLAY: block; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: center 50%; HEIGHT: 16px; FONT-SIZE: =
1px; OVERFLOW: hidden; TOP: 2px; CURSOR: col-resize
}
.x-grid-hd-text {
	COLOR: #15428b
}
.x-dd-drag-proxy .x-grid-hd-inner {
	WIDTH: 120px; BACKGROUND: url(../images/default/grid/grid-hrow.gif) =
#ebeadb repeat-x; HEIGHT: 22px
}
.col-move-top {
	Z-INDEX: 20000; POSITION: absolute; LINE-HEIGHT: 1px; WIDTH: 9px; =
HEIGHT: 9px; VISIBILITY: hidden; FONT-SIZE: 1px; OVERFLOW: hidden; TOP: =
0px
}
.col-move-bottom {
	Z-INDEX: 20000; POSITION: absolute; LINE-HEIGHT: 1px; WIDTH: 9px; =
HEIGHT: 9px; VISIBILITY: hidden; FONT-SIZE: 1px; OVERFLOW: hidden; TOP: =
0px
}
.col-move-top {
	BACKGROUND: url(../images/default/grid/col-move-top.gif) no-repeat left =
top
}
.col-move-bottom {
	BACKGROUND: url(../images/default/grid/col-move-bottom.gif) no-repeat =
left top
}
.x-grid-row-selected TD {
	BACKGROUND-COLOR: #316ac5 !important; COLOR: white
}
.x-grid-locked .x-grid-row-selected TD {
	BACKGROUND-COLOR: #316ac5 !important; COLOR: white
}
.x-grid-row-selected SPAN {
	COLOR: white !important
}
.x-grid-row-selected B {
	COLOR: white !important
}
.x-grid-row-selected DIV {
	COLOR: white !important
}
.x-grid-row-selected STRONG {
	COLOR: white !important
}
.x-grid-row-selected I {
	COLOR: white !important
}
.x-grid-row-selected .x-grid-cell-text {
	COLOR: white
}
.x-grid-cell-selected {
	BACKGROUND-COLOR: #316ac5 !important; COLOR: white
}
.x-grid-cell-selected SPAN {
	COLOR: white !important
}
.x-grid-cell-selected .x-grid-cell-text {
	COLOR: white
}
.x-grid-locked TD.x-grid-row-marker {
	BORDER-BOTTOM: medium none; TEXT-ALIGN: center; PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: =
url(../images/default/grid/grid-hrow.gif) #ebeadb repeat-x 0px bottom; =
COLOR: black; VERTICAL-ALIGN: middle !important; BORDER-TOP: white 1px =
solid; BORDER-RIGHT: #6fa0df 1px solid; PADDING-TOP: 0px
}
.x-grid-locked .x-grid-row-selected TD.x-grid-row-marker {
	BORDER-BOTTOM: medium none; TEXT-ALIGN: center; PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: =
url(../images/default/grid/grid-hrow.gif) #ebeadb repeat-x 0px bottom; =
COLOR: black; VERTICAL-ALIGN: middle !important; BORDER-TOP: white 1px =
solid; BORDER-RIGHT: #6fa0df 1px solid; PADDING-TOP: 0px
}
.x-grid-locked TD.x-grid-row-marker DIV {
	TEXT-ALIGN: center; PADDING-BOTTOM: 0px; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; COLOR: #15428b !important; PADDING-TOP: 0px
}
.x-grid-locked .x-grid-row-selected TD.x-grid-row-marker DIV {
	TEXT-ALIGN: center; PADDING-BOTTOM: 0px; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; COLOR: #15428b !important; PADDING-TOP: 0px
}
.x-grid-dirty-cell {
	BACKGROUND: url(../images/default/grid/dirty.gif) no-repeat 0px 0px
}
.x-grid-topbar {
	POSITION: relative; ZOOM: 1; DISPLAY: none; FONT: 11px arial, tahoma, =
helvetica, sans-serif; OVERFLOW: hidden
}
.x-grid-bottombar {
	POSITION: relative; ZOOM: 1; DISPLAY: none; FONT: 11px arial, tahoma, =
helvetica, sans-serif; OVERFLOW: hidden
}
.x-grid-topbar .x-toolbar {
	BORDER-RIGHT: 0px
}
.x-grid-bottombar .x-toolbar {
	BORDER-BOTTOM: 0px; BORDER-TOP: #a9bfd3 1px solid; BORDER-RIGHT: 0px
}
.x-props-grid .x-grid-cell-selected .x-grid-cell-text {
	BACKGROUND-COLOR: #316ac5 !important
}
.x-props-grid .x-grid-col-value .x-grid-cell-text {
	BACKGROUND-COLOR: white
}
.x-props-grid .x-grid-col-name {
	BACKGROUND-COLOR: #c3daf9
}
.x-props-grid .x-grid-col-name .x-grid-cell-text {
	BACKGROUND-COLOR: white; MARGIN-LEFT: 10px
}
.x-props-grid .x-grid-split-value {
	VISIBILITY: hidden
}
.xg-hmenu-sort-asc .x-menu-item-icon {
	BACKGROUND-IMAGE: url(../images/default/grid/hmenu-asc.gif)
}
.xg-hmenu-sort-desc .x-menu-item-icon {
	BACKGROUND-IMAGE: url(../images/default/grid/hmenu-desc.gif)
}
.xg-hmenu-lock .x-menu-item-icon {
	BACKGROUND-IMAGE: url(../images/default/grid/hmenu-lock.gif)
}
.xg-hmenu-unlock .x-menu-item-icon {
	BACKGROUND-IMAGE: url(../images/default/grid/hmenu-unlock.gif)
}
.x-dd-drag-ghost .x-grid-dd-wrap {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 1px; PADDING-RIGHT: 3px; =
PADDING-TOP: 1px
}
.x-layout-container {
	BACKGROUND-COLOR: #c3daf9; WIDTH: 100%; HEIGHT: 100%; OVERFLOW: hidden
}
.x-layout-container .x-layout-tabs-body {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
.x-layout-collapsed {
	Z-INDEX: 20; BORDER-BOTTOM: #98c0f4 1px solid; POSITION: absolute; =
BORDER-LEFT: #98c0f4 1px solid; BACKGROUND-COLOR: #c3daf9; WIDTH: 20px; =
HEIGHT: 20px; VISIBILITY: hidden; OVERFLOW: hidden; BORDER-TOP: #98c0f4 =
1px solid; TOP: -10000px; BORDER-RIGHT: #98c0f4 1px solid; LEFT: =
-10000px
}
.ext-border-box .x-layout-collapsed {
	WIDTH: 22px; HEIGHT: 22px
}
.x-layout-collapsed-over {
	BACKGROUND-COLOR: #d9e8fb; CURSOR: pointer
}
.x-layout-collapsed-west .x-layout-collapsed-tools {
	POSITION: absolute; WIDTH: 20px; HEIGHT: 20px; TOP: 0px; LEFT: 0px
}
.x-layout-collapsed-east .x-layout-collapsed-tools {
	POSITION: absolute; WIDTH: 20px; HEIGHT: 20px; TOP: 0px; LEFT: 0px
}
.x-layout-collapsed-north .x-layout-collapsed-tools {
	POSITION: absolute; WIDTH: 20px; HEIGHT: 20px; TOP: 0px; RIGHT: 0px
}
.x-layout-collapsed-south .x-layout-collapsed-tools {
	POSITION: absolute; WIDTH: 20px; HEIGHT: 20px; TOP: 0px; RIGHT: 0px
}
.x-layout-collapsed .x-layout-tools-button {
	MARGIN: 0px
}
.x-layout-collapsed .x-layout-tools-button-inner {
	WIDTH: 16px; HEIGHT: 16px
}
.x-layout-inactive-content {
	POSITION: absolute; VISIBILITY: hidden; TOP: -10000px; LEFT: -10000px
}
.x-layout-active-content {
	VISIBILITY: visible
}
.x-layout-panel {
	BORDER-BOTTOM: #98c0f4 1px solid; POSITION: absolute; BORDER-LEFT: =
#98c0f4 1px solid; BACKGROUND-COLOR: white; OVERFLOW: hidden; =
BORDER-TOP: #98c0f4 1px solid; BORDER-RIGHT: #98c0f4 1px solid
}
.x-layout-panel-east {
	Z-INDEX: 10
}
.x-layout-panel-west {
	Z-INDEX: 10
}
.x-layout-panel-north {
	Z-INDEX: 11
}
.x-layout-panel-south {
	Z-INDEX: 11
}
.x-layout-collapsed-north {
	Z-INDEX: 12
}
.x-layout-collapsed-south {
	Z-INDEX: 12
}
.x-layout-collapsed-east {
	Z-INDEX: 12
}
.x-layout-collapsed-west {
	Z-INDEX: 12
}
.x-layout-panel-body {
	OVERFLOW: hidden
}
.x-layout-grid-wrapper {
=09
}
.x-layout-split {
	Z-INDEX: 3; POSITION: absolute; LINE-HEIGHT: 1px; BACKGROUND-COLOR: =
#c3daf9; WIDTH: 5px; HEIGHT: 5px; FONT-SIZE: 1px
}
.x-layout-panel-hd {
	BACKGROUND-IMAGE: =
url(../images/default/layout/panel-title-light-bg.gif); BORDER-BOTTOM: =
#98c0f4 1px solid; POSITION: relative; COLOR: black
}
.x-layout-panel-hd-text {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; DISPLAY: =
block; FONT: 11px tahoma, verdana, helvetica; WHITE-SPACE: nowrap; =
PADDING-TOP: 4px
}
.x-layout-panel-hd-tools {
	POSITION: absolute; TEXT-ALIGN: right; WIDTH: 60px; PADDING-RIGHT: 2px; =
TOP: 0px; RIGHT: 0px; PADDING-TOP: 2px
}
.x-layout-tools-button {
	Z-INDEX: 6; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
FLOAT: right; CURSOR: pointer; PADDING-TOP: 2px
}
.x-layout-tools-button-over {
	BORDER-BOTTOM: #98c0f4 1px solid; BORDER-LEFT: #98c0f4 1px solid; =
PADDING-BOTTOM: 1px; BACKGROUND-COLOR: white; PADDING-LEFT: 1px; =
PADDING-RIGHT: 1px; BORDER-TOP: #98c0f4 1px solid; BORDER-RIGHT: #98c0f4 =
1px solid; PADDING-TOP: 1px
}
.x-layout-tools-button-inner {
	LINE-HEIGHT: 1px; WIDTH: 12px; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: center 50%; HEIGHT: 12px; FONT-SIZE: 1px
}
.x-layout-close {
	BACKGROUND-IMAGE: url(../images/default/layout/panel-close.gif)
}
.x-layout-stick {
	BACKGROUND-IMAGE: url(../images/default/layout/stick.gif)
}
.x-layout-collapse-west {
	BACKGROUND-IMAGE: url(../images/default/layout/collapse.gif)
}
.x-layout-expand-east {
	BACKGROUND-IMAGE: url(../images/default/layout/collapse.gif)
}
.x-layout-expand-west {
	BACKGROUND-IMAGE: url(../images/default/layout/expand.gif)
}
.x-layout-collapse-east {
	BACKGROUND-IMAGE: url(../images/default/layout/expand.gif)
}
.x-layout-collapse-north {
	BACKGROUND-IMAGE: url(../images/default/layout/ns-collapse.gif)
}
.x-layout-expand-south {
	BACKGROUND-IMAGE: url(../images/default/layout/ns-collapse.gif)
}
.x-layout-expand-north {
	BACKGROUND-IMAGE: url(../images/default/layout/ns-expand.gif)
}
.x-layout-collapse-south {
	BACKGROUND-IMAGE: url(../images/default/layout/ns-expand.gif)
}
.x-layout-split-h {
	BACKGROUND-IMAGE: url(../images/default/sizer/e-handle.gif); =
BACKGROUND-POSITION: left 50%
}
.x-layout-split-v {
	BACKGROUND-IMAGE: url(../images/default/sizer/s-handle.gif); =
BACKGROUND-POSITION: 50% top
}
.x-layout-panel .x-tabs-wrap {
	BACKGROUND: url(../images/default/layout/gradient-bg.gif)
}
.x-layout-panel .x-tabs-body {
	BACKGROUND-COLOR: white; HEIGHT: 100%; OVERFLOW: auto
}
.x-layout-component-panel {
	POSITION: relative; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: =
200px; PADDING-RIGHT: 0px; HEIGHT: 200px; OVERFLOW: hidden; PADDING-TOP: =
0px
}
.x-layout-nested-layout {
	POSITION: relative; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: =
200px; PADDING-RIGHT: 0px; HEIGHT: 200px; OVERFLOW: hidden; PADDING-TOP: =
0px
}
.x-layout-nested-layout .x-layout-panel {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
.x-layout-nested-layout .x-layout-panel-north {
	BORDER-BOTTOM: #98c0f4 1px solid
}
.x-layout-nested-layout .x-layout-panel-south {
	BORDER-TOP: #98c0f4 1px solid
}
.x-layout-nested-layout .x-layout-panel-east {
	BORDER-LEFT: #98c0f4 1px solid
}
.x-layout-nested-layout .x-layout-panel-west {
	BORDER-RIGHT: #98c0f4 1px solid
}
.x-layout-panel-dragover {
	BORDER-BOTTOM: #6593cf 2px solid; BORDER-LEFT: #6593cf 2px solid; =
BORDER-TOP: #6593cf 2px solid; BORDER-RIGHT: #6593cf 2px solid
}
.x-layout-panel-proxy {
	BACKGROUND-IMAGE: url(../images/default/layout/gradient-bg.gif); =
Z-INDEX: 10001; BORDER-BOTTOM: #6593cf 1px dashed; POSITION: absolute; =
BORDER-LEFT: #6593cf 1px dashed; BACKGROUND-COLOR: #c3daf9; OVERFLOW: =
hidden; BORDER-TOP: #6593cf 1px dashed; TOP: 0px; BORDER-RIGHT: #6593cf =
1px dashed; LEFT: 0px
}
.x-layout-slider {
	Z-INDEX: 15; POSITION: absolute; OVERFLOW: hidden
}
.x-scroller-up {
	BORDER-BOTTOM: #6593cf 1px solid; BORDER-LEFT: #fff 1px solid; =
LINE-HEIGHT: 16px; BACKGROUND-COLOR: #c3daf9; OVERFLOW: hidden; =
BORDER-TOP: #fff 1px solid; CURSOR: pointer; BORDER-RIGHT: 0px
}
.x-scroller-down {
	BORDER-BOTTOM: #6593cf 1px solid; BORDER-LEFT: #fff 1px solid; =
LINE-HEIGHT: 16px; BACKGROUND-COLOR: #c3daf9; OVERFLOW: hidden; =
BORDER-TOP: #fff 1px solid; CURSOR: pointer; BORDER-RIGHT: 0px
}
.x-scroller-down {
	BORDER-BOTTOM: 0px; BORDER-TOP: #6593cf 1px solid
}
.x-scroller-btn-over {
	BACKGROUND-COLOR: #d9e8f8
}
.x-scroller-btn-click {
	BACKGROUND-COLOR: #aecef7
}
.x-scroller-btn-disabled {
	FILTER: alpha(opacity=3D30); BACKGROUND-COLOR: #c3daf9; CURSOR: =
default; -moz-opacity: 0.3; opacity: .30
}
.x-reader .x-layout-panel-north {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
.x-reader .x-layout-panel-center {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
.x-reader .x-layout-nested-layout .x-layout-panel-center {
	BORDER-BOTTOM: #99bbe8 1px solid; BORDER-LEFT: #99bbe8 1px solid; =
BORDER-TOP: 0px; BORDER-RIGHT: #99bbe8 1px solid
}
.x-reader .x-layout-nested-layout .x-layout-panel-south {
	BORDER-BOTTOM: #99bbe8 1px solid; BORDER-LEFT: #99bbe8 1px solid; =
BORDER-TOP: #99bbe8 1px solid; BORDER-RIGHT: #99bbe8 1px solid
}
.x-dlg-proxy {
	BACKGROUND-IMAGE: url(../images/default/gradient-bg.gif); Z-INDEX: =
10001; BORDER-BOTTOM: #6593cf 1px solid; POSITION: absolute; =
BORDER-LEFT: #6593cf 1px solid; BACKGROUND-COLOR: #c3daf9; OVERFLOW: =
hidden; BORDER-TOP: #6593cf 1px solid; TOP: 0px; BORDER-RIGHT: #6593cf =
1px solid; LEFT: 0px
}
.x-dlg-shadow {
	POSITION: absolute; BACKGROUND: #aaaaaa; TOP: 0px; LEFT: 0px
}
.x-dlg-focus {
	POSITION: absolute; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; WIDTH: 0px; HEIGHT: 0px; OVERFLOW: hidden; TOP: 0px; =
LEFT: 0px; -moz-outline: 0 none
}
.x-dlg-mask {
	Z-INDEX: 10000; POSITION: absolute; FILTER: alpha(opacity=3D50); =
BACKGROUND-COLOR: #ccc; DISPLAY: none; TOP: 0px; LEFT: 0px; =
-moz-opacity: 0.5; opacity: .50
}
BODY.x-body-masked SELECT {
	VISIBILITY: hidden
}
BODY.x-body-masked .x-dlg SELECT {
	VISIBILITY: visible
}
.x-dlg {
	Z-INDEX: 10001; POSITION: absolute; OVERFLOW: hidden; TOP: 0px
}
.x-dlg .x-dlg-hd {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT: bold =
12px "sans serif", tahoma, verdana, helvetica; WHITE-SPACE: nowrap; =
BACKGROUND: url(images/basic-dialog/hd-sprite.gif) navy repeat-x 0px =
-82px; COLOR: #fff; OVERFLOW: hidden; PADDING-TOP: 5px
}
.x-dlg .x-dlg-hd-left {
	MARGIN: 0px; PADDING-LEFT: 3px; BACKGROUND: =
url(images/basic-dialog/hd-sprite.gif) no-repeat 0px -41px
}
.x-dlg .x-dlg-hd-right {
	PADDING-RIGHT: 3px; BACKGROUND: url(images/basic-dialog/hd-sprite.gif) =
no-repeat right 0px
}
.x-dlg .x-dlg-dlg-body {
	Z-INDEX: 1; BORDER-BOTTOM: #6593cf 1px solid; POSITION: absolute; =
BORDER-LEFT: #6593cf 1px solid; PADDING-BOTTOM: 10px; PADDING-LEFT: =
10px; PADDING-RIGHT: 10px; BACKGROUND: =
url(../images/default/layout/gradient-bg.gif); OVERFLOW: hidden; =
BORDER-TOP: 0px; TOP: 24px; BORDER-RIGHT: #6593cf 1px solid; =
PADDING-TOP: 10px; LEFT: 0px
}
.x-dlg-collapsed .x-resizable-handle {
	DISPLAY: none
}
.x-dlg .x-dlg-bd {
	OVERFLOW: hidden
}
.x-dlg .x-dlg-ft {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; OVERFLOW: =
hidden; PADDING-TOP: 5px
}
.x-dlg .x-tabs-body {
	BACKGROUND: white; OVERFLOW: auto
}
.x-dlg .x-tabs-top .x-tabs-body {
	BORDER-BOTTOM: #6593cf 1px solid; BORDER-LEFT: #6593cf 1px solid; =
BORDER-TOP: 0px; BORDER-RIGHT: #6593cf 1px solid
}
.x-dlg .x-tabs-bottom .x-tabs-body {
	BORDER-BOTTOM: 0px; BORDER-LEFT: #6593cf 1px solid; BORDER-TOP: #6593cf =
1px solid; BORDER-RIGHT: #6593cf 1px solid
}
.x-dlg .x-layout-container .x-tabs-body {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
.x-dlg .inner-tab {
	MARGIN: 5px
}
.x-dlg .x-dlg-ft .x-btn {
	FLOAT: right; CLEAR: none; MARGIN-RIGHT: 5px
}
.x-dlg .x-dlg-ft .x-dlg-btns TD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px; PADDING-TOP: 0px
}
.x-dlg .x-dlg-ft .x-dlg-btns-right TABLE {
	FLOAT: right; CLEAR: none
}
.x-dlg .x-dlg-ft .x-dlg-btns-left TABLE {
	FLOAT: left; CLEAR: none
}
.x-dlg .x-dlg-ft .x-dlg-btns-center {
	TEXT-ALIGN: center
}
.x-dlg .x-dlg-ft .x-dlg-btns-center TABLE {
	MARGIN: 0px auto
}
.x-dlg-draggable .x-dlg-hd {
	CURSOR: move
}
.x-dlg-closable .x-dlg-hd {
	PADDING-RIGHT: 22px
}
.x-dlg-toolbox {
	Z-INDEX: 6; POSITION: absolute; WIDTH: 40px; BACKGROUND: none =
transparent scroll repeat 0% 0%; HEIGHT: 15px; TOP: 4px; CURSOR: =
default; RIGHT: 4px
}
.x-dlg .x-dlg-close {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 1px; MARGIN: 0px 0px 0px 2px; =
PADDING-LEFT: 0px; WIDTH: 15px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; FLOAT: right; HEIGHT: 15px; VISIBILITY: inherit; FONT-SIZE: =
1px; CURSOR: pointer; PADDING-TOP: 0px
}
.x-dlg .x-dlg-collapse {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 1px; MARGIN: 0px 0px 0px 2px; =
PADDING-LEFT: 0px; WIDTH: 15px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; FLOAT: right; HEIGHT: 15px; VISIBILITY: inherit; FONT-SIZE: =
1px; CURSOR: pointer; PADDING-TOP: 0px
}
.x-dlg .x-dlg-close {
	BACKGROUND-IMAGE: url(images/basic-dialog/close.gif)
}
.x-dlg .x-dlg-collapse {
	BACKGROUND-IMAGE: url(images/basic-dialog/collapse.gif)
}
.x-dlg-collapsed .x-dlg-collapse {
	BACKGROUND-IMAGE: url(images/basic-dialog/expand.gif)
}
.x-dlg .x-dlg-close-over {
=09
}
.x-dlg .x-dlg-collapse-over {
=09
}
.x-dlg DIV.x-resizable-handle-east {
	BACKGROUND-IMAGE: url(images/basic-dialog/e-handle.gif); BORDER-BOTTOM: =
0px; BORDER-LEFT: 0px; BACKGROUND-POSITION: right 50%; BORDER-TOP: 0px; =
MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px
}
.x-dlg DIV.x-resizable-handle-south {
	BACKGROUND-IMAGE: url(../images/default/sizer/s-handle-dark.gif); =
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; HEIGHT: 6px; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px
}
.x-dlg DIV.x-resizable-handle-west {
	BACKGROUND-IMAGE: url(images/basic-dialog/e-handle.gif); BORDER-BOTTOM: =
0px; BORDER-LEFT: 0px; BACKGROUND-POSITION: 1px 50%; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px
}
.x-dlg DIV.x-resizable-handle-north {
	BACKGROUND-IMAGE: url(../images/default/s.gif); BORDER-BOTTOM: 0px; =
BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
.x-dlg DIV.x-resizable-handle-northeast {
	BACKGROUND-IMAGE: url(../images/default/s.gif); BORDER-BOTTOM: 0px; =
BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
.ytheme-gray .x-dlg DIV.x-resizable-handle-northeast {
	BACKGROUND-IMAGE: url(../images/default/s.gif); BORDER-BOTTOM: 0px; =
BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
.x-dlg DIV.x-resizable-handle-northwest {
	BACKGROUND-IMAGE: url(../images/default/s.gif); BORDER-BOTTOM: 0px; =
BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
.ytheme-gray .x-dlg DIV.x-resizable-handle-northwest {
	BACKGROUND-IMAGE: url(../images/default/s.gif); BORDER-BOTTOM: 0px; =
BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
.x-dlg DIV.x-resizable-handle-southeast {
	BACKGROUND-IMAGE: url(images/basic-dialog/se-handle.gif); =
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; WIDTH: 8px; BACKGROUND-POSITION: =
right bottom; HEIGHT: 8px; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
.x-dlg DIV.x-resizable-handle-southwest {
	BACKGROUND-IMAGE: url(../images/default/sizer/sw-handle-dark.gif); =
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND-POSITION: right top; =
MARGIN-BOTTOM: 1px; MARGIN-LEFT: 1px; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
#x-msg-box .x-dlg-ft .x-btn {
	MARGIN: 0px 3px; FLOAT: none; CLEAR: none
}
#x-msg-box .x-dlg-bd {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT: 13px =
verdana, tahoma, sans-serif; OVERFLOW: hidden !important; PADDING-TOP: =
5px
}
#x-msg-box .ext-mb-input {
	MARGIN-TOP: 4px; WIDTH: 95%
}
#x-msg-box .ext-mb-textarea {
	MARGIN-TOP: 4px; FONT: 13px verdana, tahoma, sans-serif
}
#x-msg-box .ext-mb-progress-wrap {
	BORDER-BOTTOM: #6593cf 1px solid; BORDER-LEFT: #6593cf 1px solid; =
MARGIN-TOP: 4px; BORDER-TOP: #6593cf 1px solid; BORDER-RIGHT: #6593cf =
1px solid
}
#x-msg-box .ext-mb-progress {
	BACKGROUND: url(../images/default/qtip/bg.gif) #e0e8f3 repeat-x; =
HEIGHT: 18px
}
#x-msg-box .ext-mb-progress-bar {
	BORDER-BOTTOM: #65a1ef 1px solid; WIDTH: 0px; BACKGROUND: #8bb8f3; =
HEIGHT: 18px; OVERFLOW: hidden; BORDER-TOP: #b2d0f7 1px solid; =
BORDER-RIGHT: #65a1ef 1px solid
}
#x-msg-box .x-msg-box-wait {
	LINE-HEIGHT: 18px; PADDING-LEFT: 18px; WIDTH: 300px; DISPLAY: block; =
BACKGROUND: url(../images/default/grid/loading.gif) no-repeat left 50%
}
.x-dd-drag-proxy {
	Z-INDEX: 15000; POSITION: absolute; VISIBILITY: hidden; TOP: 0px; LEFT: =
0px
}
.x-dd-drag-ghost {
	BORDER-BOTTOM: #bbbbbb 1px solid; FILTER: alpha(opacity=3D85); =
BORDER-LEFT: #dddddd 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: =
white; PADDING-LEFT: 20px; PADDING-RIGHT: 3px; FONT: 11px arial, =
helvetica, sans-serif; WHITE-SPACE: nowrap; COLOR: black; BORDER-TOP: =
#dddddd 1px solid; BORDER-RIGHT: #bbbbbb 1px solid; PADDING-TOP: 3px; =
-moz-opacity: 0.85; opacity: .85
}
.x-dd-drag-repair .x-dd-drag-ghost {
	BORDER-BOTTOM: 0px; FILTER: alpha(opacity=3D40); BORDER-LEFT: 0px; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: =
0px; -moz-opacity: 0.4; opacity: .4
}
.x-dd-drag-repair .x-dd-drop-icon {
	VISIBILITY: hidden
}
.x-dd-drop-icon {
	Z-INDEX: 1; POSITION: absolute; BACKGROUND-COLOR: transparent; WIDTH: =
16px; DISPLAY: block; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
center 50%; HEIGHT: 16px; TOP: 3px; LEFT: 3px
}
.x-dd-drop-nodrop .x-dd-drop-icon {
	BACKGROUND-IMAGE: url(../images/default/dd/drop-no.gif)
}
.x-dd-drop-ok .x-dd-drop-icon {
	BACKGROUND-IMAGE: url(../images/default/dd/drop-yes.gif)
}
.x-dd-drop-ok-add .x-dd-drop-icon {
	BACKGROUND-IMAGE: url(../images/default/dd/drop-add.gif)
}
.x-tree-icon {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-ec-icon {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-elbow-line {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-elbow {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-elbow-end {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-elbow-plus {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-elbow-minus {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-elbow-end-plus {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-elbow-end-minus {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 18px; VERTICAL-ALIGN: middle; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-tree-node-collapsed .x-tree-node-icon {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: center 50%; HEIGHT: 18px; =
VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
.x-tree-node-expanded .x-tree-node-icon {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: center 50%; HEIGHT: 18px; =
VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
.x-tree-node-leaf .x-tree-node-icon {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: center 50%; HEIGHT: 18px; =
VERTICAL-ALIGN: middle; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
.x-tree-node-collapsed .x-tree-node-icon {
	BACKGROUND-IMAGE: url(../images/default/tree/folder.gif)
}
.x-tree-node-expanded .x-tree-node-icon {
	BACKGROUND-IMAGE: url(../images/default/tree/folder-open.gif)
}
.x-tree-node-leaf .x-tree-node-icon {
	BACKGROUND-IMAGE: url(../images/default/tree/leaf.gif)
}
.x-tree-noicon .x-tree-node-icon {
	WIDTH: 0px; HEIGHT: 0px
}
.x-tree-node-loading .x-tree-node-icon {
	BACKGROUND-IMAGE: url(../images/default/tree/loading.gif) !important
}
.x-tree-node-loading A SPAN {
	FONT-STYLE: italic; COLOR: #444444
}
.x-tree-lines .x-tree-elbow {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow.gif)
}
.x-tree-lines .x-tree-elbow-plus {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-plus.gif)
}
.x-tree-lines .x-tree-elbow-minus {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-minus.gif)
}
.x-tree-lines .x-tree-elbow-end {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-end.gif)
}
.x-tree-lines .x-tree-elbow-end-plus {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-end-plus.gif)
}
.x-tree-lines .x-tree-elbow-end-minus {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-end-minus.gif)
}
.x-tree-lines .x-tree-elbow-line {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-line.gif)
}
.x-tree-no-lines .x-tree-elbow {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.x-tree-no-lines .x-tree-elbow-plus {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-plus-nl.gif)
}
.x-tree-no-lines .x-tree-elbow-minus {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-minus-nl.gif)
}
.x-tree-no-lines .x-tree-elbow-end {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.x-tree-no-lines .x-tree-elbow-end-plus {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-end-plus-nl.gif)
}
.x-tree-no-lines .x-tree-elbow-end-minus {
	BACKGROUND-IMAGE: url(../images/default/tree/elbow-end-minus-nl.gif)
}
.x-tree-no-lines .x-tree-elbow-line {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.x-tree-elbow-plus {
	CURSOR: pointer
}
.x-tree-elbow-minus {
	CURSOR: pointer
}
.x-tree-elbow-end-plus {
	CURSOR: pointer
}
.x-tree-elbow-end-minus {
	CURSOR: pointer
}
.ext-ie UL.x-tree-node-ct {
	LINE-HEIGHT: 0; FONT-SIZE: 0px
}
.x-tree-node {
	FONT: 11px arial, tahoma, helvetica, sans-serif; WHITE-SPACE: nowrap; =
COLOR: black
}
.x-tree-node A {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: 0px; COLOR: =
black; TEXT-DECORATION: none; -moz-user-select: none; =
-khtml-user-select: none; -moz-outline: 0 none; -moz-user-focus: normal; =
-kthml-user-focus: normal
}
.x-dd-drag-ghost A {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: 0px; COLOR: =
black; TEXT-DECORATION: none; -moz-user-select: none; =
-khtml-user-select: none; -moz-outline: 0 none; -moz-user-focus: normal; =
-kthml-user-focus: normal
}
.x-tree-node A SPAN {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 2px; PADDING-RIGHT: 3px; COLOR: =
black; TEXT-DECORATION: none; PADDING-TOP: 1px
}
.x-dd-drag-ghost A SPAN {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 2px; PADDING-RIGHT: 3px; COLOR: =
black; TEXT-DECORATION: none; PADDING-TOP: 1px
}
.x-tree-node .x-tree-node-disabled A SPAN {
	COLOR: gray !important
}
.x-tree-node .x-tree-node-disabled .x-tree-node-icon {
	FILTER: alpha(opacity=3D50); -moz-opacity: 0.5; opacity: .5
}
.x-tree-node .x-tree-node-inline-icon {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.x-tree-node A:hover {
	TEXT-DECORATION: none
}
.x-dd-drag-ghost A:hover {
	TEXT-DECORATION: none
}
.x-tree-node DIV.x-tree-drag-insert-below {
	BORDER-BOTTOM: #3366cc 1px dotted
}
.x-tree-node DIV.x-tree-drag-insert-above {
	BORDER-TOP: #3366cc 1px dotted
}
.x-tree-dd-underline .x-tree-node DIV.x-tree-drag-insert-below {
	BORDER-BOTTOM: 0px
}
.x-tree-dd-underline .x-tree-node DIV.x-tree-drag-insert-above {
	BORDER-TOP: 0px
}
.x-tree-dd-underline .x-tree-node DIV.x-tree-drag-insert-below A {
	BORDER-BOTTOM: #3366cc 2px solid
}
.x-tree-dd-underline .x-tree-node DIV.x-tree-drag-insert-above A {
	BORDER-TOP: #3366cc 2px solid
}
.x-tree-node .x-tree-drag-append A SPAN {
	BORDER-BOTTOM: gray 1px dotted; BORDER-LEFT: gray 1px dotted; =
BACKGROUND: #dddddd; BORDER-TOP: gray 1px dotted; BORDER-RIGHT: gray 1px =
dotted
}
.x-tree-node .x-tree-selected A SPAN {
	BACKGROUND: #3366cc; COLOR: white
}
.x-dd-drag-ghost .x-tree-node-indent {
	DISPLAY: none !important
}
.x-dd-drag-ghost .x-tree-ec-icon {
	DISPLAY: none !important
}
.x-tree-drop-ok-append .x-dd-drop-icon {
	BACKGROUND-IMAGE: url(../images/default/tree/drop-add.gif)
}
.x-tree-drop-ok-above .x-dd-drop-icon {
	BACKGROUND-IMAGE: url(../images/default/tree/drop-over.gif)
}
.x-tree-drop-ok-below .x-dd-drop-icon {
	BACKGROUND-IMAGE: url(../images/default/tree/drop-under.gif)
}
.x-tree-drop-ok-between .x-dd-drop-icon {
	BACKGROUND-IMAGE: url(../images/default/tree/drop-between.gif)
}
.x-tip {
	Z-INDEX: 20000; BORDER-BOTTOM: 0px; POSITION: absolute; BORDER-LEFT: =
0px; VISIBILITY: hidden; BORDER-TOP: 0px; TOP: 0px; BORDER-RIGHT: 0px; =
LEFT: 0px
}
.x-tip .x-tip-close {
	BACKGROUND-IMAGE: url(../images/default/qtip/close.gif); MARGIN: 0px =
0px 2px 2px; WIDTH: 15px; DISPLAY: none; FLOAT: right; HEIGHT: 15px; =
CURSOR: pointer
}
.x-tip .x-tip-top {
	BACKGROUND: url(../images/default/qtip/tip-sprite.gif) no-repeat 0px =
-12px; HEIGHT: 6px; OVERFLOW: hidden
}
.x-tip .x-tip-top-left {
	PADDING-LEFT: 6px; ZOOM: 1; BACKGROUND: =
url(../images/default/qtip/tip-sprite.gif) no-repeat 0px 0px
}
.x-tip .x-tip-top-right {
	PADDING-RIGHT: 6px; ZOOM: 1; BACKGROUND: =
url(../images/default/qtip/tip-sprite.gif) no-repeat right 0px
}
.x-tip .x-tip-ft {
	BACKGROUND: url(../images/default/qtip/tip-sprite.gif) no-repeat 0px =
-18px; HEIGHT: 6px; OVERFLOW: hidden
}
.x-tip .x-tip-ft-left {
	PADDING-LEFT: 6px; ZOOM: 1; BACKGROUND: =
url(../images/default/qtip/tip-sprite.gif) no-repeat 0px -6px
}
.x-tip .x-tip-ft-right {
	PADDING-RIGHT: 6px; ZOOM: 1; BACKGROUND: =
url(../images/default/qtip/tip-sprite.gif) no-repeat right -6px
}
.x-tip .x-tip-bd {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; FONT: 11px tahoma, arial, =
helvetica, sans-serif; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
.x-tip .x-tip-bd-left {
	PADDING-LEFT: 6px; ZOOM: 1; BACKGROUND: =
url(../images/default/qtip/tip-sprite.gif) #fff no-repeat 0px -24px
}
.x-tip .x-tip-bd-right {
	PADDING-RIGHT: 6px; ZOOM: 1; BACKGROUND: =
url(../images/default/qtip/tip-sprite.gif) no-repeat right -24px
}
.x-tip H3 {
	PADDING-BOTTOM: 2px; MARGIN: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: =
2px; FONT: bold 12px tahoma, arial, helvetica, sans-serif; COLOR: #222; =
PADDING-TOP: 2px
}
.x-tip .x-tip-bd-inner {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 14px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FLOAT: left; COLOR: #222; PADDING-TOP: 0px
}
.x-form-invalid-tip {
=09
}
.x-form-invalid-tip .x-tip-top {
	BACKGROUND-IMAGE: url(../images/default/form/error-tip-corners.gif)
}
.x-form-invalid-tip .x-tip-top-left {
	BACKGROUND-IMAGE: url(../images/default/form/error-tip-corners.gif)
}
.x-form-invalid-tip .x-tip-top-right {
	BACKGROUND-IMAGE: url(../images/default/form/error-tip-corners.gif)
}
.x-form-invalid-tip .x-tip-ft {
	BACKGROUND-IMAGE: url(../images/default/form/error-tip-corners.gif)
}
.x-form-invalid-tip .x-tip-ft-left {
	BACKGROUND-IMAGE: url(../images/default/form/error-tip-corners.gif)
}
.x-form-invalid-tip .x-tip-ft-right {
	BACKGROUND-IMAGE: url(../images/default/form/error-tip-corners.gif)
}
.x-form-invalid-tip .x-tip-bd-left {
	BACKGROUND-IMAGE: url(../images/default/form/error-tip-corners.gif)
}
.x-form-invalid-tip .x-tip-bd-right {
	BACKGROUND-IMAGE: url(../images/default/form/error-tip-corners.gif)
}
.x-form-invalid-tip .x-tip-bd .x-tip-bd-inner {
	PADDING-LEFT: 24px; BACKGROUND: =
url(../images/default/form/exclamation.gif) no-repeat 2px 2px
}
.x-form-invalid-tip .x-tip-bd-inner {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
PADDING-TOP: 2px
}
.x-date-picker {
	BORDER-BOTTOM: #1b376c 1px solid; BORDER-LEFT: #1b376c 1px solid; =
BACKGROUND: #fff; BORDER-TOP: 0px; BORDER-RIGHT: #1b376c 1px solid
}
.x-date-picker A {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: 0px; =
-moz-outline: 0 none
}
.x-date-inner {
	BORDER-COLLAPSE: separate
}
.x-date-inner TD {
	BORDER-COLLAPSE: separate
}
.x-date-inner TH {
	BORDER-COLLAPSE: separate
}
.x-date-middle {
	FONT: bold 11px "sans serif", tahoma, verdana, helvetica; BACKGROUND: =
url(images/basic-dialog/hd-sprite.gif) repeat-x 0px -83px; COLOR: #fff; =
OVERFLOW: hidden
}
.x-date-left {
	FONT: bold 11px "sans serif", tahoma, verdana, helvetica; BACKGROUND: =
url(images/basic-dialog/hd-sprite.gif) repeat-x 0px -83px; COLOR: #fff; =
OVERFLOW: hidden
}
.x-date-right {
	FONT: bold 11px "sans serif", tahoma, verdana, helvetica; BACKGROUND: =
url(images/basic-dialog/hd-sprite.gif) repeat-x 0px -83px; COLOR: #fff; =
OVERFLOW: hidden
}
.x-date-middle .x-btn-left {
	BACKGROUND: none transparent scroll repeat 0% 0%; VERTICAL-ALIGN: =
middle
}
.x-date-middle .x-btn-center {
	BACKGROUND: none transparent scroll repeat 0% 0%; VERTICAL-ALIGN: =
middle
}
.x-date-middle .x-btn-right {
	BACKGROUND: none transparent scroll repeat 0% 0%; VERTICAL-ALIGN: =
middle
}
.x-date-middle .x-btn .x-btn-text {
	COLOR: #fff
}
.x-date-middle .x-btn-with-menu .x-btn-center EM {
	BACKGROUND: url(../images/default/toolbar/btn-arrow-light.gif) =
no-repeat right 0px
}
.x-date-right {
	WIDTH: 18px
}
.x-date-left {
	WIDTH: 18px
}
.x-date-right {
	TEXT-ALIGN: right
}
.x-date-middle {
	PADDING-BOTTOM: 2px; PADDING-TOP: 2px
}
.x-date-right A {
	FILTER: alpha(opacity=3D60); WIDTH: 16px; DISPLAY: block; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: center 50%; HEIGHT: =
16px; CURSOR: pointer; -moz-opacity: 0.6; opacity: .6
}
.x-date-left A {
	FILTER: alpha(opacity=3D60); WIDTH: 16px; DISPLAY: block; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: center 50%; HEIGHT: =
16px; CURSOR: pointer; -moz-opacity: 0.6; opacity: .6
}
.x-date-right A:hover {
	FILTER: alpha(opacity=3D100); -moz-opacity: 1; opacity: 1
}
.x-date-left A:hover {
	FILTER: alpha(opacity=3D100); -moz-opacity: 1; opacity: 1
}
.x-date-right A {
	BACKGROUND-IMAGE: url(../images/default/shared/right-btn.gif); =
MARGIN-RIGHT: 2px
}
.x-date-left A {
	BACKGROUND-IMAGE: url(../images/default/shared/left-btn.gif); =
MARGIN-LEFT: 2px
}
TABLE.x-date-inner {
	WIDTH: 100%; TABLE-LAYOUT: fixed
}
.x-date-inner TH {
	WIDTH: 25px
}
.x-date-inner TH {
	BORDER-BOTTOM: #a3bad9 1px solid; TEXT-ALIGN: right !important; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
BORDER-COLLAPSE: separate; FONT: 10px arial, helvetica, tahoma, =
sans-serif; BACKGROUND: #c3daf9; COLOR: #233d6d; CURSOR: default; =
PADDING-TOP: 0px
}
.x-date-inner TH SPAN {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 7px; DISPLAY: =
block; PADDING-TOP: 2px
}
.x-date-inner TD {
	BORDER-BOTTOM: #fff 1px solid; TEXT-ALIGN: right; BORDER-LEFT: #fff 1px =
solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
BORDER-TOP: #fff 1px solid; BORDER-RIGHT: #fff 1px solid; PADDING-TOP: =
0px
}
.x-date-inner A {
	TEXT-ALIGN: right; PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; ZOOM: 1; DISPLAY: block; FONT: 11px arial, =
helvetica, tahoma, sans-serif; COLOR: black; TEXT-DECORATION: none; =
PADDING-TOP: 2px
}
.x-date-inner .x-date-active {
	COLOR: black; CURSOR: pointer
}
.x-date-inner .x-date-selected A {
	BORDER-BOTTOM: #a3bad9 1px solid; BORDER-LEFT: #a3bad9 1px solid; =
PADDING-BOTTOM: 1px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; BACKGROUND: =
#ddecfe; BORDER-TOP: #a3bad9 1px solid; BORDER-RIGHT: #a3bad9 1px solid; =
PADDING-TOP: 1px
}
.x-date-inner .x-date-today A {
	BORDER-BOTTOM: darkred 1px solid; BORDER-LEFT: darkred 1px solid; =
PADDING-BOTTOM: 1px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; BORDER-TOP: =
darkred 1px solid; BORDER-RIGHT: darkred 1px solid; PADDING-TOP: 1px
}
.x-date-inner .x-date-selected SPAN {
	FONT-WEIGHT: bold
}
.x-date-inner .x-date-prevday A {
	COLOR: #aaaaaa
}
.x-date-inner .x-date-nextday A {
	COLOR: #aaaaaa
}
.x-date-bottom {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; BACKGROUND: =
#c3daf9; BORDER-TOP: #a3bad9 1px solid; PADDING-TOP: 4px
}
.x-date-inner A:hover {
	BACKGROUND: #ddecfe; COLOR: black; TEXT-DECORATION: none
}
.x-date-inner .x-date-disabled A:hover {
	BACKGROUND: #ddecfe; COLOR: black; TEXT-DECORATION: none
}
.x-date-inner .x-date-disabled A {
	BACKGROUND: #eeeeee; COLOR: #bbbbbb; CURSOR: default
}
.x-date-mmenu {
	BACKGROUND: #eeeeee
}
.x-date-mmenu .x-menu-item {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 4px; PADDING-RIGHT: 24px; =
WHITE-SPACE: nowrap; COLOR: #000; FONT-SIZE: 10px; PADDING-TOP: 1px
}
.x-date-mmenu .x-menu-item .x-menu-item-icon {
	WIDTH: 10px; BACKGROUND-POSITION: center -4px; HEIGHT: 10px; =
MARGIN-RIGHT: 5px
}
.x-menu {
	Z-INDEX: 15000; BORDER-BOTTOM: #8bb8f3 1px solid; BORDER-LEFT: #a3bad9 =
1px solid; BACKGROUND: url(../images/default/menu/menu.gif) #fff =
repeat-y; BORDER-TOP: #a3bad9 1px solid; BORDER-RIGHT: #8bb8f3 1px solid
}
.ext-ie .x-menu {
	ZOOM: 1; OVERFLOW: hidden
}
.x-menu-list {
	BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; BORDER-TOP: =
#fff 1px solid; BORDER-RIGHT: #fff 1px solid
}
.x-menu LI {
	LINE-HEIGHT: 100%
}
.x-menu LI.x-menu-sep-li {
	LINE-HEIGHT: 1px
}
.x-menu-list-item {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; DISPLAY: =
block; FONT: 11px "Segoe UI", tahoma, "Lucida Sans Unicode", arial, =
sans-serif; WHITE-SPACE: nowrap; PADDING-TOP: 1px; -moz-user-select: =
none; -khtml-user-select: none
}
.x-menu-item-arrow {
	BACKGROUND: url(../images/default/menu/menu-parent.gif) no-repeat right =
50%
}
.x-menu-sep {
	MARGIN: 3px 3px 3px 32px; DISPLAY: block; BACKGROUND: #c3daf9; HEIGHT: =
1px; FONT-SIZE: 1px
}
.x-menu-focus {
	POSITION: absolute; LINE-HEIGHT: 1px; WIDTH: 0px; HEIGHT: 0px; TOP: =
-5px; LEFT: 0px
}
.x-menu-item {
	PADDING-BOTTOM: 3px; LINE-HEIGHT: 14px; OUTLINE-STYLE: none; =
OUTLINE-COLOR: invert; PADDING-LEFT: 3px; OUTLINE-WIDTH: 0px; =
PADDING-RIGHT: 21px; DISPLAY: block; WHITE-SPACE: nowrap; COLOR: =
#233d6d; CURSOR: pointer; TEXT-DECORATION: none; PADDING-TOP: 3px; =
-moz-outline: 0 none
}
.x-menu-item-active {
	BORDER-BOTTOM: #8bb8f3 1px solid; BORDER-LEFT: #8bb8f3 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: =
#c3daf9; COLOR: #233d6d; BORDER-TOP: #8bb8f3 1px solid; BORDER-RIGHT: =
#8bb8f3 1px solid; PADDING-TOP: 0px
}
.x-menu-item-icon {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
11px 0px 0px; PADDING-LEFT: 0px; WIDTH: 16px; PADDING-RIGHT: 0px; =
BACKGROUND-POSITION: center 50%; HEIGHT: 16px; VERTICAL-ALIGN: middle; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.x-menu-check-item .x-menu-item-icon {
	BACKGROUND: url(../images/default/menu/unchecked.gif) no-repeat center =
50%
}
.x-menu-item-checked .x-menu-item-icon {
	BACKGROUND-IMAGE: url(../images/default/menu/checked.gif)
}
.x-menu-group-item .x-menu-item-icon {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.x-menu-item-checked .x-menu-group-item .x-menu-item-icon {
	BACKGROUND: url(../images/default/menu/group-checked.gif) no-repeat =
center 50%
}
.x-menu-plain {
	BACKGROUND: #fff
}
.x-menu-date-item {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.x-menu .x-color-palette {
	MARGIN-LEFT: 32px; MARGIN-RIGHT: 4px
}
.x-menu .x-date-picker {
	MARGIN-LEFT: 32px; MARGIN-RIGHT: 4px
}
.x-menu .x-date-picker {
	BORDER-BOTTOM: #a3bad9 1px solid; BORDER-LEFT: #a3bad9 1px solid; =
MARGIN-TOP: 2px; MARGIN-BOTTOM: 2px; BORDER-TOP: #a3bad9 1px solid; =
BORDER-RIGHT: #a3bad9 1px solid
}
.x-menu-plain .x-color-palette {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px
}
.x-menu-plain .x-date-picker {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px
}
.x-box-tl {
	ZOOM: 1; BACKGROUND: url(../images/default/box/corners.gif) no-repeat =
0px 0px
}
.x-box-tc {
	BACKGROUND: url(../images/default/box/tb.gif) repeat-x 0px 0px; HEIGHT: =
8px; OVERFLOW: hidden
}
.x-box-tr {
	BACKGROUND: url(../images/default/box/corners.gif) no-repeat right -8px
}
.x-box-ml {
	PADDING-LEFT: 4px; ZOOM: 1; BACKGROUND: =
url(../images/default/box/l.gif) repeat-y 0px 50%; OVERFLOW: hidden
}
.x-box-mc {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
FONT-FAMILY: "Myriad Pro", "Myriad Web", "Tahoma", "Helvetica", "Arial", =
sans-serif; BACKGROUND: url(../images/default/box/tb.gif) #eee repeat-x =
0px -16px; COLOR: #393939; FONT-SIZE: 12px; PADDING-TOP: 4px
}
.x-box-mc H3 {
	ZOOM: 1; FONT-SIZE: 14px; FONT-WEIGHT: bold
}
.x-box-mr {
	PADDING-RIGHT: 4px; BACKGROUND: url(../images/default/box/r.gif) =
repeat-y right 50%; OVERFLOW: hidden
}
.x-box-bl {
	ZOOM: 1; BACKGROUND: url(../images/default/box/corners.gif) no-repeat =
0px -16px
}
.x-box-bc {
	BACKGROUND: url(../images/default/box/tb.gif) repeat-x 0px -8px; =
HEIGHT: 8px; OVERFLOW: hidden
}
.x-box-br {
	BACKGROUND: url(../images/default/box/corners.gif) no-repeat right =
-24px
}
.x-box-tl {
	PADDING-LEFT: 8px; OVERFLOW: hidden
}
.x-box-bl {
	PADDING-LEFT: 8px; OVERFLOW: hidden
}
.x-box-tr {
	PADDING-RIGHT: 8px; OVERFLOW: hidden
}
.x-box-br {
	PADDING-RIGHT: 8px; OVERFLOW: hidden
}
.x-box-blue .x-box-bl {
	BACKGROUND-IMAGE: url(../images/default/box/corners-blue.gif)
}
.x-box-blue .x-box-br {
	BACKGROUND-IMAGE: url(../images/default/box/corners-blue.gif)
}
.x-box-blue .x-box-tl {
	BACKGROUND-IMAGE: url(../images/default/box/corners-blue.gif)
}
.x-box-blue .x-box-tr {
	BACKGROUND-IMAGE: url(../images/default/box/corners-blue.gif)
}
.x-box-blue .x-box-bc {
	BACKGROUND-IMAGE: url(../images/default/box/tb-blue.gif)
}
.x-box-blue .x-box-mc {
	BACKGROUND-IMAGE: url(../images/default/box/tb-blue.gif)
}
.x-box-blue .x-box-tc {
	BACKGROUND-IMAGE: url(../images/default/box/tb-blue.gif)
}
.x-box-blue .x-box-mc {
	BACKGROUND-COLOR: #c3daf9
}
.x-box-blue .x-box-mc H3 {
	COLOR: #17385b
}
.x-box-blue .x-box-ml {
	BACKGROUND-IMAGE: url(../images/default/box/l-blue.gif)
}
.x-box-blue .x-box-mr {
	BACKGROUND-IMAGE: url(../images/default/box/r-blue.gif)
}
#x-debug-browser .x-tree .x-tree-node A SPAN {
	LINE-HEIGHT: 18px; FONT-FAMILY: "courier", "courier new"; COLOR: =
#222297; FONT-SIZE: 12px; PADDING-TOP: 2px
}
#x-debug-browser .x-tree A I {
	FONT-STYLE: normal; COLOR: #ff4545
}
#x-debug-browser .x-tree A EM {
	COLOR: #999
}
#x-debug-browser .x-tree .x-tree-node .x-tree-selected A SPAN {
	BACKGROUND: #c3daf9
}
#x-debug-browser PRE {
	FONT: 11px tahoma, arial, helvetica, sans-serif; WORD-WRAP: break-word
}
.x-debug-browser PRE XMP {
	FONT: 11px tahoma, arial, helvetica, sans-serif; WORD-WRAP: break-word
}
#x-debug-browser PRE {
	BORDER-BOTTOM: #eeeeee 1px solid; PADDING-BOTTOM: 5px !important; =
PADDING-LEFT: 5px !important; PADDING-RIGHT: 5px !important; DISPLAY: =
block; PADDING-TOP: 5px !important
}
#x-debug-browser PRE XMP {
	PADDING-BOTTOM: 0px !important; MARGIN: 0px; PADDING-LEFT: 0px =
!important; PADDING-RIGHT: 0px !important; PADDING-TOP: 0px !important
}
#x-debug-console .x-layout-panel-center {
	BORDER-RIGHT: #98c0f4 1px solid
}
#x-debug-inspector .x-layout-panel-center {
	BORDER-RIGHT: #98c0f4 1px solid
}
#x-debug-console TEXTAREA {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-LEFT: 4px; FONT-FAMILY: =
"courier", "courier new"; FONT-SIZE: 12px; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 4px
}
.x-debug-frame {
	BORDER-BOTTOM: #aaaaaa 1px dashed; BORDER-LEFT: #aaaaaa 1px dashed; =
BACKGROUND: #eeeeee; BORDER-TOP: #aaaaaa 1px dashed; BORDER-RIGHT: =
#aaaaaa 1px dashed
}
.x-combo-list {
	BORDER-BOTTOM: #98c0f4 1px solid; BORDER-LEFT: #98c0f4 1px solid; ZOOM: =
1; BACKGROUND: #ddecfe; OVERFLOW: hidden; BORDER-TOP: #98c0f4 1px solid; =
BORDER-RIGHT: #98c0f4 1px solid
}
.x-combo-list-inner {
	POSITION: relative; BACKGROUND: white; OVERFLOW: auto
}
.x-combo-list-hd {
	BACKGROUND-IMAGE: =
url(../images/default/layout/panel-title-light-bg.gif); BORDER-BOTTOM: =
#98c0f4 1px solid; PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; FONT: bold 11px tahoma, arial, helvetica, =
sans-serif; COLOR: #15428b; PADDING-TOP: 3px
}
.x-resizable-pinned .x-combo-list-inner {
	BORDER-BOTTOM: #98c0f4 1px solid
}
.x-combo-list-item {
	BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; TEXT-OVERFLOW: ellipsis; =
PADDING-RIGHT: 2px; ZOOM: 1; FONT: 12px tahoma, arial, helvetica, =
sans-serif; WHITE-SPACE: nowrap; OVERFLOW: hidden; BORDER-TOP: #fff 1px =
solid; BORDER-RIGHT: #fff 1px solid; PADDING-TOP: 2px
}
.x-combo-list .x-combo-selected {
	BORDER-BOTTOM: #336699 1px solid; BORDER-LEFT: #336699 1px solid; =
BACKGROUND-COLOR: #c3daf9 !important; BORDER-TOP: #336699 1px solid; =
CURSOR: pointer; BORDER-RIGHT: #336699 1px solid
}
.x-combo-noedit {
	CURSOR: pointer
}

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/js/calendar-green.css

DIV.calendar {
	POSITION: relative
}
.calendar {
	BORDER-BOTTOM: #565 1px solid; BORDER-LEFT: #565 1px solid; =
FONT-FAMILY: tahoma, verdana, sans-serif; BACKGROUND: #e2fdfe; COLOR: =
#000; FONT-SIZE: 11px; BORDER-TOP: #565 1px solid; CURSOR: default; =
BORDER-RIGHT: #565 1px solid
}
.calendar TABLE {
	BORDER-BOTTOM: #565 1px solid; BORDER-LEFT: #565 1px solid; =
FONT-FAMILY: tahoma, verdana, sans-serif; BACKGROUND: #e2fdfe; COLOR: =
#000; FONT-SIZE: 11px; BORDER-TOP: #565 1px solid; CURSOR: default; =
BORDER-RIGHT: #565 1px solid
}
.calendar .button {
	TEXT-ALIGN: center; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; BACKGROUND: #003366; COLOR: #fff; FONT-SIZE: 90%; =
PADDING-TOP: 2px
}
.calendar .nav {
=09
}
.calendar THEAD .title {
	TEXT-ALIGN: center; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; BACKGROUND: #003366; COLOR: #0099ff; FONT-WEIGHT: =
bold; PADDING-TOP: 2px
}
.calendar THEAD .headrow {
=09
}
.calendar THEAD .name {
	BORDER-BOTTOM: #003366 1px solid; TEXT-ALIGN: center; PADDING-BOTTOM: =
2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; COLOR: #000; PADDING-TOP: =
2px
}
.calendar THEAD .weekend {
	COLOR: #a66
}
.calendar THEAD .hilite {
	BORDER-BOTTOM: #0066ff 1px solid; BORDER-LEFT: #0066ff 1px solid; =
PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #00ccff; PADDING-LEFT: 1px; =
PADDING-RIGHT: 1px; COLOR: #333; BORDER-TOP: #0066ff 1px solid; =
BORDER-RIGHT: #0066ff 1px solid; PADDING-TOP: 1px
}
.calendar THEAD .active {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #1266ff; PADDING-LEFT: 2px; =
PADDING-RIGHT: 0px; PADDING-TOP: 2px
}
.calendar THEAD .daynames {
	BACKGROUND: #66ccff
}
.calendar TBODY .day {
	TEXT-ALIGN: right; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 2em; =
PADDING-RIGHT: 4px; COLOR: #6a8db1; PADDING-TOP: 2px
}
.calendar TBODY .othermonth.day {
	COLOR: #fff; FONT-SIZE: 80%
}
.calendar TBODY .oweekend.othermonth.day {
	COLOR: #99ffff
}
.calendar TABLE .wn {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 3px; BACKGROUND: =
#66ccff; BORDER-RIGHT: #8a8 1px solid; PADDING-TOP: 2px
}
.calendar TBODY .rowhilite TD {
	BACKGROUND: #dfd
}
.calendar TBODY .rowhilite TD.wn {
	BACKGROUND: #efe
}
.calendar TBODY TD.hilite {
	BORDER-BOTTOM: #bbb 1px solid; BORDER-LEFT: #bbb 1px solid; =
PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 3px; BACKGROUND: =
#efd; BORDER-TOP: #bbb 1px solid; BORDER-RIGHT: #bbb 1px solid; =
PADDING-TOP: 1px
}
.calendar TBODY TD.active {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: =
#dec; PADDING-TOP: 2px
}
.calendar TBODY TD.selected {
	BORDER-BOTTOM: #699db1 1px solid; BORDER-LEFT: #699db1 1px solid; =
PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 3px; BACKGROUND: =
#6a9db1; COLOR: #000; BORDER-TOP: #699db1 1px solid; FONT-WEIGHT: bold; =
BORDER-RIGHT: #699db1 1px solid; PADDING-TOP: 1px
}
.calendar TBODY TD.weekend {
	COLOR: #a66
}
.calendar TBODY TD.today {
	COLOR: #0a0; FONT-WEIGHT: bold
}
.calendar TBODY .disabled {
	COLOR: #999
}
.calendar TBODY .emptycell {
	VISIBILITY: hidden
}
.calendar TBODY .emptyrow {
	DISPLAY: none
}
.calendar TFOOT .footrow {
	TEXT-ALIGN: center; BACKGROUND: #565; COLOR: #fff
}
.calendar TFOOT .ttip {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BACKGROUND: =
#679db1; COLOR: #efa; PADDING-TOP: 2px
}
.calendar TFOOT .hilite {
	BORDER-BOTTOM: #084 1px solid; BORDER-LEFT: #084 1px solid; =
PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; BACKGROUND: =
#afa; COLOR: #000; BORDER-TOP: #084 1px solid; BORDER-RIGHT: #084 1px =
solid; PADDING-TOP: 1px
}
.calendar TFOOT .active {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; BACKGROUND: =
#7c7; PADDING-TOP: 2px
}
.calendar .combo {
	Z-INDEX: 100; BORDER-BOTTOM: #565 1px solid; POSITION: absolute; =
BORDER-LEFT: #565 1px solid; WIDTH: 4em; DISPLAY: none; BACKGROUND: =
#efd; COLOR: #000; FONT-SIZE: 90%; BORDER-TOP: #565 1px solid; TOP: 0px; =
CURSOR: default; BORDER-RIGHT: #565 1px solid; LEFT: 0px
}
.calendar .combo .label {
	TEXT-ALIGN: center; PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; =
PADDING-RIGHT: 1px; PADDING-TOP: 1px
}
.calendar .combo .label-IEfix {
	TEXT-ALIGN: center; PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; =
PADDING-RIGHT: 1px; PADDING-TOP: 1px
}
.calendar .combo .label-IEfix {
	WIDTH: 4em
}
.calendar .combo .hilite {
	BACKGROUND: #af8
}
.calendar .combo .active {
	BORDER-BOTTOM: #6a4 1px solid; BACKGROUND: #efe; BORDER-TOP: #6a4 1px =
solid; FONT-WEIGHT: bold
}
.calendar TD.time {
	TEXT-ALIGN: center; PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #dfb; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: #8a8 1px solid; =
PADDING-TOP: 1px
}
.calendar TD.time .hour {
	BORDER-BOTTOM: #898 1px solid; BORDER-LEFT: #898 1px solid; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 4px; =
PADDING-RIGHT: 3px; BORDER-TOP: #898 1px solid; FONT-WEIGHT: bold; =
BORDER-RIGHT: #898 1px solid; PADDING-TOP: 0px
}
.calendar TD.time .minute {
	BORDER-BOTTOM: #898 1px solid; BORDER-LEFT: #898 1px solid; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 4px; =
PADDING-RIGHT: 3px; BORDER-TOP: #898 1px solid; FONT-WEIGHT: bold; =
BORDER-RIGHT: #898 1px solid; PADDING-TOP: 0px
}
.calendar TD.time .ampm {
	BORDER-BOTTOM: #898 1px solid; BORDER-LEFT: #898 1px solid; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 4px; =
PADDING-RIGHT: 3px; BORDER-TOP: #898 1px solid; FONT-WEIGHT: bold; =
BORDER-RIGHT: #898 1px solid; PADDING-TOP: 0px
}
.calendar TD.time .ampm {
	TEXT-ALIGN: center
}
.calendar TD.time .colon {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 2px; =
FONT-WEIGHT: bold; PADDING-TOP: 0px
}
.calendar TD.time SPAN.hilite {
	BORDER-BOTTOM-COLOR: #000; BACKGROUND-COLOR: #686; BORDER-TOP-COLOR: =
#000; COLOR: #fff; BORDER-RIGHT-COLOR: #000; BORDER-LEFT-COLOR: #000
}
.calendar TD.time SPAN.active {
	BORDER-BOTTOM-COLOR: #f00; BACKGROUND-COLOR: #000; BORDER-TOP-COLOR: =
#f00; COLOR: #0f0; BORDER-RIGHT-COLOR: #f00; BORDER-LEFT-COLOR: #f00
}

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/js/prototype.js

// =
-------------------------------------------------------------------------=
----------
//
//  Desenvolvido por:
//  Rodrigo Fante
//	Fazedor de Site - http://www.fazedordesite.com
//	FS Galeria de Imagens - Vers=C3=A3o 2.4.0
//
//  Navegadores testados:
//  Internet Explorer 6, Internet Explorer 7, Firefox 2
//  Opera 9, Netscape 8, Safari para Windows 3
//
//  Em caso de erros, sugestoes, pe=C3=A7o que reportem para:
//  fazedordesite@gmail.com ou pelo site: http://www.fazedordesite.com
//
//  Mantenha os cr=C3=A9ditos pelo menos - Totalmente gratis :D
//=20
// =
-------------------------------------------------------------------------=
----------
// || Tudo come=C3=A7a na ultima linha ||
// \/                             \/
//=20
// VARIAVEL GLOBAL COM TODAS IMAGENS
var todasImagens =3D new Array;
var Atual =3D "";
var proxLink =3D "";
var antLink =3D "";
var slide=3Dfalse;
var tempo=3D3000; // tempo de troca das imagens no slideshow
var skin=3D"azul";
// se usar wordpress coloque o caminho do tema do wordpress aqui, caso =
contrario=20
// deixe em branco. Exemplo: "wp-content/themes/temausado/"
var wordpress =3D "";=20


//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
// Mesma fun=C3=A7ao utilizada em diversos frameworks facilita a =
constru=C3=A7ao do codigo
// um exemplo de seu utilizo, possui outros, eh ao usar o =
document.getElementById(id) usar apenas $(id)
// isso permite uma grande redu=C3=A7ao de codigo e facilita a =
visualiza=C3=A7ao do mesmo
function $() {
  var elements =3D new Array();
  for (var i =3D 0; i < arguments.length; i++) {
    var element =3D arguments[i];
    if (typeof element =3D=3D 'string') element =3D =
document.getElementById(element);
    if (arguments.length =3D=3D 1) return element;
    elements.push(element);
  }
  return elements;
}
if(wordpress!=3D"") skin=3Dwordpress+"/skin/"+skin;
else skin=3D"skin/"+skin;
function adicionarEvento(objeto, TipoEvento, funcao){
	if(objeto.addEventListener){ // todos navegadores menos IE
		objeto.addEventListener(TipoEvento, funcao, false);
		return true;
	} else if (objeto.attachEvent){ // IE
		var r =3D objeto.attachEvent('on'+TipoEvento, funcao);
		return r;
	} else {
		return false;
	}
}
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D
function preCarrega(img,atual){
	nova_img =3D new Image();
	nova_img.onload=3Dfunction(){
		total =3D img.length;
		var porc =3D Math.ceil((atual*100)/total);
		$("preload_label").style.height=3Dporc+"px";
		proxima =3D atual+1;
		if(proxima<total) preCarrega(img,proxima);
		else {=20
			$("preload_label").style.height=3D"100px";
			setTimeout("fadeOut('preload_quadro');",300);
		}	=09
	}
	nova_img.src =3D img[atual][1];
}
function preCarregarImgs(){
	// Aqui montaremos o array com todos endere=C3=A7os validos das imagens
	var todosLinks =3D document.getElementsByTagName('a');
	var cl =3D 0;
	for (var i=3D0; i<todosLinks.length; i++){
		var cada_link =3D todosLinks[i];
		var atributo_rel =3D String(cada_link.getAttribute('rel'));
		if (cada_link.getAttribute('href') && =
(atributo_rel.toLowerCase().match('aumenta'))){=20
			todasImagens.push(new Array(cl, cada_link.getAttribute('href'), =
cada_link.getAttribute('title')));
			cl++;
		}
	}
	// depois de montado o array, chamamos a fun=C3=A7ao que vai =
pr=C3=A9-carregar uma por uma
	cria_PL();
	preCarrega(todasImagens,0);
}
function centralizaObj(larg, alt){
	window.scrollTo(0,0); // coloca a rolagem no topo da pagina
	// pega medidas da pagina sem rolagem
	medidas =3D pegaMedidas(false);=20
	larguraPag =3D medidas[0];
	alturaPag =3D medidas[1];
=09
	// centraliza horizontal
	margemH =3D -1*(larg/2);
	limiteH =3D -1*(larguraPag/2);
	if(margemH<limiteH) margemH =3D limiteH+5;
	$("quadro").style.marginLeft=3DmargemH+"px";
=09
	// centraliza vertical
	margemY =3D -1*(alt/2);
	limiteY =3D -1*(alturaPag/2);
	if(margemY<limiteY) margemY =3D limiteY+5;
	$("quadro").style.marginTop=3DmargemY+"px";=09
}
function pegaMedidas(rolagem){
	// Pega altura e largura do conteudo da pagina
	var larguraPag, alturaPag;
	if (self.innerHeight) {	// Todos exceto IE entram aqui
		larguraPag =3D self.innerWidth;
		alturaPag =3D self.innerHeight;
	} else if (document.documentElement && =
document.documentElement.clientHeight) { // IE 6, IE 7 entraram aqui
		larguraPag =3D document.documentElement.clientWidth;
		alturaPag =3D document.documentElement.clientHeight;
	} else if (document.body) { // Nenhum testado entrou aqui, deixo por =
garantia
		larguraPag =3D document.body.clientWidth;
		alturaPag =3D document.body.clientHeight;
	}
	if(rolagem){ // se foi pedidos os valores incluindo barra de rolagem
		var rolagemH, rolagemV;
	=09
		if (window.innerHeight && window.scrollMaxY) {	// Nenhum testado =
entrou aqui, mas deixo por garantia
			rolagemH =3D document.body.scrollWidth;
			rolagemV =3D window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){=20
			// Opera9, Mac 3 para windows entram aqui
			rolagemH =3D document.body.scrollWidth;
			rolagemV =3D document.body.scrollHeight;
		} else { //IE6, IE7, FF, Netscape entram aqui.
			rolagemH =3D document.body.offsetWidth;
			rolagemV =3D document.body.offsetHeight;
		}=09
		// Verifica se deve usar a altura do quadro do navegador ou da rolagem =
se existir
		if(rolagemV > alturaPag) {
			alturaPag =3D rolagemV;
			if(/Internet Explorer/.test(navigator.appName)) alturaPag+=3D30; // =
corrigir bug IE
		}
		// Verifica se deve usar a largura do quadro do navegador ou da =
rolagem se existir
		if(rolagemH > larguraPag) larguraPag =3D rolagemH;
	}
	valores =3D new Array(larguraPag,alturaPag);=20
	return valores;
}
function cria_PL(){
	var objBody =3D document.getElementsByTagName("body").item(0);
	// divs preload img
	var objQuadroPL =3D document.createElement("div");
	objQuadroPL.setAttribute('id','preload_quadro');
	objQuadroPL.style.position=3D"absolute";
	objQuadroPL.style.border=3D"solid 1px #CCC";
	objQuadroPL.style.background=3D"#FFF";
	objQuadroPL.style.bottom=3D"10px";
	objQuadroPL.style.right=3D"10px";
	objQuadroPL.style.display=3D"none";
	objQuadroPL.style.height=3D"108px";
	objQuadroPL.style.width=3D"18px";
	objQuadroPL.style.zIndex=3D999;
	objBody.appendChild(objQuadroPL);
=09
	var objlabelPL =3D document.createElement("div");
	objlabelPL.setAttribute('id','preload_label');
	objlabelPL.style.position=3D"absolute";
	objlabelPL.style.border=3D"solid 1px #CCC";
	objlabelPL.style.background=3D"#9EDF8E";
	objlabelPL.style.left=3D"3px";
	objlabelPL.style.top=3D"2px";
	objlabelPL.style.height=3D"0px";
	objlabelPL.style.width=3D"10px";
	objlabelPL.style.zIndex=3D999;
	objQuadroPL.appendChild(objlabelPL);
=09
	fadeIn("preload_quadro");
=09
}
function criaObjetos(){
	// pega medidas da pagina
	medidas =3D pegaMedidas(true);=20
	larguraPag =3D medidas[0];
	alturaPag =3D medidas[1];

	// criamos os elementos necessarios para exibir a imagem maior
	var objBody =3D document.getElementsByTagName("body").item(0);
=09
	// cria a div transparente que cobre todo o fundo
	var objFundo =3D document.createElement("div");
	objFundo.setAttribute('id','fundo_img'); // define o id
	// CSS do objeto
	objFundo.style.position=3D"absolute";=20
	objFundo.style.top=3D"0px";
	objFundo.style.left=3D"0px";
	objFundo.style.width=3DlarguraPag+"px";
	objFundo.style.height=3DalturaPag+"px";
	objFundo.style.background=3D"#000";
	objFundo.style.zIndex=3D998;
	objFundo.style.MozOpacity=3D.7; // transparencia FF
	objFundo.style.opacity=3D.7; // transparencia  FF, Opera, Safari, =
Netscape
	objFundo.style.filter=3D"Alpha(Opacity=3D70)"; // transparencia  IE
	// Adiciona o objeto no Body do html
	objBody.appendChild(objFundo);

	// cria a div onde sera inserida a imagem
	var objQuadroext =3D document.createElement("div");
	objQuadroext.setAttribute('id','quadro');
	objQuadroext.style.position=3D"absolute";
	objQuadroext.style.border=3D"solid 2px #CCC";
	objQuadroext.style.top=3D"50%";
	objQuadroext.style.left=3D"50%";
	objQuadroext.style.width=3D"50px";
	objQuadroext.style.height=3D"50px";
	objQuadroext.style.background=3D"#FFF";
	objQuadroext.style.padding=3D"5px";
	objQuadroext.style.zIndex=3D999;
	objBody.appendChild(objQuadroext);
=09
	// cria a div do cabe=C3=A7alho
	var objTopo =3D document.createElement("div");
	objTopo.setAttribute('id','topo_quadro');
	objTopo.style.display=3D'none';=09
	objTopo.style.width=3D"100%";
	objTopo.style.height=3D"25px";
	objTopo.style.position=3D'relative';
	objQuadroext.appendChild(objTopo);=09
=09
	// cria o link de fechar a janela
	var objFechar =3D document.createElement("a");
	objFechar.setAttribute('id','Fechar');
	objFechar.setAttribute('href','javascript:void(0)');
	objFechar.style.position=3D'absolute';
	objFechar.style.right=3D'5px';
	objFechar.onclick =3D function() {
		$("quadro").style.display=3D"none";
		slide=3Dfalse;
		$("fundo_img").style.display=3D"none";
		slideShow();
		return false;
	}
	objTopo.appendChild(objFechar);
=09
	// cria um span para o titulo
	var objTitulo =3D document.createElement("span");
	objTitulo.setAttribute('id','titulo_quadro');
	objTitulo.style.fontWeight=3D'bold';
	objTitulo.style.position=3D'absolute';
	objTitulo.style.left=3D'5px';
	objTopo.appendChild(objTitulo);=09
=09
=09
	// cria a imagem de fechar dentro do link fechar
	var objimgFechar =3D document.createElement("img");
	objimgFechar.setAttribute('id','imgFechar');
	objimgFechar.src=3Dskin+'/fechar.jpg';
	objimgFechar.alt=3D'Fechar';
	objimgFechar.style.border=3D'0';
	objFechar.appendChild(objimgFechar);
=09
=09
	// cria a imagem loading
	var objImagemLoad =3D document.createElement("img");
	objImagemLoad.setAttribute('id','img_loading');
	objImagemLoad.src=3Dskin+'/loading.gif';
	objImagemLoad.style.position=3D'absolute';
	objImagemLoad.style.left=3D'50%';
	objImagemLoad.style.top=3D'50%';
	objImagemLoad.style.margin=3D'-17px 0 0 -17px';
	objQuadroext.appendChild(objImagemLoad);
=09
	// cria a imagem vazia
	var objImagem =3D document.createElement("img");
	objImagem.setAttribute('id','img_maior');
	objImagem.style.display=3D'none';
	objQuadroext.appendChild(objImagem);
=09
	// cria a div do rodape
	var objRodape =3D document.createElement("div");
	objRodape.setAttribute('id','rodape_quadro');
	objRodape.style.display=3D'none';=09
	objRodape.style.width=3D"100%";
	objRodape.style.height=3D"25px";
	objRodape.style.position=3D'relative';
	objQuadroext.appendChild(objRodape);=09
=09
	// cria o link de ir a imagem anterior
	var objAnterior =3D document.createElement("a");
	objAnterior.setAttribute('id','link_anterior');
	objAnterior.setAttribute('href','javascript:void(0)');
	objAnterior.style.position=3D'absolute';
	objAnterior.style.left=3D'5px';
	objAnterior.style.bottom=3D'0';
	objAnterior.onclick =3D function() {
		preparaImg(todasImagens[antLink][1], todasImagens[antLink][2]);
		return false;
	}
	objRodape.appendChild(objAnterior);
=09
	// cria o icone de ir a imagem anterior
	var objimgAnterior =3D document.createElement("img");
	objimgAnterior.setAttribute('id','imgAnterior');
	objimgAnterior.src=3Dskin+'/anterior.jpg';
	objimgAnterior.style.border=3D'0';
	objAnterior.appendChild(objimgAnterior);
=09
	// cria o link de ir a imagem posterior
	var objPosterior =3D document.createElement("a");
	objPosterior.setAttribute('id','link_posterior');
	objPosterior.setAttribute('href','javascript:void(0)');
	objPosterior.style.position=3D'absolute';
	objPosterior.style.right=3D'5px';
	objPosterior.style.bottom=3D'0';
	objPosterior.onclick =3D function() {
		preparaImg(todasImagens[proxLink][1], todasImagens[proxLink][2]);
		return false;
	}
	objRodape.appendChild(objPosterior);	=09

	// cria o icone de ir a imagem posterior
	var objimgPosterior =3D document.createElement("img");
	objimgPosterior.setAttribute('id','imgPosterior');
	objimgPosterior.src=3Dskin+'/posterior.jpg';
	objimgPosterior.style.border=3D'0';
	objPosterior.appendChild(objimgPosterior);
=09
	// cria slide
	var objSlide =3D document.createElement("a");
	objSlide.setAttribute('id','slide');
	objSlide.setAttribute('href','javascript:void(0)');
	objSlide.setAttribute('title','Clique para ativar o Slideshow');
	objSlide.style.position=3D'absolute';
	objSlide.style.left=3D'50%';
	objSlide.style.bottom=3D'2px';
	objSlide.style.marginLeft=3D'-70px';
	objSlide.onclick =3D function() {
		if(slide=3D=3Dfalse) slide =3D true;
		else slide=3Dfalse;
		slideShow();
		return false;
	}=09
	objSlide.innerHTML =3D "Ativar modo Slideshow";
	objRodape.appendChild(objSlide);
}
function fadeIn(id, valor){
	var obj =3D $(id);
	if(!valor || valor =3D=3D undefined) valor=3D0;
	if(valor < 100){
		valor+=3D5;
		alpha =3D valor/100;
		obj.style.MozOpacity=3Dalpha;
		obj.style.filter=3D"alpha(opacity=3D"+valor+")";
		obj.style.opacity =3D alpha;
		if(obj.style.display =3D=3D "none") obj.style.display =3D "";
		setTimeout("fadeIn('"+id+"',"+valor+")",1);
	}
}
function fadeOut(id, valor){
	var obj =3D $(id);
	if(valor =3D=3D undefined) valor=3D100;
	if(valor > 0){
		valor-=3D5;
		alpha =3D valor/100;
		obj.style.MozOpacity=3Dalpha;
		obj.style.filter=3D"alpha(opacity=3D"+valor+")";
		obj.style.opacity =3D alpha;
		if(obj.style.display =3D=3D "none") obj.style.display =3D "";
		setTimeout("fadeOut('"+id+"',"+valor+")",1);
	}
}
function slideShow(){
	if(slide=3D=3Dtrue){
		$("link_anterior").style.display=3D"none";
		$("link_posterior").style.display=3D"none";=09
		totalImgs =3D todasImagens.length;
		if(proxLink>=3DtotalImgs) { proxLink =3D 0; antLink=3D-1; }
		document.getElementById("slide").innerHTML =3D "Desativar modo =
Slideshow";
		setTimeout("preparaImg(todasImagens[proxLink][1], =
todasImagens[proxLink][2], 'slideshow')",tempo);
		setTimeout("slideShow()",tempo);
	} else {
		var Ultima =3D todasImagens.length-1;
		document.getElementById("slide").innerHTML =3D "Ativar modo =
Slideshow";
		if(Atual=3D=3DUltima) { proxLink =3D 0; antLink=3DUltima-1; }
		if(Atual=3D=3D0) {
			$("link_anterior").style.display=3D"none";
			$("link_posterior").style.display=3D"";
		}else if(Atual=3D=3DUltima){
			$("link_posterior").style.display=3D"none";
			$("link_anterior").style.display=3D"";
		}
		else {
			$("link_anterior").style.display=3D"";
			$("link_posterior").style.display=3D"";
		}
	}
}
function preparaImg(img, titulo, tipo){
	if(tipo=3D=3Dundefined) tipo =3D "ok";
	if(tipo=3D=3D"ok" || (tipo=3D=3D"slideshow"&&slide=3D=3Dtrue)){
		totalImgs =3D todasImagens.length;
		var Ultima =3D totalImgs-1;
		for(var i=3D0;i<totalImgs;i++){
			if(todasImagens[i][1]=3D=3Dimg) Atual =3D i;
		}
		proxLink =3D Atual+1;
		antLink =3D Atual-1;
	=09
		// primeiro checo se ja existe a DIV "quadro"
		if($("quadro")=3D=3Dnull) criaObjetos();
		else {
			// caso os objetos ja tenham sido criados altera a propriedade =
display para que o quadro seja exibido
			$("quadro").style.display=3D"";
			$("quadro").style.width=3D"50px";
			$("quadro").style.height=3D"50px";
			$("img_loading").style.display=3D"";
			$("fundo_img").style.display=3D"";
			$("img_maior").style.display=3D"none";
			$("topo_quadro").style.display=3D"none";
			$("rodape_quadro").style.display=3D"none";
		}
		// quando a imagem for carregada some com o gif loading e mostra a =
imagem
		$("img_maior").onload=3Dfunction(){
			$("img_loading").style.display=3D"none";
			fadeIn(this.getAttribute("id"));
			largura_quadro=3Dthis.offsetWidth;
			altura_quadro=3Dthis.offsetHeight+50; // um pouco mais alto para o =
espa=C3=A7o do botao fechar
		=09
			centralizaObj(largura_quadro,altura_quadro);
		=09
			largura_quadro =3D largura_quadro>360?largura_quadro:360;
			//alert(largura_quadro);
				=09
			$("quadro").style.textAlign=3D'center';
			$("quadro").style.width=3Dlargura_quadro+"px";
			$("quadro").style.height=3Daltura_quadro+"px";
			$("topo_quadro").style.display=3D"";
			$("rodape_quadro").style.display=3D"";
			$("titulo_quadro").innerHTML=3Dtitulo; // titulo do quadro
			// Controla se a imagem atual =C3=A9 a primeira ou a ultima imagem
			// Esconde os icones de anterior ou posterior se for o caso
			// atribui o link para proximas imagens
			if(tipo=3D=3D"slideshow"){
				$("link_anterior").style.display=3D"none";
				$("link_posterior").style.display=3D"none";		=09
			} else {
				if(Atual=3D=3D0) {
					if(totalImgs>1){
						$("link_anterior").style.display=3D"none";
						$("link_posterior").style.display=3D"";
					} else {
						$("slide").style.display=3D"none";
						$("link_anterior").style.display=3D"none";
						$("link_posterior").style.display=3D"none";
					}
				}else if(Atual=3D=3DUltima){
					if(totalImgs>1){
						$("link_posterior").style.display=3D"none";
						$("link_anterior").style.display=3D"";
					} else {
						$("slide").style.display=3D"none";
						$("link_anterior").style.display=3D"none";
						$("link_posterior").style.display=3D"none";
					}
				}
				else {
					if(totalImgs>1){
						$("link_anterior").style.display=3D"";
						$("link_posterior").style.display=3D"";
					} else {
						$("slide").style.display=3D"none";
						$("link_anterior").style.display=3D"none";
						$("link_posterior").style.display=3D"none";
					}
				}
			}
		}
		//tratamento de erros
		$("img_maior").onerror=3Dfunction(){=20
			alert("Erro: Impossivel carregar a imagem");
			$("quadro").style.display=3D"none";
			$("fundo_img").style.display=3D"none";
			$("img_loading").style.display=3D"none";
			$("img_maior").src=3D'loading.gif'; // sem essa linha ocorre um erro =
que somem os botoes anterior/posterior
		}=09
		// altera o  src da imagem, antes ele ficava em cima do onload, joguei =
para baixo
		// por garantia, para nao correr o risco de carregar a imagem antes de =
ler toda fun=C3=A7ao=20
		// o que causaria erro
		$("img_maior").src=3Dimg;
	}
}
function ajustaQuadro(){
	if($("quadro")){
		centralizaObj($("quadro").offsetWidth,$("quadro").offsetHeight);
		medidas =3D pegaMedidas(true);=20
		larguraPag =3D medidas[0];
		alturaPag =3D medidas[1];
		$("fundo_img").style.height =3D alturaPag+"px";
		$("fundo_img").style.width =3D larguraPag+"px";
	}
}
function checaLinks(){
	preCarregarImgs();
	var todosLinks =3D document.getElementsByTagName("a"); // pega todos os =
links=20
	for (var i=3D0; i<todosLinks.length; i++){=20
			var cada_link =3D todosLinks[i]; // varre os links um por um
			var atributo_rel =3D String(cada_link.getAttribute('rel')); // pega o =
valor do atributo rel no link
			if (cada_link.getAttribute('href') && =
(atributo_rel.toLowerCase().match('aumenta'))){=20
				// Entra se o link tiver um valor de href e o valor de rel for igual =
a aumenta
				cada_link.onclick =3D function () { =
preparaImg(this.getAttribute('href'), this.getAttribute('title')); =
return false; }=20
				// quando o link for clicado chama a fun=C3=A7ao aumentaImg
				// O return false serve para anular a a=C3=A7ao do href
			}
	}=09
}
adicionarEvento(window,"load", checaLinks);
adicionarEvento(window,"resize", ajustaQuadro);
// Quando a pagina for carregada chama a fun=C3=A7ao que vai varrer os =
links em busca das
// do atributo rel com o valor "aumenta", estes links quando clicados
// executam a funcao aumentaImg para exibir a imagem em tamanho maior.





/*  Prototype JavaScript framework, version 1.6.0.2
 *  (c) 2005-2008 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style =
license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
 *
 =
*------------------------------------------------------------------------=
--*/

var Prototype =3D {
  Version: '1.6.0.2',

  Browser: {
    IE:     !!(window.attachEvent && !window.opera),
    Opera:  !!window.opera,
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && =
navigator.userAgent.indexOf('KHTML') =3D=3D -1,
    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
  },

  BrowserFeatures: {
    XPath: !!document.evaluate,
    ElementExtensions: !!window.HTMLElement,
    SpecificElementExtensions:
      document.createElement('div').__proto__ &&
      document.createElement('div').__proto__ !=3D=3D
        document.createElement('form').__proto__
  },

  ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
  JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,

  emptyFunction: function() { },
  K: function(x) { return x }
};

if (Prototype.Browser.MobileSafari)
  Prototype.BrowserFeatures.SpecificElementExtensions =3D false;


/* Based on Alex Arnell's inheritance implementation. */
var Class =3D {
  create: function() {
    var parent =3D null, properties =3D $A(arguments);
    if (Object.isFunction(properties[0]))
      parent =3D properties.shift();

    function klass() {
      this.initialize.apply(this, arguments);
    }

    Object.extend(klass, Class.Methods);
    klass.superclass =3D parent;
    klass.subclasses =3D [];

    if (parent) {
      var subclass =3D function() { };
      subclass.prototype =3D parent.prototype;
      klass.prototype =3D new subclass;
      parent.subclasses.push(klass);
    }

    for (var i =3D 0; i < properties.length; i++)
      klass.addMethods(properties[i]);

    if (!klass.prototype.initialize)
      klass.prototype.initialize =3D Prototype.emptyFunction;

    klass.prototype.constructor =3D klass;

    return klass;
  }
};

Class.Methods =3D {
  addMethods: function(source) {
    var ancestor   =3D this.superclass && this.superclass.prototype;
    var properties =3D Object.keys(source);

    if (!Object.keys({ toString: true }).length)
      properties.push("toString", "valueOf");

    for (var i =3D 0, length =3D properties.length; i < length; i++) {
      var property =3D properties[i], value =3D source[property];
      if (ancestor && Object.isFunction(value) &&
          value.argumentNames().first() =3D=3D "$super") {
        var method =3D value, value =3D Object.extend((function(m) {
          return function() { return ancestor[m].apply(this, arguments) =
};
        })(property).wrap(method), {
          valueOf:  function() { return method },
          toString: function() { return method.toString() }
        });
      }
      this.prototype[property] =3D value;
    }

    return this;
  }
};

var Abstract =3D { };

Object.extend =3D function(destination, source) {
  for (var property in source)
    destination[property] =3D source[property];
  return destination;
};

Object.extend(Object, {
  inspect: function(object) {
    try {
      if (Object.isUndefined(object)) return 'undefined';
      if (object =3D=3D=3D null) return 'null';
      return object.inspect ? object.inspect() : String(object);
    } catch (e) {
      if (e instanceof RangeError) return '...';
      throw e;
    }
  },

  toJSON: function(object) {
    var type =3D typeof object;
    switch (type) {
      case 'undefined':
      case 'function':
      case 'unknown': return;
      case 'boolean': return object.toString();
    }

    if (object =3D=3D=3D null) return 'null';
    if (object.toJSON) return object.toJSON();
    if (Object.isElement(object)) return;

    var results =3D [];
    for (var property in object) {
      var value =3D Object.toJSON(object[property]);
      if (!Object.isUndefined(value))
        results.push(property.toJSON() + ': ' + value);
    }

    return '{' + results.join(', ') + '}';
  },

  toQueryString: function(object) {
    return $H(object).toQueryString();
  },

  toHTML: function(object) {
    return object && object.toHTML ? object.toHTML() : =
String.interpret(object);
  },

  keys: function(object) {
    var keys =3D [];
    for (var property in object)
      keys.push(property);
    return keys;
  },

  values: function(object) {
    var values =3D [];
    for (var property in object)
      values.push(object[property]);
    return values;
  },

  clone: function(object) {
    return Object.extend({ }, object);
  },

  isElement: function(object) {
    return object && object.nodeType =3D=3D 1;
  },

  isArray: function(object) {
    return object !=3D null && typeof object =3D=3D "object" &&
      'splice' in object && 'join' in object;
  },

  isHash: function(object) {
    return object instanceof Hash;
  },

  isFunction: function(object) {
    return typeof object =3D=3D "function";
  },

  isString: function(object) {
    return typeof object =3D=3D "string";
  },

  isNumber: function(object) {
    return typeof object =3D=3D "number";
  },

  isUndefined: function(object) {
    return typeof object =3D=3D "undefined";
  }
});

Object.extend(Function.prototype, {
  argumentNames: function() {
    var names =3D =
this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").inv=
oke("strip");
    return names.length =3D=3D 1 && !names[0] ? [] : names;
  },

  bind: function() {
    if (arguments.length < 2 && Object.isUndefined(arguments[0])) return =
this;
    var __method =3D this, args =3D $A(arguments), object =3D =
args.shift();
    return function() {
      return __method.apply(object, args.concat($A(arguments)));
    }
  },

  bindAsEventListener: function() {
    var __method =3D this, args =3D $A(arguments), object =3D =
args.shift();
    return function(event) {
      return __method.apply(object, [event || =
window.event].concat(args));
    }
  },

  curry: function() {
    if (!arguments.length) return this;
    var __method =3D this, args =3D $A(arguments);
    return function() {
      return __method.apply(this, args.concat($A(arguments)));
    }
  },

  delay: function() {
    var __method =3D this, args =3D $A(arguments), timeout =3D =
args.shift() * 1000;
    return window.setTimeout(function() {
      return __method.apply(__method, args);
    }, timeout);
  },

  wrap: function(wrapper) {
    var __method =3D this;
    return function() {
      return wrapper.apply(this, =
[__method.bind(this)].concat($A(arguments)));
    }
  },

  methodize: function() {
    if (this._methodized) return this._methodized;
    var __method =3D this;
    return this._methodized =3D function() {
      return __method.apply(null, [this].concat($A(arguments)));
    };
  }
});

Function.prototype.defer =3D Function.prototype.delay.curry(0.01);

Date.prototype.toJSON =3D function() {
  return '"' + this.getUTCFullYear() + '-' +
    (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
    this.getUTCDate().toPaddedString(2) + 'T' +
    this.getUTCHours().toPaddedString(2) + ':' +
    this.getUTCMinutes().toPaddedString(2) + ':' +
    this.getUTCSeconds().toPaddedString(2) + 'Z"';
};

var Try =3D {
  these: function() {
    var returnValue;

    for (var i =3D 0, length =3D arguments.length; i < length; i++) {
      var lambda =3D arguments[i];
      try {
        returnValue =3D lambda();
        break;
      } catch (e) { }
    }

    return returnValue;
  }
};

RegExp.prototype.match =3D RegExp.prototype.test;

RegExp.escape =3D function(str) {
  return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');
};

/*-----------------------------------------------------------------------=
---*/

var PeriodicalExecuter =3D Class.create({
  initialize: function(callback, frequency) {
    this.callback =3D callback;
    this.frequency =3D frequency;
    this.currentlyExecuting =3D false;

    this.registerCallback();
  },

  registerCallback: function() {
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);
  },

  execute: function() {
    this.callback(this);
  },

  stop: function() {
    if (!this.timer) return;
    clearInterval(this.timer);
    this.timer =3D null;
  },

  onTimerEvent: function() {
    if (!this.currentlyExecuting) {
      try {
        this.currentlyExecuting =3D true;
        this.execute();
      } finally {
        this.currentlyExecuting =3D false;
      }
    }
  }
});
Object.extend(String, {
  interpret: function(value) {
    return value =3D=3D null ? '' : String(value);
  },
  specialChar: {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '\\': '\\\\'
  }
});

Object.extend(String.prototype, {
  gsub: function(pattern, replacement) {
    var result =3D '', source =3D this, match;
    replacement =3D arguments.callee.prepareReplacement(replacement);

    while (source.length > 0) {
      if (match =3D source.match(pattern)) {
        result +=3D source.slice(0, match.index);
        result +=3D String.interpret(replacement(match));
        source  =3D source.slice(match.index + match[0].length);
      } else {
        result +=3D source, source =3D '';
      }
    }
    return result;
  },

  sub: function(pattern, replacement, count) {
    replacement =3D this.gsub.prepareReplacement(replacement);
    count =3D Object.isUndefined(count) ? 1 : count;

    return this.gsub(pattern, function(match) {
      if (--count < 0) return match[0];
      return replacement(match);
    });
  },

  scan: function(pattern, iterator) {
    this.gsub(pattern, iterator);
    return String(this);
  },

  truncate: function(length, truncation) {
    length =3D length || 30;
    truncation =3D Object.isUndefined(truncation) ? '...' : truncation;
    return this.length > length ?
      this.slice(0, length - truncation.length) + truncation : =
String(this);
  },

  strip: function() {
    return this.replace(/^\s+/, '').replace(/\s+$/, '');
  },

  stripTags: function() {
    return this.replace(/<\/?[^>]+>/gi, '');
  },

  stripScripts: function() {
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), =
'');
  },

  extractScripts: function() {
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');
    var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');
    return (this.match(matchAll) || []).map(function(scriptTag) {
      return (scriptTag.match(matchOne) || ['', ''])[1];
    });
  },

  evalScripts: function() {
    return this.extractScripts().map(function(script) { return =
eval(script) });
  },

  escapeHTML: function() {
    var self =3D arguments.callee;
    self.text.data =3D this;
    return self.div.innerHTML;
  },

  unescapeHTML: function() {
    var div =3D new Element('div');
    div.innerHTML =3D this.stripTags();
    return div.childNodes[0] ? (div.childNodes.length > 1 ?
      $A(div.childNodes).inject('', function(memo, node) { return =
memo+node.nodeValue }) :
      div.childNodes[0].nodeValue) : '';
  },

  toQueryParams: function(separator) {
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);
    if (!match) return { };

    return match[1].split(separator || '&').inject({ }, function(hash, =
pair) {
      if ((pair =3D pair.split('=3D'))[0]) {
        var key =3D decodeURIComponent(pair.shift());
        var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];
        if (value !=3D undefined) value =3D decodeURIComponent(value);

        if (key in hash) {
          if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];
          hash[key].push(value);
        }
        else hash[key] =3D value;
      }
      return hash;
    });
  },

  toArray: function() {
    return this.split('');
  },

  succ: function() {
    return this.slice(0, this.length - 1) +
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
  },

  times: function(count) {
    return count < 1 ? '' : new Array(count + 1).join(this);
  },

  camelize: function() {
    var parts =3D this.split('-'), len =3D parts.length;
    if (len =3D=3D 1) return parts[0];

    var camelized =3D this.charAt(0) =3D=3D '-'
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
      : parts[0];

    for (var i =3D 1; i < len; i++)
      camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);

    return camelized;
  },

  capitalize: function() {
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();
  },

  underscore: function() {
    return this.gsub(/::/, =
'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{=
1}_#{2}').gsub(/-/,'_').toLowerCase();
  },

  dasherize: function() {
    return this.gsub(/_/,'-');
  },

  inspect: function(useDoubleQuotes) {
    var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {
      var character =3D String.specialChar[match[0]];
      return character ? character : '\\u00' + =
match[0].charCodeAt().toPaddedString(2, 16);
    });
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') =
+ '"';
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";
  },

  toJSON: function() {
    return this.inspect(true);
  },

  unfilterJSON: function(filter) {
    return this.sub(filter || Prototype.JSONFilter, '#{1}');
  },

  isJSON: function() {
    var str =3D this;
    if (str.blank()) return false;
    str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
    return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
  },

  evalJSON: function(sanitize) {
    var json =3D this.unfilterJSON();
    try {
      if (!sanitize || json.isJSON()) return eval('(' + json + ')');
    } catch (e) { }
    throw new SyntaxError('Badly formed JSON string: ' + =
this.inspect());
  },

  include: function(pattern) {
    return this.indexOf(pattern) > -1;
  },

  startsWith: function(pattern) {
    return this.indexOf(pattern) =3D=3D=3D 0;
  },

  endsWith: function(pattern) {
    var d =3D this.length - pattern.length;
    return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;
  },

  empty: function() {
    return this =3D=3D '';
  },

  blank: function() {
    return /^\s*$/.test(this);
  },

  interpolate: function(object, pattern) {
    return new Template(this, pattern).evaluate(object);
  }
});

if (Prototype.Browser.WebKit || Prototype.Browser.IE) =
Object.extend(String.prototype, {
  escapeHTML: function() {
    return =
this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
  },
  unescapeHTML: function() {
    return =
this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
  }
});

String.prototype.gsub.prepareReplacement =3D function(replacement) {
  if (Object.isFunction(replacement)) return replacement;
  var template =3D new Template(replacement);
  return function(match) { return template.evaluate(match) };
};

String.prototype.parseQuery =3D String.prototype.toQueryParams;

Object.extend(String.prototype.escapeHTML, {
  div:  document.createElement('div'),
  text: document.createTextNode('')
});

with (String.prototype.escapeHTML) div.appendChild(text);

var Template =3D Class.create({
  initialize: function(template, pattern) {
    this.template =3D template.toString();
    this.pattern =3D pattern || Template.Pattern;
  },

  evaluate: function(object) {
    if (Object.isFunction(object.toTemplateReplacements))
      object =3D object.toTemplateReplacements();

    return this.template.gsub(this.pattern, function(match) {
      if (object =3D=3D null) return '';

      var before =3D match[1] || '';
      if (before =3D=3D '\\') return match[2];

      var ctx =3D object, expr =3D match[3];
      var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
      match =3D pattern.exec(expr);
      if (match =3D=3D null) return before;

      while (match !=3D null) {
        var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', =
']') : match[1];
        ctx =3D ctx[comp];
        if (null =3D=3D ctx || '' =3D=3D match[3]) break;
        expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : =
match[0].length);
        match =3D pattern.exec(expr);
      }

      return before + String.interpret(ctx);
    });
  }
});
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;

var $break =3D { };

var Enumerable =3D {
  each: function(iterator, context) {
    var index =3D 0;
    iterator =3D iterator.bind(context);
    try {
      this._each(function(value) {
        iterator(value, index++);
      });
    } catch (e) {
      if (e !=3D $break) throw e;
    }
    return this;
  },

  eachSlice: function(number, iterator, context) {
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;
    var index =3D -number, slices =3D [], array =3D this.toArray();
    while ((index +=3D number) < array.length)
      slices.push(array.slice(index, index+number));
    return slices.collect(iterator, context);
  },

  all: function(iterator, context) {
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;
    var result =3D true;
    this.each(function(value, index) {
      result =3D result && !!iterator(value, index);
      if (!result) throw $break;
    });
    return result;
  },

  any: function(iterator, context) {
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;
    var result =3D false;
    this.each(function(value, index) {
      if (result =3D !!iterator(value, index))
        throw $break;
    });
    return result;
  },

  collect: function(iterator, context) {
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;
    var results =3D [];
    this.each(function(value, index) {
      results.push(iterator(value, index));
    });
    return results;
  },

  detect: function(iterator, context) {
    iterator =3D iterator.bind(context);
    var result;
    this.each(function(value, index) {
      if (iterator(value, index)) {
        result =3D value;
        throw $break;
      }
    });
    return result;
  },

  findAll: function(iterator, context) {
    iterator =3D iterator.bind(context);
    var results =3D [];
    this.each(function(value, index) {
      if (iterator(value, index))
        results.push(value);
    });
    return results;
  },

  grep: function(filter, iterator, context) {
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;
    var results =3D [];

    if (Object.isString(filter))
      filter =3D new RegExp(filter);

    this.each(function(value, index) {
      if (filter.match(value))
        results.push(iterator(value, index));
    });
    return results;
  },

  include: function(object) {
    if (Object.isFunction(this.indexOf))
      if (this.indexOf(object) !=3D -1) return true;

    var found =3D false;
    this.each(function(value) {
      if (value =3D=3D object) {
        found =3D true;
        throw $break;
      }
    });
    return found;
  },

  inGroupsOf: function(number, fillWith) {
    fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;
    return this.eachSlice(number, function(slice) {
      while(slice.length < number) slice.push(fillWith);
      return slice;
    });
  },

  inject: function(memo, iterator, context) {
    iterator =3D iterator.bind(context);
    this.each(function(value, index) {
      memo =3D iterator(memo, value, index);
    });
    return memo;
  },

  invoke: function(method) {
    var args =3D $A(arguments).slice(1);
    return this.map(function(value) {
      return value[method].apply(value, args);
    });
  },

  max: function(iterator, context) {
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;
    var result;
    this.each(function(value, index) {
      value =3D iterator(value, index);
      if (result =3D=3D null || value >=3D result)
        result =3D value;
    });
    return result;
  },

  min: function(iterator, context) {
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;
    var result;
    this.each(function(value, index) {
      value =3D iterator(value, index);
      if (result =3D=3D null || value < result)
        result =3D value;
    });
    return result;
  },

  partition: function(iterator, context) {
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;
    var trues =3D [], falses =3D [];
    this.each(function(value, index) {
      (iterator(value, index) ?
        trues : falses).push(value);
    });
    return [trues, falses];
  },

  pluck: function(property) {
    var results =3D [];
    this.each(function(value) {
      results.push(value[property]);
    });
    return results;
  },

  reject: function(iterator, context) {
    iterator =3D iterator.bind(context);
    var results =3D [];
    this.each(function(value, index) {
      if (!iterator(value, index))
        results.push(value);
    });
    return results;
  },

  sortBy: function(iterator, context) {
    iterator =3D iterator.bind(context);
    return this.map(function(value, index) {
      return {value: value, criteria: iterator(value, index)};
    }).sort(function(left, right) {
      var a =3D left.criteria, b =3D right.criteria;
      return a < b ? -1 : a > b ? 1 : 0;
    }).pluck('value');
  },

  toArray: function() {
    return this.map();
  },

  zip: function() {
    var iterator =3D Prototype.K, args =3D $A(arguments);
    if (Object.isFunction(args.last()))
      iterator =3D args.pop();

    var collections =3D [this].concat(args).map($A);
    return this.map(function(value, index) {
      return iterator(collections.pluck(index));
    });
  },

  size: function() {
    return this.toArray().length;
  },

  inspect: function() {
    return '#<Enumerable:' + this.toArray().inspect() + '>';
  }
};

Object.extend(Enumerable, {
  map:     Enumerable.collect,
  find:    Enumerable.detect,
  select:  Enumerable.findAll,
  filter:  Enumerable.findAll,
  member:  Enumerable.include,
  entries: Enumerable.toArray,
  every:   Enumerable.all,
  some:    Enumerable.any
});
function $A(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) return iterable.toArray();
  var length =3D iterable.length || 0, results =3D new Array(length);
  while (length--) results[length] =3D iterable[length];
  return results;
}

if (Prototype.Browser.WebKit) {
  $A =3D function(iterable) {
    if (!iterable) return [];
    if (!(Object.isFunction(iterable) && iterable =3D=3D '[object =
NodeList]') &&
        iterable.toArray) return iterable.toArray();
    var length =3D iterable.length || 0, results =3D new Array(length);
    while (length--) results[length] =3D iterable[length];
    return results;
  };
}

Array.from =3D $A;

Object.extend(Array.prototype, Enumerable);

if (!Array.prototype._reverse) Array.prototype._reverse =3D =
Array.prototype.reverse;

Object.extend(Array.prototype, {
  _each: function(iterator) {
    for (var i =3D 0, length =3D this.length; i < length; i++)
      iterator(this[i]);
  },

  clear: function() {
    this.length =3D 0;
    return this;
  },

  first: function() {
    return this[0];
  },

  last: function() {
    return this[this.length - 1];
  },

  compact: function() {
    return this.select(function(value) {
      return value !=3D null;
    });
  },

  flatten: function() {
    return this.inject([], function(array, value) {
      return array.concat(Object.isArray(value) ?
        value.flatten() : [value]);
    });
  },

  without: function() {
    var values =3D $A(arguments);
    return this.select(function(value) {
      return !values.include(value);
    });
  },

  reverse: function(inline) {
    return (inline !=3D=3D false ? this : this.toArray())._reverse();
  },

  reduce: function() {
    return this.length > 1 ? this : this[0];
  },

  uniq: function(sorted) {
    return this.inject([], function(array, value, index) {
      if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))
        array.push(value);
      return array;
    });
  },

  intersect: function(array) {
    return this.uniq().findAll(function(item) {
      return array.detect(function(value) { return item =3D=3D=3D value =
});
    });
  },

  clone: function() {
    return [].concat(this);
  },

  size: function() {
    return this.length;
  },

  inspect: function() {
    return '[' + this.map(Object.inspect).join(', ') + ']';
  },

  toJSON: function() {
    var results =3D [];
    this.each(function(object) {
      var value =3D Object.toJSON(object);
      if (!Object.isUndefined(value)) results.push(value);
    });
    return '[' + results.join(', ') + ']';
  }
});

// use native browser JS 1.6 implementation if available
if (Object.isFunction(Array.prototype.forEach))
  Array.prototype._each =3D Array.prototype.forEach;

if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, =
i) {
  i || (i =3D 0);
  var length =3D this.length;
  if (i < 0) i =3D length + i;
  for (; i < length; i++)
    if (this[i] =3D=3D=3D item) return i;
  return -1;
};

if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D =
function(item, i) {
  i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
  var n =3D this.slice(0, i).reverse().indexOf(item);
  return (n < 0) ? n : i - n - 1;
};

Array.prototype.toArray =3D Array.prototype.clone;

function $w(string) {
  if (!Object.isString(string)) return [];
  string =3D string.strip();
  return string ? string.split(/\s+/) : [];
}

if (Prototype.Browser.Opera){
  Array.prototype.concat =3D function() {
    var array =3D [];
    for (var i =3D 0, length =3D this.length; i < length; i++) =
array.push(this[i]);
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {
      if (Object.isArray(arguments[i])) {
        for (var j =3D 0, arrayLength =3D arguments[i].length; j < =
arrayLength; j++)
          array.push(arguments[i][j]);
      } else {
        array.push(arguments[i]);
      }
    }
    return array;
  };
}
Object.extend(Number.prototype, {
  toColorPart: function() {
    return this.toPaddedString(2, 16);
  },

  succ: function() {
    return this + 1;
  },

  times: function(iterator) {
    $R(0, this, true).each(iterator);
    return this;
  },

  toPaddedString: function(length, radix) {
    var string =3D this.toString(radix || 10);
    return '0'.times(length - string.length) + string;
  },

  toJSON: function() {
    return isFinite(this) ? this.toString() : 'null';
  }
});

$w('abs round ceil floor').each(function(method){
  Number.prototype[method] =3D Math[method].methodize();
});
function $H(object) {
  return new Hash(object);
};

var Hash =3D Class.create(Enumerable, (function() {

  function toQueryPair(key, value) {
    if (Object.isUndefined(value)) return key;
    return key + '=3D' + encodeURIComponent(String.interpret(value));
  }

  return {
    initialize: function(object) {
      this._object =3D Object.isHash(object) ? object.toObject() : =
Object.clone(object);
    },

    _each: function(iterator) {
      for (var key in this._object) {
        var value =3D this._object[key], pair =3D [key, value];
        pair.key =3D key;
        pair.value =3D value;
        iterator(pair);
      }
    },

    set: function(key, value) {
      return this._object[key] =3D value;
    },

    get: function(key) {
      return this._object[key];
    },

    unset: function(key) {
      var value =3D this._object[key];
      delete this._object[key];
      return value;
    },

    toObject: function() {
      return Object.clone(this._object);
    },

    keys: function() {
      return this.pluck('key');
    },

    values: function() {
      return this.pluck('value');
    },

    index: function(value) {
      var match =3D this.detect(function(pair) {
        return pair.value =3D=3D=3D value;
      });
      return match && match.key;
    },

    merge: function(object) {
      return this.clone().update(object);
    },

    update: function(object) {
      return new Hash(object).inject(this, function(result, pair) {
        result.set(pair.key, pair.value);
        return result;
      });
    },

    toQueryString: function() {
      return this.map(function(pair) {
        var key =3D encodeURIComponent(pair.key), values =3D pair.value;

        if (values && typeof values =3D=3D 'object') {
          if (Object.isArray(values))
            return values.map(toQueryPair.curry(key)).join('&');
        }
        return toQueryPair(key, values);
      }).join('&');
    },

    inspect: function() {
      return '#<Hash:{' + this.map(function(pair) {
        return pair.map(Object.inspect).join(': ');
      }).join(', ') + '}>';
    },

    toJSON: function() {
      return Object.toJSON(this.toObject());
    },

    clone: function() {
      return new Hash(this);
    }
  }
})());

Hash.prototype.toTemplateReplacements =3D Hash.prototype.toObject;
Hash.from =3D $H;
var ObjectRange =3D Class.create(Enumerable, {
  initialize: function(start, end, exclusive) {
    this.start =3D start;
    this.end =3D end;
    this.exclusive =3D exclusive;
  },

  _each: function(iterator) {
    var value =3D this.start;
    while (this.include(value)) {
      iterator(value);
      value =3D value.succ();
    }
  },

  include: function(value) {
    if (value < this.start)
      return false;
    if (this.exclusive)
      return value < this.end;
    return value <=3D this.end;
  }
});

var $R =3D function(start, end, exclusive) {
  return new ObjectRange(start, end, exclusive);
};

var Ajax =3D {
  getTransport: function() {
    return Try.these(
      function() {return new XMLHttpRequest()},
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
    ) || false;
  },

  activeRequestCount: 0
};

Ajax.Responders =3D {
  responders: [],

  _each: function(iterator) {
    this.responders._each(iterator);
  },

  register: function(responder) {
    if (!this.include(responder))
      this.responders.push(responder);
  },

  unregister: function(responder) {
    this.responders =3D this.responders.without(responder);
  },

  dispatch: function(callback, request, transport, json) {
    this.each(function(responder) {
      if (Object.isFunction(responder[callback])) {
        try {
          responder[callback].apply(responder, [request, transport, =
json]);
        } catch (e) { }
      }
    });
  }
};

Object.extend(Ajax.Responders, Enumerable);

Ajax.Responders.register({
  onCreate:   function() { Ajax.activeRequestCount++ },
  onComplete: function() { Ajax.activeRequestCount-- }
});

Ajax.Base =3D Class.create({
  initialize: function(options) {
    this.options =3D {
      method:       'post',
      asynchronous: true,
      contentType:  'application/x-www-form-urlencoded',
      encoding:     'UTF-8',
      parameters:   '',
      evalJSON:     true,
      evalJS:       true
    };
    Object.extend(this.options, options || { });

    this.options.method =3D this.options.method.toLowerCase();

    if (Object.isString(this.options.parameters))
      this.options.parameters =3D =
this.options.parameters.toQueryParams();
    else if (Object.isHash(this.options.parameters))
      this.options.parameters =3D this.options.parameters.toObject();
  }
});

Ajax.Request =3D Class.create(Ajax.Base, {
  _complete: false,

  initialize: function($super, url, options) {
    $super(options);
    this.transport =3D Ajax.getTransport();
    this.request(url);
  },

  request: function(url) {
    this.url =3D url;
    this.method =3D this.options.method;
    var params =3D Object.clone(this.options.parameters);

    if (!['get', 'post'].include(this.method)) {
      // simulate other verbs over post
      params['_method'] =3D this.method;
      this.method =3D 'post';
    }

    this.parameters =3D params;

    if (params =3D Object.toQueryString(params)) {
      // when GET, append parameters to URL
      if (this.method =3D=3D 'get')
        this.url +=3D (this.url.include('?') ? '&' : '?') + params;
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
        params +=3D '&_=3D';
    }

    try {
      var response =3D new Ajax.Response(this);
      if (this.options.onCreate) this.options.onCreate(response);
      Ajax.Responders.dispatch('onCreate', this, response);

      this.transport.open(this.method.toUpperCase(), this.url,
        this.options.asynchronous);

      if (this.options.asynchronous) =
this.respondToReadyState.bind(this).defer(1);

      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);
      this.setRequestHeaders();

      this.body =3D this.method =3D=3D 'post' ? (this.options.postBody =
|| params) : null;
      this.transport.send(this.body);

      /* Force Firefox to handle ready state 4 for synchronous requests =
*/
      if (!this.options.asynchronous && this.transport.overrideMimeType)
        this.onStateChange();

    }
    catch (e) {
      this.dispatchException(e);
    }
  },

  onStateChange: function() {
    var readyState =3D this.transport.readyState;
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))
      this.respondToReadyState(this.transport.readyState);
  },

  setRequestHeaders: function() {
    var headers =3D {
      'X-Requested-With': 'XMLHttpRequest',
      'X-Prototype-Version': Prototype.Version,
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'
    };

    if (this.method =3D=3D 'post') {
      headers['Content-type'] =3D this.options.contentType +
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');

      /* Force "Connection: close" for older Mozilla browsers to work
       * around a bug where XMLHttpRequest sends an incorrect
       * Content-length header. See Mozilla Bugzilla #246651.
       */
      if (this.transport.overrideMimeType &&
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)
            headers['Connection'] =3D 'close';
    }

    // user-defined headers
    if (typeof this.options.requestHeaders =3D=3D 'object') {
      var extras =3D this.options.requestHeaders;

      if (Object.isFunction(extras.push))
        for (var i =3D 0, length =3D extras.length; i < length; i +=3D =
2)
          headers[extras[i]] =3D extras[i+1];
      else
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });
    }

    for (var name in headers)
      this.transport.setRequestHeader(name, headers[name]);
  },

  success: function() {
    var status =3D this.getStatus();
    return !status || (status >=3D 200 && status < 300);
  },

  getStatus: function() {
    try {
      return this.transport.status || 0;
    } catch (e) { return 0 }
  },

  respondToReadyState: function(readyState) {
    var state =3D Ajax.Request.Events[readyState], response =3D new =
Ajax.Response(this);

    if (state =3D=3D 'Complete') {
      try {
        this._complete =3D true;
        (this.options['on' + response.status]
         || this.options['on' + (this.success() ? 'Success' : =
'Failure')]
         || Prototype.emptyFunction)(response, response.headerJSON);
      } catch (e) {
        this.dispatchException(e);
      }

      var contentType =3D response.getHeader('Content-type');
      if (this.options.evalJS =3D=3D 'force'
          || (this.options.evalJS && this.isSameOrigin() && contentType
          && =
contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s=
*$/i)))
        this.evalResponse();
    }

    try {
      (this.options['on' + state] || Prototype.emptyFunction)(response, =
response.headerJSON);
      Ajax.Responders.dispatch('on' + state, this, response, =
response.headerJSON);
    } catch (e) {
      this.dispatchException(e);
    }

    if (state =3D=3D 'Complete') {
      // avoid memory leak in MSIE: clean up
      this.transport.onreadystatechange =3D Prototype.emptyFunction;
    }
  },

  isSameOrigin: function() {
    var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);
    return !m || (m[0] =3D=3D =
'#{protocol}//#{domain}#{port}'.interpolate({
      protocol: location.protocol,
      domain: document.domain,
      port: location.port ? ':' + location.port : ''
    }));
  },

  getHeader: function(name) {
    try {
      return this.transport.getResponseHeader(name) || null;
    } catch (e) { return null }
  },

  evalResponse: function() {
    try {
      return eval((this.transport.responseText || '').unfilterJSON());
    } catch (e) {
      this.dispatchException(e);
    }
  },

  dispatchException: function(exception) {
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);
    Ajax.Responders.dispatch('onException', this, exception);
  }
});

Ajax.Request.Events =3D
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];

Ajax.Response =3D Class.create({
  initialize: function(request){
    this.request =3D request;
    var transport  =3D this.transport  =3D request.transport,
        readyState =3D this.readyState =3D transport.readyState;

    if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) =
{
      this.status       =3D this.getStatus();
      this.statusText   =3D this.getStatusText();
      this.responseText =3D String.interpret(transport.responseText);
      this.headerJSON   =3D this._getHeaderJSON();
    }

    if(readyState =3D=3D 4) {
      var xml =3D transport.responseXML;
      this.responseXML  =3D Object.isUndefined(xml) ? null : xml;
      this.responseJSON =3D this._getResponseJSON();
    }
  },

  status:      0,
  statusText: '',

  getStatus: Ajax.Request.prototype.getStatus,

  getStatusText: function() {
    try {
      return this.transport.statusText || '';
    } catch (e) { return '' }
  },

  getHeader: Ajax.Request.prototype.getHeader,

  getAllHeaders: function() {
    try {
      return this.getAllResponseHeaders();
    } catch (e) { return null }
  },

  getResponseHeader: function(name) {
    return this.transport.getResponseHeader(name);
  },

  getAllResponseHeaders: function() {
    return this.transport.getAllResponseHeaders();
  },

  _getHeaderJSON: function() {
    var json =3D this.getHeader('X-JSON');
    if (!json) return null;
    json =3D decodeURIComponent(escape(json));
    try {
      return json.evalJSON(this.request.options.sanitizeJSON ||
        !this.request.isSameOrigin());
    } catch (e) {
      this.request.dispatchException(e);
    }
  },

  _getResponseJSON: function() {
    var options =3D this.request.options;
    if (!options.evalJSON || (options.evalJSON !=3D 'force' &&
      !(this.getHeader('Content-type') || =
'').include('application/json')) ||
        this.responseText.blank())
          return null;
    try {
      return this.responseText.evalJSON(options.sanitizeJSON ||
        !this.request.isSameOrigin());
    } catch (e) {
      this.request.dispatchException(e);
    }
  }
});

Ajax.Updater =3D Class.create(Ajax.Request, {
  initialize: function($super, container, url, options) {
    this.container =3D {
      success: (container.success || container),
      failure: (container.failure || (container.success ? null : =
container))
    };

    options =3D Object.clone(options);
    var onComplete =3D options.onComplete;
    options.onComplete =3D (function(response, json) {
      this.updateContent(response.responseText);
      if (Object.isFunction(onComplete)) onComplete(response, json);
    }).bind(this);

    $super(url, options);
  },

  updateContent: function(responseText) {
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'],
        options =3D this.options;

    if (!options.evalScripts) responseText =3D =
responseText.stripScripts();

    if (receiver =3D $(receiver)) {
      if (options.insertion) {
        if (Object.isString(options.insertion)) {
          var insertion =3D { }; insertion[options.insertion] =3D =
responseText;
          receiver.insert(insertion);
        }
        else options.insertion(receiver, responseText);
      }
      else receiver.update(responseText);
    }
  }
});

Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {
  initialize: function($super, container, url, options) {
    $super(options);
    this.onComplete =3D this.options.onComplete;

    this.frequency =3D (this.options.frequency || 2);
    this.decay =3D (this.options.decay || 1);

    this.updater =3D { };
    this.container =3D container;
    this.url =3D url;

    this.start();
  },

  start: function() {
    this.options.onComplete =3D this.updateComplete.bind(this);
    this.onTimerEvent();
  },

  stop: function() {
    this.updater.options.onComplete =3D undefined;
    clearTimeout(this.timer);
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
  },

  updateComplete: function(response) {
    if (this.options.decay) {
      this.decay =3D (response.responseText =3D=3D this.lastText ?
        this.decay * this.options.decay : 1);

      this.lastText =3D response.responseText;
    }
    this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * =
this.frequency);
  },

  onTimerEvent: function() {
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);
  }
});
function $(element) {
  if (arguments.length > 1) {
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (Object.isString(element))
    element =3D document.getElementById(element);
  return Element.extend(element);
}

if (Prototype.BrowserFeatures.XPath) {
  document._getElementsByXPath =3D function(expression, parentElement) {
    var results =3D [];
    var query =3D document.evaluate(expression, $(parentElement) || =
document,
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)
      results.push(Element.extend(query.snapshotItem(i)));
    return results;
  };
}

/*-----------------------------------------------------------------------=
---*/

if (!window.Node) var Node =3D { };

if (!Node.ELEMENT_NODE) {
  // DOM level 2 ECMAScript Language Binding
  Object.extend(Node, {
    ELEMENT_NODE: 1,
    ATTRIBUTE_NODE: 2,
    TEXT_NODE: 3,
    CDATA_SECTION_NODE: 4,
    ENTITY_REFERENCE_NODE: 5,
    ENTITY_NODE: 6,
    PROCESSING_INSTRUCTION_NODE: 7,
    COMMENT_NODE: 8,
    DOCUMENT_NODE: 9,
    DOCUMENT_TYPE_NODE: 10,
    DOCUMENT_FRAGMENT_NODE: 11,
    NOTATION_NODE: 12
  });
}

(function() {
  var element =3D this.Element;
  this.Element =3D function(tagName, attributes) {
    attributes =3D attributes || { };
    tagName =3D tagName.toLowerCase();
    var cache =3D Element.cache;
    if (Prototype.Browser.IE && attributes.name) {
      tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';
      delete attributes.name;
      return Element.writeAttribute(document.createElement(tagName), =
attributes);
    }
    if (!cache[tagName]) cache[tagName] =3D =
Element.extend(document.createElement(tagName));
    return Element.writeAttribute(cache[tagName].cloneNode(false), =
attributes);
  };
  Object.extend(this.Element, element || { });
}).call(window);

Element.cache =3D { };

Element.Methods =3D {
  visible: function(element) {
    return $(element).style.display !=3D 'none';
  },

  toggle: function(element) {
    element =3D $(element);
    Element[Element.visible(element) ? 'hide' : 'show'](element);
    return element;
  },

  hide: function(element) {
    $(element).style.display =3D 'none';
    return element;
  },

  show: function(element) {
    $(element).style.display =3D '';
    return element;
  },

  remove: function(element) {
    element =3D $(element);
    element.parentNode.removeChild(element);
    return element;
  },

  update: function(element, content) {
    element =3D $(element);
    if (content && content.toElement) content =3D content.toElement();
    if (Object.isElement(content)) return =
element.update().insert(content);
    content =3D Object.toHTML(content);
    element.innerHTML =3D content.stripScripts();
    content.evalScripts.bind(content).defer();
    return element;
  },

  replace: function(element, content) {
    element =3D $(element);
    if (content && content.toElement) content =3D content.toElement();
    else if (!Object.isElement(content)) {
      content =3D Object.toHTML(content);
      var range =3D element.ownerDocument.createRange();
      range.selectNode(element);
      content.evalScripts.bind(content).defer();
      content =3D =
range.createContextualFragment(content.stripScripts());
    }
    element.parentNode.replaceChild(content, element);
    return element;
  },

  insert: function(element, insertions) {
    element =3D $(element);

    if (Object.isString(insertions) || Object.isNumber(insertions) ||
        Object.isElement(insertions) || (insertions && =
(insertions.toElement || insertions.toHTML)))
          insertions =3D {bottom:insertions};

    var content, insert, tagName, childNodes;

    for (var position in insertions) {
      content  =3D insertions[position];
      position =3D position.toLowerCase();
      insert =3D Element._insertionTranslations[position];

      if (content && content.toElement) content =3D content.toElement();
      if (Object.isElement(content)) {
        insert(element, content);
        continue;
      }

      content =3D Object.toHTML(content);

      tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')
        ? element.parentNode : element).tagName.toUpperCase();

      childNodes =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());

      if (position =3D=3D 'top' || position =3D=3D 'after') =
childNodes.reverse();
      childNodes.each(insert.curry(element));

      content.evalScripts.bind(content).defer();
    }

    return element;
  },

  wrap: function(element, wrapper, attributes) {
    element =3D $(element);
    if (Object.isElement(wrapper))
      $(wrapper).writeAttribute(attributes || { });
    else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, =
attributes);
    else wrapper =3D new Element('div', wrapper);
    if (element.parentNode)
      element.parentNode.replaceChild(wrapper, element);
    wrapper.appendChild(element);
    return wrapper;
  },

  inspect: function(element) {
    element =3D $(element);
    var result =3D '<' + element.tagName.toLowerCase();
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {
      var property =3D pair.first(), attribute =3D pair.last();
      var value =3D (element[property] || '').toString();
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);
    });
    return result + '>';
  },

  recursivelyCollect: function(element, property) {
    element =3D $(element);
    var elements =3D [];
    while (element =3D element[property])
      if (element.nodeType =3D=3D 1)
        elements.push(Element.extend(element));
    return elements;
  },

  ancestors: function(element) {
    return $(element).recursivelyCollect('parentNode');
  },

  descendants: function(element) {
    return $(element).select("*");
  },

  firstDescendant: function(element) {
    element =3D $(element).firstChild;
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;
    return $(element);
  },

  immediateDescendants: function(element) {
    if (!(element =3D $(element).firstChild)) return [];
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;
    if (element) return [element].concat($(element).nextSiblings());
    return [];
  },

  previousSiblings: function(element) {
    return $(element).recursivelyCollect('previousSibling');
  },

  nextSiblings: function(element) {
    return $(element).recursivelyCollect('nextSibling');
  },

  siblings: function(element) {
    element =3D $(element);
    return =
element.previousSiblings().reverse().concat(element.nextSiblings());
  },

  match: function(element, selector) {
    if (Object.isString(selector))
      selector =3D new Selector(selector);
    return selector.match($(element));
  },

  up: function(element, expression, index) {
    element =3D $(element);
    if (arguments.length =3D=3D 1) return $(element.parentNode);
    var ancestors =3D element.ancestors();
    return Object.isNumber(expression) ? ancestors[expression] :
      Selector.findElement(ancestors, expression, index);
  },

  down: function(element, expression, index) {
    element =3D $(element);
    if (arguments.length =3D=3D 1) return element.firstDescendant();
    return Object.isNumber(expression) ? =
element.descendants()[expression] :
      element.select(expression)[index || 0];
  },

  previous: function(element, expression, index) {
    element =3D $(element);
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.previousElementSibling(element));
    var previousSiblings =3D element.previousSiblings();
    return Object.isNumber(expression) ? previousSiblings[expression] :
      Selector.findElement(previousSiblings, expression, index);
  },

  next: function(element, expression, index) {
    element =3D $(element);
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.nextElementSibling(element));
    var nextSiblings =3D element.nextSiblings();
    return Object.isNumber(expression) ? nextSiblings[expression] :
      Selector.findElement(nextSiblings, expression, index);
  },

  select: function() {
    var args =3D $A(arguments), element =3D $(args.shift());
    return Selector.findChildElements(element, args);
  },

  adjacent: function() {
    var args =3D $A(arguments), element =3D $(args.shift());
    return Selector.findChildElements(element.parentNode, =
args).without(element);
  },

  identify: function(element) {
    element =3D $(element);
    var id =3D element.readAttribute('id'), self =3D arguments.callee;
    if (id) return id;
    do { id =3D 'anonymous_element_' + self.counter++ } while ($(id));
    element.writeAttribute('id', id);
    return id;
  },

  readAttribute: function(element, name) {
    element =3D $(element);
    if (Prototype.Browser.IE) {
      var t =3D Element._attributeTranslations.read;
      if (t.values[name]) return t.values[name](element, name);
      if (t.names[name]) name =3D t.names[name];
      if (name.include(':')) {
        return (!element.attributes || !element.attributes[name]) ? null =
:
         element.attributes[name].value;
      }
    }
    return element.getAttribute(name);
  },

  writeAttribute: function(element, name, value) {
    element =3D $(element);
    var attributes =3D { }, t =3D Element._attributeTranslations.write;

    if (typeof name =3D=3D 'object') attributes =3D name;
    else attributes[name] =3D Object.isUndefined(value) ? true : value;

    for (var attr in attributes) {
      name =3D t.names[attr] || attr;
      value =3D attributes[attr];
      if (t.values[attr]) name =3D t.values[attr](element, value);
      if (value =3D=3D=3D false || value =3D=3D=3D null)
        element.removeAttribute(name);
      else if (value =3D=3D=3D true)
        element.setAttribute(name, name);
      else element.setAttribute(name, value);
    }
    return element;
  },

  getHeight: function(element) {
    return $(element).getDimensions().height;
  },

  getWidth: function(element) {
    return $(element).getDimensions().width;
  },

  classNames: function(element) {
    return new Element.ClassNames(element);
  },

  hasClassName: function(element, className) {
    if (!(element =3D $(element))) return;
    var elementClassName =3D element.className;
    return (elementClassName.length > 0 && (elementClassName =3D=3D =
className ||
      new RegExp("(^|\\s)" + className + =
"(\\s|$)").test(elementClassName)));
  },

  addClassName: function(element, className) {
    if (!(element =3D $(element))) return;
    if (!element.hasClassName(className))
      element.className +=3D (element.className ? ' ' : '') + className;
    return element;
  },

  removeClassName: function(element, className) {
    if (!(element =3D $(element))) return;
    element.className =3D element.className.replace(
      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
    return element;
  },

  toggleClassName: function(element, className) {
    if (!(element =3D $(element))) return;
    return element[element.hasClassName(className) ?
      'removeClassName' : 'addClassName'](className);
  },

  // removes whitespace-only text node children
  cleanWhitespace: function(element) {
    element =3D $(element);
    var node =3D element.firstChild;
    while (node) {
      var nextNode =3D node.nextSibling;
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))
        element.removeChild(node);
      node =3D nextNode;
    }
    return element;
  },

  empty: function(element) {
    return $(element).innerHTML.blank();
  },

  descendantOf: function(element, ancestor) {
    element =3D $(element), ancestor =3D $(ancestor);
    var originalAncestor =3D ancestor;

    if (element.compareDocumentPosition)
      return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D =
8;

    if (element.sourceIndex && !Prototype.Browser.Opera) {
      var e =3D element.sourceIndex, a =3D ancestor.sourceIndex,
       nextAncestor =3D ancestor.nextSibling;
      if (!nextAncestor) {
        do { ancestor =3D ancestor.parentNode; }
        while (!(nextAncestor =3D ancestor.nextSibling) && =
ancestor.parentNode);
      }
      if (nextAncestor && nextAncestor.sourceIndex)
       return (e > a && e < nextAncestor.sourceIndex);
    }

    while (element =3D element.parentNode)
      if (element =3D=3D originalAncestor) return true;
    return false;
  },

  scrollTo: function(element) {
    element =3D $(element);
    var pos =3D element.cumulativeOffset();
    window.scrollTo(pos[0], pos[1]);
    return element;
  },

  getStyle: function(element, style) {
    element =3D $(element);
    style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();
    var value =3D element.style[style];
    if (!value) {
      var css =3D document.defaultView.getComputedStyle(element, null);
      value =3D css ? css[style] : null;
    }
    if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;
    return value =3D=3D 'auto' ? null : value;
  },

  getOpacity: function(element) {
    return $(element).getStyle('opacity');
  },

  setStyle: function(element, styles) {
    element =3D $(element);
    var elementStyle =3D element.style, match;
    if (Object.isString(styles)) {
      element.style.cssText +=3D ';' + styles;
      return styles.include('opacity') ?
        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : =
element;
    }
    for (var property in styles)
      if (property =3D=3D 'opacity') =
element.setOpacity(styles[property]);
      else
        elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?
          (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : =
'styleFloat') :
            property] =3D styles[property];

    return element;
  },

  setOpacity: function(element, value) {
    element =3D $(element);
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :
      (value < 0.00001) ? 0 : value;
    return element;
  },

  getDimensions: function(element) {
    element =3D $(element);
    var display =3D $(element).getStyle('display');
    if (display !=3D 'none' && display !=3D null) // Safari bug
      return {width: element.offsetWidth, height: element.offsetHeight};

    // All *Width and *Height properties give 0 on elements with display =
none,
    // so enable the element temporarily
    var els =3D element.style;
    var originalVisibility =3D els.visibility;
    var originalPosition =3D els.position;
    var originalDisplay =3D els.display;
    els.visibility =3D 'hidden';
    els.position =3D 'absolute';
    els.display =3D 'block';
    var originalWidth =3D element.clientWidth;
    var originalHeight =3D element.clientHeight;
    els.display =3D originalDisplay;
    els.position =3D originalPosition;
    els.visibility =3D originalVisibility;
    return {width: originalWidth, height: originalHeight};
  },

  makePositioned: function(element) {
    element =3D $(element);
    var pos =3D Element.getStyle(element, 'position');
    if (pos =3D=3D 'static' || !pos) {
      element._madePositioned =3D true;
      element.style.position =3D 'relative';
      // Opera returns the offset relative to the positioning context, =
when an
      // element is position relative but top and left have not been =
defined
      if (window.opera) {
        element.style.top =3D 0;
        element.style.left =3D 0;
      }
    }
    return element;
  },

  undoPositioned: function(element) {
    element =3D $(element);
    if (element._madePositioned) {
      element._madePositioned =3D undefined;
      element.style.position =3D
        element.style.top =3D
        element.style.left =3D
        element.style.bottom =3D
        element.style.right =3D '';
    }
    return element;
  },

  makeClipping: function(element) {
    element =3D $(element);
    if (element._overflow) return element;
    element._overflow =3D Element.getStyle(element, 'overflow') || =
'auto';
    if (element._overflow !=3D=3D 'hidden')
      element.style.overflow =3D 'hidden';
    return element;
  },

  undoClipping: function(element) {
    element =3D $(element);
    if (!element._overflow) return element;
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;
    element._overflow =3D null;
    return element;
  },

  cumulativeOffset: function(element) {
    var valueT =3D 0, valueL =3D 0;
    do {
      valueT +=3D element.offsetTop  || 0;
      valueL +=3D element.offsetLeft || 0;
      element =3D element.offsetParent;
    } while (element);
    return Element._returnOffset(valueL, valueT);
  },

  positionedOffset: function(element) {
    var valueT =3D 0, valueL =3D 0;
    do {
      valueT +=3D element.offsetTop  || 0;
      valueL +=3D element.offsetLeft || 0;
      element =3D element.offsetParent;
      if (element) {
        if (element.tagName =3D=3D 'BODY') break;
        var p =3D Element.getStyle(element, 'position');
        if (p !=3D=3D 'static') break;
      }
    } while (element);
    return Element._returnOffset(valueL, valueT);
  },

  absolutize: function(element) {
    element =3D $(element);
    if (element.getStyle('position') =3D=3D 'absolute') return;
    // Position.prepare(); // To be done manually by Scripty when it =
needs it.

    var offsets =3D element.positionedOffset();
    var top     =3D offsets[1];
    var left    =3D offsets[0];
    var width   =3D element.clientWidth;
    var height  =3D element.clientHeight;

    element._originalLeft   =3D left - parseFloat(element.style.left  || =
0);
    element._originalTop    =3D top  - parseFloat(element.style.top || =
0);
    element._originalWidth  =3D element.style.width;
    element._originalHeight =3D element.style.height;

    element.style.position =3D 'absolute';
    element.style.top    =3D top + 'px';
    element.style.left   =3D left + 'px';
    element.style.width  =3D width + 'px';
    element.style.height =3D height + 'px';
    return element;
  },

  relativize: function(element) {
    element =3D $(element);
    if (element.getStyle('position') =3D=3D 'relative') return;
    // Position.prepare(); // To be done manually by Scripty when it =
needs it.

    element.style.position =3D 'relative';
    var top  =3D parseFloat(element.style.top  || 0) - =
(element._originalTop || 0);
    var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);

    element.style.top    =3D top + 'px';
    element.style.left   =3D left + 'px';
    element.style.height =3D element._originalHeight;
    element.style.width  =3D element._originalWidth;
    return element;
  },

  cumulativeScrollOffset: function(element) {
    var valueT =3D 0, valueL =3D 0;
    do {
      valueT +=3D element.scrollTop  || 0;
      valueL +=3D element.scrollLeft || 0;
      element =3D element.parentNode;
    } while (element);
    return Element._returnOffset(valueL, valueT);
  },

  getOffsetParent: function(element) {
    if (element.offsetParent) return $(element.offsetParent);
    if (element =3D=3D document.body) return $(element);

    while ((element =3D element.parentNode) && element !=3D =
document.body)
      if (Element.getStyle(element, 'position') !=3D 'static')
        return $(element);

    return $(document.body);
  },

  viewportOffset: function(forElement) {
    var valueT =3D 0, valueL =3D 0;

    var element =3D forElement;
    do {
      valueT +=3D element.offsetTop  || 0;
      valueL +=3D element.offsetLeft || 0;

      // Safari fix
      if (element.offsetParent =3D=3D document.body &&
        Element.getStyle(element, 'position') =3D=3D 'absolute') break;

    } while (element =3D element.offsetParent);

    element =3D forElement;
    do {
      if (!Prototype.Browser.Opera || element.tagName =3D=3D 'BODY') {
        valueT -=3D element.scrollTop  || 0;
        valueL -=3D element.scrollLeft || 0;
      }
    } while (element =3D element.parentNode);

    return Element._returnOffset(valueL, valueT);
  },

  clonePosition: function(element, source) {
    var options =3D Object.extend({
      setLeft:    true,
      setTop:     true,
      setWidth:   true,
      setHeight:  true,
      offsetTop:  0,
      offsetLeft: 0
    }, arguments[2] || { });

    // find page position of source
    source =3D $(source);
    var p =3D source.viewportOffset();

    // find coordinate system to use
    element =3D $(element);
    var delta =3D [0, 0];
    var parent =3D null;
    // delta [0,0] will do fine with position: fixed elements,
    // position:absolute needs offsetParent deltas
    if (Element.getStyle(element, 'position') =3D=3D 'absolute') {
      parent =3D element.getOffsetParent();
      delta =3D parent.viewportOffset();
    }

    // correct by body offsets (fixes Safari)
    if (parent =3D=3D document.body) {
      delta[0] -=3D document.body.offsetLeft;
      delta[1] -=3D document.body.offsetTop;
    }

    // set position
    if (options.setLeft)   element.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';
    if (options.setTop)    element.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';
    if (options.setWidth)  element.style.width =3D source.offsetWidth + =
'px';
    if (options.setHeight) element.style.height =3D source.offsetHeight =
+ 'px';
    return element;
  }
};

Element.Methods.identify.counter =3D 1;

Object.extend(Element.Methods, {
  getElementsBySelector: Element.Methods.select,
  childElements: Element.Methods.immediateDescendants
});

Element._attributeTranslations =3D {
  write: {
    names: {
      className: 'class',
      htmlFor:   'for'
    },
    values: { }
  }
};

if (Prototype.Browser.Opera) {
  Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(
    function(proceed, element, style) {
      switch (style) {
        case 'left': case 'top': case 'right': case 'bottom':
          if (proceed(element, 'position') =3D=3D=3D 'static') return =
null;
        case 'height': case 'width':
          // returns '0px' for hidden elements; we want it to return =
null
          if (!Element.visible(element)) return null;

          // returns the border-box dimensions rather than the =
content-box
          // dimensions, so we subtract padding and borders from the =
value
          var dim =3D parseInt(proceed(element, style), 10);

          if (dim !=3D=3D element['offset' + style.capitalize()])
            return dim + 'px';

          var properties;
          if (style =3D=3D=3D 'height') {
            properties =3D ['border-top-width', 'padding-top',
             'padding-bottom', 'border-bottom-width'];
          }
          else {
            properties =3D ['border-left-width', 'padding-left',
             'padding-right', 'border-right-width'];
          }
          return properties.inject(dim, function(memo, property) {
            var val =3D proceed(element, property);
            return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);
          }) + 'px';
        default: return proceed(element, style);
      }
    }
  );

  Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(
    function(proceed, element, attribute) {
      if (attribute =3D=3D=3D 'title') return element.title;
      return proceed(element, attribute);
    }
  );
}

else if (Prototype.Browser.IE) {
  // IE doesn't report offsets correctly for static elements, so we =
change them
  // to "relative" to get the values, then change them back.
  Element.Methods.getOffsetParent =3D =
Element.Methods.getOffsetParent.wrap(
    function(proceed, element) {
      element =3D $(element);
      var position =3D element.getStyle('position');
      if (position !=3D=3D 'static') return proceed(element);
      element.setStyle({ position: 'relative' });
      var value =3D proceed(element);
      element.setStyle({ position: position });
      return value;
    }
  );

  $w('positionedOffset viewportOffset').each(function(method) {
    Element.Methods[method] =3D Element.Methods[method].wrap(
      function(proceed, element) {
        element =3D $(element);
        var position =3D element.getStyle('position');
        if (position !=3D=3D 'static') return proceed(element);
        // Trigger hasLayout on the offset parent so that IE6 reports
        // accurate offsetTop and offsetLeft values for position: fixed.
        var offsetParent =3D element.getOffsetParent();
        if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D =
'fixed')
          offsetParent.setStyle({ zoom: 1 });
        element.setStyle({ position: 'relative' });
        var value =3D proceed(element);
        element.setStyle({ position: position });
        return value;
      }
    );
  });

  Element.Methods.getStyle =3D function(element, style) {
    element =3D $(element);
    style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();
    var value =3D element.style[style];
    if (!value && element.currentStyle) value =3D =
element.currentStyle[style];

    if (style =3D=3D 'opacity') {
      if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))
        if (value[1]) return parseFloat(value[1]) / 100;
      return 1.0;
    }

    if (value =3D=3D 'auto') {
      if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))
        return element['offset' + style.capitalize()] + 'px';
      return null;
    }
    return value;
  };

  Element.Methods.setOpacity =3D function(element, value) {
    function stripAlpha(filter){
      return filter.replace(/alpha\([^\)]*\)/gi,'');
    }
    element =3D $(element);
    var currentStyle =3D element.currentStyle;
    if ((currentStyle && !currentStyle.hasLayout) ||
      (!currentStyle && element.style.zoom =3D=3D 'normal'))
        element.style.zoom =3D 1;

    var filter =3D element.getStyle('filter'), style =3D element.style;
    if (value =3D=3D 1 || value =3D=3D=3D '') {
      (filter =3D stripAlpha(filter)) ?
        style.filter =3D filter : style.removeAttribute('filter');
      return element;
    } else if (value < 0.00001) value =3D 0;
    style.filter =3D stripAlpha(filter) +
      'alpha(opacity=3D' + (value * 100) + ')';
    return element;
  };

  Element._attributeTranslations =3D {
    read: {
      names: {
        'class': 'className',
        'for':   'htmlFor'
      },
      values: {
        _getAttr: function(element, attribute) {
          return element.getAttribute(attribute, 2);
        },
        _getAttrNode: function(element, attribute) {
          var node =3D element.getAttributeNode(attribute);
          return node ? node.value : "";
        },
        _getEv: function(element, attribute) {
          attribute =3D element.getAttribute(attribute);
          return attribute ? attribute.toString().slice(23, -2) : null;
        },
        _flag: function(element, attribute) {
          return $(element).hasAttribute(attribute) ? attribute : null;
        },
        style: function(element) {
          return element.style.cssText.toLowerCase();
        },
        title: function(element) {
          return element.title;
        }
      }
    }
  };

  Element._attributeTranslations.write =3D {
    names: Object.extend({
      cellpadding: 'cellPadding',
      cellspacing: 'cellSpacing'
    }, Element._attributeTranslations.read.names),
    values: {
      checked: function(element, value) {
        element.checked =3D !!value;
      },

      style: function(element, value) {
        element.style.cssText =3D value ? value : '';
      }
    }
  };

  Element._attributeTranslations.has =3D {};

  $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +
      'encType maxLength readOnly longDesc').each(function(attr) {
    Element._attributeTranslations.write.names[attr.toLowerCase()] =3D =
attr;
    Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;
  });

  (function(v) {
    Object.extend(v, {
      href:        v._getAttr,
      src:         v._getAttr,
      type:        v._getAttr,
      action:      v._getAttrNode,
      disabled:    v._flag,
      checked:     v._flag,
      readonly:    v._flag,
      multiple:    v._flag,
      onload:      v._getEv,
      onunload:    v._getEv,
      onclick:     v._getEv,
      ondblclick:  v._getEv,
      onmousedown: v._getEv,
      onmouseup:   v._getEv,
      onmouseover: v._getEv,
      onmousemove: v._getEv,
      onmouseout:  v._getEv,
      onfocus:     v._getEv,
      onblur:      v._getEv,
      onkeypress:  v._getEv,
      onkeydown:   v._getEv,
      onkeyup:     v._getEv,
      onsubmit:    v._getEv,
      onreset:     v._getEv,
      onselect:    v._getEv,
      onchange:    v._getEv
    });
  })(Element._attributeTranslations.read.values);
}

else if (Prototype.Browser.Gecko && =
/rv:1\.8\.0/.test(navigator.userAgent)) {
  Element.Methods.setOpacity =3D function(element, value) {
    element =3D $(element);
    element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :
      (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;
    return element;
  };
}

else if (Prototype.Browser.WebKit) {
  Element.Methods.setOpacity =3D function(element, value) {
    element =3D $(element);
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :
      (value < 0.00001) ? 0 : value;

    if (value =3D=3D 1)
      if(element.tagName =3D=3D 'IMG' && element.width) {
        element.width++; element.width--;
      } else try {
        var n =3D document.createTextNode(' ');
        element.appendChild(n);
        element.removeChild(n);
      } catch (e) { }

    return element;
  };

  // Safari returns margins on body which is incorrect if the child is =
absolutely
  // positioned.  For performance reasons, redefine =
Element#cumulativeOffset for
  // KHTML/WebKit only.
  Element.Methods.cumulativeOffset =3D function(element) {
    var valueT =3D 0, valueL =3D 0;
    do {
      valueT +=3D element.offsetTop  || 0;
      valueL +=3D element.offsetLeft || 0;
      if (element.offsetParent =3D=3D document.body)
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;

      element =3D element.offsetParent;
    } while (element);

    return Element._returnOffset(valueL, valueT);
  };
}

if (Prototype.Browser.IE || Prototype.Browser.Opera) {
  // IE and Opera are missing .innerHTML support for TABLE-related and =
SELECT elements
  Element.Methods.update =3D function(element, content) {
    element =3D $(element);

    if (content && content.toElement) content =3D content.toElement();
    if (Object.isElement(content)) return =
element.update().insert(content);

    content =3D Object.toHTML(content);
    var tagName =3D element.tagName.toUpperCase();

    if (tagName in Element._insertionTranslations.tags) {
      $A(element.childNodes).each(function(node) { =
element.removeChild(node) });
      Element._getContentFromAnonymousElement(tagName, =
content.stripScripts())
        .each(function(node) { element.appendChild(node) });
    }
    else element.innerHTML =3D content.stripScripts();

    content.evalScripts.bind(content).defer();
    return element;
  };
}

if ('outerHTML' in document.createElement('div')) {
  Element.Methods.replace =3D function(element, content) {
    element =3D $(element);

    if (content && content.toElement) content =3D content.toElement();
    if (Object.isElement(content)) {
      element.parentNode.replaceChild(content, element);
      return element;
    }

    content =3D Object.toHTML(content);
    var parent =3D element.parentNode, tagName =3D =
parent.tagName.toUpperCase();

    if (Element._insertionTranslations.tags[tagName]) {
      var nextSibling =3D element.next();
      var fragments =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());
      parent.removeChild(element);
      if (nextSibling)
        fragments.each(function(node) { parent.insertBefore(node, =
nextSibling) });
      else
        fragments.each(function(node) { parent.appendChild(node) });
    }
    else element.outerHTML =3D content.stripScripts();

    content.evalScripts.bind(content).defer();
    return element;
  };
}

Element._returnOffset =3D function(l, t) {
  var result =3D [l, t];
  result.left =3D l;
  result.top =3D t;
  return result;
};

Element._getContentFromAnonymousElement =3D function(tagName, html) {
  var div =3D new Element('div'), t =3D =
Element._insertionTranslations.tags[tagName];
  if (t) {
    div.innerHTML =3D t[0] + html + t[1];
    t[2].times(function() { div =3D div.firstChild });
  } else div.innerHTML =3D html;
  return $A(div.childNodes);
};

Element._insertionTranslations =3D {
  before: function(element, node) {
    element.parentNode.insertBefore(node, element);
  },
  top: function(element, node) {
    element.insertBefore(node, element.firstChild);
  },
  bottom: function(element, node) {
    element.appendChild(node);
  },
  after: function(element, node) {
    element.parentNode.insertBefore(node, element.nextSibling);
  },
  tags: {
    TABLE:  ['<table>',                '</table>',                   1],
    TBODY:  ['<table><tbody>',         '</tbody></table>',           2],
    TR:     ['<table><tbody><tr>',     '</tr></tbody></table>',      3],
    TD:     ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],
    SELECT: ['<select>',               '</select>',                  1]
  }
};

(function() {
  Object.extend(this.tags, {
    THEAD: this.tags.TBODY,
    TFOOT: this.tags.TBODY,
    TH:    this.tags.TD
  });
}).call(Element._insertionTranslations);

Element.Methods.Simulated =3D {
  hasAttribute: function(element, attribute) {
    attribute =3D Element._attributeTranslations.has[attribute] || =
attribute;
    var node =3D $(element).getAttributeNode(attribute);
    return node && node.specified;
  }
};

Element.Methods.ByTag =3D { };

Object.extend(Element, Element.Methods);

if (!Prototype.BrowserFeatures.ElementExtensions &&
    document.createElement('div').__proto__) {
  window.HTMLElement =3D { };
  window.HTMLElement.prototype =3D =
document.createElement('div').__proto__;
  Prototype.BrowserFeatures.ElementExtensions =3D true;
}

Element.extend =3D (function() {
  if (Prototype.BrowserFeatures.SpecificElementExtensions)
    return Prototype.K;

  var Methods =3D { }, ByTag =3D Element.Methods.ByTag;

  var extend =3D Object.extend(function(element) {
    if (!element || element._extendedByPrototype ||
        element.nodeType !=3D 1 || element =3D=3D window) return =
element;

    var methods =3D Object.clone(Methods),
      tagName =3D element.tagName, property, value;

    // extend methods for specific tags
    if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);

    for (property in methods) {
      value =3D methods[property];
      if (Object.isFunction(value) && !(property in element))
        element[property] =3D value.methodize();
    }

    element._extendedByPrototype =3D Prototype.emptyFunction;
    return element;

  }, {
    refresh: function() {
      // extend methods for all tags (Safari doesn't need this)
      if (!Prototype.BrowserFeatures.ElementExtensions) {
        Object.extend(Methods, Element.Methods);
        Object.extend(Methods, Element.Methods.Simulated);
      }
    }
  });

  extend.refresh();
  return extend;
})();

Element.hasAttribute =3D function(element, attribute) {
  if (element.hasAttribute) return element.hasAttribute(attribute);
  return Element.Methods.Simulated.hasAttribute(element, attribute);
};

Element.addMethods =3D function(methods) {
  var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;

  if (!methods) {
    Object.extend(Form, Form.Methods);
    Object.extend(Form.Element, Form.Element.Methods);
    Object.extend(Element.Methods.ByTag, {
      "FORM":     Object.clone(Form.Methods),
      "INPUT":    Object.clone(Form.Element.Methods),
      "SELECT":   Object.clone(Form.Element.Methods),
      "TEXTAREA": Object.clone(Form.Element.Methods)
    });
  }

  if (arguments.length =3D=3D 2) {
    var tagName =3D methods;
    methods =3D arguments[1];
  }

  if (!tagName) Object.extend(Element.Methods, methods || { });
  else {
    if (Object.isArray(tagName)) tagName.each(extend);
    else extend(tagName);
  }

  function extend(tagName) {
    tagName =3D tagName.toUpperCase();
    if (!Element.Methods.ByTag[tagName])
      Element.Methods.ByTag[tagName] =3D { };
    Object.extend(Element.Methods.ByTag[tagName], methods);
  }

  function copy(methods, destination, onlyIfAbsent) {
    onlyIfAbsent =3D onlyIfAbsent || false;
    for (var property in methods) {
      var value =3D methods[property];
      if (!Object.isFunction(value)) continue;
      if (!onlyIfAbsent || !(property in destination))
        destination[property] =3D value.methodize();
    }
  }

  function findDOMClass(tagName) {
    var klass;
    var trans =3D {
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", =
"THEAD":
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", =
"TR":
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
      "FrameSet", "IFRAME": "IFrame"
    };
    if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';
    if (window[klass]) return window[klass];
    klass =3D 'HTML' + tagName + 'Element';
    if (window[klass]) return window[klass];
    klass =3D 'HTML' + tagName.capitalize() + 'Element';
    if (window[klass]) return window[klass];

    window[klass] =3D { };
    window[klass].prototype =3D =
document.createElement(tagName).__proto__;
    return window[klass];
  }

  if (F.ElementExtensions) {
    copy(Element.Methods, HTMLElement.prototype);
    copy(Element.Methods.Simulated, HTMLElement.prototype, true);
  }

  if (F.SpecificElementExtensions) {
    for (var tag in Element.Methods.ByTag) {
      var klass =3D findDOMClass(tag);
      if (Object.isUndefined(klass)) continue;
      copy(T[tag], klass.prototype);
    }
  }

  Object.extend(Element, Element.Methods);
  delete Element.ByTag;

  if (Element.extend.refresh) Element.extend.refresh();
  Element.cache =3D { };
};

document.viewport =3D {
  getDimensions: function() {
    var dimensions =3D { };
    var B =3D Prototype.Browser;
    $w('width height').each(function(d) {
      var D =3D d.capitalize();
      dimensions[d] =3D (B.WebKit && !document.evaluate) ? self['inner' =
+ D] :
        (B.Opera) ? document.body['client' + D] : =
document.documentElement['client' + D];
    });
    return dimensions;
  },

  getWidth: function() {
    return this.getDimensions().width;
  },

  getHeight: function() {
    return this.getDimensions().height;
  },

  getScrollOffsets: function() {
    return Element._returnOffset(
      window.pageXOffset || document.documentElement.scrollLeft || =
document.body.scrollLeft,
      window.pageYOffset || document.documentElement.scrollTop || =
document.body.scrollTop);
  }
};
/* Portions of the Selector class are derived from Jack Slocum=E2=80=99s =
DomQuery,
 * part of YUI-Ext version 0.40, distributed under the terms of an =
MIT-style
 * license.  Please see http://www.yui-ext.com/ for more information. */

var Selector =3D Class.create({
  initialize: function(expression) {
    this.expression =3D expression.strip();
    this.compileMatcher();
  },

  shouldUseXPath: function() {
    if (!Prototype.BrowserFeatures.XPath) return false;

    var e =3D this.expression;

    // Safari 3 chokes on :*-of-type and :empty
    if (Prototype.Browser.WebKit &&
     (e.include("-of-type") || e.include(":empty")))
      return false;

    // XPath can't do namespaced attributes, nor can it read
    // the "checked" property from DOM nodes
    if ((/(\[[\w-]*?:|:checked)/).test(this.expression))
      return false;

    return true;
  },

  compileMatcher: function() {
    if (this.shouldUseXPath())
      return this.compileXPathMatcher();

    var e =3D this.expression, ps =3D Selector.patterns, h =3D =
Selector.handlers,
        c =3D Selector.criteria, le, p, m;

    if (Selector._cache[e]) {
      this.matcher =3D Selector._cache[e];
      return;
    }

    this.matcher =3D ["this.matcher =3D function(root) {",
                    "var r =3D root, h =3D Selector.handlers, c =3D =
false, n;"];

    while (e && le !=3D e && (/\S/).test(e)) {
      le =3D e;
      for (var i in ps) {
        p =3D ps[i];
        if (m =3D e.match(p)) {
          this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :
    	      new Template(c[i]).evaluate(m));
          e =3D e.replace(m[0], '');
          break;
        }
      }
    }

    this.matcher.push("return h.unique(n);\n}");
    eval(this.matcher.join('\n'));
    Selector._cache[this.expression] =3D this.matcher;
  },

  compileXPathMatcher: function() {
    var e =3D this.expression, ps =3D Selector.patterns,
        x =3D Selector.xpath, le, m;

    if (Selector._cache[e]) {
      this.xpath =3D Selector._cache[e]; return;
    }

    this.matcher =3D ['.//*'];
    while (e && le !=3D e && (/\S/).test(e)) {
      le =3D e;
      for (var i in ps) {
        if (m =3D e.match(ps[i])) {
          this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :
            new Template(x[i]).evaluate(m));
          e =3D e.replace(m[0], '');
          break;
        }
      }
    }

    this.xpath =3D this.matcher.join('');
    Selector._cache[this.expression] =3D this.xpath;
  },

  findElements: function(root) {
    root =3D root || document;
    if (this.xpath) return document._getElementsByXPath(this.xpath, =
root);
    return this.matcher(root);
  },

  match: function(element) {
    this.tokens =3D [];

    var e =3D this.expression, ps =3D Selector.patterns, as =3D =
Selector.assertions;
    var le, p, m;

    while (e && le !=3D=3D e && (/\S/).test(e)) {
      le =3D e;
      for (var i in ps) {
        p =3D ps[i];
        if (m =3D e.match(p)) {
          // use the Selector.assertions methods unless the selector
          // is too complex.
          if (as[i]) {
            this.tokens.push([i, Object.clone(m)]);
            e =3D e.replace(m[0], '');
          } else {
            // reluctantly do a document-wide search
            // and look for a match in the array
            return this.findElements(document).include(element);
          }
        }
      }
    }

    var match =3D true, name, matches;
    for (var i =3D 0, token; token =3D this.tokens[i]; i++) {
      name =3D token[0], matches =3D token[1];
      if (!Selector.assertions[name](element, matches)) {
        match =3D false; break;
      }
    }

    return match;
  },

  toString: function() {
    return this.expression;
  },

  inspect: function() {
    return "#<Selector:" + this.expression.inspect() + ">";
  }
});

Object.extend(Selector, {
  _cache: { },

  xpath: {
    descendant:   "//*",
    child:        "/*",
    adjacent:     "/following-sibling::*[1]",
    laterSibling: '/following-sibling::*',
    tagName:      function(m) {
      if (m[1] =3D=3D '*') return '';
      return "[local-name()=3D'" + m[1].toLowerCase() +
             "' or local-name()=3D'" + m[1].toUpperCase() + "']";
    },
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",
    id:           "[@id=3D'#{1}']",
    attrPresence: function(m) {
      m[1] =3D m[1].toLowerCase();
      return new Template("[@#{1}]").evaluate(m);
    },
    attr: function(m) {
      m[1] =3D m[1].toLowerCase();
      m[3] =3D m[5] || m[6];
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
    },
    pseudo: function(m) {
      var h =3D Selector.xpath.pseudos[m[1]];
      if (!h) return '';
      if (Object.isFunction(h)) return h(m);
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
    },
    operators: {
      '=3D':  "[@#{1}=3D'#{3}']",
      '!=3D': "[@#{1}!=3D'#{3}']",
      '^=3D': "[starts-with(@#{1}, '#{3}')]",
      '$=3D': "[substring(@#{1}, (string-length(@#{1}) - =
string-length('#{3}') + 1))=3D'#{3}']",
      '*=3D': "[contains(@#{1}, '#{3}')]",
      '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
      '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
    },
    pseudos: {
      'first-child': '[not(preceding-sibling::*)]',
      'last-child':  '[not(following-sibling::*)]',
      'only-child':  '[not(preceding-sibling::* or =
following-sibling::*)]',
      'empty':       "[count(*) =3D 0 and (count(text()) =3D 0 or =
translate(text(), ' \t\r\n', '') =3D '')]",
      'checked':     "[@checked]",
      'disabled':    "[@disabled]",
      'enabled':     "[not(@disabled)]",
      'not': function(m) {
        var e =3D m[6], p =3D Selector.patterns,
            x =3D Selector.xpath, le, v;

        var exclusion =3D [];
        while (e && le !=3D e && (/\S/).test(e)) {
          le =3D e;
          for (var i in p) {
            if (m =3D e.match(p[i])) {
              v =3D Object.isFunction(x[i]) ? x[i](m) : new =
Template(x[i]).evaluate(m);
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");
              e =3D e.replace(m[0], '');
              break;
            }
          }
        }
        return "[not(" + exclusion.join(" and ") + ")]";
      },
      'nth-child':      function(m) {
        return =
Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);
      },
      'nth-last-child': function(m) {
        return =
Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);
      },
      'nth-of-type':    function(m) {
        return Selector.xpath.pseudos.nth("position() ", m);
      },
      'nth-last-of-type': function(m) {
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", =
m);
      },
      'first-of-type':  function(m) {
        m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);
      },
      'last-of-type':   function(m) {
        m[6] =3D "1"; return =
Selector.xpath.pseudos['nth-last-of-type'](m);
      },
      'only-of-type':   function(m) {
        var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + =
p['last-of-type'](m);
      },
      nth: function(fragment, m) {
        var mm, formula =3D m[6], predicate;
        if (formula =3D=3D 'even') formula =3D '2n+0';
        if (formula =3D=3D 'odd')  formula =3D '2n+1';
        if (mm =3D formula.match(/^(\d+)$/)) // digit only
          return '[' + fragment + "=3D " + mm[1] + ']';
        if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
          if (mm[1] =3D=3D "-") mm[1] =3D -1;
          var a =3D mm[1] ? Number(mm[1]) : 1;
          var b =3D mm[2] ? Number(mm[2]) : 0;
          predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +
          "((#{fragment} - #{b}) div #{a} >=3D 0)]";
          return new Template(predicate).evaluate({
            fragment: fragment, a: a, b: b });
        }
      }
    }
  },

  criteria: {
    tagName:      'n =3D h.tagName(n, r, "#{1}", c);      c =3D false;',
    className:    'n =3D h.className(n, r, "#{1}", c);    c =3D false;',
    id:           'n =3D h.id(n, r, "#{1}", c);           c =3D false;',
    attrPresence: 'n =3D h.attrPresence(n, r, "#{1}", c); c =3D false;',
    attr: function(m) {
      m[3] =3D (m[5] || m[6]);
      return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}", =
c); c =3D false;').evaluate(m);
    },
    pseudo: function(m) {
      if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');
      return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c =
=3D false;').evaluate(m);
    },
    descendant:   'c =3D "descendant";',
    child:        'c =3D "child";',
    adjacent:     'c =3D "adjacent";',
    laterSibling: 'c =3D "laterSibling";'
  },

  patterns: {
    // combinators must be listed first
    // (and descendant needs to be last combinator)
    laterSibling: /^\s*~\s*/,
    child:        /^\s*>\s*/,
    adjacent:     /^\s*\+\s*/,
    descendant:   /^\s/,

    // selectors follow
    tagName:      /^\s*(\*|[\w\-]+)(\b|$)?/,
    id:           /^#([\w\-\*]+)(\b|$)/,
    className:    /^\.([\w\-\*]+)(\b|$)/,
    pseudo:
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|(?=3D\s|[:+~>]))/,
    attrPresence: /^\[([\w]+)\]/,
    attr:         =
/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^=
\]]*?)))?\]/
  },

  // for Selector.match and Element#match
  assertions: {
    tagName: function(element, matches) {
      return matches[1].toUpperCase() =3D=3D =
element.tagName.toUpperCase();
    },

    className: function(element, matches) {
      return Element.hasClassName(element, matches[1]);
    },

    id: function(element, matches) {
      return element.id =3D=3D=3D matches[1];
    },

    attrPresence: function(element, matches) {
      return Element.hasAttribute(element, matches[1]);
    },

    attr: function(element, matches) {
      var nodeValue =3D Element.readAttribute(element, matches[1]);
      return nodeValue && Selector.operators[matches[2]](nodeValue, =
matches[5] || matches[6]);
    }
  },

  handlers: {
    // UTILITY FUNCTIONS
    // joins two collections
    concat: function(a, b) {
      for (var i =3D 0, node; node =3D b[i]; i++)
        a.push(node);
      return a;
    },

    // marks an array of nodes for counting
    mark: function(nodes) {
      var _true =3D Prototype.emptyFunction;
      for (var i =3D 0, node; node =3D nodes[i]; i++)
        node._countedByPrototype =3D _true;
      return nodes;
    },

    unmark: function(nodes) {
      for (var i =3D 0, node; node =3D nodes[i]; i++)
        node._countedByPrototype =3D undefined;
      return nodes;
    },

    // mark each child node with its position (for nth calls)
    // "ofType" flag indicates whether we're indexing for nth-of-type
    // rather than nth-child
    index: function(parentNode, reverse, ofType) {
      parentNode._countedByPrototype =3D Prototype.emptyFunction;
      if (reverse) {
        for (var nodes =3D parentNode.childNodes, i =3D nodes.length - =
1, j =3D 1; i >=3D 0; i--) {
          var node =3D nodes[i];
          if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;
        }
      } else {
        for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node =
=3D nodes[i]; i++)
          if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;
      }
    },

    // filters out duplicates and extends all nodes
    unique: function(nodes) {
      if (nodes.length =3D=3D 0) return nodes;
      var results =3D [], n;
      for (var i =3D 0, l =3D nodes.length; i < l; i++)
        if (!(n =3D nodes[i])._countedByPrototype) {
          n._countedByPrototype =3D Prototype.emptyFunction;
          results.push(Element.extend(n));
        }
      return Selector.handlers.unmark(results);
    },

    // COMBINATOR FUNCTIONS
    descendant: function(nodes) {
      var h =3D Selector.handlers;
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        h.concat(results, node.getElementsByTagName('*'));
      return results;
    },

    child: function(nodes) {
      var h =3D Selector.handlers;
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        for (var j =3D 0, child; child =3D node.childNodes[j]; j++)
          if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') =
results.push(child);
      }
      return results;
    },

    adjacent: function(nodes) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        var next =3D this.nextElementSibling(node);
        if (next) results.push(next);
      }
      return results;
    },

    laterSibling: function(nodes) {
      var h =3D Selector.handlers;
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        h.concat(results, Element.nextSiblings(node));
      return results;
    },

    nextElementSibling: function(node) {
      while (node =3D node.nextSibling)
	      if (node.nodeType =3D=3D 1) return node;
      return null;
    },

    previousElementSibling: function(node) {
      while (node =3D node.previousSibling)
        if (node.nodeType =3D=3D 1) return node;
      return null;
    },

    // TOKEN FUNCTIONS
    tagName: function(nodes, root, tagName, combinator) {
      var uTagName =3D tagName.toUpperCase();
      var results =3D [], h =3D Selector.handlers;
      if (nodes) {
        if (combinator) {
          // fastlane for ordinary descendant combinators
          if (combinator =3D=3D "descendant") {
            for (var i =3D 0, node; node =3D nodes[i]; i++)
              h.concat(results, node.getElementsByTagName(tagName));
            return results;
          } else nodes =3D this[combinator](nodes);
          if (tagName =3D=3D "*") return nodes;
        }
        for (var i =3D 0, node; node =3D nodes[i]; i++)
          if (node.tagName.toUpperCase() =3D=3D=3D uTagName) =
results.push(node);
        return results;
      } else return root.getElementsByTagName(tagName);
    },

    id: function(nodes, root, id, combinator) {
      var targetNode =3D $(id), h =3D Selector.handlers;
      if (!targetNode) return [];
      if (!nodes && root =3D=3D document) return [targetNode];
      if (nodes) {
        if (combinator) {
          if (combinator =3D=3D 'child') {
            for (var i =3D 0, node; node =3D nodes[i]; i++)
              if (targetNode.parentNode =3D=3D node) return =
[targetNode];
          } else if (combinator =3D=3D 'descendant') {
            for (var i =3D 0, node; node =3D nodes[i]; i++)
              if (Element.descendantOf(targetNode, node)) return =
[targetNode];
          } else if (combinator =3D=3D 'adjacent') {
            for (var i =3D 0, node; node =3D nodes[i]; i++)
              if (Selector.handlers.previousElementSibling(targetNode) =
=3D=3D node)
                return [targetNode];
          } else nodes =3D h[combinator](nodes);
        }
        for (var i =3D 0, node; node =3D nodes[i]; i++)
          if (node =3D=3D targetNode) return [targetNode];
        return [];
      }
      return (targetNode && Element.descendantOf(targetNode, root)) ? =
[targetNode] : [];
    },

    className: function(nodes, root, className, combinator) {
      if (nodes && combinator) nodes =3D this[combinator](nodes);
      return Selector.handlers.byClassName(nodes, root, className);
    },

    byClassName: function(nodes, root, className) {
      if (!nodes) nodes =3D Selector.handlers.descendant([root]);
      var needle =3D ' ' + className + ' ';
      for (var i =3D 0, results =3D [], node, nodeClassName; node =3D =
nodes[i]; i++) {
        nodeClassName =3D node.className;
        if (nodeClassName.length =3D=3D 0) continue;
        if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' =
').include(needle))
          results.push(node);
      }
      return results;
    },

    attrPresence: function(nodes, root, attr, combinator) {
      if (!nodes) nodes =3D root.getElementsByTagName("*");
      if (nodes && combinator) nodes =3D this[combinator](nodes);
      var results =3D [];
      for (var i =3D 0, node; node =3D nodes[i]; i++)
        if (Element.hasAttribute(node, attr)) results.push(node);
      return results;
    },

    attr: function(nodes, root, attr, value, operator, combinator) {
      if (!nodes) nodes =3D root.getElementsByTagName("*");
      if (nodes && combinator) nodes =3D this[combinator](nodes);
      var handler =3D Selector.operators[operator], results =3D [];
      for (var i =3D 0, node; node =3D nodes[i]; i++) {
        var nodeValue =3D Element.readAttribute(node, attr);
        if (nodeValue =3D=3D=3D null) continue;
        if (handler(nodeValue, value)) results.push(node);
      }
      return results;
    },

    pseudo: function(nodes, name, value, root, combinator) {
      if (nodes && combinator) nodes =3D this[combinator](nodes);
      if (!nodes) nodes =3D root.getElementsByTagName("*");
      return Selector.pseudos[name](nodes, value, root);
    }
  },

  pseudos: {
    'first-child': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        if (Selector.handlers.previousElementSibling(node)) continue;
          results.push(node);
      }
      return results;
    },
    'last-child': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        if (Selector.handlers.nextElementSibling(node)) continue;
          results.push(node);
      }
      return results;
    },
    'only-child': function(nodes, value, root) {
      var h =3D Selector.handlers;
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (!h.previousElementSibling(node) && =
!h.nextElementSibling(node))
          results.push(node);
      return results;
    },
    'nth-child':        function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root);
    },
    'nth-last-child':   function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, true);
    },
    'nth-of-type':      function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, false, true);
    },
    'nth-last-of-type': function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, formula, root, true, true);
    },
    'first-of-type':    function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, "1", root, false, true);
    },
    'last-of-type':     function(nodes, formula, root) {
      return Selector.pseudos.nth(nodes, "1", root, true, true);
    },
    'only-of-type':     function(nodes, formula, root) {
      var p =3D Selector.pseudos;
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), =
formula, root);
    },

    // handles the an+b logic
    getIndices: function(a, b, total) {
      if (a =3D=3D 0) return b > 0 ? [b] : [];
      return $R(1, total).inject([], function(memo, i) {
        if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);
        return memo;
      });
    },

    // handles nth(-last)-child, nth(-last)-of-type, and =
(first|last)-of-type
    nth: function(nodes, formula, root, reverse, ofType) {
      if (nodes.length =3D=3D 0) return [];
      if (formula =3D=3D 'even') formula =3D '2n+0';
      if (formula =3D=3D 'odd')  formula =3D '2n+1';
      var h =3D Selector.handlers, results =3D [], indexed =3D [], m;
      h.mark(nodes);
      for (var i =3D 0, node; node =3D nodes[i]; i++) {
        if (!node.parentNode._countedByPrototype) {
          h.index(node.parentNode, reverse, ofType);
          indexed.push(node.parentNode);
        }
      }
      if (formula.match(/^\d+$/)) { // just a number
        formula =3D Number(formula);
        for (var i =3D 0, node; node =3D nodes[i]; i++)
          if (node.nodeIndex =3D=3D formula) results.push(node);
      } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // =
an+b
        if (m[1] =3D=3D "-") m[1] =3D -1;
        var a =3D m[1] ? Number(m[1]) : 1;
        var b =3D m[2] ? Number(m[2]) : 0;
        var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);
        for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; =
i++) {
          for (var j =3D 0; j < l; j++)
            if (node.nodeIndex =3D=3D indices[j]) results.push(node);
        }
      }
      h.unmark(nodes);
      h.unmark(indexed);
      return results;
    },

    'empty': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {
        // IE treats comments as element nodes
        if (node.tagName =3D=3D '!' || (node.firstChild && =
!node.innerHTML.match(/^\s*$/))) continue;
        results.push(node);
      }
      return results;
    },

    'not': function(nodes, selector, root) {
      var h =3D Selector.handlers, selectorType, m;
      var exclusions =3D new Selector(selector).findElements(root);
      h.mark(exclusions);
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (!node._countedByPrototype) results.push(node);
      h.unmark(exclusions);
      return results;
    },

    'enabled': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (!node.disabled) results.push(node);
      return results;
    },

    'disabled': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (node.disabled) results.push(node);
      return results;
    },

    'checked': function(nodes, value, root) {
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)
        if (node.checked) results.push(node);
      return results;
    }
  },

  operators: {
    '=3D':  function(nv, v) { return nv =3D=3D v; },
    '!=3D': function(nv, v) { return nv !=3D v; },
    '^=3D': function(nv, v) { return nv.startsWith(v); },
    '$=3D': function(nv, v) { return nv.endsWith(v); },
    '*=3D': function(nv, v) { return nv.include(v); },
    '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + =
' '); },
    '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + =
'-').include('-' + v.toUpperCase() + '-'); }
  },

  split: function(expression) {
    var expressions =3D [];
    expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, =
function(m) {
      expressions.push(m[1].strip());
    });
    return expressions;
  },

  matchElements: function(elements, expression) {
    var matches =3D $$(expression), h =3D Selector.handlers;
    h.mark(matches);
    for (var i =3D 0, results =3D [], element; element =3D elements[i]; =
i++)
      if (element._countedByPrototype) results.push(element);
    h.unmark(matches);
    return results;
  },

  findElement: function(elements, expression, index) {
    if (Object.isNumber(expression)) {
      index =3D expression; expression =3D false;
    }
    return Selector.matchElements(elements, expression || '*')[index || =
0];
  },

  findChildElements: function(element, expressions) {
    expressions =3D Selector.split(expressions.join(','));
    var results =3D [], h =3D Selector.handlers;
    for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {
      selector =3D new Selector(expressions[i].strip());
      h.concat(results, selector.findElements(element));
    }
    return (l > 1) ? h.unique(results) : results;
  }
});

if (Prototype.Browser.IE) {
  Object.extend(Selector.handlers, {
    // IE returns comment nodes on getElementsByTagName("*").
    // Filter them out.
    concat: function(a, b) {
      for (var i =3D 0, node; node =3D b[i]; i++)
        if (node.tagName !=3D=3D "!") a.push(node);
      return a;
    },

    // IE improperly serializes _countedByPrototype in =
(inner|outer)HTML.
    unmark: function(nodes) {
      for (var i =3D 0, node; node =3D nodes[i]; i++)
        node.removeAttribute('_countedByPrototype');
      return nodes;
    }
  });
}

function $$() {
  return Selector.findChildElements(document, $A(arguments));
}
var Form =3D {
  reset: function(form) {
    $(form).reset();
    return form;
  },

  serializeElements: function(elements, options) {
    if (typeof options !=3D 'object') options =3D { hash: !!options };
    else if (Object.isUndefined(options.hash)) options.hash =3D true;
    var key, value, submitted =3D false, submit =3D options.submit;

    var data =3D elements.inject({ }, function(result, element) {
      if (!element.disabled && element.name) {
        key =3D element.name; value =3D $(element).getValue();
        if (value !=3D null && (element.type !=3D 'submit' || =
(!submitted &&
            submit !=3D=3D false && (!submit || key =3D=3D submit) && =
(submitted =3D true)))) {
          if (key in result) {
            // a key is already present; construct an array of values
            if (!Object.isArray(result[key])) result[key] =3D =
[result[key]];
            result[key].push(value);
          }
          else result[key] =3D value;
        }
      }
      return result;
    });

    return options.hash ? data : Object.toQueryString(data);
  }
};

Form.Methods =3D {
  serialize: function(form, options) {
    return Form.serializeElements(Form.getElements(form), options);
  },

  getElements: function(form) {
    return $A($(form).getElementsByTagName('*')).inject([],
      function(elements, child) {
        if (Form.Element.Serializers[child.tagName.toLowerCase()])
          elements.push(Element.extend(child));
        return elements;
      }
    );
  },

  getInputs: function(form, typeName, name) {
    form =3D $(form);
    var inputs =3D form.getElementsByTagName('input');

    if (!typeName && !name) return $A(inputs).map(Element.extend);

    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {
      var input =3D inputs[i];
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))
        continue;
      matchingInputs.push(Element.extend(input));
    }

    return matchingInputs;
  },

  disable: function(form) {
    form =3D $(form);
    Form.getElements(form).invoke('disable');
    return form;
  },

  enable: function(form) {
    form =3D $(form);
    Form.getElements(form).invoke('enable');
    return form;
  },

  findFirstElement: function(form) {
    var elements =3D $(form).getElements().findAll(function(element) {
      return 'hidden' !=3D element.type && !element.disabled;
    });
    var firstByIndex =3D elements.findAll(function(element) {
      return element.hasAttribute('tabIndex') && element.tabIndex >=3D =
0;
    }).sortBy(function(element) { return element.tabIndex }).first();

    return firstByIndex ? firstByIndex : elements.find(function(element) =
{
      return ['input', 'select', =
'textarea'].include(element.tagName.toLowerCase());
    });
  },

  focusFirstElement: function(form) {
    form =3D $(form);
    form.findFirstElement().activate();
    return form;
  },

  request: function(form, options) {
    form =3D $(form), options =3D Object.clone(options || { });

    var params =3D options.parameters, action =3D =
form.readAttribute('action') || '';
    if (action.blank()) action =3D window.location.href;
    options.parameters =3D form.serialize(true);

    if (params) {
      if (Object.isString(params)) params =3D params.toQueryParams();
      Object.extend(options.parameters, params);
    }

    if (form.hasAttribute('method') && !options.method)
      options.method =3D form.method;

    return new Ajax.Request(action, options);
  }
};

/*-----------------------------------------------------------------------=
---*/

Form.Element =3D {
  focus: function(element) {
    $(element).focus();
    return element;
  },

  select: function(element) {
    $(element).select();
    return element;
  }
};

Form.Element.Methods =3D {
  serialize: function(element) {
    element =3D $(element);
    if (!element.disabled && element.name) {
      var value =3D element.getValue();
      if (value !=3D undefined) {
        var pair =3D { };
        pair[element.name] =3D value;
        return Object.toQueryString(pair);
      }
    }
    return '';
  },

  getValue: function(element) {
    element =3D $(element);
    var method =3D element.tagName.toLowerCase();
    return Form.Element.Serializers[method](element);
  },

  setValue: function(element, value) {
    element =3D $(element);
    var method =3D element.tagName.toLowerCase();
    Form.Element.Serializers[method](element, value);
    return element;
  },

  clear: function(element) {
    $(element).value =3D '';
    return element;
  },

  present: function(element) {
    return $(element).value !=3D '';
  },

  activate: function(element) {
    element =3D $(element);
    try {
      element.focus();
      if (element.select && (element.tagName.toLowerCase() !=3D 'input' =
||
          !['button', 'reset', 'submit'].include(element.type)))
        element.select();
    } catch (e) { }
    return element;
  },

  disable: function(element) {
    element =3D $(element);
    element.blur();
    element.disabled =3D true;
    return element;
  },

  enable: function(element) {
    element =3D $(element);
    element.disabled =3D false;
    return element;
  }
};

/*-----------------------------------------------------------------------=
---*/

var Field =3D Form.Element;
var $F =3D Form.Element.Methods.getValue;

/*-----------------------------------------------------------------------=
---*/

Form.Element.Serializers =3D {
  input: function(element, value) {
    switch (element.type.toLowerCase()) {
      case 'checkbox':
      case 'radio':
        return Form.Element.Serializers.inputSelector(element, value);
      default:
        return Form.Element.Serializers.textarea(element, value);
    }
  },

  inputSelector: function(element, value) {
    if (Object.isUndefined(value)) return element.checked ? =
element.value : null;
    else element.checked =3D !!value;
  },

  textarea: function(element, value) {
    if (Object.isUndefined(value)) return element.value;
    else element.value =3D value;
  },

  select: function(element, index) {
    if (Object.isUndefined(index))
      return this[element.type =3D=3D 'select-one' ?
        'selectOne' : 'selectMany'](element);
    else {
      var opt, value, single =3D !Object.isArray(index);
      for (var i =3D 0, length =3D element.length; i < length; i++) {
        opt =3D element.options[i];
        value =3D this.optionValue(opt);
        if (single) {
          if (value =3D=3D index) {
            opt.selected =3D true;
            return;
          }
        }
        else opt.selected =3D index.include(value);
      }
    }
  },

  selectOne: function(element) {
    var index =3D element.selectedIndex;
    return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;
  },

  selectMany: function(element) {
    var values, length =3D element.length;
    if (!length) return null;

    for (var i =3D 0, values =3D []; i < length; i++) {
      var opt =3D element.options[i];
      if (opt.selected) values.push(this.optionValue(opt));
    }
    return values;
  },

  optionValue: function(opt) {
    // extend element because hasAttribute may not be native
    return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;
  }
};

/*-----------------------------------------------------------------------=
---*/

Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {
  initialize: function($super, element, frequency, callback) {
    $super(callback, frequency);
    this.element   =3D $(element);
    this.lastValue =3D this.getValue();
  },

  execute: function() {
    var value =3D this.getValue();
    if (Object.isString(this.lastValue) && Object.isString(value) ?
        this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value)) {
      this.callback(this.element, value);
      this.lastValue =3D value;
    }
  }
});

Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {
  getValue: function() {
    return Form.Element.getValue(this.element);
  }
});

Form.Observer =3D Class.create(Abstract.TimedObserver, {
  getValue: function() {
    return Form.serialize(this.element);
  }
});

/*-----------------------------------------------------------------------=
---*/

Abstract.EventObserver =3D Class.create({
  initialize: function(element, callback) {
    this.element  =3D $(element);
    this.callback =3D callback;

    this.lastValue =3D this.getValue();
    if (this.element.tagName.toLowerCase() =3D=3D 'form')
      this.registerFormCallbacks();
    else
      this.registerCallback(this.element);
  },

  onElementEvent: function() {
    var value =3D this.getValue();
    if (this.lastValue !=3D value) {
      this.callback(this.element, value);
      this.lastValue =3D value;
    }
  },

  registerFormCallbacks: function() {
    Form.getElements(this.element).each(this.registerCallback, this);
  },

  registerCallback: function(element) {
    if (element.type) {
      switch (element.type.toLowerCase()) {
        case 'checkbox':
        case 'radio':
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));
          break;
        default:
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));
          break;
      }
    }
  }
});

Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {
  getValue: function() {
    return Form.Element.getValue(this.element);
  }
});

Form.EventObserver =3D Class.create(Abstract.EventObserver, {
  getValue: function() {
    return Form.serialize(this.element);
  }
});
if (!window.Event) var Event =3D { };

Object.extend(Event, {
  KEY_BACKSPACE: 8,
  KEY_TAB:       9,
  KEY_RETURN:   13,
  KEY_ESC:      27,
  KEY_LEFT:     37,
  KEY_UP:       38,
  KEY_RIGHT:    39,
  KEY_DOWN:     40,
  KEY_DELETE:   46,
  KEY_HOME:     36,
  KEY_END:      35,
  KEY_PAGEUP:   33,
  KEY_PAGEDOWN: 34,
  KEY_INSERT:   45,

  cache: { },

  relatedTarget: function(event) {
    var element;
    switch(event.type) {
      case 'mouseover': element =3D event.fromElement; break;
      case 'mouseout':  element =3D event.toElement;   break;
      default: return null;
    }
    return Element.extend(element);
  }
});

Event.Methods =3D (function() {
  var isButton;

  if (Prototype.Browser.IE) {
    var buttonMap =3D { 0: 1, 1: 4, 2: 2 };
    isButton =3D function(event, code) {
      return event.button =3D=3D buttonMap[code];
    };

  } else if (Prototype.Browser.WebKit) {
    isButton =3D function(event, code) {
      switch (code) {
        case 0: return event.which =3D=3D 1 && !event.metaKey;
        case 1: return event.which =3D=3D 1 && event.metaKey;
        default: return false;
      }
    };

  } else {
    isButton =3D function(event, code) {
      return event.which ? (event.which =3D=3D=3D code + 1) : =
(event.button =3D=3D=3D code);
    };
  }

  return {
    isLeftClick:   function(event) { return isButton(event, 0) },
    isMiddleClick: function(event) { return isButton(event, 1) },
    isRightClick:  function(event) { return isButton(event, 2) },

    element: function(event) {
      var node =3D Event.extend(event).target;
      return Element.extend(node.nodeType =3D=3D Node.TEXT_NODE ? =
node.parentNode : node);
    },

    findElement: function(event, expression) {
      var element =3D Event.element(event);
      if (!expression) return element;
      var elements =3D [element].concat(element.ancestors());
      return Selector.findElement(elements, expression, 0);
    },

    pointer: function(event) {
      return {
        x: event.pageX || (event.clientX +
          (document.documentElement.scrollLeft || =
document.body.scrollLeft)),
        y: event.pageY || (event.clientY +
          (document.documentElement.scrollTop || =
document.body.scrollTop))
      };
    },

    pointerX: function(event) { return Event.pointer(event).x },
    pointerY: function(event) { return Event.pointer(event).y },

    stop: function(event) {
      Event.extend(event);
      event.preventDefault();
      event.stopPropagation();
      event.stopped =3D true;
    }
  };
})();

Event.extend =3D (function() {
  var methods =3D Object.keys(Event.Methods).inject({ }, function(m, =
name) {
    m[name] =3D Event.Methods[name].methodize();
    return m;
  });

  if (Prototype.Browser.IE) {
    Object.extend(methods, {
      stopPropagation: function() { this.cancelBubble =3D true },
      preventDefault:  function() { this.returnValue =3D false },
      inspect: function() { return "[object Event]" }
    });

    return function(event) {
      if (!event) return false;
      if (event._extendedByPrototype) return event;

      event._extendedByPrototype =3D Prototype.emptyFunction;
      var pointer =3D Event.pointer(event);
      Object.extend(event, {
        target: event.srcElement,
        relatedTarget: Event.relatedTarget(event),
        pageX:  pointer.x,
        pageY:  pointer.y
      });
      return Object.extend(event, methods);
    };

  } else {
    Event.prototype =3D Event.prototype || =
document.createEvent("HTMLEvents").__proto__;
    Object.extend(Event.prototype, methods);
    return Prototype.K;
  }
})();

Object.extend(Event, (function() {
  var cache =3D Event.cache;

  function getEventID(element) {
    if (element._prototypeEventID) return element._prototypeEventID[0];
    arguments.callee.id =3D arguments.callee.id || 1;
    return element._prototypeEventID =3D [++arguments.callee.id];
  }

  function getDOMEventName(eventName) {
    if (eventName && eventName.include(':')) return "dataavailable";
    return eventName;
  }

  function getCacheForID(id) {
    return cache[id] =3D cache[id] || { };
  }

  function getWrappersForEventName(id, eventName) {
    var c =3D getCacheForID(id);
    return c[eventName] =3D c[eventName] || [];
  }

  function createWrapper(element, eventName, handler) {
    var id =3D getEventID(element);
    var c =3D getWrappersForEventName(id, eventName);
    if (c.pluck("handler").include(handler)) return false;

    var wrapper =3D function(event) {
      if (!Event || !Event.extend ||
        (event.eventName && event.eventName !=3D eventName))
          return false;

      Event.extend(event);
      handler.call(element, event);
    };

    wrapper.handler =3D handler;
    c.push(wrapper);
    return wrapper;
  }

  function findWrapper(id, eventName, handler) {
    var c =3D getWrappersForEventName(id, eventName);
    return c.find(function(wrapper) { return wrapper.handler =3D=3D =
handler });
  }

  function destroyWrapper(id, eventName, handler) {
    var c =3D getCacheForID(id);
    if (!c[eventName]) return false;
    c[eventName] =3D c[eventName].without(findWrapper(id, eventName, =
handler));
  }

  function destroyCache() {
    for (var id in cache)
      for (var eventName in cache[id])
        cache[id][eventName] =3D null;
  }

  if (window.attachEvent) {
    window.attachEvent("onunload", destroyCache);
  }

  return {
    observe: function(element, eventName, handler) {
      element =3D $(element);
      var name =3D getDOMEventName(eventName);

      var wrapper =3D createWrapper(element, eventName, handler);
      if (!wrapper) return element;

      if (element.addEventListener) {
        element.addEventListener(name, wrapper, false);
      } else {
        element.attachEvent("on" + name, wrapper);
      }

      return element;
    },

    stopObserving: function(element, eventName, handler) {
      element =3D $(element);
      var id =3D getEventID(element), name =3D =
getDOMEventName(eventName);

      if (!handler && eventName) {
        getWrappersForEventName(id, eventName).each(function(wrapper) {
          element.stopObserving(eventName, wrapper.handler);
        });
        return element;

      } else if (!eventName) {
        Object.keys(getCacheForID(id)).each(function(eventName) {
          element.stopObserving(eventName);
        });
        return element;
      }

      var wrapper =3D findWrapper(id, eventName, handler);
      if (!wrapper) return element;

      if (element.removeEventListener) {
        element.removeEventListener(name, wrapper, false);
      } else {
        element.detachEvent("on" + name, wrapper);
      }

      destroyWrapper(id, eventName, handler);

      return element;
    },

    fire: function(element, eventName, memo) {
      element =3D $(element);
      if (element =3D=3D document && document.createEvent && =
!element.dispatchEvent)
        element =3D document.documentElement;

      var event;
      if (document.createEvent) {
        event =3D document.createEvent("HTMLEvents");
        event.initEvent("dataavailable", true, true);
      } else {
        event =3D document.createEventObject();
        event.eventType =3D "ondataavailable";
      }

      event.eventName =3D eventName;
      event.memo =3D memo || { };

      if (document.createEvent) {
        element.dispatchEvent(event);
      } else {
        element.fireEvent(event.eventType, event);
      }

      return Event.extend(event);
    }
  };
})());

Object.extend(Event, Event.Methods);

Element.addMethods({
  fire:          Event.fire,
  observe:       Event.observe,
  stopObserving: Event.stopObserving
});

Object.extend(document, {
  fire:          Element.Methods.fire.methodize(),
  observe:       Element.Methods.observe.methodize(),
  stopObserving: Element.Methods.stopObserving.methodize(),
  loaded:        false
});

(function() {
  /* Support for the DOMContentLoaded event is based on work by Dan =
Webb,
     Matthias Miller, Dean Edwards and John Resig. */

  var timer;

  function fireContentLoadedEvent() {
    if (document.loaded) return;
    if (timer) window.clearInterval(timer);
    document.fire("dom:loaded");
    document.loaded =3D true;
  }

  if (document.addEventListener) {
    if (Prototype.Browser.WebKit) {
      timer =3D window.setInterval(function() {
        if (/loaded|complete/.test(document.readyState))
          fireContentLoadedEvent();
      }, 0);

      Event.observe(window, "load", fireContentLoadedEvent);

    } else {
      document.addEventListener("DOMContentLoaded",
        fireContentLoadedEvent, false);
    }

  } else {
    document.write("<script id=3D__onDOMContentLoaded defer =
src=3D//:><\/script>");
    $("__onDOMContentLoaded").onreadystatechange =3D function() {
      if (this.readyState =3D=3D "complete") {
        this.onreadystatechange =3D null;
        fireContentLoadedEvent();
      }
    };
  }
})();
/*------------------------------- DEPRECATED =
-------------------------------*/

Hash.toQueryString =3D Object.toQueryString;

var Toggle =3D { display: Element.toggle };

Element.Methods.childOf =3D Element.Methods.descendantOf;

var Insertion =3D {
  Before: function(element, content) {
    return Element.insert(element, {before:content});
  },

  Top: function(element, content) {
    return Element.insert(element, {top:content});
  },

  Bottom: function(element, content) {
    return Element.insert(element, {bottom:content});
  },

  After: function(element, content) {
    return Element.insert(element, {after:content});
  }
};

var $continue =3D new Error('"throw $continue" is deprecated, use =
"return" instead');

// This should be moved to script.aculo.us; notice the deprecated =
methods
// further below, that map to the newer Element methods.
var Position =3D {
  // set to true if needed, warning: firefox performance problems
  // NOT neeeded for page scrolling, only if draggable contained in
  // scrollable elements
  includeScrollOffsets: false,

  // must be called before calling withinIncludingScrolloffset, every =
time the
  // page is scrolled
  prepare: function() {
    this.deltaX =3D  window.pageXOffset
                || document.documentElement.scrollLeft
                || document.body.scrollLeft
                || 0;
    this.deltaY =3D  window.pageYOffset
                || document.documentElement.scrollTop
                || document.body.scrollTop
                || 0;
  },

  // caches x/y coordinate pair to use with overlap
  within: function(element, x, y) {
    if (this.includeScrollOffsets)
      return this.withinIncludingScrolloffsets(element, x, y);
    this.xcomp =3D x;
    this.ycomp =3D y;
    this.offset =3D Element.cumulativeOffset(element);

    return (y >=3D this.offset[1] &&
            y <  this.offset[1] + element.offsetHeight &&
            x >=3D this.offset[0] &&
            x <  this.offset[0] + element.offsetWidth);
  },

  withinIncludingScrolloffsets: function(element, x, y) {
    var offsetcache =3D Element.cumulativeScrollOffset(element);

    this.xcomp =3D x + offsetcache[0] - this.deltaX;
    this.ycomp =3D y + offsetcache[1] - this.deltaY;
    this.offset =3D Element.cumulativeOffset(element);

    return (this.ycomp >=3D this.offset[1] &&
            this.ycomp <  this.offset[1] + element.offsetHeight &&
            this.xcomp >=3D this.offset[0] &&
            this.xcomp <  this.offset[0] + element.offsetWidth);
  },

  // within must be called directly before
  overlap: function(mode, element) {
    if (!mode) return 0;
    if (mode =3D=3D 'vertical')
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
        element.offsetHeight;
    if (mode =3D=3D 'horizontal')
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
        element.offsetWidth;
  },

  // Deprecation layer -- use newer Element methods now (1.5.2).

  cumulativeOffset: Element.Methods.cumulativeOffset,

  positionedOffset: Element.Methods.positionedOffset,

  absolutize: function(element) {
    Position.prepare();
    return Element.absolutize(element);
  },

  relativize: function(element) {
    Position.prepare();
    return Element.relativize(element);
  },

  realOffset: Element.Methods.cumulativeScrollOffset,

  offsetParent: Element.Methods.getOffsetParent,

  page: Element.Methods.viewportOffset,

  clone: function(source, target, options) {
    options =3D options || { };
    return Element.clonePosition(target, source, options);
  }
};

/*-----------------------------------------------------------------------=
---*/

if (!document.getElementsByClassName) document.getElementsByClassName =
=3D function(instanceMethods){
  function iter(name) {
    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' =
" + name + " ')]";
  }

  instanceMethods.getElementsByClassName =3D =
Prototype.BrowserFeatures.XPath ?
  function(element, className) {
    className =3D className.toString().strip();
    var cond =3D /\s/.test(className) ? $w(className).map(iter).join('') =
: iter(className);
    return cond ? document._getElementsByXPath('.//*' + cond, element) : =
[];
  } : function(element, className) {
    className =3D className.toString().strip();
    var elements =3D [], classNames =3D (/\s/.test(className) ? =
$w(className) : null);
    if (!classNames && !className) return elements;

    var nodes =3D $(element).getElementsByTagName('*');
    className =3D ' ' + className + ' ';

    for (var i =3D 0, child, cn; child =3D nodes[i]; i++) {
      if (child.className && (cn =3D ' ' + child.className + ' ') && =
(cn.include(className) ||
          (classNames && classNames.all(function(name) {
            return !name.toString().blank() && cn.include(' ' + name + ' =
');
          }))))
        elements.push(Element.extend(child));
    }
    return elements;
  };

  return function(className, parentElement) {
    return $(parentElement || =
document.body).getElementsByClassName(className);
  };
}(Element.Methods);

/*-----------------------------------------------------------------------=
---*/

Element.ClassNames =3D Class.create();
Element.ClassNames.prototype =3D {
  initialize: function(element) {
    this.element =3D $(element);
  },

  _each: function(iterator) {
    this.element.className.split(/\s+/).select(function(name) {
      return name.length > 0;
    })._each(iterator);
  },

  set: function(className) {
    this.element.className =3D className;
  },

  add: function(classNameToAdd) {
    if (this.include(classNameToAdd)) return;
    this.set($A(this).concat(classNameToAdd).join(' '));
  },

  remove: function(classNameToRemove) {
    if (!this.include(classNameToRemove)) return;
    this.set($A(this).without(classNameToRemove).join(' '));
  },

  toString: function() {
    return $A(this).join(' ');
  }
};

Object.extend(Element.ClassNames.prototype, Enumerable);

/*-----------------------------------------------------------------------=
---*/

Element.addMethods();
------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/js/effects.js

// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
// Contributors:=0A=
//  Justin Palmer (http://encytemedia.com/)=0A=
//  Mark Pilgrim (http://diveintomark.org/)=0A=
//  Martin Bialasinki=0A=
// =0A=
// script.aculo.us is freely distributable under the terms of an =
MIT-style license.=0A=
// For details, see the script.aculo.us web site: =
http://script.aculo.us/ =0A=
=0A=
// converts rgb() and #xxx to #xxxxxx format,  =0A=
// returns self (or first argument) if not convertable  =0A=
String.prototype.parseColor =3D function() {  =0A=
  var color =3D '#';=0A=
  if (this.slice(0,4) =3D=3D 'rgb(') {  =0A=
    var cols =3D this.slice(4,this.length-1).split(',');  =0A=
    var i=3D0; do { color +=3D parseInt(cols[i]).toColorPart() } while =
(++i<3);  =0A=
  } else {  =0A=
    if (this.slice(0,1) =3D=3D '#') {  =0A=
      if (this.length=3D=3D4) for(var i=3D1;i<4;i++) color +=3D =
(this.charAt(i) + this.charAt(i)).toLowerCase();  =0A=
      if (this.length=3D=3D7) color =3D this.toLowerCase();  =0A=
    }  =0A=
  }  =0A=
  return (color.length=3D=3D7 ? color : (arguments[0] || this));  =0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.collectTextNodes =3D function(element) {  =0A=
  return $A($(element).childNodes).collect( function(node) {=0A=
    return (node.nodeType=3D=3D3 ? node.nodeValue : =0A=
      (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));=0A=
  }).flatten().join('');=0A=
};=0A=
=0A=
Element.collectTextNodesIgnoreClass =3D function(element, className) {  =0A=
  return $A($(element).childNodes).collect( function(node) {=0A=
    return (node.nodeType=3D=3D3 ? node.nodeValue : =0A=
      ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? =0A=
        Element.collectTextNodesIgnoreClass(node, className) : ''));=0A=
  }).flatten().join('');=0A=
};=0A=
=0A=
Element.setContentZoom =3D function(element, percent) {=0A=
  element =3D $(element);  =0A=
  element.setStyle({fontSize: (percent/100) + 'em'});   =0A=
  if (Prototype.Browser.WebKit) window.scrollBy(0,0);=0A=
  return element;=0A=
};=0A=
=0A=
Element.getInlineOpacity =3D function(element){=0A=
  return $(element).style.opacity || '';=0A=
};=0A=
=0A=
Element.forceRerendering =3D function(element) {=0A=
  try {=0A=
    element =3D $(element);=0A=
    var n =3D document.createTextNode(' ');=0A=
    element.appendChild(n);=0A=
    element.removeChild(n);=0A=
  } catch(e) { }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Effect =3D {=0A=
  _elementDoesNotExistError: {=0A=
    name: 'ElementDoesNotExistError',=0A=
    message: 'The specified DOM element does not exist, but is required =
for this effect to operate'=0A=
  },=0A=
  Transitions: {=0A=
    linear: Prototype.K,=0A=
    sinoidal: function(pos) {=0A=
      return (-Math.cos(pos*Math.PI)/2) + 0.5;=0A=
    },=0A=
    reverse: function(pos) {=0A=
      return 1-pos;=0A=
    },=0A=
    flicker: function(pos) {=0A=
      var pos =3D ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4;=0A=
      return pos > 1 ? 1 : pos;=0A=
    },=0A=
    wobble: function(pos) {=0A=
      return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;=0A=
    },=0A=
    pulse: function(pos, pulses) { =0A=
      pulses =3D pulses || 5; =0A=
      return (=0A=
        ((pos % (1/pulses)) * pulses).round() =3D=3D 0 ? =0A=
              ((pos * pulses * 2) - (pos * pulses * 2).floor()) : =0A=
          1 - ((pos * pulses * 2) - (pos * pulses * 2).floor())=0A=
        );=0A=
    },=0A=
    spring: function(pos) { =0A=
      return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6)); =0A=
    },=0A=
    none: function(pos) {=0A=
      return 0;=0A=
    },=0A=
    full: function(pos) {=0A=
      return 1;=0A=
    }=0A=
  },=0A=
  DefaultOptions: {=0A=
    duration:   1.0,   // seconds=0A=
    fps:        100,   // 100=3D assume 66fps max.=0A=
    sync:       false, // true for combining=0A=
    from:       0.0,=0A=
    to:         1.0,=0A=
    delay:      0.0,=0A=
    queue:      'parallel'=0A=
  },=0A=
  tagifyText: function(element) {=0A=
    var tagifyStyle =3D 'position:relative';=0A=
    if (Prototype.Browser.IE) tagifyStyle +=3D ';zoom:1';=0A=
    =0A=
    element =3D $(element);=0A=
    $A(element.childNodes).each( function(child) {=0A=
      if (child.nodeType=3D=3D3) {=0A=
        child.nodeValue.toArray().each( function(character) {=0A=
          element.insertBefore(=0A=
            new Element('span', {style: tagifyStyle}).update(=0A=
              character =3D=3D ' ' ? String.fromCharCode(160) : =
character), =0A=
              child);=0A=
        });=0A=
        Element.remove(child);=0A=
      }=0A=
    });=0A=
  },=0A=
  multiple: function(element, effect) {=0A=
    var elements;=0A=
    if (((typeof element =3D=3D 'object') || =0A=
        Object.isFunction(element)) && =0A=
       (element.length))=0A=
      elements =3D element;=0A=
    else=0A=
      elements =3D $(element).childNodes;=0A=
      =0A=
    var options =3D Object.extend({=0A=
      speed: 0.1,=0A=
      delay: 0.0=0A=
    }, arguments[2] || { });=0A=
    var masterDelay =3D options.delay;=0A=
=0A=
    $A(elements).each( function(element, index) {=0A=
      new effect(element, Object.extend(options, { delay: index * =
options.speed + masterDelay }));=0A=
    });=0A=
  },=0A=
  PAIRS: {=0A=
    'slide':  ['SlideDown','SlideUp'],=0A=
    'blind':  ['BlindDown','BlindUp'],=0A=
    'appear': ['Appear','Fade']=0A=
  },=0A=
  toggle: function(element, effect) {=0A=
    element =3D $(element);=0A=
    effect =3D (effect || 'appear').toLowerCase();=0A=
    var options =3D Object.extend({=0A=
      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }=0A=
    }, arguments[2] || { });=0A=
    Effect[element.visible() ? =0A=
      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, =
options);=0A=
  }=0A=
};=0A=
=0A=
Effect.DefaultOptions.transition =3D Effect.Transitions.sinoidal;=0A=
=0A=
/* ------------- core effects ------------- */=0A=
=0A=
Effect.ScopedQueue =3D Class.create(Enumerable, {=0A=
  initialize: function() {=0A=
    this.effects  =3D [];=0A=
    this.interval =3D null;    =0A=
  },=0A=
  _each: function(iterator) {=0A=
    this.effects._each(iterator);=0A=
  },=0A=
  add: function(effect) {=0A=
    var timestamp =3D new Date().getTime();=0A=
    =0A=
    var position =3D Object.isString(effect.options.queue) ? =0A=
      effect.options.queue : effect.options.queue.position;=0A=
    =0A=
    switch(position) {=0A=
      case 'front':=0A=
        // move unstarted effects after this effect  =0A=
        this.effects.findAll(function(e){ return e.state=3D=3D'idle' =
}).each( function(e) {=0A=
            e.startOn  +=3D effect.finishOn;=0A=
            e.finishOn +=3D effect.finishOn;=0A=
          });=0A=
        break;=0A=
      case 'with-last':=0A=
        timestamp =3D this.effects.pluck('startOn').max() || timestamp;=0A=
        break;=0A=
      case 'end':=0A=
        // start effect after last queued effect has finished=0A=
        timestamp =3D this.effects.pluck('finishOn').max() || timestamp;=0A=
        break;=0A=
    }=0A=
    =0A=
    effect.startOn  +=3D timestamp;=0A=
    effect.finishOn +=3D timestamp;=0A=
=0A=
    if (!effect.options.queue.limit || (this.effects.length < =
effect.options.queue.limit))=0A=
      this.effects.push(effect);=0A=
    =0A=
    if (!this.interval)=0A=
      this.interval =3D setInterval(this.loop.bind(this), 15);=0A=
  },=0A=
  remove: function(effect) {=0A=
    this.effects =3D this.effects.reject(function(e) { return =
e=3D=3Deffect });=0A=
    if (this.effects.length =3D=3D 0) {=0A=
      clearInterval(this.interval);=0A=
      this.interval =3D null;=0A=
    }=0A=
  },=0A=
  loop: function() {=0A=
    var timePos =3D new Date().getTime();=0A=
    for(var i=3D0, len=3Dthis.effects.length;i<len;i++) =0A=
      this.effects[i] && this.effects[i].loop(timePos);=0A=
  }=0A=
});=0A=
=0A=
Effect.Queues =3D {=0A=
  instances: $H(),=0A=
  get: function(queueName) {=0A=
    if (!Object.isString(queueName)) return queueName;=0A=
    =0A=
    return this.instances.get(queueName) ||=0A=
      this.instances.set(queueName, new Effect.ScopedQueue());=0A=
  }=0A=
};=0A=
Effect.Queue =3D Effect.Queues.get('global');=0A=
=0A=
Effect.Base =3D Class.create({=0A=
  position: null,=0A=
  start: function(options) {=0A=
    function codeForEvent(options,eventName){=0A=
      return (=0A=
        (options[eventName+'Internal'] ? =
'this.options.'+eventName+'Internal(this);' : '') +=0A=
        (options[eventName] ? 'this.options.'+eventName+'(this);' : '')=0A=
      );=0A=
    }=0A=
    if (options && options.transition =3D=3D=3D false) =
options.transition =3D Effect.Transitions.linear;=0A=
    this.options      =3D Object.extend(Object.extend({ =
},Effect.DefaultOptions), options || { });=0A=
    this.currentFrame =3D 0;=0A=
    this.state        =3D 'idle';=0A=
    this.startOn      =3D this.options.delay*1000;=0A=
    this.finishOn     =3D this.startOn+(this.options.duration*1000);=0A=
    this.fromToDelta  =3D this.options.to-this.options.from;=0A=
    this.totalTime    =3D this.finishOn-this.startOn;=0A=
    this.totalFrames  =3D this.options.fps*this.options.duration;=0A=
    =0A=
    eval('this.render =3D function(pos){ '+=0A=
      'if (this.state=3D=3D"idle"){this.state=3D"running";'+=0A=
      codeForEvent(this.options,'beforeSetup')+=0A=
      (this.setup ? 'this.setup();':'')+ =0A=
      codeForEvent(this.options,'afterSetup')+=0A=
      '};if (this.state=3D=3D"running"){'+=0A=
      =
'pos=3Dthis.options.transition(pos)*'+this.fromToDelta+'+'+this.options.f=
rom+';'+=0A=
      'this.position=3Dpos;'+=0A=
      codeForEvent(this.options,'beforeUpdate')+=0A=
      (this.update ? 'this.update(pos);':'')+=0A=
      codeForEvent(this.options,'afterUpdate')+=0A=
      '}}');=0A=
    =0A=
    this.event('beforeStart');=0A=
    if (!this.options.sync)=0A=
      Effect.Queues.get(Object.isString(this.options.queue) ? =0A=
        'global' : this.options.queue.scope).add(this);=0A=
  },=0A=
  loop: function(timePos) {=0A=
    if (timePos >=3D this.startOn) {=0A=
      if (timePos >=3D this.finishOn) {=0A=
        this.render(1.0);=0A=
        this.cancel();=0A=
        this.event('beforeFinish');=0A=
        if (this.finish) this.finish(); =0A=
        this.event('afterFinish');=0A=
        return;  =0A=
      }=0A=
      var pos   =3D (timePos - this.startOn) / this.totalTime,=0A=
          frame =3D (pos * this.totalFrames).round();=0A=
      if (frame > this.currentFrame) {=0A=
        this.render(pos);=0A=
        this.currentFrame =3D frame;=0A=
      }=0A=
    }=0A=
  },=0A=
  cancel: function() {=0A=
    if (!this.options.sync)=0A=
      Effect.Queues.get(Object.isString(this.options.queue) ? =0A=
        'global' : this.options.queue.scope).remove(this);=0A=
    this.state =3D 'finished';=0A=
  },=0A=
  event: function(eventName) {=0A=
    if (this.options[eventName + 'Internal']) this.options[eventName + =
'Internal'](this);=0A=
    if (this.options[eventName]) this.options[eventName](this);=0A=
  },=0A=
  inspect: function() {=0A=
    var data =3D $H();=0A=
    for(property in this)=0A=
      if (!Object.isFunction(this[property])) data.set(property, =
this[property]);=0A=
    return '#<Effect:' + data.inspect() + ',options:' + =
$H(this.options).inspect() + '>';=0A=
  }=0A=
});=0A=
=0A=
Effect.Parallel =3D Class.create(Effect.Base, {=0A=
  initialize: function(effects) {=0A=
    this.effects =3D effects || [];=0A=
    this.start(arguments[1]);=0A=
  },=0A=
  update: function(position) {=0A=
    this.effects.invoke('render', position);=0A=
  },=0A=
  finish: function(position) {=0A=
    this.effects.each( function(effect) {=0A=
      effect.render(1.0);=0A=
      effect.cancel();=0A=
      effect.event('beforeFinish');=0A=
      if (effect.finish) effect.finish(position);=0A=
      effect.event('afterFinish');=0A=
    });=0A=
  }=0A=
});=0A=
=0A=
Effect.Tween =3D Class.create(Effect.Base, {=0A=
  initialize: function(object, from, to) {=0A=
    object =3D Object.isString(object) ? $(object) : object;=0A=
    var args =3D $A(arguments), method =3D args.last(), =0A=
      options =3D args.length =3D=3D 5 ? args[3] : null;=0A=
    this.method =3D Object.isFunction(method) ? method.bind(object) :=0A=
      Object.isFunction(object[method]) ? object[method].bind(object) : =0A=
      function(value) { object[method] =3D value };=0A=
    this.start(Object.extend({ from: from, to: to }, options || { }));=0A=
  },=0A=
  update: function(position) {=0A=
    this.method(position);=0A=
  }=0A=
});=0A=
=0A=
Effect.Event =3D Class.create(Effect.Base, {=0A=
  initialize: function() {=0A=
    this.start(Object.extend({ duration: 0 }, arguments[0] || { }));=0A=
  },=0A=
  update: Prototype.emptyFunction=0A=
});=0A=
=0A=
Effect.Opacity =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    // make this work on IE on elements without 'layout'=0A=
    if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))=0A=
      this.element.setStyle({zoom: 1});=0A=
    var options =3D Object.extend({=0A=
      from: this.element.getOpacity() || 0.0,=0A=
      to:   1.0=0A=
    }, arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setOpacity(position);=0A=
  }=0A=
});=0A=
=0A=
Effect.Move =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      x:    0,=0A=
      y:    0,=0A=
      mode: 'relative'=0A=
    }, arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    this.element.makePositioned();=0A=
    this.originalLeft =3D parseFloat(this.element.getStyle('left') || =
'0');=0A=
    this.originalTop  =3D parseFloat(this.element.getStyle('top')  || =
'0');=0A=
    if (this.options.mode =3D=3D 'absolute') {=0A=
      this.options.x =3D this.options.x - this.originalLeft;=0A=
      this.options.y =3D this.options.y - this.originalTop;=0A=
    }=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setStyle({=0A=
      left: (this.options.x  * position + this.originalLeft).round() + =
'px',=0A=
      top:  (this.options.y  * position + this.originalTop).round()  + =
'px'=0A=
    });=0A=
  }=0A=
});=0A=
=0A=
// for backwards compatibility=0A=
Effect.MoveBy =3D function(element, toTop, toLeft) {=0A=
  return new Effect.Move(element, =0A=
    Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));=0A=
};=0A=
=0A=
Effect.Scale =3D Class.create(Effect.Base, {=0A=
  initialize: function(element, percent) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      scaleX: true,=0A=
      scaleY: true,=0A=
      scaleContent: true,=0A=
      scaleFromCenter: false,=0A=
      scaleMode: 'box',        // 'box' or 'contents' or { } with =
provided values=0A=
      scaleFrom: 100.0,=0A=
      scaleTo:   percent=0A=
    }, arguments[2] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    this.restoreAfterFinish =3D this.options.restoreAfterFinish || false;=0A=
    this.elementPositioning =3D this.element.getStyle('position');=0A=
    =0A=
    this.originalStyle =3D { };=0A=
    ['top','left','width','height','fontSize'].each( function(k) {=0A=
      this.originalStyle[k] =3D this.element.style[k];=0A=
    }.bind(this));=0A=
      =0A=
    this.originalTop  =3D this.element.offsetTop;=0A=
    this.originalLeft =3D this.element.offsetLeft;=0A=
    =0A=
    var fontSize =3D this.element.getStyle('font-size') || '100%';=0A=
    ['em','px','%','pt'].each( function(fontSizeType) {=0A=
      if (fontSize.indexOf(fontSizeType)>0) {=0A=
        this.fontSize     =3D parseFloat(fontSize);=0A=
        this.fontSizeType =3D fontSizeType;=0A=
      }=0A=
    }.bind(this));=0A=
    =0A=
    this.factor =3D (this.options.scaleTo - this.options.scaleFrom)/100;=0A=
    =0A=
    this.dims =3D null;=0A=
    if (this.options.scaleMode=3D=3D'box')=0A=
      this.dims =3D [this.element.offsetHeight, =
this.element.offsetWidth];=0A=
    if (/^content/.test(this.options.scaleMode))=0A=
      this.dims =3D [this.element.scrollHeight, =
this.element.scrollWidth];=0A=
    if (!this.dims)=0A=
      this.dims =3D [this.options.scaleMode.originalHeight,=0A=
                   this.options.scaleMode.originalWidth];=0A=
  },=0A=
  update: function(position) {=0A=
    var currentScale =3D (this.options.scaleFrom/100.0) + (this.factor * =
position);=0A=
    if (this.options.scaleContent && this.fontSize)=0A=
      this.element.setStyle({fontSize: this.fontSize * currentScale + =
this.fontSizeType });=0A=
    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * =
currentScale);=0A=
  },=0A=
  finish: function(position) {=0A=
    if (this.restoreAfterFinish) =
this.element.setStyle(this.originalStyle);=0A=
  },=0A=
  setDimensions: function(height, width) {=0A=
    var d =3D { };=0A=
    if (this.options.scaleX) d.width =3D width.round() + 'px';=0A=
    if (this.options.scaleY) d.height =3D height.round() + 'px';=0A=
    if (this.options.scaleFromCenter) {=0A=
      var topd  =3D (height - this.dims[0])/2;=0A=
      var leftd =3D (width  - this.dims[1])/2;=0A=
      if (this.elementPositioning =3D=3D 'absolute') {=0A=
        if (this.options.scaleY) d.top =3D this.originalTop-topd + 'px';=0A=
        if (this.options.scaleX) d.left =3D this.originalLeft-leftd + =
'px';=0A=
      } else {=0A=
        if (this.options.scaleY) d.top =3D -topd + 'px';=0A=
        if (this.options.scaleX) d.left =3D -leftd + 'px';=0A=
      }=0A=
    }=0A=
    this.element.setStyle(d);=0A=
  }=0A=
});=0A=
=0A=
Effect.Highlight =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({ startcolor: '#ffff99' }, =
arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    // Prevent executing on elements not in the layout flow=0A=
    if (this.element.getStyle('display')=3D=3D'none') { this.cancel(); =
return; }=0A=
    // Disable background image during the effect=0A=
    this.oldStyle =3D { };=0A=
    if (!this.options.keepBackgroundImage) {=0A=
      this.oldStyle.backgroundImage =3D =
this.element.getStyle('background-image');=0A=
      this.element.setStyle({backgroundImage: 'none'});=0A=
    }=0A=
    if (!this.options.endcolor)=0A=
      this.options.endcolor =3D =
this.element.getStyle('background-color').parseColor('#ffffff');=0A=
    if (!this.options.restorecolor)=0A=
      this.options.restorecolor =3D =
this.element.getStyle('background-color');=0A=
    // init color calculations=0A=
    this._base  =3D $R(0,2).map(function(i){ return =
parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));=0A=
    this._delta =3D $R(0,2).map(function(i){ return =
parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] =
}.bind(this));=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setStyle({backgroundColor: =
$R(0,2).inject('#',function(m,v,i){=0A=
      return =
m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); =
}.bind(this)) });=0A=
  },=0A=
  finish: function() {=0A=
    this.element.setStyle(Object.extend(this.oldStyle, {=0A=
      backgroundColor: this.options.restorecolor=0A=
    }));=0A=
  }=0A=
});=0A=
=0A=
Effect.ScrollTo =3D function(element) {=0A=
  var options =3D arguments[1] || { },=0A=
    scrollOffsets =3D document.viewport.getScrollOffsets(),=0A=
    elementOffsets =3D $(element).cumulativeOffset(),=0A=
    max =3D (window.height || document.body.scrollHeight) - =
document.viewport.getHeight();  =0A=
=0A=
  if (options.offset) elementOffsets[1] +=3D options.offset;=0A=
=0A=
  return new Effect.Tween(null,=0A=
    scrollOffsets.top,=0A=
    elementOffsets[1] > max ? max : elementOffsets[1],=0A=
    options,=0A=
    function(p){ scrollTo(scrollOffsets.left, p.round()) }=0A=
  );=0A=
};=0A=
=0A=
/* ------------- combination effects ------------- */=0A=
=0A=
Effect.Fade =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  var options =3D Object.extend({=0A=
    from: element.getOpacity() || 1.0,=0A=
    to:   0.0,=0A=
    afterFinishInternal: function(effect) { =0A=
      if (effect.options.to!=3D0) return;=0A=
      effect.element.hide().setStyle({opacity: oldOpacity}); =0A=
    }=0A=
  }, arguments[1] || { });=0A=
  return new Effect.Opacity(element,options);=0A=
};=0A=
=0A=
Effect.Appear =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
  from: (element.getStyle('display') =3D=3D 'none' ? 0.0 : =
element.getOpacity() || 0.0),=0A=
  to:   1.0,=0A=
  // force Safari to render floated elements properly=0A=
  afterFinishInternal: function(effect) {=0A=
    effect.element.forceRerendering();=0A=
  },=0A=
  beforeSetup: function(effect) {=0A=
    effect.element.setOpacity(effect.options.from).show(); =0A=
  }}, arguments[1] || { });=0A=
  return new Effect.Opacity(element,options);=0A=
};=0A=
=0A=
Effect.Puff =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D { =0A=
    opacity: element.getInlineOpacity(), =0A=
    position: element.getStyle('position'),=0A=
    top:  element.style.top,=0A=
    left: element.style.left,=0A=
    width: element.style.width,=0A=
    height: element.style.height=0A=
  };=0A=
  return new Effect.Parallel(=0A=
   [ new Effect.Scale(element, 200, =0A=
      { sync: true, scaleFromCenter: true, scaleContent: true, =
restoreAfterFinish: true }), =0A=
     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], =0A=
     Object.extend({ duration: 1.0, =0A=
      beforeSetupInternal: function(effect) {=0A=
        Position.absolutize(effect.effects[0].element)=0A=
      },=0A=
      afterFinishInternal: function(effect) {=0A=
         effect.effects[0].element.hide().setStyle(oldStyle); }=0A=
     }, arguments[1] || { })=0A=
   );=0A=
};=0A=
=0A=
Effect.BlindUp =3D function(element) {=0A=
  element =3D $(element);=0A=
  element.makeClipping();=0A=
  return new Effect.Scale(element, 0,=0A=
    Object.extend({ scaleContent: false, =0A=
      scaleX: false, =0A=
      restoreAfterFinish: true,=0A=
      afterFinishInternal: function(effect) {=0A=
        effect.element.hide().undoClipping();=0A=
      } =0A=
    }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
Effect.BlindDown =3D function(element) {=0A=
  element =3D $(element);=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, 100, Object.extend({ =0A=
    scaleContent: false, =0A=
    scaleX: false,=0A=
    scaleFrom: 0,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makeClipping().setStyle({height: '0px'}).show(); =0A=
    },  =0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.undoClipping();=0A=
    }=0A=
  }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.SwitchOff =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  return new Effect.Appear(element, Object.extend({=0A=
    duration: 0.4,=0A=
    from: 0,=0A=
    transition: Effect.Transitions.flicker,=0A=
    afterFinishInternal: function(effect) {=0A=
      new Effect.Scale(effect.element, 1, { =0A=
        duration: 0.3, scaleFromCenter: true,=0A=
        scaleX: false, scaleContent: false, restoreAfterFinish: true,=0A=
        beforeSetup: function(effect) { =0A=
          effect.element.makePositioned().makeClipping();=0A=
        },=0A=
        afterFinishInternal: function(effect) {=0A=
          =
effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: =
oldOpacity});=0A=
        }=0A=
      })=0A=
    }=0A=
  }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.DropOut =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D {=0A=
    top: element.getStyle('top'),=0A=
    left: element.getStyle('left'),=0A=
    opacity: element.getInlineOpacity() };=0A=
  return new Effect.Parallel(=0A=
    [ new Effect.Move(element, {x: 0, y: 100, sync: true }), =0A=
      new Effect.Opacity(element, { sync: true, to: 0.0 }) ],=0A=
    Object.extend(=0A=
      { duration: 0.5,=0A=
        beforeSetup: function(effect) {=0A=
          effect.effects[0].element.makePositioned(); =0A=
        },=0A=
        afterFinishInternal: function(effect) {=0A=
          =
effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);=0A=
        } =0A=
      }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.Shake =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    distance: 20,=0A=
    duration: 0.5=0A=
  }, arguments[1] || {});=0A=
  var distance =3D parseFloat(options.distance);=0A=
  var split =3D parseFloat(options.duration) / 10.0;=0A=
  var oldStyle =3D {=0A=
    top: element.getStyle('top'),=0A=
    left: element.getStyle('left') };=0A=
    return new Effect.Move(element,=0A=
      { x:  distance, y: 0, duration: split, afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance, y: 0, duration: split, afterFinishInternal: =
function(effect) {=0A=
        effect.element.undoPositioned().setStyle(oldStyle);=0A=
  }}) }}) }}) }}) }}) }});=0A=
};=0A=
=0A=
Effect.SlideDown =3D function(element) {=0A=
  element =3D $(element).cleanWhitespace();=0A=
  // SlideDown need to have the content of the element wrapped in a =
container element with fixed height!=0A=
  var oldInnerBottom =3D element.down().getStyle('bottom');=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, 100, Object.extend({ =0A=
    scaleContent: false, =0A=
    scaleX: false, =0A=
    scaleFrom: window.opera ? 0 : 1,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makePositioned();=0A=
      effect.element.down().makePositioned();=0A=
      if (window.opera) effect.element.setStyle({top: ''});=0A=
      effect.element.makeClipping().setStyle({height: '0px'}).show(); =0A=
    },=0A=
    afterUpdateInternal: function(effect) {=0A=
      effect.element.down().setStyle({bottom:=0A=
        (effect.dims[0] - effect.element.clientHeight) + 'px' }); =0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.undoClipping().undoPositioned();=0A=
      effect.element.down().undoPositioned().setStyle({bottom: =
oldInnerBottom}); }=0A=
    }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
Effect.SlideUp =3D function(element) {=0A=
  element =3D $(element).cleanWhitespace();=0A=
  var oldInnerBottom =3D element.down().getStyle('bottom');=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, window.opera ? 0 : 1,=0A=
   Object.extend({ scaleContent: false, =0A=
    scaleX: false, =0A=
    scaleMode: 'box',=0A=
    scaleFrom: 100,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makePositioned();=0A=
      effect.element.down().makePositioned();=0A=
      if (window.opera) effect.element.setStyle({top: ''});=0A=
      effect.element.makeClipping().show();=0A=
    },  =0A=
    afterUpdateInternal: function(effect) {=0A=
      effect.element.down().setStyle({bottom:=0A=
        (effect.dims[0] - effect.element.clientHeight) + 'px' });=0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.hide().undoClipping().undoPositioned();=0A=
      effect.element.down().undoPositioned().setStyle({bottom: =
oldInnerBottom});=0A=
    }=0A=
   }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
// Bug in opera makes the TD containing this element expand for a =
instance after finish =0A=
Effect.Squish =3D function(element) {=0A=
  return new Effect.Scale(element, window.opera ? 1 : 0, { =0A=
    restoreAfterFinish: true,=0A=
    beforeSetup: function(effect) {=0A=
      effect.element.makeClipping(); =0A=
    },  =0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.hide().undoClipping(); =0A=
    }=0A=
  });=0A=
};=0A=
=0A=
Effect.Grow =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    direction: 'center',=0A=
    moveTransition: Effect.Transitions.sinoidal,=0A=
    scaleTransition: Effect.Transitions.sinoidal,=0A=
    opacityTransition: Effect.Transitions.full=0A=
  }, arguments[1] || { });=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    height: element.style.height,=0A=
    width: element.style.width,=0A=
    opacity: element.getInlineOpacity() };=0A=
=0A=
  var dims =3D element.getDimensions();    =0A=
  var initialMoveX, initialMoveY;=0A=
  var moveX, moveY;=0A=
  =0A=
  switch (options.direction) {=0A=
    case 'top-left':=0A=
      initialMoveX =3D initialMoveY =3D moveX =3D moveY =3D 0; =0A=
      break;=0A=
    case 'top-right':=0A=
      initialMoveX =3D dims.width;=0A=
      initialMoveY =3D moveY =3D 0;=0A=
      moveX =3D -dims.width;=0A=
      break;=0A=
    case 'bottom-left':=0A=
      initialMoveX =3D moveX =3D 0;=0A=
      initialMoveY =3D dims.height;=0A=
      moveY =3D -dims.height;=0A=
      break;=0A=
    case 'bottom-right':=0A=
      initialMoveX =3D dims.width;=0A=
      initialMoveY =3D dims.height;=0A=
      moveX =3D -dims.width;=0A=
      moveY =3D -dims.height;=0A=
      break;=0A=
    case 'center':=0A=
      initialMoveX =3D dims.width / 2;=0A=
      initialMoveY =3D dims.height / 2;=0A=
      moveX =3D -dims.width / 2;=0A=
      moveY =3D -dims.height / 2;=0A=
      break;=0A=
  }=0A=
  =0A=
  return new Effect.Move(element, {=0A=
    x: initialMoveX,=0A=
    y: initialMoveY,=0A=
    duration: 0.01, =0A=
    beforeSetup: function(effect) {=0A=
      effect.element.hide().makeClipping().makePositioned();=0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      new Effect.Parallel(=0A=
        [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, =
from: 0.0, transition: options.opacityTransition }),=0A=
          new Effect.Move(effect.element, { x: moveX, y: moveY, sync: =
true, transition: options.moveTransition }),=0A=
          new Effect.Scale(effect.element, 100, {=0A=
            scaleMode: { originalHeight: dims.height, originalWidth: =
dims.width }, =0A=
            sync: true, scaleFrom: window.opera ? 1 : 0, transition: =
options.scaleTransition, restoreAfterFinish: true})=0A=
        ], Object.extend({=0A=
             beforeSetup: function(effect) {=0A=
               effect.effects[0].element.setStyle({height: =
'0px'}).show(); =0A=
             },=0A=
             afterFinishInternal: function(effect) {=0A=
               =
effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldSty=
le); =0A=
             }=0A=
           }, options)=0A=
      )=0A=
    }=0A=
  });=0A=
};=0A=
=0A=
Effect.Shrink =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    direction: 'center',=0A=
    moveTransition: Effect.Transitions.sinoidal,=0A=
    scaleTransition: Effect.Transitions.sinoidal,=0A=
    opacityTransition: Effect.Transitions.none=0A=
  }, arguments[1] || { });=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    height: element.style.height,=0A=
    width: element.style.width,=0A=
    opacity: element.getInlineOpacity() };=0A=
=0A=
  var dims =3D element.getDimensions();=0A=
  var moveX, moveY;=0A=
  =0A=
  switch (options.direction) {=0A=
    case 'top-left':=0A=
      moveX =3D moveY =3D 0;=0A=
      break;=0A=
    case 'top-right':=0A=
      moveX =3D dims.width;=0A=
      moveY =3D 0;=0A=
      break;=0A=
    case 'bottom-left':=0A=
      moveX =3D 0;=0A=
      moveY =3D dims.height;=0A=
      break;=0A=
    case 'bottom-right':=0A=
      moveX =3D dims.width;=0A=
      moveY =3D dims.height;=0A=
      break;=0A=
    case 'center':  =0A=
      moveX =3D dims.width / 2;=0A=
      moveY =3D dims.height / 2;=0A=
      break;=0A=
  }=0A=
  =0A=
  return new Effect.Parallel(=0A=
    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, =
transition: options.opacityTransition }),=0A=
      new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, =
transition: options.scaleTransition, restoreAfterFinish: true}),=0A=
      new Effect.Move(element, { x: moveX, y: moveY, sync: true, =
transition: options.moveTransition })=0A=
    ], Object.extend({            =0A=
         beforeStartInternal: function(effect) {=0A=
           effect.effects[0].element.makePositioned().makeClipping(); =0A=
         },=0A=
         afterFinishInternal: function(effect) {=0A=
           =
effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle=
(oldStyle); }=0A=
       }, options)=0A=
  );=0A=
};=0A=
=0A=
Effect.Pulsate =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options    =3D arguments[1] || { };=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  var transition =3D options.transition || Effect.Transitions.sinoidal;=0A=
  var reverser   =3D function(pos){ return =
transition(1-Effect.Transitions.pulse(pos, options.pulses)) };=0A=
  reverser.bind(transition);=0A=
  return new Effect.Opacity(element, =0A=
    Object.extend(Object.extend({  duration: 2.0, from: 0,=0A=
      afterFinishInternal: function(effect) { =
effect.element.setStyle({opacity: oldOpacity}); }=0A=
    }, options), {transition: reverser}));=0A=
};=0A=
=0A=
Effect.Fold =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    width: element.style.width,=0A=
    height: element.style.height };=0A=
  element.makeClipping();=0A=
  return new Effect.Scale(element, 5, Object.extend({   =0A=
    scaleContent: false,=0A=
    scaleX: false,=0A=
    afterFinishInternal: function(effect) {=0A=
    new Effect.Scale(element, 1, { =0A=
      scaleContent: false, =0A=
      scaleY: false,=0A=
      afterFinishInternal: function(effect) {=0A=
        effect.element.hide().undoClipping().setStyle(oldStyle);=0A=
      } });=0A=
  }}, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.Morph =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      style: { }=0A=
    }, arguments[1] || { });=0A=
    =0A=
    if (!Object.isString(options.style)) this.style =3D =
$H(options.style);=0A=
    else {=0A=
      if (options.style.include(':'))=0A=
        this.style =3D options.style.parseStyle();=0A=
      else {=0A=
        this.element.addClassName(options.style);=0A=
        this.style =3D $H(this.element.getStyles());=0A=
        this.element.removeClassName(options.style);=0A=
        var css =3D this.element.getStyles();=0A=
        this.style =3D this.style.reject(function(style) {=0A=
          return style.value =3D=3D css[style.key];=0A=
        });=0A=
        options.afterFinishInternal =3D function(effect) {=0A=
          effect.element.addClassName(effect.options.style);=0A=
          effect.transforms.each(function(transform) {=0A=
            effect.element.style[transform.style] =3D '';=0A=
          });=0A=
        }=0A=
      }=0A=
    }=0A=
    this.start(options);=0A=
  },=0A=
  =0A=
  setup: function(){=0A=
    function parseColor(color){=0A=
      if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) =
color =3D '#ffffff';=0A=
      color =3D color.parseColor();=0A=
      return $R(0,2).map(function(i){=0A=
        return parseInt( color.slice(i*2+1,i*2+3), 16 ) =0A=
      });=0A=
    }=0A=
    this.transforms =3D this.style.map(function(pair){=0A=
      var property =3D pair[0], value =3D pair[1], unit =3D null;=0A=
=0A=
      if (value.parseColor('#zzzzzz') !=3D '#zzzzzz') {=0A=
        value =3D value.parseColor();=0A=
        unit  =3D 'color';=0A=
      } else if (property =3D=3D 'opacity') {=0A=
        value =3D parseFloat(value);=0A=
        if (Prototype.Browser.IE && =
(!this.element.currentStyle.hasLayout))=0A=
          this.element.setStyle({zoom: 1});=0A=
      } else if (Element.CSS_LENGTH.test(value)) {=0A=
          var components =3D value.match(/^([\+\-]?[0-9\.]+)(.*)$/);=0A=
          value =3D parseFloat(components[1]);=0A=
          unit =3D (components.length =3D=3D 3) ? components[2] : null;=0A=
      }=0A=
=0A=
      var originalValue =3D this.element.getStyle(property);=0A=
      return { =0A=
        style: property.camelize(), =0A=
        originalValue: unit=3D=3D'color' ? parseColor(originalValue) : =
parseFloat(originalValue || 0), =0A=
        targetValue: unit=3D=3D'color' ? parseColor(value) : value,=0A=
        unit: unit=0A=
      };=0A=
    }.bind(this)).reject(function(transform){=0A=
      return (=0A=
        (transform.originalValue =3D=3D transform.targetValue) ||=0A=
        (=0A=
          transform.unit !=3D 'color' &&=0A=
          (isNaN(transform.originalValue) || =
isNaN(transform.targetValue))=0A=
        )=0A=
      )=0A=
    });=0A=
  },=0A=
  update: function(position) {=0A=
    var style =3D { }, transform, i =3D this.transforms.length;=0A=
    while(i--)=0A=
      style[(transform =3D this.transforms[i]).style] =3D =0A=
        transform.unit=3D=3D'color' ? '#'+=0A=
          (Math.round(transform.originalValue[0]+=0A=
            =
(transform.targetValue[0]-transform.originalValue[0])*position)).toColorP=
art() +=0A=
          (Math.round(transform.originalValue[1]+=0A=
            =
(transform.targetValue[1]-transform.originalValue[1])*position)).toColorP=
art() +=0A=
          (Math.round(transform.originalValue[2]+=0A=
            =
(transform.targetValue[2]-transform.originalValue[2])*position)).toColorP=
art() :=0A=
        (transform.originalValue +=0A=
          (transform.targetValue - transform.originalValue) * =
position).toFixed(3) + =0A=
            (transform.unit =3D=3D=3D null ? '' : transform.unit);=0A=
    this.element.setStyle(style, true);=0A=
  }=0A=
});=0A=
=0A=
Effect.Transform =3D Class.create({=0A=
  initialize: function(tracks){=0A=
    this.tracks  =3D [];=0A=
    this.options =3D arguments[1] || { };=0A=
    this.addTracks(tracks);=0A=
  },=0A=
  addTracks: function(tracks){=0A=
    tracks.each(function(track){=0A=
      track =3D $H(track);=0A=
      var data =3D track.values().first();=0A=
      this.tracks.push($H({=0A=
        ids:     track.keys().first(),=0A=
        effect:  Effect.Morph,=0A=
        options: { style: data }=0A=
      }));=0A=
    }.bind(this));=0A=
    return this;=0A=
  },=0A=
  play: function(){=0A=
    return new Effect.Parallel(=0A=
      this.tracks.map(function(track){=0A=
        var ids =3D track.get('ids'), effect =3D track.get('effect'), =
options =3D track.get('options');=0A=
        var elements =3D [$(ids) || $$(ids)].flatten();=0A=
        return elements.map(function(e){ return new effect(e, =
Object.extend({ sync:true }, options)) });=0A=
      }).flatten(),=0A=
      this.options=0A=
    );=0A=
  }=0A=
});=0A=
=0A=
Element.CSS_PROPERTIES =3D $w(=0A=
  'backgroundColor backgroundPosition borderBottomColor =
borderBottomStyle ' + =0A=
  'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +=0A=
  'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +=0A=
  'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +=0A=
  'fontSize fontWeight height left letterSpacing lineHeight ' +=0A=
  'marginBottom marginLeft marginRight marginTop markerOffset maxHeight =
'+=0A=
  'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +=0A=
  'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +=0A=
  'right textIndent top width wordSpacing zIndex');=0A=
  =0A=
Element.CSS_LENGTH =3D =
/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;=0A=
=0A=
String.__parseStyleElement =3D document.createElement('div');=0A=
String.prototype.parseStyle =3D function(){=0A=
  var style, styleRules =3D $H();=0A=
  if (Prototype.Browser.WebKit)=0A=
    style =3D new Element('div',{style:this}).style;=0A=
  else {=0A=
    String.__parseStyleElement.innerHTML =3D '<div style=3D"' + this + =
'"></div>';=0A=
    style =3D String.__parseStyleElement.childNodes[0].style;=0A=
  }=0A=
  =0A=
  Element.CSS_PROPERTIES.each(function(property){=0A=
    if (style[property]) styleRules.set(property, style[property]); =0A=
  });=0A=
  =0A=
  if (Prototype.Browser.IE && this.include('opacity'))=0A=
    styleRules.set('opacity', =
this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);=0A=
=0A=
  return styleRules;=0A=
};=0A=
=0A=
if (document.defaultView && document.defaultView.getComputedStyle) {=0A=
  Element.getStyles =3D function(element) {=0A=
    var css =3D document.defaultView.getComputedStyle($(element), null);=0A=
    return Element.CSS_PROPERTIES.inject({ }, function(styles, property) =
{=0A=
      styles[property] =3D css[property];=0A=
      return styles;=0A=
    });=0A=
  };=0A=
} else {=0A=
  Element.getStyles =3D function(element) {=0A=
    element =3D $(element);=0A=
    var css =3D element.currentStyle, styles;=0A=
    styles =3D Element.CSS_PROPERTIES.inject({ }, function(hash, =
property) {=0A=
      hash.set(property, css[property]);=0A=
      return hash;=0A=
    });=0A=
    if (!styles.opacity) styles.set('opacity', element.getOpacity());=0A=
    return styles;=0A=
  };=0A=
};=0A=
=0A=
Effect.Methods =3D {=0A=
  morph: function(element, style) {=0A=
    element =3D $(element);=0A=
    new Effect.Morph(element, Object.extend({ style: style }, =
arguments[2] || { }));=0A=
    return element;=0A=
  },=0A=
  visualEffect: function(element, effect, options) {=0A=
    element =3D $(element)=0A=
    var s =3D effect.dasherize().camelize(), klass =3D =
s.charAt(0).toUpperCase() + s.substring(1);=0A=
    new Effect[klass](element, options);=0A=
    return element;=0A=
  },=0A=
  highlight: function(element, options) {=0A=
    element =3D $(element);=0A=
    new Effect.Highlight(element, options);=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+=0A=
  'pulsate shake puff squish switchOff dropOut').each(=0A=
  function(effect) { =0A=
    Effect.Methods[effect] =3D function(element, options){=0A=
      element =3D $(element);=0A=
      Effect[effect.charAt(0).toUpperCase() + =
effect.substring(1)](element, options);=0A=
      return element;=0A=
    }=0A=
  }=0A=
);=0A=
=0A=
$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes =
collectTextNodesIgnoreClass getStyles').each( =0A=
  function(f) { Effect.Methods[f] =3D Element[f]; }=0A=
);=0A=
=0A=
Element.addMethods(Effect.Methods);=0A=

------=_NextPart_000_0000_01CAC75C.9B3FF8A0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.anfip.org.br/js/carousel.js

/*  Prototype-UI, version trunk
 *
 *  Prototype-UI is freely distributable under the terms of an MIT-style =
license.
 *  For details, see the PrototypeUI web site: =
http://www.prototype-ui.com/
 *
 =
*------------------------------------------------------------------------=
--*/

if(typeof Prototype =3D=3D 'undefined' || =
!Prototype.Version.match("1.6"))
  throw("Prototype-UI library require Prototype library >=3D 1.6.0");

if (Prototype.Browser.WebKit) {
  Prototype.Browser.WebKitVersion =3D =
parseFloat(navigator.userAgent.match(/AppleWebKit\/([\d\.\+]*)/)[1]);
  Prototype.Browser.Safari2 =3D (Prototype.Browser.WebKitVersion < 420);
}

if (Prototype.Browser.IE) {
  Prototype.Browser.IEVersion =3D =
parseFloat(navigator.appVersion.split(';')[1].strip().split(' ')[1]);
  Prototype.Browser.IE6 =3D  Prototype.Browser.IEVersion =3D=3D 6;
  Prototype.Browser.IE7 =3D  Prototype.Browser.IEVersion =3D=3D 7;
}

Prototype.falseFunction =3D function() { return false };
Prototype.trueFunction  =3D function() { return true  };

/*
Namespace: UI

  Introduction:
    Prototype-UI is a library of user interface components based on the =
Prototype framework.
    Its aim is to easilly improve user experience in web applications.

    It also provides utilities to help developers.

  Guideline:
    - Prototype conventions are followed
    - Everything should be unobstrusive
    - All components are themable with CSS stylesheets, various themes =
are provided

  Warning:
    Prototype-UI is still under deep development, this release is =
targeted to developers only.
    All interfaces are subjects to changes, suggestions are welcome.

    DO NOT use it in production for now.

  Authors:
    - S=C3=A9bastien Gruhier, <http://www.xilinus.com>
    - Samuel Lebeau, <http://gotfresh.info>
*/

var UI =3D {
  Abstract: { },
  Ajax: { }
};
Object.extend(Class.Methods, {
  extend: Object.extend.methodize(),

  addMethods: Class.Methods.addMethods.wrap(function(proceed, source) {
    // ensure we are not trying to add null or undefined
    if (!source) return this;

    // no callback, vanilla way
    if (!source.hasOwnProperty('methodsAdded'))
      return proceed(source);

    var callback =3D source.methodsAdded;
    delete source.methodsAdded;
    proceed(source);
    callback.call(source, this);
    source.methodsAdded =3D callback;

    return this;
  }),

  addMethod: function(name, lambda) {
    var methods =3D {};
    methods[name] =3D lambda;
    return this.addMethods(methods);
  },

  method: function(name) {
    return this.prototype[name].valueOf();
  },

  classMethod: function() {
    $A(arguments).flatten().each(function(method) {
      this[method] =3D (function() {
        return this[method].apply(this, arguments);
      }).bind(this.prototype);
    }, this);
    return this;
  },

  // prevent any call to this method
  undefMethod: function(name) {
    this.prototype[name] =3D undefined;
    return this;
  },

  // remove the class' own implementation of this method
  removeMethod: function(name) {
    delete this.prototype[name];
    return this;
  },

  aliasMethod: function(newName, name) {
    this.prototype[newName] =3D this.prototype[name];
    return this;
  },

  aliasMethodChain: function(target, feature) {
    feature =3D feature.camelcase();

    this.aliasMethod(target+"Without"+feature, target);
    this.aliasMethod(target, target+"With"+feature);

    return this;
  }
});
Object.extend(Number.prototype, {
  // Snap a number to a grid
  snap: function(round) {
    return parseInt(round =3D=3D 1 ? this : (this / round).floor() * =
round);
  }
});
/*
Interface: String

*/

Object.extend(String.prototype, {
  camelcase: function() {
    var string =3D this.dasherize().camelize();
    return string.charAt(0).toUpperCase() + string.slice(1);
  },

  /*
    Method: makeElement
      toElement is unfortunately already taken :/

      Transforms html string into an extended element or null (when =
failed)

      > '<li><a href=3D"#">some text</a></li>'.makeElement(); // =3D> LI =
href#
      > '<img src=3D"foo" id=3D"bar" /><img src=3D"bar" id=3D"bar" =
/>'.makeElement(); // =3D> IMG#foo (first one)

    Returns:
      Extended element

  */
  makeElement: function() {
    var wrapper =3D new Element('div'); wrapper.innerHTML =3D this;
    return wrapper.down();
  }
});
Object.extend(Array.prototype, {
  empty: function() {
    return !this.length;
  },

  extractOptions: function() {
    return this.last().constructor =3D=3D=3D Object ? this.pop() : { };
  },

  removeAt: function(index) {
    var object =3D this[index];
    this.splice(index, 1);
    return object;
  },

  remove: function(object) {
    var index;
    while ((index =3D this.indexOf(object)) !=3D -1)
      this.removeAt(index);
    return object;
  },

  insert: function(index) {
    var args =3D $A(arguments);
    args.shift();
    this.splice.apply(this, [ index, 0 ].concat(args));
    return this;
  }
});
Element.addMethods({
  getScrollDimensions: function(element) {
    return {
      width:  element.scrollWidth,
      height: element.scrollHeight
    }
  },

  getScrollOffset: function(element) {
    return Element._returnOffset(element.scrollLeft, element.scrollTop);
  },

  setScrollOffset: function(element, offset) {
    element =3D $(element);
    if (arguments.length =3D=3D 4)
      offset =3D { left: offset, top: arguments[2] };
    element.scrollLeft =3D offset.left;
    element.scrollTop  =3D offset.top;
    return element;
  },

  // returns "clean" numerical style (without "px") or null if style can =
not be resolved
  // or is not numeric
  getNumStyle: function(element, style) {
    var value =3D parseFloat($(element).getStyle(style));
    return isNaN(value) ? null : value;
  },

  // by Tobie Langel =
(http://tobielangel.com/2007/5/22/prototype-quick-tip)
  appendText: function(element, text) {
    element =3D $(element);
    text =3D String.interpret(text);
    element.appendChild(document.createTextNode(text));
    return element;
  }
});

document.whenReady =3D function(callback) {
  if (document.loaded)
    callback.call(document);
  else
    document.observe('dom:loaded', callback);
};

Object.extend(document.viewport, {
  // Alias this method for consistency
  getScrollOffset: document.viewport.getScrollOffsets,

  setScrollOffset: function(offset) {
    Element.setScrollOffset(Prototype.Browser.WebKit ? document.body : =
document.documentElement, offset);
  },

  getScrollDimensions: function() {
    return Element.getScrollDimensions(Prototype.Browser.WebKit ? =
document.body : document.documentElement);
  }
});
/*
Interface: UI.Options
  Mixin to handle *options* argument in initializer pattern.

  TODO: find a better example than Circle that use an imaginary Point =
function,
        this example should be used in tests too.

  It assumes class defines a property called *options*, containing
  default options values.

  Instances hold their own *options* property after a first call to =
<setOptions>.

  Example:
    > var Circle =3D Class.create(UI.Options, {
    >
    >   // default options
    >   options: {
    >     radius: 1,
    >     origin: Point(0, 0)
    >   },
    >
    >   // common usage is to call setOptions in initializer
    >   initialize: function(options) {
    >     this.setOptions(options);
    >   }
    > });
    >
    > var circle =3D new Circle({ origin: Point(1, 4) });
    >
    > circle.options
    > // =3D> { radius: 1, origin: Point(1,4) }

  Accessors:
    There are builtin methods to automatically write options accessors. =
All those
    methods can take either an array of option names nor option names as =
arguments.
    Notice that those methods won't override an accessor method if =
already present.

     * <optionsGetter> creates getters
     * <optionsSetter> creates setters
     * <optionsAccessor> creates both getters and setters

    Common usage is to invoke them on a class to create accessors for =
all instances
    of this class.
    Invoking those methods on a class has the same effect as invoking =
them on the class prototype.
    See <classMethod> for more details.

    Example:
    > // Creates getter and setter for the "radius" options of circles
    > Circle.optionsAccessor('radius');
    >
    > circle.setRadius(4);
    > // 4
    >
    > circle.getRadius();
    > // =3D> 4 (circle.options.radius)

  Inheritance support:
    Subclasses can refine default *options* values, after a first =
instance call on setOptions,
    *options* attribute will hold all default options values coming from =
the inheritance hierarchy.
*/

(function() {
  UI.Options =3D {
    methodsAdded: function(klass) {
      klass.classMethod($w(' setOptions allOptions optionsGetter =
optionsSetter optionsAccessor '));
    },

    // Group: Methods

    /*
      Method: setOptions
        Extends object's *options* property with the given object
    */
    setOptions: function(options) {
      if (!this.hasOwnProperty('options'))
        this.options =3D this.allOptions();

      this.options =3D Object.extend(this.options, options || {});
    },

    /*
      Method: allOptions
        Computes the complete default options hash made by reverse =
extending all superclasses
        default options.

        > Widget.prototype.allOptions();
    */
    allOptions: function() {
      var superclass =3D this.constructor.superclass, ancestor =3D =
superclass && superclass.prototype;
      return (ancestor && ancestor.allOptions) ?
          Object.extend(ancestor.allOptions(), this.options) :
          Object.clone(this.options);
    },

    /*
      Method: optionsGetter
        Creates default getters for option names given as arguments.
        With no argument, creates getters for all option names.
    */
    optionsGetter: function() {
      addOptionsAccessors(this, arguments, false);
    },

    /*
      Method: optionsSetter
        Creates default setters for option names given as arguments.
        With no argument, creates setters for all option names.
    */
    optionsSetter: function() {
      addOptionsAccessors(this, arguments, true);
    },

    /*
      Method: optionsAccessor
        Creates default getters/setters for option names given as =
arguments.
        With no argument, creates accessors for all option names.
    */
    optionsAccessor: function() {
      this.optionsGetter.apply(this, arguments);
      this.optionsSetter.apply(this, arguments);
    }
  };

  // Internal
  function addOptionsAccessors(receiver, names, areSetters) {
    names =3D $A(names).flatten();

    if (names.empty())
      names =3D Object.keys(receiver.allOptions());

    names.each(function(name) {
      var accessorName =3D (areSetters ? 'set' : 'get') + =
name.camelcase();

      receiver[accessorName] =3D receiver[accessorName] || (areSetters ?
        // Setter
        function(value) { return this.options[name] =3D value } :
        // Getter
        function()      { return this.options[name]         });
    });
  }
})();
/*
  Class: UI.Carousel

  Main class to handle a carousel of elements in a page. A carousel :
    * could be vertical or horizontal
    * works with liquid layout
    * is designed by CSS

  Assumptions:
    * Elements should be from the same size

  Example:
    > ...
    > <div id=3D"horizontal_carousel">
    >   <div class=3D"previous_button"></div>
    >   <div class=3D"container">
    >     <ul>
    >       <li> What ever you like</li>
    >     </ul>
    >   </div>
    >   <div class=3D"next_button"></div>
    > </div>
    > <script>
    > new UI.Carousel("horizontal_carousel");
    > </script>
    > ...
*/
UI.Carousel =3D Class.create(UI.Options, {
  // Group: Options
  options: {
	// Property: direction
	//   Can be horizontal or vertical, horizontal by default
    direction               : "horizontal",

    // Property: previousButton
    //   Selector of previous button inside carousel element, =
".previous_button" by default,
    //   set it to false to ignore previous button
    previousButton          : ".previous_button",

    // Property: nextButton
    //   Selector of next button inside carousel element, ".next_button" =
by default,
    //   set it to false to ignore next button
    nextButton              : ".next_button",

    // Property: container
    //   Selector of carousel container inside carousel element, =
".container" by default,
    container               : ".container",

    // Property: scrollInc
    //   Define the maximum number of elements that gonna scroll each =
time, auto by default
    scrollInc               : "auto",

    // Property: disabledButtonSuffix
    //   Define the suffix classanme used when a button get disabled, to =
'_disabled' by default
    //   Previous button classname will be previous_button_disabled
    disabledButtonSuffix : '_disabled',

    // Property: overButtonSuffix
    //   Define the suffix classanme used when a button has a rollover =
status, '_over' by default
    //   Previous button classname will be previous_button_over
    overButtonSuffix : '_over'
  },

  /*
    Group: Attributes

      Property: element
        DOM element containing the carousel

      Property: id
        DOM id of the carousel's element

      Property: container
        DOM element containing the carousel's elements

      Property: elements
        Array containing the carousel's elements as DOM elements

      Property: previousButton
        DOM id of the previous button

      Property: nextButton
        DOM id of the next button

      Property: posAttribute
        Define if the positions are from left or top

      Property: dimAttribute
        Define if the dimensions are horizontal or vertical

      Property: elementSize
        Size of each element, it's an integer

      Property: nbVisible
        Number of visible elements, it's a float

      Property: animating
        Define whether the carousel is in animation or not
  */

  /*
    Group: Events
      List of events fired by a carousel

      Notice: Carousel custom events are automatically namespaced in =
"carousel:" (see Prototype custom events).

      Examples:
        This example will observe all carousels
        > document.observe('carousel:scroll:ended', function(event) {
        >   alert("Carousel with id " + event.memo.carousel.id + " has =
just been scrolled");
        > });

        This example will observe only this carousel
        > new UI.Carousel('horizontal_carousel').observe('scroll:ended', =
function(event) {
        >   alert("Carousel with id " + event.memo.carousel.id + " has =
just been scrolled");
        > });

      Property: previousButton:enabled
        Fired when the previous button has just been enabled

      Property: previousButton:disabled
        Fired when the previous button has just been disabled

      Property: nextButton:enabled
        Fired when the next button has just been enabled

      Property: nextButton:disabled
        Fired when the next button has just been disabled

      Property: scroll:started
        Fired when a scroll has just started

      Property: scroll:ended
        Fired when a scroll has been done,
        memo.shift =3D number of elements scrolled, it's a float

      Property: sizeUpdated
        Fired when the carousel size has just been updated.
        Tips: memo.carousel.currentSize() =3D the new carousel size
  */

  // Group: Constructor

  /*
    Method: initialize
      Constructor function, should not be called directly

    Parameters:
      element - DOM element
      options - (Hash) list of optional parameters

    Returns:
      this
  */
  initialize: function(element, options) {
    this.setOptions(options);
    this.element =3D $(element);
    this.id =3D this.element.id;
    this.container   =3D =
this.element.down(this.options.container).firstDescendant();
    this.elements    =3D this.container.childElements();
    this.previousButton =3D this.options.previousButton =3D=3D false ? =
null : this.element.down(this.options.previousButton);
    this.nextButton =3D this.options.nextButton =3D=3D false ? null : =
this.element.down(this.options.nextButton);

    this.posAttribute =3D (this.options.direction =3D=3D "horizontal" ? =
"left" : "top");
    this.dimAttribute =3D (this.options.direction =3D=3D "horizontal" ? =
"width" : "height");

    this.elementSize =3D this.computeElementSize();
    this.nbVisible =3D this.currentSize() / this.elementSize;

    var scrollInc =3D this.options.scrollInc;
    if (scrollInc =3D=3D "auto")
      scrollInc =3D Math.floor(this.nbVisible);
    [ this.previousButton, this.nextButton ].each(function(button) {
      if (!button) return;
      var className =3D (button =3D=3D this.nextButton ? "next_button" : =
"previous_button") + this.options.overButtonSuffix;
      button.clickHandler =3D this.scroll.bind(this, (button =3D=3D =
this.nextButton ? -1 : 1) * scrollInc * this.elementSize);
      button.observe("click", button.clickHandler)
            .observe("mouseover", function() =
{button.addClassName(className)}.bind(this))
            .observe("mouseout",  function() =
{button.removeClassName(className)}.bind(this));
    }, this);
    this.updateButtons();
  },

  // Group: Destructor

  /*
    Method: destroy
      Cleans up DOM and memory
  */
  destroy: function($super) {
    [ this.previousButton, this.nextButton ].each(function(button) {
      if (!button) return;
        button.stopObserving("click", button.clickHandler);
    }, this);
	  this.element.remove();
	  this.fire('destroyed');
  },

  // Group: Event handling

  /*
    Method: fire
      Fires a carousel custom event automatically namespaced in =
"carousel:" (see Prototype custom events).
      The memo object contains a "carousel" property referring to the =
carousel.

    Example:
      > document.observe('carousel:scroll:ended', function(event) {
      >   alert("Carousel with id " + event.memo.carousel.id + " has =
just been scrolled");
      > });

    Parameters:
      eventName - an event name
      memo      - a memo object

    Returns:
      fired event
  */
  fire: function(eventName, memo) {
    memo =3D memo || { };
    memo.carousel =3D this;
    return this.element.fire('carousel:' + eventName, memo);
  },

  /*
    Method: observe
      Observe a carousel event with a handler function automatically =
bound to the carousel

    Parameters:
      eventName - an event name
      handler   - a handler function

    Returns:
      this
  */
  observe: function(eventName, handler) {
    this.element.observe('carousel:' + eventName, handler.bind(this));
    return this;
  },

  /*
    Method: stopObserving
      Unregisters a carousel event, it must take the same parameters as =
this.observe (see Prototype stopObserving).

    Parameters:
      eventName - an event name
      handler   - a handler function

    Returns:
      this
  */
  stopObserving: function(eventName, handler) {
	  this.element.stopObserving('carousel:' + eventName, handler);
	  return this;
  },

  // Group: Actions

  /*
    Method: checkScroll
      Check scroll position to avoid unused space at right or bottom

    Parameters:
      position       - position to check
      updatePosition - should the container position be updated ? =
true/false

    Returns:
      position
  */
  checkScroll: function(position, updatePosition) {
    if (position > 0)
      position =3D 0;
    else {
      var limit =3D =
this.elements.last().positionedOffset()[this.posAttribute] + =
this.elementSize;
      var carouselSize =3D this.currentSize();

      if (position + limit < carouselSize)
        position +=3D carouselSize - (position + limit);
      position =3D Math.min(position, 0);
    }
    if (updatePosition)
      this.container.style[this.posAttribute] =3D position + "px";

    return position;
  },

  /*
    Method: scroll
      Scrolls carousel from maximum deltaPixel

    Parameters:
      deltaPixel - a float

    Returns:
      this
  */
  scroll: function(deltaPixel) {
    if (this.animating)
      return this;

    // Compute new position
    var position =3D  this.currentPosition() + deltaPixel;

    // Check bounds
    position =3D this.checkScroll(position, false);

    // Compute shift to apply
    deltaPixel =3D position - this.currentPosition();
    if (deltaPixel !=3D 0) {
      this.animating =3D true;
      this.fire("scroll:started");

      var that =3D this;
      // Move effects
      this.container.morph("opacity:0.5", {duration: 0.2, afterFinish: =
function() {
        that.container.morph(that.posAttribute + ": " + position + "px", =
{
          duration: 0.4,
          delay: 0.2,
          afterFinish: function() {
            that.container.morph("opacity:1", {
              duration: 0.2,
              afterFinish: function() {
                that.animating =3D false;
                that.updateButtons()
                  .fire("scroll:ended", { shift: deltaPixel / =
that.currentSize() });
              }
            });
          }
        });
      }});
    }
    return this;
  },

  /*
    Method: scrollTo
      Scrolls carousel, so that element with specifie
