From: =?Windows-1252?Q?Enregistr=E9_par_Windows_Internet_Explorer=A07?=
Subject: =?Windows-1252?Q?=BB_Claude_B=E9land?=
Date: Sat, 1 May 2010 16:24:56 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CAE94A.D5FD7610"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16669

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.seletlumieretv.org/blogue/?tag=claude-beland

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Dfr-FR dir=3Dltr =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD=20
profile=3Dhttp://gmpg.org/xfn/11><TITLE>=C2=BB Claude =
B=C3=A9land</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3DUTF-8">
<META http-equiv=3Dimagetoolbar content=3Dno><LINK media=3Dscreen=20
href=3D"http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland=
-fr/style.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK title=3D" RSS Feed"=20
href=3D"http://www.seletlumieretv.org/blogue/?feed=3Drss2" =
type=3Dapplication/rss+xml=20
rel=3Dalternate><LINK =
href=3D"http://www.seletlumieretv.org/blogue/xmlrpc.php"=20
rel=3Dpingback>
<STYLE type=3Dtext/css media=3Dscreen>BODY {
	BACKGROUND: =
url(http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-fr/=
images/bg.gif) #aaa
}
#header {
	BACKGROUND: =
url(http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-fr/=
images/header.jpg) repeat-x
}
.menu UL LI.widget UL LI {
	BACKGROUND: =
url(http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-fr/=
images/listbullet.gif) no-repeat 0px 2px
}
</STYLE>

<SCRIPT=20
src=3D"http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-=
fr/scripts/utils.js"=20
type=3Dtext/javascript></SCRIPT>
<LINK title=3D" =C2=BB Flux du mot clef Claude B=C3=A9land"=20
href=3D"http://www.seletlumieretv.org/blogue/?feed=3Drss2&amp;tag=3Dclaud=
e-beland"=20
type=3Dapplication/rss+xml rel=3Dalternate><LINK title=3DRSD=20
href=3D"http://www.seletlumieretv.org/blogue/xmlrpc.php?rsd"=20
type=3Dapplication/rsd+xml rel=3DEditURI><LINK=20
href=3D"http://www.seletlumieretv.org/blogue/wp-includes/wlwmanifest.xml"=
=20
type=3Dapplication/wlwmanifest+xml rel=3Dwlwmanifest><LINK title=3D""=20
href=3D"http://www.seletlumieretv.org/blogue" rel=3Dindex>
<META content=3D"MSHTML 6.00.6000.17037" name=3DGENERATOR>
<SCRIPT src=3D"http://www.scribd.com/javascripts/view.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.seletlumieretv.org/blogue/wp-content/plugins/zd-scribd-=
ipaper/assets/lightview2.5/js/prototype.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.seletlumieretv.org/blogue/wp-content/plugins/zd-scribd-=
ipaper/assets/lightview2.5/js/scriptaculous.js?load=3Deffects,builder"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.seletlumieretv.org/blogue/wp-content/plugins/zd-scribd-=
ipaper/assets/lightview2.5/js/lightview.js"=20
type=3Dtext/javascript></SCRIPT>
<LINK media=3Dscreen=20
href=3D"http://www.seletlumieretv.org/blogue/wp-content/plugins/zd-scribd=
-ipaper/assets/lightview2.5/css/lightview.css"=20
type=3Dtext/css rel=3Dstylesheet></HEAD>
<BODY>
<DIV id=3Dwrapper>
<DIV id=3Dheader>
<FORM id=3Dsearchform2 action=3Dhttp://www.seletlumieretv.org/blogue=20
method=3Dget><INPUT id=3Ds onfocus=3DdoClear(this) size=3D18 =
value=3DChercher name=3Ds> <INPUT type=3Dsubmit value=3DEnvoyer> </FORM>
<H3><A href=3D"http://www.seletlumieretv.org/blogue/"></A></H3>
<H2><A href=3D"http://www.seletlumieretv.org/"></A></H2></DIV>
<DIV id=3Dtabs>
<UL>
  <LI><A href=3D"http://www.seletlumieretv.org/">T=C3=A9l=C3=A9vision =
Sel + Lumi=C3=A8re</A>=20
  <LI><A href=3D"http://www.seletlumieretv.org/blogue/">Accueil du =
Blogue</A>=20
  <LI class=3D"page_item page-item-2"><A title=3D"=C3=A0 propos"=20
  href=3D"http://www.seletlumieretv.org/blogue/?page_id=3D2">=C3=A0 =
propos</A>=20
</LI></UL></DIV>
<DIV id=3Dcontent>
<DIV id=3Dcontent-inner>
<DIV id=3Dmain>
<H2 id=3Dsectiontitle>Articles tagu=C3=A9s : Claude B=C3=A9land</H2>
<DIV class=3Dpost id=3Dpost-2229>
<DIV class=3Dentry>
<H2><A=20
title=3D"Lien permanent vers Claude B=C3=A9land aux C du V: pour une =
=C3=A9conomie solidaire"=20
href=3D"http://www.seletlumieretv.org/blogue/?p=3D2229" =
rel=3Dbookmark>Claude B=C3=A9land=20
aux C du V: pour une =C3=A9conomie solidaire</A></H2>
<P>
<SCRIPT =
src=3D"http://www.saltandlighttv.org/video/jwplayer/swfobject.js"=20
type=3Dtext/javascript></SCRIPT>
</P>
<DIV id=3Dplayer20100119 style=3D"MARGIN-TOP: 3px"><IMG =
style=3D"MARGIN-BOTTOM: 10px"=20
height=3D50 src=3D"" width=3D50 align=3Dleft=20
longDesc=3Dhttp://get.adobe.com/fr/flashplayer/><BR><SPAN =
class=3Djustified>Obtenir=20
<A=20
onclick=3D"javascript:pageTracker._trackPageview('/outgoing/get.adobe.com=
/fr/flashplayer/');"=20
href=3D"http://get.adobe.com/fr/flashplayer/">le lecteur Flash </A>pour =
voir cette=20
vid=C3=A9o.</SPAN></DIV>
<P>
<SCRIPT type=3Dtext/javascript>=0A=
  var so =3D new =
SWFObject('http://saltandlighttv.org/video/jwplayer/player.swf','mpl','40=
0','245','9');=0A=
  so.addParam('allowfullscreen','true');=0A=
  so.addParam('allowscriptaccess','always');=0A=
  so.addParam('wmode','opaque');=0A=
  so.addVariable('backcolor','111111');=0A=
  so.addVariable('frontcolor','ffffff');=0A=
  so.addVariable('lightcolor','009cf7');=0A=
  so.addVariable('screencolor','000000');=0A=
  =
so.addVariable('file','http%3A%2F%2Fsaltandlighttv.org%2Fvideo%2Fcompleme=
nduverbe%2FCDV_100118_economie.flv');=0A=
  =
so.addVariable('image','http%3A%2F%2Fsaltandlighttv.org%2Fvideo%2Fcomplem=
enduverbe%2Fimages%2FCDV_100118_economie.jpg');=0A=
  so.addVariable('volume','200');=0A=
  so.addVariable('stretching','uniform');=0A=
  =
so.addVariable('logo.file','http://saltandlighttv.org/video/logo/seletlum=
ieretv.png');=0A=
  =
so.addVariable('skin','http://saltandlighttv.org/video/jwplayer/skins/mod=
ieus/modieus.swf');=0A=
  so.addVariable('logo.hide','false');=0A=
  so.addVariable('logo.position','bottom-right');=0A=
  so.addVariable('logo.link','http://seletlumieretv.org');=0A=
  so.addVariable('plugins', 'gapro-1,viral-2');=0A=
  so.addVariable('gapro.accountid', 'UA-8529632-3');=0A=
  so.addVariable('gapro.trackstarts','true');=0A=
  so.addVariable('gapro.trackpercentage','true');=0A=
  so.addVariable('gapro.tracktime','true');=0A=
  so.addVariable('viral.onpause','false');=0A=
  so.addVariable('viral.oncomplete','false');=0A=
  so.addVariable('viral.allowmenu','true');=0A=
  so.addVariable('viral.functions','link,embed');=0A=
  so.write('player20100119');=0A=
</SCRIPT>
</P>
<P>Un an apr=C3=A8s les grandes remises en question provoqu=C3=A9es par =
la crise=20
=C3=A9conomique, les choses ont-elles chang=C3=A9es ? Comment sortir du =
statu quo ?</P>
<P>Claude B=C3=A9land y va de suggestions dans son livre <EM>Plaidoyer =
pour une=20
=C3=A9conomie solidaire</EM>. L=E2=80=99ancien directeur =
g=C3=A9n=C3=A9ral du Mouvement Desjardins=20
parle du vide laiss=C3=A9 par l=E2=80=99=C3=89glise pour discerner le =
bien et le mal&nbsp;ainsi=20
que&nbsp;des valeurs de partage qui doivent guider =
l=E2=80=99=C3=A9conomie.</P>
<P>L=E2=80=99=C3=A9mission est disponible en ligne et sera diffus=C3=A9e =
en rappel samedi =C3=A0 19h30=20
et 23h30.</P></DIV>
<DIV class=3Dpostmetadata>
<P>Tags : <A =
href=3D"http://www.seletlumieretv.org/blogue/?tag=3Deconomie-solidaire"=20
rel=3Dtag>=C3=A9conomie solidaire</A>, <A=20
href=3D"http://www.seletlumieretv.org/blogue/?tag=3Dclaude-beland" =
rel=3Dtag>Claude=20
B=C3=A9land</A>, <A =
href=3D"http://www.seletlumieretv.org/blogue/?tag=3Dcrise-economique"=20
rel=3Dtag>crise =C3=A9conomique</A>, <A=20
href=3D"http://www.seletlumieretv.org/blogue/?tag=3Dmouvement-desjardins"=
=20
rel=3Dtag>Mouvement Desjardins</A></P>
<P><IMG style=3D"VERTICAL-ALIGN: -5px" height=3D16 alt=3Dcategories=20
src=3D"http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-=
fr/images/category.gif"=20
width=3D16> <A title=3D"Voir tous les articles dans Non class=C3=A9"=20
href=3D"http://www.seletlumieretv.org/blogue/?cat=3D1" =
rel=3Dcategory>Non class=C3=A9</A> |=20
<A title=3D"Articles par S=C3=A9bastien Lacroix"=20
href=3D"http://www.seletlumieretv.org/blogue/?author=3D3">S=C3=A9bastien =
Lacroix</A> 19=20
janvier 2010 | <IMG style=3D"VERTICAL-ALIGN: -5px" height=3D16 =
alt=3Dcomments=20
src=3D"http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-=
fr/images/comment.gif"=20
width=3D16> <A=20
title=3D"Commentaire sur Claude B=C3=A9land aux C du V: pour une =
=C3=A9conomie solidaire"=20
href=3D"http://www.seletlumieretv.org/blogue/?p=3D2229#respond">Commentai=
re (0)</A>=20
</P></DIV></DIV>
<DIV id=3Dnavigation>
<DIV class=3Dfleft></DIV>
<DIV class=3Dfright></DIV></DIV></DIV><!-- eof main --><!-- begin =
sidebar -->
<DIV id=3Dsidebar>
<DIV id=3Dsubscribe>
<P><IMG style=3D"VERTICAL-ALIGN: -2px" alt=3DRSS=20
src=3D"http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-=
fr/images/feed-icon-16x16.gif">=20
&nbsp;<A href=3D"http://www.seletlumieretv.org/blogue/?feed=3Drss2">Flux =
RSS des=20
articles</A> | <A=20
href=3D"http://www.seletlumieretv.org/blogue/?feed=3Dcomments-rss2">Flux =
RSS des=20
commentaires</A></P></DIV>
<DIV class=3Dmenu>
<UL>
  <LI class=3D"widget widget_calendar" id=3Dcalendar-2>
  <H3>&nbsp;</H3>
  <DIV id=3Dcalendar_wrap>
  <TABLE id=3Dwp-calendar summary=3DCalendrier>
    <CAPTION>mai 2010</CAPTION>
    <THEAD>
    <TR>
      <TH title=3DLundi scope=3Dcol abbr=3DLundi>L</TH>
      <TH title=3DMardi scope=3Dcol abbr=3DMardi>Ma</TH>
      <TH title=3DMercredi scope=3Dcol abbr=3DMercredi>Me</TH>
      <TH title=3DJeudi scope=3Dcol abbr=3DJeudi>J</TH>
      <TH title=3DVendredi scope=3Dcol abbr=3DVendredi>V</TH>
      <TH title=3DSamedi scope=3Dcol abbr=3DSamedi>S</TH>
      <TH title=3DDimanche scope=3Dcol =
abbr=3DDimanche>D</TH></TR></THEAD>
    <TFOOT>
    <TR>
      <TD id=3Dprev abbr=3Davril colSpan=3D3><A=20
        title=3D"Voir les articles pour avril 2010"=20
        href=3D"http://www.seletlumieretv.org/blogue/?m=3D201004">=C2=AB =
avr</A></TD>
      <TD class=3Dpad>&nbsp;</TD>
      <TD class=3Dpad id=3Dnext colSpan=3D3>&nbsp;</TD></TR></TFOOT>
    <TBODY>
    <TR>
      <TD class=3Dpad colSpan=3D5>&nbsp;</TD>
      <TD id=3Dtoday>1</TD>
      <TD>2</TD></TR>
    <TR>
      <TD>3</TD>
      <TD>4</TD>
      <TD>5</TD>
      <TD>6</TD>
      <TD>7</TD>
      <TD>8</TD>
      <TD>9</TD></TR>
    <TR>
      <TD>10</TD>
      <TD>11</TD>
      <TD>12</TD>
      <TD>13</TD>
      <TD>14</TD>
      <TD>15</TD>
      <TD>16</TD></TR>
    <TR>
      <TD>17</TD>
      <TD>18</TD>
      <TD>19</TD>
      <TD>20</TD>
      <TD>21</TD>
      <TD>22</TD>
      <TD>23</TD></TR>
    <TR>
      <TD>24</TD>
      <TD>25</TD>
      <TD>26</TD>
      <TD>27</TD>
      <TD>28</TD>
      <TD>29</TD>
      <TD>30</TD></TR>
    <TR>
      <TD>31</TD>
      <TD class=3Dpad colSpan=3D6>&nbsp;</TD></TR></TBODY></TABLE></DIV>
  <LI class=3D"widget widget_text" id=3Dtext-3>
  <DIV class=3Dtextwidget><A=20
  href=3D"http://seletlumieretv.org/canonisation_frereandre.html"><IMG =
height=3D600=20
  alt=3D"Canonisation du fr=C3=A8re Andr=C3=A9"=20
  =
src=3D"http://seletlumieretv.org/images/advertising/br_andre_FR_01c.jpg" =

  width=3D120 align=3Dtop vspace=3D2 border=3D0></A></DIV>
  <LI class=3D"widget widget_recent_entries" id=3Drecent-posts-2>
  <H3>Articles r=C3=A9cents</H3>
  <UL>
    <LI><A title=3D"La Nouvelle J=C3=A9rusalem"=20
    href=3D"http://www.seletlumieretv.org/blogue/?p=3D2798">La Nouvelle =
J=C3=A9rusalem=20
    </A>
    <LI><A title=3D"Perspectives hebdo: La mission du la=C3=AFc: ad =
intra et ad extra"=20
    href=3D"http://www.seletlumieretv.org/blogue/?p=3D2791">Perspectives =
hebdo: La=20
    mission du la=C3=AFc: ad intra et ad extra </A>
    <LI><A title=3D"Un nouveau Conseil pour une jeune communaut=C3=A9"=20
    href=3D"http://www.seletlumieretv.org/blogue/?p=3D2786">Un nouveau =
Conseil pour=20
    une jeune communaut=C3=A9 </A>
    <LI><A title=3D"=C3=89couter la voix du Bon Pasteur"=20
    href=3D"http://www.seletlumieretv.org/blogue/?p=3D2778">=C3=89couter =
la voix du Bon=20
    Pasteur </A>
    <LI><A title=3D"Le Terre, notre berceau"=20
    href=3D"http://www.seletlumieretv.org/blogue/?p=3D2772">Le Terre, =
notre berceau=20
    </A></LI></UL>
  <LI class=3D"widget widget_links" id=3Dlinkcat-2>
  <H3>sur Sel et Lumi=C3=A8re</H3>
  <UL class=3D"xoxo blogroll">
    <LI><A href=3D"http://www.saltandlighttv.org/blog">Salt + Light =
Blog</A>=20
    <LI><A href=3D"http://www.seletlumieretv.org/">Sel + Lumi=C3=A8re =
=E2=80=93 page=20
    d=E2=80=99accueil</A>=20
    <LI><A =
href=3D"http://www.seletlumieretv.org/program_francais_zoom.html">ZOOM=20
    =E2=80=93 web=C3=A9mission quotidienne</A> </LI></UL>
  <LI class=3D"widget widget_meta" id=3Dmeta-2>
  <H3>M=C3=A9ta</H3>
  <UL>
    <LI><A=20
    =
href=3D"http://www.seletlumieretv.org/blogue/wp-login.php">Connexion</A> =

    <LI><A title=3D"Suivez ce site par syndication RSS 2.0"=20
    href=3D"http://www.seletlumieretv.org/blogue/?feed=3Drss2">Articles =
<ABBR=20
    title=3D"Really Simple Syndication">RSS</ABBR></A>=20
    <LI><A=20
    title=3D"Les derniers commentaires pour tous les articles, au format =
RSS"=20
    =
href=3D"http://www.seletlumieretv.org/blogue/?feed=3Dcomments-rss2"><ABBR=
=20
    title=3D"Really Simple Syndication">RSS</ABBR> des commentaires</A>=20
    <LI><A=20
    title=3D"Propuls=C3=A9 par WordPress, plate-forme de publication =
personnelle s=C3=A9mantique de pointe."=20
    href=3D"http://wordpress.org/">WordPress.org</A> =
</LI></UL></LI></UL></DIV></DIV><!-- end sidebar -->
<DIV style=3D"CLEAR: both"></DIV></DIV></DIV><!-- eo content -->
<DIV id=3Dfooter>
<DIV id=3Dfooter-inner>
<P>est propuls=C3=A9 par <A=20
href=3D"http://wordpress.org/">WordPress</A></P></DIV></DIV>
<DIV id=3Dcredit><!-- Please leave this credit link intact -->
<P><A href=3D"http://www.wpcosmos.com/">Th=C3=A8mes WordPress</A> - <A=20
href=3D"http://wordpress-tuto.fr/">WordPress =
tuto</A></P></DIV></DIV><!-- tracker added by Ultimate Google Analytics =
plugin v1.6.0: http://www.oratransplant.nl/uga -->
<SCRIPT type=3Dtext/javascript>=0A=
var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");=0A=
document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' type=3D'text/javascript'%3E%3C/script%3E"));=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
var pageTracker =3D _gat._getTracker("UA-8529632-3");=0A=
pageTracker._initData();=0A=
pageTracker._trackPageview();=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>
var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");
document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' =
type=3D'text/javascript'%3E%3C/script%3E"));
</SCRIPT>

<SCRIPT type=3Dtext/javascript>
try {
var pageTracker =3D _gat._getTracker("UA-8529632-3");
pageTracker._trackPageview();
} catch(err) {}</SCRIPT>
</BODY></HTML>

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-fr/images/category.gif

R0lGODlhEAAQAMQAAP////f39/Pz8+bm5uLi4t7e3tra2tbW1tLS0s7OzsXFxcHBwbm5ubGxsamp
qZycnJiYmJSUlJCQkIyMjP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUU
ABQALAAAAAAQABAAAAVsIEUBJCme6LgsTNOUMKACQ004zzPtkwwsNBthaDAQeiNGwPaAOCNQJCBH
FVgLhUNB+gh4BQhEQqFYbH2PQTE8ZjEOXEJYXG41EFJIgV1vOBwJeQVDWAYHYgkGeVCMEo6PUjGS
JSmVlpeYmSghADs=

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-fr/images/comment.gif

R0lGODlhEAAQAMQAAPn5+ff39/Pz8/Ly8vHx8e/v7+7u7uzs7Onp6ebm5tzc3NDQ0MrKysnJycPD
w8HBwb29vbm5ubKysqysrKioqKKioqGhoZycnJiYmJaWlo2NjYuLi4iIiP///wAAAAAAACH5BAUU
AB0ALAAAAAAQABAAAAVeYCeOZGmeJiBtXOtylEFOD3A2mN0BXBcMwEHhcOhYEiJCphMsDA+IzkSR
XAKdRER0KuIxsdoEsoIU0UiFxKCD0+0krohIELnIUBhDZONAiSARGgx+IgYYC4SJiouEIQA7

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-fr/images/feed-icon-16x16.gif

R0lGODlhEAAQAOYAAPSRNut/MvqcOfudOviZOfz18P/58+6FNOh5MeZ/M/aUN/KNNeZ0L+mFNfCJ
NO6FM/748uNuLv7y5tpeKud4L+yKNuF4MeyBMuBqLep9MeN5MuN5MfmdQeiDNN5lLP3x5t5vL99x
MNxhK/3ateF0MOuJNeiFNf738uV0LuJ2MeeBM95wMOV8MuiCNPzChOqHNd1uL+R7MuV9MumINvqs
XvrOp/ivae6RTPSmZ+6aZPnIm+l+OfS9mPieRO+NQe6rif7s2vmlUu6ylfG3l/u5d+B1RfOkZ++d
ZPSsc/zZtfetaf3fwf7x5vKjZuaLYPi/jvabRPKTQvSygPupUvqiRv7mzvfDmfi0deyWY/ehUOiJ
VffUvvWpaPzjzfrDj+qJSfXAmPW/mf3lzfmfRfvm2PnXv+JwNvq+g/uvXuR8R/qzavrTs/eXOPma
OfWSN/GLNeqwh////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAAAQABAAAAfpgAVwFhsxMgkqHQ0vJRUzcII7KBQZFw8OCwAKbG0CHIMoXzxgTZia
nAIDBCYbFEdxsBA6UKiqbg0xGTdWax+wBkSpBG5vLTKWpjZAsC7DbwcJCQ84EF1ePW0jsFfPASwq
DlywcQZoA0lxED4BCBodmVlnEuQ0br5hCAwpDadtVNpMoiCJc4JBBBIvNi2p4mLMPCkBTsTRgiFE
CTZqYIlx8yROGQRb4vzwAKJCmykG4tR4YyQOGQZD4ggRAWNGqiBKuuXAEiGNkyITVsDh4OwAO4MY
PIiYYAYSHBMNWiRgoSEFiRAgYAgtEAgAOw==

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://seletlumieretv.org/images/advertising/br_andre_FR_01c.jpg

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
2Q==

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-fr/style.css

BODY {
	FONT-SIZE: 95%; BACKGROUND: #fff; MARGIN: 0px; COLOR: #333; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center
}
#wrapper {
	BORDER-RIGHT: #fff 2px solid; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
FONT-SIZE: 75%; BACKGROUND: #fff; PADDING-BOTTOM: 0px; MARGIN: 0px auto; =
BORDER-LEFT: #fff 2px solid; WIDTH: 770px; LINE-HEIGHT: 20px; =
PADDING-TOP: 0px; TEXT-ALIGN: left
}
#header {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #ccc; =
PADDING-BOTTOM: 1px; MARGIN: 0px; PADDING-TOP: 1px; HEIGHT: 100px
}
#header-inner {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#content {
	CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 10px; BACKGROUND: #fff; =
PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px
}
#main {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
10px; MARGIN: 0px; OVERFLOW: hidden; WIDTH: 550px; PADDING-TOP: 5px
}
#sidebar {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 560px; PADDING-TOP: 0px
}
#footer {
	CLEAR: both; PADDING-RIGHT: 16px; PADDING-LEFT: 16px; FONT-SIZE: 85%; =
PADDING-BOTTOM: 10px; MARGIN: 0px; PADDING-TOP: 10px; TEXT-ALIGN: center
}
#footer-inner {
	BACKGROUND: #f2f2f2; HEIGHT: 50px
}
#footer P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 15px; MARGIN: =
0px; PADDING-TOP: 15px
}
#navigation {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#navigation DIV.fleft {
	FLOAT: left
}
#navigation DIV.fright {
	FLOAT: right
}
#credit {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TEXT-ALIGN: right
}
#credit P {
	FONT-SIZE: 85%; MARGIN: 0px; COLOR: #777
}
#credit P A {
	FONT-WEIGHT: 100; COLOR: #999
}
#credit P A:hover {
	FONT-WEIGHT: 100; COLOR: #999
}
P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
10px 0px; PADDING-TOP: 0px
}
H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
10px 0px; PADDING-TOP: 0px
}
H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
10px 0px; PADDING-TOP: 0px
}
H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
10px 0px; PADDING-TOP: 0px
}
H4 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
10px 0px; PADDING-TOP: 0px
}
H5 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
10px 0px; PADDING-TOP: 0px
}
H6 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
10px 0px; PADDING-TOP: 0px
}
H1 {
	FONT-FAMILY: Verdana, sans-serif
}
H2 {
	FONT-FAMILY: Verdana, sans-serif
}
H3 {
	FONT-FAMILY: Verdana, sans-serif
}
H4 {
	FONT-FAMILY: Verdana, sans-serif
}
H5 {
	FONT-FAMILY: Verdana, sans-serif
}
H6 {
	FONT-FAMILY: Verdana, sans-serif
}
H1 {
	FONT-SIZE: 190%
}
H2 {
	FONT-SIZE: 160%
}
H3 {
	FONT-SIZE: 120%
}
H4 {
	FONT-SIZE: 110%
}
H5 {
	FONT-SIZE: 100%
}
H6 {
	FONT-SIZE: 70%
}
A {
	FONT-WEIGHT: 800; COLOR: #2768aa; TEXT-DECORATION: none
}
A:hover {
	COLOR: #8ebeef; TEXT-DECORATION: underline
}
A IMG {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 15px; PADDING-LEFT: 15px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 15px; =
PADDING-TOP: 15px; BORDER-RIGHT-WIDTH: 0px
}
HR {
	BORDER-TOP: #ccc 1px solid; MARGIN: 5px 0px; BORDER-BOTTOM: #ccc 1px =
solid; HEIGHT: 2px
}
BLOCKQUOTE {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; BACKGROUND: #f4f4f4; =
PADDING-BOTTOM: 5px; MARGIN: 3px 30px; PADDING-TOP: 5px
}
FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
FIELDSET {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: =
0px; BORDER-TOP-STYLE: none; PADDING-TOP: 10px; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
LEGEND {
	FONT-WEIGHT: 800
}
CODE {
	FONT-SIZE: 90%; FONT-FAMILY: "Courier New", Courier, monospace; =
WHITE-SPACE: pre
}
TD {
	VERTICAL-ALIGN: top
}
.aligncenter {
	PADDING-RIGHT: 0.4em; DISPLAY: block; PADDING-LEFT: 0.4em; =
PADDING-BOTTOM: 0.4em; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; =
PADDING-TOP: 0.4em
}
DIV.aligncenter {
	PADDING-RIGHT: 0.4em; DISPLAY: block; PADDING-LEFT: 0.4em; =
PADDING-BOTTOM: 0.4em; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; =
PADDING-TOP: 0.4em
}
.alignleft {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; FLOAT: left; PADDING-BOTTOM: =
0.4em; PADDING-TOP: 0.4em
}
.alignright {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.4em; FLOAT: right; =
PADDING-BOTTOM: 0.4em; PADDING-TOP: 0.4em
}
.wp-caption {
	BORDER-RIGHT: #ddd 1px solid; BORDER-TOP: #ddd 1px solid; MARGIN: 10px; =
BORDER-LEFT: #ddd 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #ddd 1px =
solid; BACKGROUND-COLOR: #f3f3f3; TEXT-ALIGN: center; =
-moz-border-radius: 3px; -khtml-border-radius: 3px; =
-webkit-border-radius: 3px; border-radius: 3px
}
.wp-caption IMG {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px; BORDER-LEFT: 0px; =
BORDER-BOTTOM: 0px
}
.wp-caption P.wp-caption-text {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 11px; PADDING-BOTTOM: =
5px; MARGIN: 0px; LINE-HEIGHT: 17px; PADDING-TOP: 0px
}
#tabs {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: gray; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
#tabs UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; MARGIN: =
0px; PADDING-TOP: 3px; LIST-STYLE-TYPE: none
}
#tabs UL LI {
	BORDER-RIGHT: #fff 2px solid; PADDING-RIGHT: 15px; DISPLAY: inline; =
PADDING-LEFT: 0px; FONT-SIZE: 90%; PADDING-BOTTOM: 6px; MARGIN: 10px 0px =
3px 15px; PADDING-TOP: 6px; FONT-FAMILY: Tahoma, Arial, sans-serif
}
#tabs UL LI A {
	COLOR: white
}
#tabs UL LI A:hover {
	COLOR: #a1e7fd; TEXT-DECORATION: none
}
FORM#searchform2 {
	DISPLAY: block; FLOAT: right; MARGIN: 10px 10px 0px 5px
}
#header H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 18px
}
#header H3 A {
	FONT-WEIGHT: 100; FONT-SIZE: 220%; COLOR: #fff; LETTER-SPACING: 1px; =
TEXT-DECORATION: none
}
#header H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: 800; FONT-SIZE: =
100%; PADDING-BOTTOM: 5px; MARGIN: 0px; COLOR: #fff; PADDING-TOP: 10px; =
LETTER-SPACING: 1px
}
H2#sectiontitle {
	PADDING-RIGHT: 6px; PADDING-LEFT: 10px; FONT-WEIGHT: 800; FONT-SIZE: =
100%; BACKGROUND: #f2f2f2; PADDING-BOTTOM: 6px; MARGIN: 8px 10px 5px; =
COLOR: #444; PADDING-TOP: 6px; FONT-FAMILY: arial, verdana, sans-serif
}
.post {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px =
0px 10px; PADDING-TOP: 0px
}
.entry {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 3px; MARGIN: =
0px; PADDING-TOP: 0px
}
.post H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 2px; FONT-WEIGHT: 100; FONT-SIZE: =
150%; PADDING-BOTTOM: 2px; MARGIN: 10px 0px 15px; COLOR: #2768aa; =
PADDING-TOP: 7px
}
.post H2 A {
	FONT-WEIGHT: 100; COLOR: #2768aa; TEXT-DECORATION: none
}
.post H2 A:hover {
	COLOR: #333; TEXT-DECORATION: none
}
.postmetadata {
	PADDING-RIGHT: 8px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; =
FONT-SIZE: 80%; PADDING-BOTTOM: 1px; MARGIN: 0px; PADDING-TOP: 1px
}
.postmetadata P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px =
0px; LINE-HEIGHT: 18px; PADDING-TOP: 0px
}
.date {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; =
FONT-WEIGHT: 800; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px 10px 0px =
0px; COLOR: #444; PADDING-TOP: 0px; TEXT-ALIGN: center
}
.dateDay {
	DISPLAY: block; FONT-SIZE: 16px; LINE-HEIGHT: 16px; TEXT-ALIGN: center
}
.dateMonth {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 11px; =
PADDING-BOTTOM: 0px; LINE-HEIGHT: 12px; PADDING-TOP: 0px
}
.dateYear {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 11px; =
PADDING-BOTTOM: 0px; LINE-HEIGHT: 12px; PADDING-TOP: 0px
}
H3#comments {
	FONT-SIZE: 100%; FONT-FAMILY: verdana, sans-serif
}
H3#postcomment {
	FONT-SIZE: 100%; FONT-FAMILY: verdana, sans-serif
}
OL#commentlist {
	PADDING-RIGHT: 0px; PADDING-LEFT: 20px; FONT-SIZE: 90%; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
OL#commentlist LI {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
OL#commentlist LI P.commentheader {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: =
1px; MARGIN: 0px; PADDING-TOP: 1px
}
UL#commentlist {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
UL#commentlist LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 90%; =
BACKGROUND: #f2f2f2; PADDING-BOTTOM: 0px; MARGIN: 0px 15px 5px; =
PADDING-TOP: 0px
}
UL#commentlist P {
	MARGIN: 6px 0px
}
UL#commentlist LI DIV.comm {
	PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; MARGIN: =
1px; PADDING-TOP: 1px
}
UL#commentlist LI DIV.gravatar {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 50px; PADDING-TOP: 10px
}
UL#commentlist LI DIV.gravatar IMG {
	BORDER-RIGHT: #ccc 2px solid; BORDER-TOP: #ccc 2px solid; BORDER-LEFT: =
#ccc 2px solid; BORDER-BOTTOM: #ccc 2px solid
}
UL#commentlist LI DIV.commenttext {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px =
10px 5px 65px; PADDING-TOP: 0px
}
UL#commentlist LI DIV.commenttext DIV.commentwrapper {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 3px; MARGIN: 0px =
0px 0px 5px; PADDING-TOP: 3px
}
#subscribe P {
	FONT-SIZE: 85%; MARGIN: 3px 0px 10px
}
.menu {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 90%; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.menu A {
	FONT-WEIGHT: 100
}
.menu A:hover {
	TEXT-DECORATION: none
}
.menu UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.menu UL LI.widget {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: =
0px; PADDING-TOP: 2px
}
.menu UL LI.widget UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.menu UL LI.widget UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 15px; PADDING-BOTTOM: 2px; MARGIN: =
0px; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 1px dotted
}
.menu UL LI.widget UL LI UL {
=09
}
.menu UL LI.widget UL LI UL LI {
	PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px dotted; PADDING-LEFT: 15px; =
PADDING-BOTTOM: 2px; PADDING-TOP: 2px; BORDER-BOTTOM-STYLE: none! =
important
}
.menu UL LI.widget H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 4px; FONT-WEIGHT: 800; FONT-SIZE: =
120%; PADDING-BOTTOM: 1px; MARGIN: 0px; COLOR: #333; PADDING-TOP: 2px; =
BORDER-BOTTOM: #2768aa 2px solid; FONT-FAMILY: arial; FONT-VARIANT: =
small-caps
}
.menu UL LI H3 A {
	FONT-WEIGHT: 800; COLOR: #333
}
.menu UL LI H3 A:hover {
	COLOR: #333; TEXT-DECORATION: none
}
.menu FORM {
	PADDING-RIGHT: 4px; DISPLAY: block; PADDING-LEFT: 4px; PADDING-BOTTOM: =
4px; MARGIN: 0px; PADDING-TOP: 4px
}
.menu INPUT {
	FONT-SIZE: 90%; MARGIN: 3px 0px
}
LI.widget .textwidget {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
LI.widget #search {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
#wp-calendar {
	MARGIN: 10px auto 0px; WIDTH: 155px; empty-cells: show
}
#wp-calendar #next A {
	PADDING-RIGHT: 10px; TEXT-ALIGN: right
}
#wp-calendar #prev A {
	PADDING-LEFT: 10px; TEXT-ALIGN: left
}
#wp-calendar A {
	DISPLAY: block
}
#wp-calendar CAPTION {
	WIDTH: 100%; TEXT-ALIGN: center
}
#wp-calendar TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px; TEXT-ALIGN: center
}
#footer A {
	FONT-WEIGHT: 100
}
#wp-admin-bar {
	CLEAR: both; BORDER-RIGHT: #666 1px solid; PADDING-RIGHT: 5px; =
BORDER-TOP: #666 1px solid; PADDING-LEFT: 5px; BACKGROUND: #f9f9f9; =
PADDING-BOTTOM: 5px; MARGIN: 0px; BORDER-LEFT: #666 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: #666 1px solid; TEXT-ALIGN: center; =
align: center
}
#wp-admin-bar UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#wp-admin-bar UL LI {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px 10px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/plugins/zd-scribd-ipaper/assets/lightview2.5/css/lightview.css

#lightview {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 50%; PADDING-BOTTOM: 0px; =
MARGIN: -75px 0px 0px -75px; WIDTH: 150px; PADDING-TOP: 0px; POSITION: =
absolute; TOP: 50%; HEIGHT: 150px; TEXT-ALIGN: left
}
.lv_Container {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 100%; =
PADDING-TOP: 0px; POSITION: relative; HEIGHT: 100%
}
.lv_Button {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 0px; CURSOR: pointer; =
BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; TEXT-DECORATION: none; BORDER-BOTTOM-STYLE: =
none
}
.lv_Sides {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 0px; =
POSITION: absolute; TOP: 50%
}
.lv_Sides * {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.lv_Sides LI {
	LIST-STYLE-TYPE: none; POSITION: relative
}
.lv_PrevSide {
	FLOAT: left
}
.lv_NextSide {
	FLOAT: right
}
.lv_Sides .lv_Wrapper {
	WIDTH: 100%; CURSOR: pointer; HEIGHT: 100%
}
.lv_Sides .lv_Button {
	BACKGROUND: none transparent scroll repeat 0% 0%; FLOAT: left
}
.lv_Frames {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 100%; PADDING-TOP: 0px; POSITION: relative; HEIGHT: 100%
}
.lv_Frames LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.lv_Frame {
	DISPLAY: block; WIDTH: 100%
}
.lv_Frame * {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.lv_FrameTop {
	DISPLAY: block; LEFT: 0px; WIDTH: 100%; POSITION: absolute
}
.lv_FrameBottom {
	CLEAR: both; FLOAT: left; POSITION: relative
}
.lv_Liquid {
	CLEAR: both; FLOAT: left; OVERFLOW: hidden; WIDTH: 100%; POSITION: =
relative
}
.lv_Liquid .lv_Filler {
	LEFT: 50%; WIDTH: 2px; POSITION: absolute; TOP: 0px; HEIGHT: 100%
}
.lv_Half {
	CLEAR: both; DISPLAY: block; LINE-HEIGHT: 0px; HEIGHT: 100%
}
.lv_Half LI {
	LIST-STYLE-TYPE: none
}
.lv_Corner {
	FLOAT: left; POSITION: relative
}
.lv_CornerTr {
	FLOAT: right
}
.lv_CornerBr {
	FLOAT: right
}
.lv_Fill {
	WIDTH: 100%; POSITION: absolute; TOP: 0px; HEIGHT: 100%
}
.lv_Half .lv_CornerWrapper {
	FLOAT: left; OVERFLOW: hidden; WIDTH: 50%; POSITION: relative; HEIGHT: =
100%
}
.lv_HalfRight .lv_CornerWrapper {
	FLOAT: right
}
.lv_Corner {
	POSITION: relative
}
.lv_Corner canvas {
	POSITION: relative
}
.lv_HalfLeft .lv_Corner {
	FLOAT: left
}
.lv_HalfRight .lv_Corner {
	FLOAT: right; POSITION: relative
}
.lv_Center {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none =
transparent scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OVERFLOW: hidden; PADDING-TOP: 0px; POSITION: relative; HEIGHT: 100%
}
.lv_WrapUp {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; OVERFLOW: hidden; WIDTH: 100%; PADDING-TOP: 0px; POSITION: =
absolute; HEIGHT: 100%
}
.lv_WrapDown {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; OVERFLOW: hidden; WIDTH: 100%; PADDING-TOP: 0px; POSITION: =
relative; HEIGHT: 100%
}
.lv_WrapCenter {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; POSITION: relative
}
.lv_Loading {
	LEFT: 50%; POSITION: absolute; TOP: 50%
}
.lv_Loading .lv_Button {
	FLOAT: left; WIDTH: 100%; HEIGHT: 100%
}
.lv_MediaWrapper {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: hidden; WIDTH: 100%; =
PADDING-TOP: 0px; POSITION: relative
}
.lv_MediaWrapper IMG {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative
}
.lv_PrevNext {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 0px; POSITION: absolute; TOP: =
0px; HEIGHT: 100%
}
.lv_PrevNext * {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.lv_PrevNext .lv_Button {
	POSITION: relative; HEIGHT: 100%
}
.lv_PrevButton {
	FLOAT: left
}
.lv_NextButton {
	FLOAT: right
}
.lv_MenuBar {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; FONT: 11px Arial, Helvetica, sans-serif; WIDTH: 100%; =
COLOR: #7a7a7a; PADDING-TOP: 0px; POSITION: relative; TEXT-ALIGN: left
}
.lv_MenuBar * {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.lv_Close {
	FLOAT: right; OVERFLOW: hidden; WIDTH: 100%; POSITION: relative; =
HEIGHT: 100%
}
.lv_Data {
	FLOAT: left; PADDING-BOTTOM: 3px; OVERFLOW: hidden; LINE-HEIGHT: 13px; =
POSITION: relative
}
.lv_Data LI {
	MARGIN-TOP: 3px; FLOAT: left; LIST-STYLE-TYPE: none
}
.lv_DataText {
	WIDTH: 100%
}
.lv_DataText .lv_Title {
	FONT-WEIGHT: bold; MARGIN-BOTTOM: 2px
}
.lv_DataText .lv_Caption {
	CLEAR: both
}
.lv_Data .lv_ImgNumber {
	MARGIN-TOP: 5px; COLOR: #a7a7a7; MARGIN-RIGHT: 5px
}
.lv_Data .lv_innerPrevNext {
	PADDING-RIGHT: 5px; MARGIN-TOP: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: =
0px; VERTICAL-ALIGN: middle; BORDER-LEFT: #d7d7d7 1px solid; =
PADDING-TOP: 0px; POSITION: relative
}
.lv_Data .lv_Slideshow {
	PADDING-RIGHT: 5px; MARGIN-TOP: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: =
0px; VERTICAL-ALIGN: middle; BORDER-LEFT: #d7d7d7 1px solid; =
PADDING-TOP: 0px; POSITION: relative
}
.lv_Data .lv_Slideshow {
	PADDING-RIGHT: 0px
}
.lv_Data .lv_innerPrevNext .lv_Button {
	BACKGROUND-POSITION: left center; FLOAT: left; BACKGROUND-REPEAT: =
no-repeat
}
.lv_Data .lv_Slideshow .lv_Button {
	BACKGROUND-POSITION: left center; FLOAT: left; BACKGROUND-REPEAT: =
no-repeat
}
.lv_contentTop {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative
}
.lv_contentBottom {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative
}
#lightview IFRAME {
	BORDER-TOP-WIDTH: 0px; CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: =
0px; BORDER-LEFT-WIDTH: 0px; BACKGROUND: none transparent scroll repeat =
0% 0%; FLOAT: left; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px
}
.lv_topButtons {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; OVERFLOW: hidden; WIDTH: 100%; PADDING-TOP: 0px; POSITION: =
absolute
}
.lv_topcloseButtonImage {
	CURSOR: pointer
}
#lightviewError P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 0px
}
#lightviewError DIV {
	PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; FONT: 11px =
Arial, Helvetica, sans-serif; PADDING-TOP: 6px
}
#lightviewError .message {
	BACKGROUND: #fcb5b5; MARGIN-BOTTOM: 3px; COLOR: #dd1f1f
}
#lightviewError .type {
	FONT-WEIGHT: bold
}
#lightviewError .pluginspage {
	BACKGROUND: #b5fcbd; COLOR: #21be30
}
#lightviewError A {
	FONT-WEIGHT: bold; BACKGROUND: none transparent scroll repeat 0% 0%; =
COLOR: #21be30; BORDER-BOTTOM: #7de689 1px solid; TEXT-DECORATION: none
}
#lightviewError A:hover {
	FONT-WEIGHT: bold; BACKGROUND: none transparent scroll repeat 0% 0%; =
COLOR: #21be30; BORDER-BOTTOM: #7de689 1px solid; TEXT-DECORATION: none
}
#lightviewError A:visited {
	FONT-WEIGHT: bold; BACKGROUND: none transparent scroll repeat 0% 0%; =
COLOR: #21be30; BORDER-BOTTOM: #7de689 1px solid; TEXT-DECORATION: none
}
#lightviewError P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
MARGIN-LEFT: 0px; PADDING-TOP: 0px
}
#lv_overlay {
	LEFT: 0px; WIDTH: 100%; POSITION: absolute; TOP: 0px; HEIGHT: 100%
}
#lightviewController {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 50%; PADDING-BOTTOM: 0px; =
MARGIN: 0px; FONT: 11px Arial, Helvetica, sans-serif; COLOR: #d2d2d2; =
BOTTOM: 0px; PADDING-TOP: 0px; POSITION: fixed; TOP: 0px
}
* HTML BODY #lightviewController {
	; MARGIN-TOP: expression( (-1 * this.offsetHeight / 2 + =
(document.documentElement ? document.documentElement.scrollTop : 0) + =
(Lightview.controllerOffset || 0)) + 'px'); POSITION: absolute; TOP: =
auto
}
#lightviewController UL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative; =
HEIGHT: 100%
}
.lv_controllerTop {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: hidden; =
PADDING-TOP: 0px; LIST-STYLE-TYPE: none; POSITION: relative
}
.lv_controllerMiddle {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: hidden; =
PADDING-TOP: 0px; LIST-STYLE-TYPE: none; POSITION: relative
}
.lv_controllerBottom {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: hidden; =
PADDING-TOP: 0px; LIST-STYLE-TYPE: none; POSITION: relative
}
.lv_controllerCenter {
	FLOAT: left; WIDTH: auto
}
.lv_controllerCornerWrapper {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 100%; PADDING-TOP: 0px; POSITION: absolute; HEIGHT: 100%
}
.lv_controllerCornerWrapperTopLeft {
	LEFT: -100%; TOP: 0px
}
.lv_controllerCornerWrapperBottomLeft {
	LEFT: -100%; TOP: 0px
}
.lv_controllerCornerWrapperTopRight {
	LEFT: 100%; TOP: 0px
}
.lv_controllerCornerWrapperBottomRight {
	LEFT: 100%; TOP: 0px
}
#lightviewController .lv_CornerWrapper {
	WIDTH: 100%
}
#lightviewController .lv_Corner {
	FLOAT: left
}
#lightviewController .lv_Corner {
	FLOAT: right; POSITION: relative
}
#lightviewController .lv_CornerTr {
	FLOAT: left
}
#lightviewController .lv_CornerBr {
	FLOAT: left
}
.lv_controllerBetweenCorners {
	OVERFLOW: hidden; POSITION: relative; HEIGHT: 100%
}
.lv_controllerMiddle {
	FLOAT: left; POSITION: relative; HEIGHT: 100%
}
.lv_controllerCenter {
	FLOAT: left; WIDTH: auto
}
.lv_controllerCenter LI {
	CLEAR: none; DISPLAY: inline; FLOAT: left; LIST-STYLE-TYPE: none; =
POSITION: relative
}
.lv_controllerSetNumber {
	FLOAT: left; TEXT-ALIGN: center
}
#lightviewController .lv_Button {
	CLEAR: none; FLOAT: left; POSITION: relative; HEIGHT: 100%
}
.lv_controllerSetNumber {
	PADDING-RIGHT: 3px; POSITION: relative; HEIGHT: 100%
}
.lv_controllerPrev {
	PADDING-LEFT: 3px; FLOAT: left; POSITION: relative; HEIGHT: 100%
}
.lv_controllerNext {
	PADDING-LEFT: 3px; FLOAT: left; POSITION: relative; HEIGHT: 100%
}
.lv_controllerSlideshow {
	PADDING-LEFT: 3px; FLOAT: left; POSITION: relative; HEIGHT: 100%
}
.lv_controllerClose {
	PADDING-LEFT: 3px; FLOAT: left; POSITION: relative; HEIGHT: 100%
}
.lv_controllerPrev {
	BORDER-LEFT: #3c3c3c 1px solid
}
#lightviewController .lv_controllerNext {
	BORDER-RIGHT: #3c3c3c 1px solid; PADDING-RIGHT: 3px
}
* HTML #lightview {
	; MARGIN-TOP: expression( (-1 * this.offsetHeight / 2 + =
(document.documentElement ? document.documentElement.scrollTop : 0) - =
(Lightview.controllerHeight || 0)) + 'px'); ; MARGIN-LEFT: expression( =
-1 * this.offsetWidth / 2 + (document.documentElement ? =
document.documentElement.scrollLeft : 0) + 'px'); POSITION: absolute
}
HTML #lv_overlay {
	; WIDTH: expression(((window.Enumerable && window.Enumerable.max) ? =
[document.body.scrollWidth, document.documentElement.scrollWidth, =
document.body.offsetWidth, document.documentElement.clientHeight].max() =
: document.documentElement.scrollWidth) + 'px' ); POSITION: absolute; ; =
HEIGHT: expression(((window.Enumerable && window.Enumerable.max) ? =
[document.body.scrollHeight, document.documentElement.scrollHeight, =
document.body.offsetHeight, document.documentElement.clientHeight].max() =
: document.documentElement.scrollHeight) + 'px' )
}

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/themes/meadowland-fr/scripts/utils.js

function doClear(theText) =0A=
{=0A=
     if (theText.value =3D=3D theText.defaultValue)=0A=
 {=0A=
         theText.value =3D ""=0A=
     }=0A=
 }
------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.scribd.com/javascripts/view.js

//this file appears to be written so that does not require prototype, =
fyi - tom=0A=
if(typeof scribd =3D=3D "undefined") {=0A=
	=0A=
	var scribd =3D new Object();=0A=
	=0A=
	/* ------------------------=0A=
		  Scribd Document=0A=
	-------------------------- */=0A=
	=0A=
	scribd.Document =3D function() {=0A=
	=0A=
		=0A=
		//Private vars=0A=
		this.__params =3D [ ];			// document attributes=0A=
		this.__callQueue =3D [ ];			// stores premature method calls for later =
replay, technically a stack (FILO)=0A=
		this.__listenerLookup =3D { };			// lookup[ eventType:String ] -> [ =
callback1:Function, callback2:Function ... ]=0A=
		=0A=
		if (arguments.length =3D=3D 2) {=0A=
			// This option is included for backwards compatibility only!=0A=
			this.document_id =3D arguments[0];=0A=
			this.access_key =3D arguments[1];=0A=
			return this;=0A=
		}=0A=
=0A=
		if (scribd.Document.caller !=3D scribd.Document.getDoc=0A=
				&& scribd.Document.caller !=3D scribd.Document.getDocFromUrl=0A=
				&& scribd.Document.caller !=3D =
scribd.Document.getDocFromUrlForExtension=0A=
		                && scribd.Document.caller !=3D undefined ) {=0A=
			throw new Error("There is no public constructor for =
scribd.Document.");=0A=
		}=0A=
	}=0A=
	=0A=
	scribd.Document.getDoc =3D function(document_id, access_key) {=0A=
		scribd_doc =3D new scribd.Document();=0A=
		scribd_doc.document_id =3D document_id;=0A=
		scribd_doc.access_key =3D access_key;=0A=
		return scribd_doc;=0A=
	}=0A=
	=0A=
	scribd.Document.getDocFromUrl =3D function(url, publisher_id) {=0A=
		scribd_doc =3D new scribd.Document();=0A=
		scribd_doc.url =3D url;=0A=
		scribd_doc.publisher_id =3D publisher_id;=0A=
		return scribd_doc;=0A=
	}=0A=
	=0A=
	scribd.Document.getDocFromUrlForExtension =3D function(url, =
extension_id) {=0A=
		scribd_doc =3D new scribd.Document();=0A=
		scribd_doc.url =3D url;=0A=
		scribd_doc.extension_id =3D extension_id;=0A=
		scribd_doc.addParam("should_redirect", true);=0A=
		return scribd_doc;=0A=
	}=0A=
		=0A=
	=0A=
	=0A=
	scribd.Document.prototype =3D {=0A=
		/* ---------------=0A=
		=0A=
		Private Methods=0A=
		=0A=
		Note: Routed events are those which get routed through a globally =
defined method: window._scribd_event_handler_embedName()=0A=
		We define this method to allow message passing between iPaper and this =
particular scribd.Document instance. Only used=0A=
		for browsers which don't adhere to the DOM 2 event specification (IE).=0A=
		=0A=
		Workflow:=0A=
			1) Assign window._scribd_event_handler_embedName =3D =
this.__handleEvent, in this.write()=0A=
			2) Add any event listeners to this.__listenerLookup=0A=
			3) iPaper calls window._scribd_event_handler_embedName to trigger =
events, which get routed back through to this.__handleEvent=0A=
			4) Iterate through __listenerLookup, firing the appropriate callbacks=0A=
		=0A=
		----------------- */=0A=
		=0A=
		__handleEvent: function( eventType ){=0A=
			var listeners =3D this.__listenerLookup[eventType] || [];=0A=
			=0A=
			for (var i=3D0; i<listeners.length; i++)=0A=
			{=0A=
				listeners[i]();=0A=
			}=0A=
		},=0A=
		=0A=
		__addRoutedListener: function( eventType, callback ){=0A=
      =0A=
			if ( this.__listenerExists(eventType, callback) )=0A=
				return;=0A=
        =0A=
			if (this.__listenerLookup[ eventType ]){=0A=
				this.__listenerLookup[ eventType ].push(callback);=0A=
			} else {=0A=
				this.__listenerLookup[ eventType ] =3D new Array( callback );=0A=
			}=0A=
		},=0A=
		=0A=
		__removeRoutedListener: function( eventType, callback ){=0A=
			var listeners =3D this.__listenerLookup[ eventType ];=0A=
			for (var i=3D0; i<listeners.length; i++ ){=0A=
				if( listeners[i] =3D=3D callback ){=0A=
					listeners.splice(i, 1);=0A=
				}=0A=
			}=0A=
		},=0A=
		=0A=
		__listenerExists: function( eventType, callback ){=0A=
			var listeners =3D this.__listenerLookup[ eventType ] || [];=0A=
			for ( var i=3D0; i<listeners.length; i++ ){=0A=
				if (listeners[i] =3D=3D callback) return true;=0A=
			}=0A=
			return false;=0A=
		},=0A=
		=0A=
		=0A=
		/* ---------------=0A=
			Public Methods=0A=
		---------------- */=0A=
		=0A=
		addEventListener: function( eventType, callback, optBubble ){=0A=
			if (this.api){=0A=
				if (window.addEventListener){=0A=
					this.api.parentNode.addEventListener( eventType, callback, false );=0A=
				} else {=0A=
					this.__addRoutedListener( eventType, callback );=0A=
				}=0A=
			} else {=0A=
				this.__callQueue.push(["addEventListener", eventType, callback, =
false]);=0A=
			}=0A=
		},=0A=
		=0A=
		removeEventListener: function( eventType, callback ){=0A=
			if (this.api){=0A=
				if (window.addEventListener){=0A=
					this.api.removeEventListener( eventType, callback, false );=0A=
				} else {=0A=
					this.__removeRoutedListener( eventType, callback );=0A=
				}=0A=
			} else {=0A=
				this.__callQueue.push(["removeEventListener", eventType, callback]);=0A=
			}=0A=
		},=0A=
		=0A=
		getElement : function () {=0A=
			return document.getElementsByName( this.__embedName )[0]=0A=
		},=0A=
		=0A=
		addParam : function(name, value) {=0A=
			this.__params[name] =3D value;=0A=
		},=0A=
=0A=
		grantAccess : function(user_identifier, secure_session_id, signature) {=0A=
			this.__params["user_identifier"] =3D user_identifier;=0A=
			this.__params["secure_session_id"] =3D secure_session_id;=0A=
			this.__params["signature"] =3D signature;=0A=
		},=0A=
		=0A=
		write : function(elementId) {=0A=
			var element =3D document.getElementById(elementId);=0A=
			quickswitch =3D (this.__params["quickswitch"] =3D=3D true);=0A=
=0A=
			if (quickswitch) {			=0A=
				// create container at body level to avoid calling innerHTML on an =
element with an inline ancestor=0A=
				var container =3D document.createElement('div');=0A=
				container.style.width =3D "100%";=0A=
				container.style.height =3D "100%";=0A=
				document.body.appendChild(container);=0A=
			}=0A=
=0A=
			var auto_width =3D element.offsetWidth;=0A=
			var view_mode =3D '';=0A=
			var flashVars =3D '';=0A=
			if (this.__params["width"] && this.__params["width"] !=3D "parent") {=0A=
				auto_width =3D this.__params["width"];=0A=
			}=0A=
			if (this.__params["mode"]){=0A=
				view_mode =3D this.__params['mode'];=0A=
				flashVars +=3D '&viewMode=3D' + escape(this.__params['mode']);=0A=
			}=0A=
=0A=
			if (this.__params["height"] !=3D "parent") {=0A=
				var auto_height =3D Math.round(auto_width * 11.0 / 8.5)=0A=
				if (view_mode =3D=3D 'slideshow')=0A=
				{=0A=
					auto_height =3D 35 + Math.round(auto_width * 3.0 / 4.0);=0A=
				}=0A=
=0A=
				// Get height of page=0A=
				var page_height =3D window.innerHeight !=3D null=0A=
						? window.innerHeight=0A=
						: document.documentElement && document.documentElement.clientHeight=0A=
								? document.documentElement.clientHeight=0A=
								: document.body !=3D null=0A=
										? document.body.clientHeight=0A=
										: 0;=0A=
				=0A=
				page_height -=3D 25; // some breathing room=0A=
				=0A=
				// Bound the height=0A=
				if (auto_height < 200) {=0A=
					auto_height =3D 200;=0A=
				}=0A=
				if (auto_height > page_height) {=0A=
					auto_height =3D page_height;=0A=
				}=0A=
				=0A=
				var embedHeight =3D auto_height + "px";=0A=
			} else {=0A=
				var embedHeight =3D "100%";=0A=
			}=0A=
			=0A=
			var embedWidth =3D "100%";=0A=
			var embedName =3D elementId + '_embed' + Math.round(Math.random() * =
9e9);=0A=
			this.__embedName =3D embedName;=0A=
			var srcString =3D "ScribdViewer";=0A=
			=0A=
			// This defaults to true so we only need to handle explicit false =
cases=0A=
			if (this.__params["auto_size"] !=3D true){=0A=
				flashVars +=3D '&auto_size=3Dfalse';=0A=
			}=0A=
			=0A=
			if (this.__params["height"] && this.__params["height"] !=3D "parent"){=0A=
				embedHeight =3D this.__params["height"] + "px";=0A=
			}=0A=
			if (this.__params["width"] && this.__params["width"] !=3D "parent"){=0A=
				embedWidth =3D this.__params["width"] + "px";=0A=
			}=0A=
			=0A=
			// Params=0A=
			if (this.__params["swf_name"]){=0A=
				srcString =3D this.__params["swf_name"];=0A=
			}=0A=
			=0A=
			if (this.__params["disable_related_docs"]){=0A=
				flashVars +=3D '&disable_related_docs=3D' + =
this.__params["disable_related_docs"];=0A=
			}=0A=
			if (this.__params["page"]){=0A=
				flashVars +=3D '&page=3D' + this.__params["page"];=0A=
			}=0A=
			if (this.__params["extension"]){=0A=
				flashVars +=3D '&extension=3D' + this.__params["extension"];=0A=
			}=0A=
			if (this.__params["title"]){=0A=
				flashVars +=3D '&title=3D' + escape(this.__params["title"]);=0A=
			}=0A=
			if (this.__params["my_user_id"]){=0A=
				flashVars +=3D '&my_user_id=3D' + this.__params["my_user_id"];=0A=
			}=0A=
			if (this.__params["api_url"]){=0A=
				flashVars +=3D '&api_url=3D' + this.__params["api_url"];=0A=
			}=0A=
			if (this.__params["doctype"]){=0A=
				flashVars +=3D '&doctype=3D' + this.__params["doctype"];=0A=
			}=0A=
			if (this.__params["current_user_id"]){=0A=
				flashVars +=3D '&current_user_id=3D' + =
this.__params["current_user_id"];=0A=
			}=0A=
			if (this.__params["search_query"]){=0A=
				flashVars +=3D '&search_query=3D' + =
escape(this.__params["search_query"]);=0A=
			}=0A=
			if (this.__params["search_keywords"]){=0A=
				flashVars +=3D '&search_keywords=3D' + =
escape(this.__params["search_keywords"]);=0A=
			}=0A=
			if (this.__params["transferCookie"]=3D=3Dtrue){=0A=
				flashVars +=3D '&cookie=3D' + escape(document.cookie);=0A=
			}=0A=
			if (this.__params["should_redirect"]){=0A=
				flashVars +=3D '&should_redirect=3D' + =
this.__params["should_redirect"];=0A=
			}=0A=
			if (this.__params["secret_password"]){=0A=
				flashVars +=3D '&secret_password=3D' + =
this.__params["secret_password"];=0A=
			}=0A=
			if (this.__params["public"] =3D=3D true){=0A=
				flashVars +=3D '&privacy=3D0';=0A=
      		}=0A=
      		else {=0A=
        		flashVars +=3D '&privacy=3D1';=0A=
			}=0A=
			=0A=
			if (this.__params["user_identifier"]) {=0A=
		        flashVars +=3D '&user_identifier=3D' + =
escape(this.__params["user_identifier"]);=0A=
			}=0A=
			if (this.__params["secure_session_id"]) {=0A=
		        flashVars +=3D '&secure_session_id=3D' + =
escape(this.__params["secure_session_id"]);=0A=
			}=0A=
			if (this.__params["signature"]) {=0A=
		        flashVars +=3D '&signature=3D' + this.__params["signature"];=0A=
			}=0A=
			if (this.__params["docinfo"]) {=0A=
				//need to use encodeURIComponent for '+' and '/' in base64 encoding=0A=
				flashVars +=3D '&docinfo=3D' + =
encodeURIComponent(this.__params["docinfo"]);=0A=
			}=0A=
			if (this.__params["useIntegratedUi"]) {=0A=
				flashVars +=3D '&useIntegratedUi=3D' + =
this.__params["useIntegratedUi"];=0A=
			}=0A=
=0A=
=0A=
					=0A=
			// Document Attributes=0A=
			if (this.document_id){=0A=
				flashVars +=3D '&document_id=3D' + this.document_id;=0A=
			}=0A=
			if (this.access_key){=0A=
				flashVars +=3D '&access_key=3D' + this.access_key;=0A=
			}=0A=
			if (this.extension_id){=0A=
				flashVars +=3D '&extension_id=3D' + this.extension_id;=0A=
			}=0A=
			if (this.url){=0A=
				flashVars +=3D '&url=3D' + escape(this.url);=0A=
			}=0A=
			if (this.publisher_id){=0A=
				flashVars +=3D '&publisher_id=3D' + escape(this.publisher_id);=0A=
			}=0A=
			=0A=
			var srcPath =3D "http://d1.scribdassets.com/";=0A=
			var protocol =3D "http://";=0A=
			=0A=
			if (this.__params["use_ssl"] =3D=3D true) {=0A=
				srcPath =3D "https://s3.amazonaws.com/documents.scribd.com/";=0A=
				flashVars +=3D "&use_ssl=3Dtrue"; =0A=
				protocol =3D 'https://';=0A=
			}=0A=
			=0A=
			if (this.__params["src_path"]) {=0A=
        			srcPath =3D this.__params["src_path"];=0A=
			}=0A=
			if (this.__params["hide_sample_banner"]){=0A=
				flashVars +=3D '&hide_sample_banner=3D' + =
this.__params["hide_sample_banner"];=0A=
			}=0A=
			=0A=
			if (this.__params["disable_resume_reading"] =3D=3D true){=0A=
				flashVars +=3D '&disable_resume_reading=3Dtrue';=0A=
			}=0A=
			=0A=
			if (this.__params["hide_full_screen_button"] =3D=3D true){=0A=
				flashVars +=3D '&hide_full_screen_button=3Dtrue';=0A=
			}=0A=
			=0A=
			if (this.__params["hide_disabled_buttons"] =3D=3D true){=0A=
				flashVars +=3D '&hide_disabled_buttons=3Dtrue';=0A=
			}=0A=
			=0A=
			if (this.__params["full_screen_type"]){=0A=
				flashVars +=3D '&full_screen_type=3D' + =
this.__params["full_screen_type"];=0A=
			}=0A=
=0A=
			if (this.__params["custom_logo_image_url"]) {=0A=
				flashVars +=3D '&custom_logo_image_url=3D' + =
escape(this.__params["custom_logo_image_url"]);=0A=
			}=0A=
=0A=
			if (this.__params["custom_logo_click_url"]) {=0A=
				flashVars +=3D '&custom_logo_click_url=3D' + =
escape(this.__params["custom_logo_click_url"]);=0A=
			}=0A=
=0A=
			var embedString =3D Mod_AC_FL_RunContent(=0A=
					'codebase', protocol + =
'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=3D9=
,0,0,0',=0A=
					'width', embedWidth, =0A=
					'height', embedHeight, =0A=
					'flashvars', flashVars, =0A=
					'src', srcPath + srcString,=0A=
					'quality', 'high', =0A=
					'pluginspage', protocol + 'www.macromedia.com/go/getflashplayer', =0A=
					'align', 'middle', =0A=
					'play', 'true', =0A=
					'loop', 'true', =0A=
					'scale','showall', =0A=
					'wmode', 'opaque', =0A=
					'devicefont', 'false', =0A=
					'id',embedName, =0A=
					'bgcolor', '#ffffff', =0A=
					'name', embedName, =0A=
					'menu','true', =0A=
					'allowFullScreen', 'true', =0A=
					'allowScriptAccess','always', =0A=
					'movie', srcPath + srcString,=0A=
					'salign','');=0A=
					=0A=
      var flash_ok =3D DetectFlashVer(9,0,0);=0A=
      if (!flash_ok) {=0A=
        embedString =3D '<div =
style=3D"font-size:16px;width:300px;border:1px solid =
#dddddd;padding:3px">Hello, you have an old version of Adobe Flash =
Player. To use iPaper (and lots of other stuff on the web) you need to =
<a =
href=3D"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Vers=
ion=3DShockwaveFlash">get the latest Flash player</a>.  </div>';=0A=
      }=0A=
			=0A=
			=0A=
			if(quickswitch) {=0A=
				=0A=
				/* For QuickSwitch, we avoid calling innerHTML on an element that =
isn't =0A=
				directly attached to the body. This avoids the IE issue where =
calling =0A=
				innerHTML on a block element that has in its ancestry an inline =
element =0A=
				will throw an exception */=0A=
				=0A=
				// set container innerHTML, which is a direct child of body=0A=
				container.innerHTML =3D embedString;=0A=
			=0A=
				// delete all child nodes of element=0A=
				if (element.hasChildNodes()) {=0A=
					while (element.childNodes.length >=3D 1) {=0A=
						element.removeChild(element.firstChild);=0A=
					}=0A=
				}=0A=
				=0A=
				element.appendChild(container);=0A=
			}=0A=
			else=0A=
			{=0A=
				element.innerHTML =3D embedString;=0A=
			}=0A=
			=0A=
			var __this =3D this;=0A=
			=0A=
			// Event router for IE (which doesn't properly support custom events)=0A=
			window[ "_scribd_event_handler_" + embedName ] =3D =
function(eventType){ __this.__handleEvent(eventType) };=0A=
			=0A=
			//=0A=
			// setupJsApi -- attach event listeners=0A=
			//=0A=
			var onSetupJsApi =3D function(e)=0A=
			{ =0A=
			  var e =3D e || {};		// In the case of IE, there will be no Event so =
we return an empty object=0A=
				var target =3D e.srcElement || =
document.getElementsByName(embedName)[0];=0A=
				=0A=
				if (target.getAttribute('name') =3D=3D embedName)=0A=
				{=0A=
					__this.api =3D target;=0A=
          // Grab the next call on the queue, check to see if it's =
actionable, if not push onto a stack which will replace __callQueue=0A=
					var i, method, callParams, rejectedCalls =3D [];=0A=
					=0A=
					for (var i=3D0; i<__this.__callQueue.length; i++)=0A=
					{=0A=
					  callParams =3D __this.__callQueue[i];=0A=
					  if (callParams[0] =3D=3D "addEventListener") {  // Execute all =
listener calls=0A=
					    method =3D callParams.shift();=0A=
              __this[method].apply( __this, callParams );=0A=
					  } else {=0A=
					    rejectedCalls.push( callParams ); // Send back to __callQueue=0A=
					  }=0A=
					}=0A=
					__this.__callQueue =3D rejectedCalls; // end callQueue=0A=
				}=0A=
			}=0A=
			=0A=
			//=0A=
			// iPaperReady -- pump call queue=0A=
			//=0A=
			=0A=
			var oniPaperReady =3D function(e)=0A=
			{=0A=
				var e =3D e || {};		// In the case of IE, there will be no Event so =
we return an empty object=0A=
				var target =3D e.srcElement || =
document.getElementsByName(embedName)[0];=0A=
				=0A=
				if (target.getAttribute('name') =3D=3D embedName) {=0A=
				  =0A=
					if (__this.onReady){=0A=
						__this.onReady();=0A=
					}=0A=
					=0A=
					// Grab the next call on the queue, check to see if it's =
actionable, if not push onto a stack which will replace __callQueue =
(rejectedCalls)=0A=
					var i, method, callParams, rejectedCalls =3D [];=0A=
					for (i=3D0; i<__this.__callQueue.length; i++) {=0A=
					  callParams =3D __this.__callQueue.pop();=0A=
					  if (callParams[0] !=3D "addEventListener") {  // Execute all =
non-listener calls=0A=
					    method =3D callParams.shift();=0A=
					    if (typeof method !=3D "function") alert(typeof method)=0A=
					    __this[ method ].apply( __this, callParams );=0A=
					  } else {=0A=
					    rejectedCalls.push( callParams ); // Send back to __callQueue=0A=
					  }=0A=
					}=0A=
					__this.__callQueue =3D rejectedCalls;=0A=
					=0A=
					// TODO: implement this properly - redispatch initial mouse over =
event in case browser missed it (firefox, webkit)=0A=
					=0A=
          // if (__this.initialMouseOver && target.dispatchEvent)=0A=
          // {=0A=
          //  var evt =3D =
target.ownerDocument.createEvent('MouseEvents');=0A=
          //  evt.initMouseEvent('mouseover', true, true,=0A=
          //      target.ownerDocument.defaultView, 1, 0, 0, 0, 0, false,=0A=
          //      false, false, false, 0, null);  =0A=
          //  target.dispatchEvent(evt);=0A=
          // }=0A=
				}=0A=
			}=0A=
			=0A=
			=0A=
			if (window.addEventListener){=0A=
				window.addEventListener('iPaperReady', oniPaperReady, true);=0A=
				window.addEventListener('setupJsApi', onSetupJsApi, true)=0A=
			} else {=0A=
				// No DOM 2 Support=0A=
				this.__addRoutedListener('iPaperReady', oniPaperReady);=0A=
				this.__addRoutedListener('setupJsApi', onSetupJsApi);=0A=
			}=0A=
            =0A=
			// initial mouse over notification (for firefox and chrome)=0A=
      // this.initialMouseOver =3D false;=0A=
      // =0A=
      // if (window.addEventListener){=0A=
      //  element.addEventListener('mouseover', function() { =
__this.initialMouseOver =3D true; }, false);=0A=
      //  element.addEventListener('mouseout', function() { =
__this.initialMouseOver =3D false; }, false);=0A=
      // }=0A=
		}=0A=
	}=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
	/* ------------------------=0A=
		AC_RunActiveContent=0A=
	=0A=
		Modified to return the embed string, rather than use document.write - =
modified functions prefixed with 'Mod_'=0A=
		Implied consent for use: =
http://www.adobe.com/devnet/activecontent/articles/devletter.html=0A=
	=0A=
	-------------------------- */=0A=
=0A=
	// v1.7=0A=
	// Flash Player Version Detection=0A=
	// Detect Client Browser type=0A=
	// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.=0A=
	var isIE  =3D (navigator.appVersion.indexOf("MSIE") !=3D -1) ? true : =
false;=0A=
	var isWin =3D (navigator.appVersion.toLowerCase().indexOf("win") !=3D =
-1) ? true : false;=0A=
=0A=
	var isOpera =3D (navigator.userAgent.indexOf("Opera") !=3D -1) ? true : =
false;=0A=
=0A=
	function ControlVersion()=0A=
	{=0A=
		var version;=0A=
		var axo;=0A=
		var e;=0A=
=0A=
		// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo =
isn't in the registry=0A=
=0A=
		try {=0A=
			// version will be set for 7.X or greater players=0A=
			axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");=0A=
			version =3D axo.GetVariable("$version");=0A=
		} catch (e) {=0A=
		}=0A=
=0A=
		if (!version)=0A=
		{=0A=
			try {=0A=
				// version will be set for 6.X players only=0A=
				axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");=0A=
			=0A=
				// installed player is some revision of 6.0=0A=
				// GetVariable("$version") crashes for versions 6.0.22 through =
6.0.29,=0A=
				// so we have to be careful. =0A=
			=0A=
				// default to the first public version=0A=
				version =3D "WIN 6,0,21,0";=0A=
=0A=
				// throws if AllowScripAccess does not exist (introduced in 6.0r47)		=0A=
				axo.AllowScriptAccess =3D "always";=0A=
=0A=
				// safe to call for 6.0r47 or greater=0A=
				version =3D axo.GetVariable("$version");=0A=
=0A=
			} catch (e) {=0A=
			}=0A=
		}=0A=
=0A=
		if (!version)=0A=
		{=0A=
			try {=0A=
				// version will be set for 4.X or 5.X player=0A=
				axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");=0A=
				version =3D axo.GetVariable("$version");=0A=
			} catch (e) {=0A=
			}=0A=
		}=0A=
=0A=
		if (!version)=0A=
		{=0A=
			try {=0A=
				// version will be set for 3.X player=0A=
				axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");=0A=
				version =3D "WIN 3,0,18,0";=0A=
			} catch (e) {=0A=
			}=0A=
		}=0A=
=0A=
		if (!version)=0A=
		{=0A=
			try {=0A=
				// version will be set for 2.X player=0A=
				axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash");=0A=
				version =3D "WIN 2,0,0,11";=0A=
			} catch (e) {=0A=
				version =3D -1;=0A=
			}=0A=
		}=0A=
	=0A=
		return version;=0A=
	}=0A=
=0A=
	// JavaScript helper required to detect Flash Player PlugIn version =
information=0A=
	function GetSwfVer(){=0A=
		// NS/Opera version >=3D 3 check for Flash plugin in plugin array=0A=
		var flashVer =3D -1;=0A=
	=0A=
		if (navigator.plugins !=3D null && navigator.plugins.length > 0) {=0A=
			if (navigator.plugins["Shockwave Flash 2.0"] || =
navigator.plugins["Shockwave Flash"]) {=0A=
				var swVer2 =3D navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : =
"";=0A=
				var flashDescription =3D navigator.plugins["Shockwave Flash" + =
swVer2].description;=0A=
				var descArray =3D flashDescription.split(" ");=0A=
				var tempArrayMajor =3D descArray[2].split(".");			=0A=
				var versionMajor =3D tempArrayMajor[0];=0A=
				var versionMinor =3D tempArrayMajor[1];=0A=
				var versionRevision =3D descArray[3];=0A=
				if (versionRevision =3D=3D "") {=0A=
					versionRevision =3D descArray[4];=0A=
				}=0A=
				if (versionRevision[0] =3D=3D "d") {=0A=
					versionRevision =3D versionRevision.substring(1);=0A=
				} else if (versionRevision[0] =3D=3D "r") {=0A=
					versionRevision =3D versionRevision.substring(1);=0A=
					if (versionRevision.indexOf("d") > 0) {=0A=
						versionRevision =3D versionRevision.substring(0, =
versionRevision.indexOf("d"));=0A=
					}=0A=
				}=0A=
				var flashVer =3D versionMajor + "." + versionMinor + "." + =
versionRevision;=0A=
			}=0A=
		}=0A=
		// MSN/WebTV 2.6 supports Flash 4=0A=
		else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") !=3D =
-1) flashVer =3D 4;=0A=
		// WebTV 2.5 supports Flash 3=0A=
		else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") !=3D =
-1) flashVer =3D 3;=0A=
		// older WebTV supports Flash 2=0A=
		else if (navigator.userAgent.toLowerCase().indexOf("webtv") !=3D -1) =
flashVer =3D 2;=0A=
		else if ( isIE && isWin && !isOpera ) {=0A=
			flashVer =3D ControlVersion();=0A=
		}	=0A=
		return flashVer;=0A=
	}=0A=
=0A=
	// When called with reqMajorVer, reqMinorVer, reqRevision returns true =
if that version or greater is available=0A=
	function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)=0A=
	{=0A=
		versionStr =3D GetSwfVer();=0A=
		if (versionStr =3D=3D -1 ) {=0A=
			return false;=0A=
		} else if (versionStr !=3D 0) {=0A=
			if(isIE && isWin && !isOpera) {=0A=
				// Given "WIN 2,0,0,11"=0A=
				tempArray         =3D versionStr.split(" "); 	// ["WIN", "2,0,0,11"]=0A=
				tempString        =3D tempArray[1];			// "2,0,0,11"=0A=
				versionArray      =3D tempString.split(",");	// ['2', '0', '0', '11']=0A=
			} else {=0A=
				versionArray      =3D versionStr.split(".");=0A=
			}=0A=
			var versionMajor      =3D versionArray[0];=0A=
			var versionMinor      =3D versionArray[1];=0A=
			var versionRevision   =3D versionArray[2];=0A=
=0A=
	        	// is the major.revision >=3D requested major.revision AND the =
minor version >=3D requested minor=0A=
			if (versionMajor > parseFloat(reqMajorVer)) {=0A=
				return true;=0A=
			} else if (versionMajor =3D=3D parseFloat(reqMajorVer)) {=0A=
				if (versionMinor > parseFloat(reqMinorVer))=0A=
					return true;=0A=
				else if (versionMinor =3D=3D parseFloat(reqMinorVer)) {=0A=
					if (versionRevision >=3D parseFloat(reqRevision))=0A=
						return true;=0A=
				}=0A=
			}=0A=
			return false;=0A=
		}=0A=
	}=0A=
=0A=
	function AC_AddExtension(src, ext)=0A=
	{=0A=
	  if (src.indexOf('?') !=3D -1)=0A=
	    return src.replace(/\?/, ext+'?'); =0A=
	  else=0A=
	    return src + ext;=0A=
	}=0A=
=0A=
	function Mod_AC_Generateobj(objAttrs, params, embedAttrs) =0A=
	{ =0A=
	  var str =3D '';=0A=
	  if (isIE && isWin && !isOpera)=0A=
	  {=0A=
	    str +=3D '<object ';=0A=
	    for (var i in objAttrs)=0A=
	    {=0A=
	      str +=3D i + '=3D"' + objAttrs[i] + '" ';=0A=
	    }=0A=
	    str +=3D '>';=0A=
	    for (var i in params)=0A=
	    {=0A=
	      str +=3D '<param name=3D"' + i + '" value=3D"' + params[i] + '" =
/> ';=0A=
	    }=0A=
	    str +=3D '</object>';=0A=
	  }=0A=
	  else=0A=
	  {=0A=
	    str +=3D '<embed ';=0A=
	    for (var i in embedAttrs)=0A=
	    {=0A=
	      str +=3D i + '=3D"' + embedAttrs[i] + '" ';=0A=
	    }=0A=
	    str +=3D '> </embed>';=0A=
	  }=0A=
=0A=
	  return str;=0A=
	}=0A=
=0A=
	function Mod_AC_FL_RunContent(){=0A=
	  var ret =3D AC_GetArgs( arguments, ".swf", "movie", =
"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", =
"application/x-shockwave-flash" );=0A=
  =0A=
	  return Mod_AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);=0A=
	}=0A=
=0A=
	function Mod_AC_SW_RunContent(){=0A=
	  var ret =3D =0A=
	    AC_GetArgs=0A=
	    (  arguments, ".dcr", "src", =
"clsid:166B1BCA-3F9C-11CF-8075-444553540000"=0A=
	     , null=0A=
	    );=0A=
	  return Mod_AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);=0A=
	}=0A=
=0A=
	function AC_GetArgs(args, ext, srcParamName, classid, mimeType){=0A=
	  var ret =3D new Object();=0A=
	  ret.embedAttrs =3D new Object();=0A=
	  ret.params =3D new Object();=0A=
	  ret.objAttrs =3D new Object();=0A=
	  for (var i=3D0; i < args.length; i=3Di+2){=0A=
	    var currArg =3D args[i].toLowerCase();    =0A=
=0A=
	    switch (currArg){	=0A=
	      case "classid":=0A=
	        break;=0A=
	      case "pluginspage":=0A=
	        ret.embedAttrs[args[i]] =3D args[i+1];=0A=
	        break;=0A=
	      case "src":=0A=
	      case "movie":	=0A=
	        args[i+1] =3D AC_AddExtension(args[i+1], ext);=0A=
	        ret.embedAttrs["src"] =3D args[i+1];=0A=
	        ret.params[srcParamName] =3D args[i+1];=0A=
	        break;=0A=
	      case "onafterupdate":=0A=
	      case "onbeforeupdate":=0A=
	      case "onblur":=0A=
	      case "oncellchange":=0A=
	      case "onclick":=0A=
	      case "ondblclick":=0A=
	      case "ondrag":=0A=
	      case "ondragend":=0A=
	      case "ondragenter":=0A=
	      case "ondragleave":=0A=
	      case "ondragover":=0A=
	      case "ondrop":=0A=
	      case "onfinish":=0A=
	      case "onfocus":=0A=
	      case "onhelp":=0A=
	      case "onmousedown":=0A=
	      case "onmouseup":=0A=
	      case "onmouseover":=0A=
	      case "onmousemove":=0A=
	      case "onmouseout":=0A=
	      case "onkeypress":=0A=
	      case "onkeydown":=0A=
	      case "onkeyup":=0A=
	      case "onload":=0A=
	      case "onlosecapture":=0A=
	      case "onpropertychange":=0A=
	      case "onreadystatechange":=0A=
	      case "onrowsdelete":=0A=
	      case "onrowenter":=0A=
	      case "onrowexit":=0A=
	      case "onrowsinserted":=0A=
	      case "onstart":=0A=
	      case "onscroll":=0A=
	      case "onbeforeeditfocus":=0A=
	      case "onactivate":=0A=
	      case "onbeforedeactivate":=0A=
	      case "ondeactivate":=0A=
	      case "type":=0A=
	      case "codebase":=0A=
	      case "id":=0A=
	        ret.objAttrs[args[i]] =3D args[i+1];=0A=
	        break;=0A=
	      case "width":=0A=
	      case "height":=0A=
	      case "align":=0A=
	      case "vspace": =0A=
	      case "hspace":=0A=
	      case "class":=0A=
	      case "title":=0A=
	      case "accesskey":=0A=
	      case "name":=0A=
	      case "tabindex":=0A=
	        ret.embedAttrs[args[i]] =3D ret.objAttrs[args[i]] =3D args[i+1];=0A=
	        break;=0A=
	      default:=0A=
	        ret.embedAttrs[args[i]] =3D ret.params[args[i]] =3D args[i+1];=0A=
	    }=0A=
	  }=0A=
	  ret.objAttrs["classid"] =3D classid;=0A=
	  if (mimeType) ret.embedAttrs["type"] =3D mimeType;=0A=
	  return ret;=0A=
	}=0A=
=0A=
	// call callback function if defined =0A=
	// this is used so we make sure view.js is loaded before calling =0A=
	// other code that depends on it=0A=
	if(typeof scribd_view_callback !=3D "undefined") {=0A=
		scribd_view_callback();=0A=
	}=0A=
}=0A=
=0A=
/* ------------------------=0A=
     (c) Scribd 2008=0A=
------------------------- */=0A=

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/plugins/zd-scribd-ipaper/assets/lightview2.5/js/prototype.js

/*  Prototype JavaScript framework, version 1.6.1_rc2=0A=
 *  (c) 2005-2009 Sam Stephenson=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://www.prototypejs.org/=0A=
 *=0A=
 =
*------------------------------------------------------------------------=
--*/=0A=
=0A=
var Prototype =3D {=0A=
  Version: '1.6.1_rc2',=0A=
=0A=
  Browser: {=0A=
    IE:     !!(window.attachEvent &&=0A=
      navigator.userAgent.indexOf('Opera') =3D=3D=3D -1),=0A=
    Opera:  navigator.userAgent.indexOf('Opera') > -1,=0A=
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A=
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 &&=0A=
      navigator.userAgent.indexOf('KHTML') =3D=3D=3D -1,=0A=
    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A=
  },=0A=
=0A=
  BrowserFeatures: {=0A=
    XPath: !!document.evaluate,=0A=
    SelectorsAPI: !!document.querySelector,=0A=
    ElementExtensions: (function() {=0A=
      if (window.HTMLElement && window.HTMLElement.prototype)=0A=
        return true;=0A=
      if (window.Element && window.Element.prototype)=0A=
        return true;=0A=
    })(),=0A=
    SpecificElementExtensions: (function() {=0A=
      if (typeof window.HTMLDivElement !=3D=3D 'undefined')=0A=
        return true;=0A=
=0A=
      var div =3D document.createElement('div');=0A=
      if (div['__proto__'] && div['__proto__'] !=3D=3D=0A=
       document.createElement('form')['__proto__']) {=0A=
        return true;=0A=
      }=0A=
=0A=
      return false;=0A=
    })()=0A=
  },=0A=
=0A=
  ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',=0A=
  JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A=
=0A=
  emptyFunction: function() { },=0A=
  K: function(x) { return x }=0A=
};=0A=
=0A=
if (Prototype.Browser.MobileSafari)=0A=
  Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A=
=0A=
=0A=
var Abstract =3D { };=0A=
=0A=
=0A=
var Try =3D {=0A=
  these: function() {=0A=
    var returnValue;=0A=
=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) { }=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
};=0A=
=0A=
/* Based on Alex Arnell's inheritance implementation. */=0A=
=0A=
var Class =3D (function() {=0A=
  function create() {=0A=
    var parent =3D null, properties =3D $A(arguments);=0A=
    if (Object.isFunction(properties[0]))=0A=
      parent =3D properties.shift();=0A=
=0A=
    function klass() {=0A=
      this.initialize.apply(this, arguments);=0A=
    }=0A=
=0A=
    Object.extend(klass, Class.Methods);=0A=
    klass.superclass =3D parent;=0A=
    klass.subclasses =3D [];=0A=
=0A=
    if (parent) {=0A=
      var subclass =3D function() {};=0A=
      subclass.prototype =3D parent.prototype;=0A=
      klass.prototype =3D new subclass;=0A=
      parent.subclasses.push(klass);=0A=
    }=0A=
=0A=
    for (var i =3D 0; i < properties.length; i++)=0A=
      klass.addMethods(properties[i]);=0A=
=0A=
    if (!klass.prototype.initialize)=0A=
      klass.prototype.initialize =3D Prototype.emptyFunction;=0A=
=0A=
    klass.prototype.constructor =3D klass;=0A=
    return klass;=0A=
  }=0A=
=0A=
  function addMethods(source) {=0A=
    var ancestor   =3D this.superclass && this.superclass.prototype;=0A=
    var properties =3D Object.keys(source);=0A=
=0A=
    if (!Object.keys({ toString: true }).length) {=0A=
      if (source.toString !=3D Object.prototype.toString)=0A=
        properties.push("toString");=0A=
      if (source.valueOf !=3D Object.prototype.valueOf)=0A=
        properties.push("valueOf");=0A=
    }=0A=
=0A=
    for (var i =3D 0, length =3D properties.length; i < length; i++) {=0A=
      var property =3D properties[i], value =3D source[property];=0A=
      if (ancestor && Object.isFunction(value) &&=0A=
          value.argumentNames().first() =3D=3D "$super") {=0A=
        var method =3D value;=0A=
        value =3D (function(m) {=0A=
          return function() { return ancestor[m].apply(this, arguments); =
};=0A=
        })(property).wrap(method);=0A=
=0A=
        value.valueOf =3D method.valueOf.bind(method);=0A=
        value.toString =3D method.toString.bind(method);=0A=
      }=0A=
      this.prototype[property] =3D value;=0A=
    }=0A=
=0A=
    return this;=0A=
  }=0A=
=0A=
  return {=0A=
    create: create,=0A=
    Methods: {=0A=
      addMethods: addMethods=0A=
    }=0A=
  };=0A=
})();=0A=
(function() {=0A=
=0A=
  function getClass(object) {=0A=
    return Object.prototype.toString.call(object)=0A=
     .match(/^\[object\s(.*)\]$/)[1];=0A=
  }=0A=
=0A=
  function extend(destination, source) {=0A=
    for (var property in source)=0A=
      destination[property] =3D source[property];=0A=
    return destination;=0A=
  }=0A=
=0A=
  function inspect(object) {=0A=
    try {=0A=
      if (isUndefined(object)) return 'undefined';=0A=
      if (object =3D=3D=3D null) return 'null';=0A=
      return object.inspect ? object.inspect() : String(object);=0A=
    } catch (e) {=0A=
      if (e instanceof RangeError) return '...';=0A=
      throw e;=0A=
    }=0A=
  }=0A=
=0A=
  function toJSON(object) {=0A=
    var type =3D typeof object;=0A=
    switch (type) {=0A=
      case 'undefined':=0A=
      case 'function':=0A=
      case 'unknown': return;=0A=
      case 'boolean': return object.toString();=0A=
    }=0A=
=0A=
    if (object =3D=3D=3D null) return 'null';=0A=
    if (object.toJSON) return object.toJSON();=0A=
    if (isElement(object)) return;=0A=
=0A=
    var results =3D [];=0A=
    for (var property in object) {=0A=
      var value =3D toJSON(object[property]);=0A=
      if (!isUndefined(value))=0A=
        results.push(property.toJSON() + ': ' + value);=0A=
    }=0A=
=0A=
    return '{' + results.join(', ') + '}';=0A=
  }=0A=
=0A=
  function toQueryString(object) {=0A=
    return $H(object).toQueryString();=0A=
  }=0A=
=0A=
  function toHTML(object) {=0A=
    return object && object.toHTML ? object.toHTML() : =
String.interpret(object);=0A=
  }=0A=
=0A=
  function keys(object) {=0A=
    var results =3D [];=0A=
    for (var property in object)=0A=
      results.push(property);=0A=
    return results;=0A=
  }=0A=
=0A=
  function values(object) {=0A=
    var results =3D [];=0A=
    for (var property in object)=0A=
      results.push(object[property]);=0A=
    return results;=0A=
  }=0A=
=0A=
  function clone(object) {=0A=
    return extend({ }, object);=0A=
  }=0A=
=0A=
  function isElement(object) {=0A=
    return !!(object && object.nodeType =3D=3D 1);=0A=
  }=0A=
=0A=
  function isArray(object) {=0A=
    return getClass(object) =3D=3D=3D "Array";=0A=
  }=0A=
=0A=
=0A=
  function isHash(object) {=0A=
    return object instanceof Hash;=0A=
  }=0A=
=0A=
  function isFunction(object) {=0A=
    return typeof object =3D=3D=3D "function";=0A=
  }=0A=
=0A=
  function isString(object) {=0A=
    return getClass(object) =3D=3D=3D "String";=0A=
  }=0A=
=0A=
  function isNumber(object) {=0A=
    return getClass(object) =3D=3D=3D "Number";=0A=
  }=0A=
=0A=
  function isUndefined(object) {=0A=
    return typeof object =3D=3D=3D "undefined";=0A=
  }=0A=
=0A=
  extend(Object, {=0A=
    extend:        extend,=0A=
    inspect:       inspect,=0A=
    toJSON:        toJSON,=0A=
    toQueryString: toQueryString,=0A=
    toHTML:        toHTML,=0A=
    keys:          keys,=0A=
    values:        values,=0A=
    clone:         clone,=0A=
    isElement:     isElement,=0A=
    isArray:       isArray,=0A=
    isHash:        isHash,=0A=
    isFunction:    isFunction,=0A=
    isString:      isString,=0A=
    isNumber:      isNumber,=0A=
    isUndefined:   isUndefined=0A=
  });=0A=
})();=0A=
Object.extend(Function.prototype, (function() {=0A=
  var slice =3D Array.prototype.slice;=0A=
=0A=
  function update(array, args) {=0A=
    var arrayLength =3D array.length, length =3D args.length;=0A=
    while (length--) array[arrayLength + length] =3D args[length];=0A=
    return array;=0A=
  }=0A=
=0A=
  function merge(array, args) {=0A=
    array =3D slice.call(array, 0);=0A=
    return update(array, args);=0A=
  }=0A=
=0A=
  function argumentNames() {=0A=
    var names =3D =
this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1]=0A=
      .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '')=0A=
      .replace(/\s+/g, '').split(',');=0A=
    return names.length =3D=3D 1 && !names[0] ? [] : names;=0A=
  }=0A=
=0A=
  function bind(context) {=0A=
    if (arguments.length < 2 && Object.isUndefined(arguments[0])) return =
this;=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    return function() {=0A=
      var a =3D merge(args, arguments);=0A=
      return __method.apply(context, a);=0A=
    }=0A=
  }=0A=
=0A=
  function bindAsEventListener(context) {=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    return function(event) {=0A=
      var a =3D update([event || window.event], args);=0A=
      return __method.apply(context, a);=0A=
    }=0A=
  }=0A=
=0A=
  function curry() {=0A=
    if (!arguments.length) return this;=0A=
    var __method =3D this, args =3D slice.call(arguments, 0);=0A=
    return function() {=0A=
      var a =3D merge(args, arguments);=0A=
      return __method.apply(this, a);=0A=
    }=0A=
  }=0A=
=0A=
  function delay(timeout) {=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    timeout =3D timeout * 1000=0A=
    return window.setTimeout(function() {=0A=
      return __method.apply(__method, args);=0A=
    }, timeout);=0A=
  }=0A=
=0A=
  function defer() {=0A=
    var args =3D update([0.01], arguments);=0A=
    return this.delay.apply(this, args);=0A=
  }=0A=
=0A=
  function wrap(wrapper) {=0A=
    var __method =3D this;=0A=
    return function() {=0A=
      var a =3D update([__method.bind(this)], arguments);=0A=
      return wrapper.apply(this, a);=0A=
    }=0A=
  }=0A=
=0A=
  function methodize() {=0A=
    if (this._methodized) return this._methodized;=0A=
    var __method =3D this;=0A=
    return this._methodized =3D function() {=0A=
      var a =3D update([this], arguments);=0A=
      return __method.apply(null, a);=0A=
    };=0A=
  }=0A=
=0A=
  return {=0A=
    argumentNames:       argumentNames,=0A=
    bind:                bind,=0A=
    bindAsEventListener: bindAsEventListener,=0A=
    curry:               curry,=0A=
    delay:               delay,=0A=
    defer:               defer,=0A=
    wrap:                wrap,=0A=
    methodize:           methodize=0A=
  }=0A=
})());=0A=
=0A=
=0A=
Date.prototype.toJSON =3D function() {=0A=
  return '"' + this.getUTCFullYear() + '-' +=0A=
    (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A=
    this.getUTCDate().toPaddedString(2) + 'T' +=0A=
    this.getUTCHours().toPaddedString(2) + ':' +=0A=
    this.getUTCMinutes().toPaddedString(2) + ':' +=0A=
    this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A=
};=0A=
=0A=
=0A=
RegExp.prototype.match =3D RegExp.prototype.test;=0A=
=0A=
RegExp.escape =3D function(str) {=0A=
  return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A=
};=0A=
var PeriodicalExecuter =3D Class.create({=0A=
  initialize: function(callback, frequency) {=0A=
    this.callback =3D callback;=0A=
    this.frequency =3D frequency;=0A=
    this.currentlyExecuting =3D false;=0A=
=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);=0A=
  },=0A=
=0A=
  execute: function() {=0A=
    this.callback(this);=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    if (!this.timer) return;=0A=
    clearInterval(this.timer);=0A=
    this.timer =3D null;=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    if (!this.currentlyExecuting) {=0A=
      try {=0A=
        this.currentlyExecuting =3D true;=0A=
        this.execute();=0A=
      } catch(e) {=0A=
        /* empty catch for clients that don't support try/finally */=0A=
      }=0A=
      finally {=0A=
        this.currentlyExecuting =3D false;=0A=
      }=0A=
    }=0A=
  }=0A=
});=0A=
Object.extend(String, {=0A=
  interpret: function(value) {=0A=
    return value =3D=3D null ? '' : String(value);=0A=
  },=0A=
  specialChar: {=0A=
    '\b': '\\b',=0A=
    '\t': '\\t',=0A=
    '\n': '\\n',=0A=
    '\f': '\\f',=0A=
    '\r': '\\r',=0A=
    '\\': '\\\\'=0A=
  }=0A=
});=0A=
=0A=
Object.extend(String.prototype, (function() {=0A=
=0A=
  function prepareReplacement(replacement) {=0A=
    if (Object.isFunction(replacement)) return replacement;=0A=
    var template =3D new Template(replacement);=0A=
    return function(match) { return template.evaluate(match) };=0A=
  }=0A=
=0A=
  function gsub(pattern, replacement) {=0A=
    var result =3D '', source =3D this, match;=0A=
    replacement =3D prepareReplacement(replacement);=0A=
=0A=
    if (Object.isString(pattern))=0A=
      pattern =3D RegExp.escape(pattern);=0A=
=0A=
    if (!(pattern.length || pattern.source)) {=0A=
      replacement =3D replacement('');=0A=
      return replacement + source.split('').join(replacement) + =
replacement;=0A=
    }=0A=
=0A=
    while (source.length > 0) {=0A=
      if (match =3D source.match(pattern)) {=0A=
        result +=3D source.slice(0, match.index);=0A=
        result +=3D String.interpret(replacement(match));=0A=
        source  =3D source.slice(match.index + match[0].length);=0A=
      } else {=0A=
        result +=3D source, source =3D '';=0A=
      }=0A=
    }=0A=
    return result;=0A=
  }=0A=
=0A=
  function sub(pattern, replacement, count) {=0A=
    replacement =3D prepareReplacement(replacement);=0A=
    count =3D Object.isUndefined(count) ? 1 : count;=0A=
=0A=
    return this.gsub(pattern, function(match) {=0A=
      if (--count < 0) return match[0];=0A=
      return replacement(match);=0A=
    });=0A=
  }=0A=
=0A=
  function scan(pattern, iterator) {=0A=
    this.gsub(pattern, iterator);=0A=
    return String(this);=0A=
  }=0A=
=0A=
  function truncate(length, truncation) {=0A=
    length =3D length || 30;=0A=
    truncation =3D Object.isUndefined(truncation) ? '...' : truncation;=0A=
    return this.length > length ?=0A=
      this.slice(0, length - truncation.length) + truncation : =
String(this);=0A=
  }=0A=
=0A=
  function strip() {=0A=
    return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A=
  }=0A=
=0A=
  function stripTags() {=0A=
    return this.replace(/<\/?[^>]+>/gi, '');=0A=
  }=0A=
=0A=
  function stripScripts() {=0A=
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A=
  }=0A=
=0A=
  function extractScripts() {=0A=
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A=
    var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A=
    return (this.match(matchAll) || []).map(function(scriptTag) {=0A=
      return (scriptTag.match(matchOne) || ['', ''])[1];=0A=
    });=0A=
  }=0A=
=0A=
  function evalScripts() {=0A=
    return this.extractScripts().map(function(script) { return =
eval(script) });=0A=
  }=0A=
=0A=
  function escapeHTML() {=0A=
    escapeHTML.text.data =3D this;=0A=
    return escapeHTML.div.innerHTML;=0A=
  }=0A=
=0A=
  function unescapeHTML() {=0A=
    var div =3D document.createElement('div');=0A=
    div.innerHTML =3D this.stripTags();=0A=
    return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A=
      $A(div.childNodes).inject('', function(memo, node) { return =
memo+node.nodeValue }) :=0A=
      div.childNodes[0].nodeValue) : '';=0A=
  }=0A=
=0A=
  function toQueryParams(separator) {=0A=
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A=
    if (!match) return { };=0A=
=0A=
    return match[1].split(separator || '&').inject({ }, function(hash, =
pair) {=0A=
      if ((pair =3D pair.split('=3D'))[0]) {=0A=
        var key =3D decodeURIComponent(pair.shift());=0A=
        var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A=
        if (value !=3D undefined) value =3D decodeURIComponent(value);=0A=
=0A=
        if (key in hash) {=0A=
          if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];=0A=
          hash[key].push(value);=0A=
        }=0A=
        else hash[key] =3D value;=0A=
      }=0A=
      return hash;=0A=
    });=0A=
  }=0A=
=0A=
  function toArray() {=0A=
    return this.split('');=0A=
  }=0A=
=0A=
  function succ() {=0A=
    return this.slice(0, this.length - 1) +=0A=
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A=
  }=0A=
=0A=
  function times(count) {=0A=
    return count < 1 ? '' : new Array(count + 1).join(this);=0A=
  }=0A=
=0A=
  function camelize() {=0A=
    var parts =3D this.split('-'), len =3D parts.length;=0A=
    if (len =3D=3D 1) return parts[0];=0A=
=0A=
    var camelized =3D this.charAt(0) =3D=3D '-'=0A=
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A=
      : parts[0];=0A=
=0A=
    for (var i =3D 1; i < len; i++)=0A=
      camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);=0A=
=0A=
    return camelized;=0A=
  }=0A=
=0A=
  function capitalize() {=0A=
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();=0A=
  }=0A=
=0A=
  function underscore() {=0A=
    return this.gsub(/::/, =
'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{=
1}_#{2}').gsub(/-/,'_').toLowerCase();=0A=
  }=0A=
=0A=
  function dasherize() {=0A=
    return this.gsub(/_/,'-');=0A=
  }=0A=
=0A=
  function inspect(useDoubleQuotes) {=0A=
    var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {=0A=
      var character =3D String.specialChar[match[0]];=0A=
      return character ? character : '\\u00' + =
match[0].charCodeAt().toPaddedString(2, 16);=0A=
    });=0A=
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') =
+ '"';=0A=
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return this.inspect(true);=0A=
  }=0A=
=0A=
  function unfilterJSON(filter) {=0A=
    return this.sub(filter || Prototype.JSONFilter, '#{1}');=0A=
  }=0A=
=0A=
  function isJSON() {=0A=
    var str =3D this;=0A=
    if (str.blank()) return false;=0A=
    str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A=
    return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A=
  }=0A=
=0A=
  function evalJSON(sanitize) {=0A=
    var json =3D this.unfilterJSON();=0A=
    try {=0A=
      if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A=
    } catch (e) { }=0A=
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A=
  }=0A=
=0A=
  function include(pattern) {=0A=
    return this.indexOf(pattern) > -1;=0A=
  }=0A=
=0A=
  function startsWith(pattern) {=0A=
    return this.indexOf(pattern) =3D=3D=3D 0;=0A=
  }=0A=
=0A=
  function endsWith(pattern) {=0A=
    var d =3D this.length - pattern.length;=0A=
    return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A=
  }=0A=
=0A=
  function empty() {=0A=
    return this =3D=3D '';=0A=
  }=0A=
=0A=
  function blank() {=0A=
    return /^\s*$/.test(this);=0A=
  }=0A=
=0A=
  function interpolate(object, pattern) {=0A=
    return new Template(this, pattern).evaluate(object);=0A=
  }=0A=
=0A=
  return {=0A=
    gsub:           gsub,=0A=
    sub:            sub,=0A=
    scan:           scan,=0A=
    truncate:       truncate,=0A=
    strip:          strip,=0A=
    stripTags:      stripTags,=0A=
    stripScripts:   stripScripts,=0A=
    extractScripts: extractScripts,=0A=
    evalScripts:    evalScripts,=0A=
    escapeHTML:     escapeHTML,=0A=
    unescapeHTML:   unescapeHTML,=0A=
    toQueryParams:  toQueryParams,=0A=
    parseQuery:     toQueryParams,=0A=
    toArray:        toArray,=0A=
    succ:           succ,=0A=
    times:          times,=0A=
    camelize:       camelize,=0A=
    capitalize:     capitalize,=0A=
    underscore:     underscore,=0A=
    dasherize:      dasherize,=0A=
    inspect:        inspect,=0A=
    toJSON:         toJSON,=0A=
    unfilterJSON:   unfilterJSON,=0A=
    isJSON:         isJSON,=0A=
    evalJSON:       evalJSON,=0A=
    include:        include,=0A=
    startsWith:     startsWith,=0A=
    endsWith:       endsWith,=0A=
    empty:          empty,=0A=
    blank:          blank,=0A=
    interpolate:    interpolate=0A=
  };=0A=
})());=0A=
=0A=
Object.extend(String.prototype.escapeHTML, {=0A=
  div:  document.createElement('div'),=0A=
  text: document.createTextNode('')=0A=
});=0A=
=0A=
String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.t=
ext);=0A=
=0A=
if ('<\n>'.escapeHTML() !=3D=3D '&lt;\n&gt;') {=0A=
  String.prototype.escapeHTML =3D function() {=0A=
    return =
this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');=0A=
  }=0A=
}=0A=
=0A=
if ('&lt;\n&gt;'.unescapeHTML() !=3D=3D '<\n>') {=0A=
  String.prototype.unescapeHTML =3D function() {=0A=
    return =
this.stripTags().replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;=
/g,'&');=0A=
  }=0A=
}=0A=
var Template =3D Class.create({=0A=
  initialize: function(template, pattern) {=0A=
    this.template =3D template.toString();=0A=
    this.pattern =3D pattern || Template.Pattern;=0A=
  },=0A=
=0A=
  evaluate: function(object) {=0A=
    if (Object.isFunction(object.toTemplateReplacements))=0A=
      object =3D object.toTemplateReplacements();=0A=
=0A=
    return this.template.gsub(this.pattern, function(match) {=0A=
      if (object =3D=3D null) return '';=0A=
=0A=
      var before =3D match[1] || '';=0A=
      if (before =3D=3D '\\') return match[2];=0A=
=0A=
      var ctx =3D object, expr =3D match[3];=0A=
      var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A=
      match =3D pattern.exec(expr);=0A=
      if (match =3D=3D null) return before;=0A=
=0A=
      while (match !=3D null) {=0A=
        var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', =
']') : match[1];=0A=
        ctx =3D ctx[comp];=0A=
        if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A=
        expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : =
match[0].length);=0A=
        match =3D pattern.exec(expr);=0A=
      }=0A=
=0A=
      return before + String.interpret(ctx);=0A=
    });=0A=
  }=0A=
});=0A=
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A=
=0A=
var $break =3D { };=0A=
=0A=
var Enumerable =3D (function() {=0A=
  function each(iterator, context) {=0A=
    var index =3D 0;=0A=
    try {=0A=
      this._each(function(value) {=0A=
        iterator.call(context, value, index++);=0A=
      });=0A=
    } catch (e) {=0A=
      if (e !=3D $break) throw e;=0A=
    }=0A=
    return this;=0A=
  }=0A=
=0A=
  function eachSlice(number, iterator, context) {=0A=
    var index =3D -number, slices =3D [], array =3D this.toArray();=0A=
    if (number < 1) return array;=0A=
    while ((index +=3D number) < array.length)=0A=
      slices.push(array.slice(index, index+number));=0A=
    return slices.collect(iterator, context);=0A=
  }=0A=
=0A=
  function all(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result =3D true;=0A=
    this.each(function(value, index) {=0A=
      result =3D result && !!iterator.call(context, value, index);=0A=
      if (!result) throw $break;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function any(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result =3D false;=0A=
    this.each(function(value, index) {=0A=
      if (result =3D !!iterator.call(context, value, index))=0A=
        throw $break;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function collect(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(iterator.call(context, value, index));=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function detect(iterator, context) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      if (iterator.call(context, value, index)) {=0A=
        result =3D value;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function findAll(iterator, context) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (iterator.call(context, value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function grep(filter, iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var results =3D [];=0A=
=0A=
    if (Object.isString(filter))=0A=
      filter =3D new RegExp(RegExp.escape(filter));=0A=
=0A=
    this.each(function(value, index) {=0A=
      if (filter.match(value))=0A=
        results.push(iterator.call(context, value, index));=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function include(object) {=0A=
    if (Object.isFunction(this.indexOf))=0A=
      if (this.indexOf(object) !=3D -1) return true;=0A=
=0A=
    var found =3D false;=0A=
    this.each(function(value) {=0A=
      if (value =3D=3D object) {=0A=
        found =3D true;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return found;=0A=
  }=0A=
=0A=
  function inGroupsOf(number, fillWith) {=0A=
    fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A=
    return this.eachSlice(number, function(slice) {=0A=
      while(slice.length < number) slice.push(fillWith);=0A=
      return slice;=0A=
    });=0A=
  }=0A=
=0A=
  function inject(memo, iterator, context) {=0A=
    this.each(function(value, index) {=0A=
      memo =3D iterator.call(context, memo, value, index);=0A=
    });=0A=
    return memo;=0A=
  }=0A=
=0A=
  function invoke(method) {=0A=
    var args =3D $A(arguments).slice(1);=0A=
    return this.map(function(value) {=0A=
      return value[method].apply(value, args);=0A=
    });=0A=
  }=0A=
=0A=
  function max(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator.call(context, value, index);=0A=
      if (result =3D=3D null || value >=3D result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function min(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator.call(context, value, index);=0A=
      if (result =3D=3D null || value < result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function partition(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var trues =3D [], falses =3D [];=0A=
    this.each(function(value, index) {=0A=
      (iterator.call(context, value, index) ?=0A=
        trues : falses).push(value);=0A=
    });=0A=
    return [trues, falses];=0A=
  }=0A=
=0A=
  function pluck(property) {=0A=
    var results =3D [];=0A=
    this.each(function(value) {=0A=
      results.push(value[property]);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function reject(iterator, context) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (!iterator.call(context, value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function sortBy(iterator, context) {=0A=
    return this.map(function(value, index) {=0A=
      return {=0A=
        value: value,=0A=
        criteria: iterator.call(context, value, index)=0A=
      };=0A=
    }).sort(function(left, right) {=0A=
      var a =3D left.criteria, b =3D right.criteria;=0A=
      return a < b ? -1 : a > b ? 1 : 0;=0A=
    }).pluck('value');=0A=
  }=0A=
=0A=
  function toArray() {=0A=
    return this.map();=0A=
  }=0A=
=0A=
  function zip() {=0A=
    var iterator =3D Prototype.K, args =3D $A(arguments);=0A=
    if (Object.isFunction(args.last()))=0A=
      iterator =3D args.pop();=0A=
=0A=
    var collections =3D [this].concat(args).map($A);=0A=
    return this.map(function(value, index) {=0A=
      return iterator(collections.pluck(index));=0A=
    });=0A=
  }=0A=
=0A=
  function size() {=0A=
    return this.toArray().length;=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '#<Enumerable:' + this.toArray().inspect() + '>';=0A=
  }=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
  return {=0A=
    each:       each,=0A=
    eachSlice:  eachSlice,=0A=
    all:        all,=0A=
    every:      all,=0A=
    any:        any,=0A=
    some:       any,=0A=
    collect:    collect,=0A=
    map:        collect,=0A=
    detect:     detect,=0A=
    findAll:    findAll,=0A=
    select:     findAll,=0A=
    filter:     findAll,=0A=
    grep:       grep,=0A=
    include:    include,=0A=
    member:     include,=0A=
    inGroupsOf: inGroupsOf,=0A=
    inject:     inject,=0A=
    invoke:     invoke,=0A=
    max:        max,=0A=
    min:        min,=0A=
    partition:  partition,=0A=
    pluck:      pluck,=0A=
    reject:     reject,=0A=
    sortBy:     sortBy,=0A=
    toArray:    toArray,=0A=
    entries:    toArray,=0A=
    zip:        zip,=0A=
    size:       size,=0A=
    inspect:    inspect,=0A=
    find:       detect=0A=
  };=0A=
})();=0A=
function $A(iterable) {=0A=
  if (!iterable) return [];=0A=
  if ('toArray' in iterable) return iterable.toArray();=0A=
  var length =3D iterable.length || 0, results =3D new Array(length);=0A=
  while (length--) results[length] =3D iterable[length];=0A=
  return results;=0A=
}=0A=
=0A=
function $w(string) {=0A=
  if (!Object.isString(string)) return [];=0A=
  string =3D string.strip();=0A=
  return string ? string.split(/\s+/) : [];=0A=
}=0A=
=0A=
Array.from =3D $A;=0A=
=0A=
=0A=
(function() {=0A=
  var arrayProto =3D Array.prototype,=0A=
      slice =3D arrayProto.slice,=0A=
      _each =3D arrayProto.forEach; // use native browser JS 1.6 =
implementation if available=0A=
=0A=
  function each(iterator) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      iterator(this[i]);=0A=
  }=0A=
  if (!_each) _each =3D each;=0A=
=0A=
  function clear() {=0A=
    this.length =3D 0;=0A=
    return this;=0A=
  }=0A=
=0A=
  function first() {=0A=
    return this[0];=0A=
  }=0A=
=0A=
  function last() {=0A=
    return this[this.length - 1];=0A=
  }=0A=
=0A=
  function compact() {=0A=
    return this.select(function(value) {=0A=
      return value !=3D null;=0A=
    });=0A=
  }=0A=
=0A=
  function flatten() {=0A=
    return this.inject([], function(array, value) {=0A=
      if (Object.isArray(value))=0A=
        return array.concat(value.flatten());=0A=
      array.push(value);=0A=
      return array;=0A=
    });=0A=
  }=0A=
=0A=
  function without() {=0A=
    var values =3D slice.call(arguments, 0);=0A=
    return this.select(function(value) {=0A=
      return !values.include(value);=0A=
    });=0A=
  }=0A=
=0A=
  function reverse(inline) {=0A=
    return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A=
  }=0A=
=0A=
  function uniq(sorted) {=0A=
    return this.inject([], function(array, value, index) {=0A=
      if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))=0A=
        array.push(value);=0A=
      return array;=0A=
    });=0A=
  }=0A=
=0A=
  function intersect(array) {=0A=
    return this.uniq().findAll(function(item) {=0A=
      return array.detect(function(value) { return item =3D=3D=3D value =
});=0A=
    });=0A=
  }=0A=
=0A=
=0A=
  function clone() {=0A=
    return slice.call(this, 0);=0A=
  }=0A=
=0A=
  function size() {=0A=
    return this.length;=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    var results =3D [];=0A=
    this.each(function(object) {=0A=
      var value =3D Object.toJSON(object);=0A=
      if (!Object.isUndefined(value)) results.push(value);=0A=
    });=0A=
    return '[' + results.join(', ') + ']';=0A=
  }=0A=
=0A=
  function indexOf(item, i) {=0A=
    i || (i =3D 0);=0A=
    var length =3D this.length;=0A=
    if (i < 0) i =3D length + i;=0A=
    for (; i < length; i++)=0A=
      if (this[i] =3D=3D=3D item) return i;=0A=
    return -1;=0A=
  }=0A=
=0A=
  function lastIndexOf(item, i) {=0A=
    i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A=
    var n =3D this.slice(0, i).reverse().indexOf(item);=0A=
    return (n < 0) ? n : i - n - 1;=0A=
  }=0A=
=0A=
  function concat() {=0A=
    var array =3D slice.call(this, 0), item;=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      item =3D arguments[i];=0A=
      if (Object.isArray(item) && !('callee' in item)) {=0A=
        for (var j =3D 0, arrayLength =3D item.length; j < arrayLength; =
j++)=0A=
          array.push(item[j]);=0A=
      } else {=0A=
        array.push(item);=0A=
      }=0A=
    }=0A=
    return array;=0A=
  }=0A=
=0A=
  Object.extend(arrayProto, Enumerable);=0A=
=0A=
  if (!arrayProto._reverse)=0A=
    arrayProto._reverse =3D arrayProto.reverse;=0A=
=0A=
  Object.extend(arrayProto, {=0A=
    _each:     _each,=0A=
    clear:     clear,=0A=
    first:     first,=0A=
    last:      last,=0A=
    compact:   compact,=0A=
    flatten:   flatten,=0A=
    without:   without,=0A=
    reverse:   reverse,=0A=
    uniq:      uniq,=0A=
    intersect: intersect,=0A=
    clone:     clone,=0A=
    toArray:   clone,=0A=
    size:      size,=0A=
    inspect:   inspect,=0A=
    toJSON:    toJSON=0A=
  });=0A=
=0A=
  var CONCAT_ARGUMENTS_BUGGY =3D (function() {=0A=
    return [].concat(arguments)[0][0] !=3D=3D 1;=0A=
  })(1,2)=0A=
=0A=
  if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat =3D concat;=0A=
=0A=
  if (!arrayProto.indexOf) arrayProto.indexOf =3D indexOf;=0A=
  if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf =3D lastIndexOf;=0A=
})();=0A=
function $H(object) {=0A=
  return new Hash(object);=0A=
};=0A=
=0A=
var Hash =3D Class.create(Enumerable, (function() {=0A=
  function initialize(object) {=0A=
    this._object =3D Object.isHash(object) ? object.toObject() : =
Object.clone(object);=0A=
  }=0A=
=0A=
  function _each(iterator) {=0A=
    for (var key in this._object) {=0A=
      var value =3D this._object[key], pair =3D [key, value];=0A=
      pair.key =3D key;=0A=
      pair.value =3D value;=0A=
      iterator(pair);=0A=
    }=0A=
  }=0A=
=0A=
  function set(key, value) {=0A=
    return this._object[key] =3D value;=0A=
  }=0A=
=0A=
  function get(key) {=0A=
    if (this._object[key] !=3D=3D Object.prototype[key])=0A=
      return this._object[key];=0A=
  }=0A=
=0A=
  function unset(key) {=0A=
    var value =3D this._object[key];=0A=
    delete this._object[key];=0A=
    return value;=0A=
  }=0A=
=0A=
  function toObject() {=0A=
    return Object.clone(this._object);=0A=
  }=0A=
=0A=
  function keys() {=0A=
    return this.pluck('key');=0A=
  }=0A=
=0A=
  function values() {=0A=
    return this.pluck('value');=0A=
  }=0A=
=0A=
  function index(value) {=0A=
    var match =3D this.detect(function(pair) {=0A=
      return pair.value =3D=3D=3D value;=0A=
    });=0A=
    return match && match.key;=0A=
  }=0A=
=0A=
  function merge(object) {=0A=
    return this.clone().update(object);=0A=
  }=0A=
=0A=
  function update(object) {=0A=
    return new Hash(object).inject(this, function(result, pair) {=0A=
      result.set(pair.key, pair.value);=0A=
      return result;=0A=
    });=0A=
  }=0A=
=0A=
  function toQueryPair(key, value) {=0A=
    if (Object.isUndefined(value)) return key;=0A=
    return key + '=3D' + encodeURIComponent(String.interpret(value));=0A=
  }=0A=
=0A=
  function toQueryString() {=0A=
    return this.inject([], function(results, pair) {=0A=
      var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A=
=0A=
      if (values && typeof values =3D=3D 'object') {=0A=
        if (Object.isArray(values))=0A=
          return results.concat(values.map(toQueryPair.curry(key)));=0A=
      } else results.push(toQueryPair(key, values));=0A=
      return results;=0A=
    }).join('&');=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '#<Hash:{' + this.map(function(pair) {=0A=
      return pair.map(Object.inspect).join(': ');=0A=
    }).join(', ') + '}>';=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return Object.toJSON(this.toObject());=0A=
  }=0A=
=0A=
  function clone() {=0A=
    return new Hash(this);=0A=
  }=0A=
=0A=
  return {=0A=
    initialize:             initialize,=0A=
    _each:                  _each,=0A=
    set:                    set,=0A=
    get:                    get,=0A=
    unset:                  unset,=0A=
    toObject:               toObject,=0A=
    toTemplateReplacements: toObject,=0A=
    keys:                   keys,=0A=
    values:                 values,=0A=
    index:                  index,=0A=
    merge:                  merge,=0A=
    update:                 update,=0A=
    toQueryString:          toQueryString,=0A=
    inspect:                inspect,=0A=
    toJSON:                 toJSON,=0A=
    clone:                  clone=0A=
  };=0A=
})());=0A=
=0A=
Hash.from =3D $H;=0A=
Object.extend(Number.prototype, (function() {=0A=
  function toColorPart() {=0A=
    return this.toPaddedString(2, 16);=0A=
  }=0A=
=0A=
  function succ() {=0A=
    return this + 1;=0A=
  }=0A=
=0A=
  function times(iterator, context) {=0A=
    $R(0, this, true).each(iterator, context);=0A=
    return this;=0A=
  }=0A=
=0A=
  function toPaddedString(length, radix) {=0A=
    var string =3D this.toString(radix || 10);=0A=
    return '0'.times(length - string.length) + string;=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return isFinite(this) ? this.toString() : 'null';=0A=
  }=0A=
=0A=
  function abs() {=0A=
    return Math.abs(this);=0A=
  }=0A=
=0A=
  function round() {=0A=
    return Math.round(this);=0A=
  }=0A=
=0A=
  function ceil() {=0A=
    return Math.ceil(this);=0A=
  }=0A=
=0A=
  function floor() {=0A=
    return Math.floor(this);=0A=
  }=0A=
=0A=
  return {=0A=
    toColorPart:    toColorPart,=0A=
    succ:           succ,=0A=
    times:          times,=0A=
    toPaddedString: toPaddedString,=0A=
    toJSON:         toJSON,=0A=
    abs:            abs,=0A=
    round:          round,=0A=
    ceil:           ceil,=0A=
    floor:          floor=0A=
  };=0A=
})());=0A=
=0A=
function $R(start, end, exclusive) {=0A=
  return new ObjectRange(start, end, exclusive);=0A=
}=0A=
=0A=
var ObjectRange =3D Class.create(Enumerable, (function() {=0A=
  function initialize(start, end, exclusive) {=0A=
    this.start =3D start;=0A=
    this.end =3D end;=0A=
    this.exclusive =3D exclusive;=0A=
  }=0A=
=0A=
  function _each(iterator) {=0A=
    var value =3D this.start;=0A=
    while (this.include(value)) {=0A=
      iterator(value);=0A=
      value =3D value.succ();=0A=
    }=0A=
  }=0A=
=0A=
  function include(value) {=0A=
    if (value < this.start)=0A=
      return false;=0A=
    if (this.exclusive)=0A=
      return value < this.end;=0A=
    return value <=3D this.end;=0A=
  }=0A=
=0A=
  return {=0A=
    initialize: initialize,=0A=
    _each:      _each,=0A=
    include:    include=0A=
  };=0A=
})());=0A=
=0A=
=0A=
=0A=
var Ajax =3D {=0A=
  getTransport: function() {=0A=
    return Try.these(=0A=
      function() {return new XMLHttpRequest()},=0A=
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A=
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A=
    ) || false;=0A=
  },=0A=
=0A=
  activeRequestCount: 0=0A=
};=0A=
=0A=
Ajax.Responders =3D {=0A=
  responders: [],=0A=
=0A=
  _each: function(iterator) {=0A=
    this.responders._each(iterator);=0A=
  },=0A=
=0A=
  register: function(responder) {=0A=
    if (!this.include(responder))=0A=
      this.responders.push(responder);=0A=
  },=0A=
=0A=
  unregister: function(responder) {=0A=
    this.responders =3D this.responders.without(responder);=0A=
  },=0A=
=0A=
  dispatch: function(callback, request, transport, json) {=0A=
    this.each(function(responder) {=0A=
      if (Object.isFunction(responder[callback])) {=0A=
        try {=0A=
          responder[callback].apply(responder, [request, transport, =
json]);=0A=
        } catch (e) { }=0A=
      }=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Ajax.Responders, Enumerable);=0A=
=0A=
Ajax.Responders.register({=0A=
  onCreate:   function() { Ajax.activeRequestCount++ },=0A=
  onComplete: function() { Ajax.activeRequestCount-- }=0A=
});=0A=
Ajax.Base =3D Class.create({=0A=
  initialize: function(options) {=0A=
    this.options =3D {=0A=
      method:       'post',=0A=
      asynchronous: true,=0A=
      contentType:  'application/x-www-form-urlencoded',=0A=
      encoding:     'UTF-8',=0A=
      parameters:   '',=0A=
      evalJSON:     true,=0A=
      evalJS:       true=0A=
    };=0A=
    Object.extend(this.options, options || { });=0A=
=0A=
    this.options.method =3D this.options.method.toLowerCase();=0A=
=0A=
    if (Object.isString(this.options.parameters))=0A=
      this.options.parameters =3D =
this.options.parameters.toQueryParams();=0A=
    else if (Object.isHash(this.options.parameters))=0A=
      this.options.parameters =3D this.options.parameters.toObject();=0A=
  }=0A=
});=0A=
Ajax.Request =3D Class.create(Ajax.Base, {=0A=
  _complete: false,=0A=
=0A=
  initialize: function($super, url, options) {=0A=
    $super(options);=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  request: function(url) {=0A=
    this.url =3D url;=0A=
    this.method =3D this.options.method;=0A=
    var params =3D Object.clone(this.options.parameters);=0A=
=0A=
    if (!['get', 'post'].include(this.method)) {=0A=
      params['_method'] =3D this.method;=0A=
      this.method =3D 'post';=0A=
    }=0A=
=0A=
    this.parameters =3D params;=0A=
=0A=
    if (params =3D Object.toQueryString(params)) {=0A=
      if (this.method =3D=3D 'get')=0A=
        this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A=
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A=
        params +=3D '&_=3D';=0A=
    }=0A=
=0A=
    try {=0A=
      var response =3D new Ajax.Response(this);=0A=
      if (this.options.onCreate) this.options.onCreate(response);=0A=
      Ajax.Responders.dispatch('onCreate', this, response);=0A=
=0A=
      this.transport.open(this.method.toUpperCase(), this.url,=0A=
        this.options.asynchronous);=0A=
=0A=
      if (this.options.asynchronous) =
this.respondToReadyState.bind(this).defer(1);=0A=
=0A=
      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
      this.setRequestHeaders();=0A=
=0A=
      this.body =3D this.method =3D=3D 'post' ? (this.options.postBody =
|| params) : null;=0A=
      this.transport.send(this.body);=0A=
=0A=
      /* Force Firefox to handle ready state 4 for synchronous requests =
*/=0A=
      if (!this.options.asynchronous && this.transport.overrideMimeType)=0A=
        this.onStateChange();=0A=
=0A=
    }=0A=
    catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var headers =3D {=0A=
      'X-Requested-With': 'XMLHttpRequest',=0A=
      'X-Prototype-Version': Prototype.Version,=0A=
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'=0A=
    };=0A=
=0A=
    if (this.method =3D=3D 'post') {=0A=
      headers['Content-type'] =3D this.options.contentType +=0A=
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');=0A=
=0A=
      /* Force "Connection: close" for older Mozilla browsers to work=0A=
       * around a bug where XMLHttpRequest sends an incorrect=0A=
       * Content-length header. See Mozilla Bugzilla #246651.=0A=
       */=0A=
      if (this.transport.overrideMimeType &&=0A=
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)=0A=
            headers['Connection'] =3D 'close';=0A=
    }=0A=
=0A=
    if (typeof this.options.requestHeaders =3D=3D 'object') {=0A=
      var extras =3D this.options.requestHeaders;=0A=
=0A=
      if (Object.isFunction(extras.push))=0A=
        for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A=
          headers[extras[i]] =3D extras[i+1];=0A=
      else=0A=
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });=0A=
    }=0A=
=0A=
    for (var name in headers)=0A=
      this.transport.setRequestHeader(name, headers[name]);=0A=
  },=0A=
=0A=
  success: function() {=0A=
    var status =3D this.getStatus();=0A=
    return !status || (status >=3D 200 && status < 300);=0A=
  },=0A=
=0A=
  getStatus: function() {=0A=
    try {=0A=
      return this.transport.status || 0;=0A=
    } catch (e) { return 0 }=0A=
  },=0A=
=0A=
  respondToReadyState: function(readyState) {=0A=
    var state =3D Ajax.Request.Events[readyState], response =3D new =
Ajax.Response(this);=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      try {=0A=
        this._complete =3D true;=0A=
        (this.options['on' + response.status]=0A=
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A=
         || Prototype.emptyFunction)(response, response.headerJSON);=0A=
      } catch (e) {=0A=
        this.dispatchException(e);=0A=
      }=0A=
=0A=
      var contentType =3D response.getHeader('Content-type');=0A=
      if (this.options.evalJS =3D=3D 'force'=0A=
          || (this.options.evalJS && this.isSameOrigin() && contentType=0A=
          && =
contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s=
*$/i)))=0A=
        this.evalResponse();=0A=
    }=0A=
=0A=
    try {=0A=
      (this.options['on' + state] || Prototype.emptyFunction)(response, =
response.headerJSON);=0A=
      Ajax.Responders.dispatch('on' + state, this, response, =
response.headerJSON);=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A=
    }=0A=
  },=0A=
=0A=
  isSameOrigin: function() {=0A=
    var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A=
    return !m || (m[0] =3D=3D =
'#{protocol}//#{domain}#{port}'.interpolate({=0A=
      protocol: location.protocol,=0A=
      domain: document.domain,=0A=
      port: location.port ? ':' + location.port : ''=0A=
    }));=0A=
  },=0A=
=0A=
  getHeader: function(name) {=0A=
    try {=0A=
      return this.transport.getResponseHeader(name) || null;=0A=
    } catch (e) { return null; }=0A=
  },=0A=
=0A=
  evalResponse: function() {=0A=
    try {=0A=
      return eval((this.transport.responseText || '').unfilterJSON());=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  dispatchException: function(exception) {=0A=
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);=0A=
    Ajax.Responders.dispatch('onException', this, exception);=0A=
  }=0A=
});=0A=
=0A=
Ajax.Request.Events =3D=0A=
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
Ajax.Response =3D Class.create({=0A=
  initialize: function(request){=0A=
    this.request =3D request;=0A=
    var transport  =3D this.transport  =3D request.transport,=0A=
        readyState =3D this.readyState =3D transport.readyState;=0A=
=0A=
    if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) =
{=0A=
      this.status       =3D this.getStatus();=0A=
      this.statusText   =3D this.getStatusText();=0A=
      this.responseText =3D String.interpret(transport.responseText);=0A=
      this.headerJSON   =3D this._getHeaderJSON();=0A=
    }=0A=
=0A=
    if(readyState =3D=3D 4) {=0A=
      var xml =3D transport.responseXML;=0A=
      this.responseXML  =3D Object.isUndefined(xml) ? null : xml;=0A=
      this.responseJSON =3D this._getResponseJSON();=0A=
    }=0A=
  },=0A=
=0A=
  status:      0,=0A=
=0A=
  statusText: '',=0A=
=0A=
  getStatus: Ajax.Request.prototype.getStatus,=0A=
=0A=
  getStatusText: function() {=0A=
    try {=0A=
      return this.transport.statusText || '';=0A=
    } catch (e) { return '' }=0A=
  },=0A=
=0A=
  getHeader: Ajax.Request.prototype.getHeader,=0A=
=0A=
  getAllHeaders: function() {=0A=
    try {=0A=
      return this.getAllResponseHeaders();=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  getResponseHeader: function(name) {=0A=
    return this.transport.getResponseHeader(name);=0A=
  },=0A=
=0A=
  getAllResponseHeaders: function() {=0A=
    return this.transport.getAllResponseHeaders();=0A=
  },=0A=
=0A=
  _getHeaderJSON: function() {=0A=
    var json =3D this.getHeader('X-JSON');=0A=
    if (!json) return null;=0A=
    json =3D decodeURIComponent(escape(json));=0A=
    try {=0A=
      return json.evalJSON(this.request.options.sanitizeJSON ||=0A=
        !this.request.isSameOrigin());=0A=
    } catch (e) {=0A=
      this.request.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  _getResponseJSON: function() {=0A=
    var options =3D this.request.options;=0A=
    if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A=
      !(this.getHeader('Content-type') || =
'').include('application/json')) ||=0A=
        this.responseText.blank())=0A=
          return null;=0A=
    try {=0A=
      return this.responseText.evalJSON(options.sanitizeJSON ||=0A=
        !this.request.isSameOrigin());=0A=
    } catch (e) {=0A=
      this.request.dispatchException(e);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create(Ajax.Request, {=0A=
  initialize: function($super, container, url, options) {=0A=
    this.container =3D {=0A=
      success: (container.success || container),=0A=
      failure: (container.failure || (container.success ? null : =
container))=0A=
    };=0A=
=0A=
    options =3D Object.clone(options);=0A=
    var onComplete =3D options.onComplete;=0A=
    options.onComplete =3D (function(response, json) {=0A=
      this.updateContent(response.responseText);=0A=
      if (Object.isFunction(onComplete)) onComplete(response, json);=0A=
    }).bind(this);=0A=
=0A=
    $super(url, options);=0A=
  },=0A=
=0A=
  updateContent: function(responseText) {=0A=
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'],=0A=
        options =3D this.options;=0A=
=0A=
    if (!options.evalScripts) responseText =3D =
responseText.stripScripts();=0A=
=0A=
    if (receiver =3D $(receiver)) {=0A=
      if (options.insertion) {=0A=
        if (Object.isString(options.insertion)) {=0A=
          var insertion =3D { }; insertion[options.insertion] =3D =
responseText;=0A=
          receiver.insert(insertion);=0A=
        }=0A=
        else options.insertion(receiver, responseText);=0A=
      }=0A=
      else receiver.update(responseText);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A=
  initialize: function($super, container, url, options) {=0A=
    $super(options);=0A=
    this.onComplete =3D this.options.onComplete;=0A=
=0A=
    this.frequency =3D (this.options.frequency || 2);=0A=
    this.decay =3D (this.options.decay || 1);=0A=
=0A=
    this.updater =3D { };=0A=
    this.container =3D container;=0A=
    this.url =3D url;=0A=
=0A=
    this.start();=0A=
  },=0A=
=0A=
  start: function() {=0A=
    this.options.onComplete =3D this.updateComplete.bind(this);=0A=
    this.onTimerEvent();=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    this.updater.options.onComplete =3D undefined;=0A=
    clearTimeout(this.timer);=0A=
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A=
  },=0A=
=0A=
  updateComplete: function(response) {=0A=
    if (this.options.decay) {=0A=
      this.decay =3D (response.responseText =3D=3D this.lastText ?=0A=
        this.decay * this.options.decay : 1);=0A=
=0A=
      this.lastText =3D response.responseText;=0A=
    }=0A=
    this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * =
this.frequency);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
  }=0A=
});=0A=
=0A=
=0A=
=0A=
function $(element) {=0A=
  if (arguments.length > 1) {=0A=
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)=0A=
      elements.push($(arguments[i]));=0A=
    return elements;=0A=
  }=0A=
  if (Object.isString(element))=0A=
    element =3D document.getElementById(element);=0A=
  return Element.extend(element);=0A=
}=0A=
=0A=
if (Prototype.BrowserFeatures.XPath) {=0A=
  document._getElementsByXPath =3D function(expression, parentElement) {=0A=
    var results =3D [];=0A=
    var query =3D document.evaluate(expression, $(parentElement) || =
document,=0A=
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
    for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A=
      results.push(Element.extend(query.snapshotItem(i)));=0A=
    return results;=0A=
  };=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!window.Node) var Node =3D { };=0A=
=0A=
if (!Node.ELEMENT_NODE) {=0A=
  Object.extend(Node, {=0A=
    ELEMENT_NODE: 1,=0A=
    ATTRIBUTE_NODE: 2,=0A=
    TEXT_NODE: 3,=0A=
    CDATA_SECTION_NODE: 4,=0A=
    ENTITY_REFERENCE_NODE: 5,=0A=
    ENTITY_NODE: 6,=0A=
    PROCESSING_INSTRUCTION_NODE: 7,=0A=
    COMMENT_NODE: 8,=0A=
    DOCUMENT_NODE: 9,=0A=
    DOCUMENT_TYPE_NODE: 10,=0A=
    DOCUMENT_FRAGMENT_NODE: 11,=0A=
    NOTATION_NODE: 12=0A=
  });=0A=
}=0A=
=0A=
=0A=
(function(global) {=0A=
=0A=
  var SETATTRIBUTE_IGNORES_NAME =3D (function(){=0A=
    var elForm =3D document.createElement("form");=0A=
    var elInput =3D document.createElement("input");=0A=
    var root =3D document.documentElement;=0A=
    elInput.setAttribute("name", "test");=0A=
    elForm.appendChild(elInput);=0A=
    root.appendChild(elForm);=0A=
    var isBuggy =3D elForm.elements=0A=
      ? (typeof elForm.elements.test =3D=3D "undefined")=0A=
      : null;=0A=
    root.removeChild(elForm);=0A=
    elForm =3D elInput =3D null;=0A=
    return isBuggy;=0A=
  })();=0A=
=0A=
  var element =3D global.Element;=0A=
  global.Element =3D function(tagName, attributes) {=0A=
    attributes =3D attributes || { };=0A=
    tagName =3D tagName.toLowerCase();=0A=
    var cache =3D Element.cache;=0A=
    if (SETATTRIBUTE_IGNORES_NAME && attributes.name) {=0A=
      tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A=
      delete attributes.name;=0A=
      return Element.writeAttribute(document.createElement(tagName), =
attributes);=0A=
    }=0A=
    if (!cache[tagName]) cache[tagName] =3D =
Element.extend(document.createElement(tagName));=0A=
    return Element.writeAttribute(cache[tagName].cloneNode(false), =
attributes);=0A=
  };=0A=
  Object.extend(global.Element, element || { });=0A=
  if (element) global.Element.prototype =3D element.prototype;=0A=
})(this);=0A=
=0A=
Element.cache =3D { };=0A=
Element.idCounter =3D 1;=0A=
=0A=
Element.Methods =3D {=0A=
  visible: function(element) {=0A=
    return $(element).style.display !=3D 'none';=0A=
  },=0A=
=0A=
  toggle: function(element) {=0A=
    element =3D $(element);=0A=
    Element[Element.visible(element) ? 'hide' : 'show'](element);=0A=
    return element;=0A=
  },=0A=
=0A=
=0A=
  hide: function(element) {=0A=
    element =3D $(element);=0A=
    element.style.display =3D 'none';=0A=
    return element;=0A=
  },=0A=
=0A=
  show: function(element) {=0A=
    element =3D $(element);=0A=
    element.style.display =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  remove: function(element) {=0A=
    element =3D $(element);=0A=
    element.parentNode.removeChild(element);=0A=
    return element;=0A=
  },=0A=
=0A=
  update: (function(){=0A=
=0A=
    var SELECT_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A=
      var el =3D document.createElement("select"),=0A=
          isBuggy =3D true;=0A=
      el.innerHTML =3D "<option value=3D\"test\">test</option>";=0A=
      if (el.options && el.options[0]) {=0A=
        isBuggy =3D el.options[0].nodeName.toUpperCase() !=3D=3D =
"OPTION";=0A=
      }=0A=
      el =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    var TABLE_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A=
      try {=0A=
        var el =3D document.createElement("table");=0A=
        if (el && el.tBodies) {=0A=
          el.innerHTML =3D "<tbody><tr><td>test</td></tr></tbody>";=0A=
          var isBuggy =3D typeof el.tBodies[0] =3D=3D "undefined";=0A=
          el =3D null;=0A=
          return isBuggy;=0A=
        }=0A=
      } catch (e) {=0A=
        return true;=0A=
      }=0A=
    })();=0A=
=0A=
    var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING =3D (function () {=0A=
      var s =3D document.createElement("script"),=0A=
          isBuggy =3D false;=0A=
      try {=0A=
        s.appendChild(document.createTextNode(""));=0A=
        isBuggy =3D !s.firstChild ||=0A=
          s.firstChild && s.firstChild.nodeType !=3D=3D 3;=0A=
      } catch (e) {=0A=
        isBuggy =3D true;=0A=
      }=0A=
      s =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    function update(element, content) {=0A=
      element =3D $(element);=0A=
=0A=
      if (content && content.toElement)=0A=
        content =3D content.toElement();=0A=
=0A=
      if (Object.isElement(content))=0A=
        return element.update().insert(content);=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      var tagName =3D element.tagName.toUpperCase();=0A=
=0A=
      if (tagName =3D=3D=3D 'SCRIPT' && =
SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) {=0A=
        element.text =3D content;=0A=
        return element;=0A=
      }=0A=
=0A=
      if (SELECT_ELEMENT_INNERHTML_BUGGY || =
TABLE_ELEMENT_INNERHTML_BUGGY) {=0A=
        if (tagName in Element._insertionTranslations.tags) {=0A=
          $A(element.childNodes).each(function(node) {=0A=
            element.removeChild(node);=0A=
          });=0A=
          Element._getContentFromAnonymousElement(tagName, =
content.stripScripts())=0A=
            .each(function(node) {=0A=
              element.appendChild(node)=0A=
            });=0A=
        }=0A=
        else {=0A=
          element.innerHTML =3D content.stripScripts();=0A=
        }=0A=
      }=0A=
      else {=0A=
        element.innerHTML =3D content.stripScripts();=0A=
      }=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
      return element;=0A=
    }=0A=
=0A=
    return update;=0A=
  })(),=0A=
=0A=
  replace: function(element, content) {=0A=
    element =3D $(element);=0A=
    if (content && content.toElement) content =3D content.toElement();=0A=
    else if (!Object.isElement(content)) {=0A=
      content =3D Object.toHTML(content);=0A=
      var range =3D element.ownerDocument.createRange();=0A=
      range.selectNode(element);=0A=
      content.evalScripts.bind(content).defer();=0A=
      content =3D range.createContextualFragment(content.stripScripts());=0A=
    }=0A=
    element.parentNode.replaceChild(content, element);=0A=
    return element;=0A=
  },=0A=
=0A=
  insert: function(element, insertions) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A=
        Object.isElement(insertions) || (insertions && =
(insertions.toElement || insertions.toHTML)))=0A=
          insertions =3D {bottom:insertions};=0A=
=0A=
    var content, insert, tagName, childNodes;=0A=
=0A=
    for (var position in insertions) {=0A=
      content  =3D insertions[position];=0A=
      position =3D position.toLowerCase();=0A=
      insert =3D Element._insertionTranslations[position];=0A=
=0A=
      if (content && content.toElement) content =3D content.toElement();=0A=
      if (Object.isElement(content)) {=0A=
        insert(element, content);=0A=
        continue;=0A=
      }=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A=
        ? element.parentNode : element).tagName.toUpperCase();=0A=
=0A=
      childNodes =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());=0A=
=0A=
      if (position =3D=3D 'top' || position =3D=3D 'after') =
childNodes.reverse();=0A=
      childNodes.each(insert.curry(element));=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
    }=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  wrap: function(element, wrapper, attributes) {=0A=
    element =3D $(element);=0A=
    if (Object.isElement(wrapper))=0A=
      $(wrapper).writeAttribute(attributes || { });=0A=
    else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, =
attributes);=0A=
    else wrapper =3D new Element('div', wrapper);=0A=
    if (element.parentNode)=0A=
      element.parentNode.replaceChild(wrapper, element);=0A=
    wrapper.appendChild(element);=0A=
    return wrapper;=0A=
  },=0A=
=0A=
  inspect: function(element) {=0A=
    element =3D $(element);=0A=
    var result =3D '<' + element.tagName.toLowerCase();=0A=
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A=
      var property =3D pair.first(), attribute =3D pair.last();=0A=
      var value =3D (element[property] || '').toString();=0A=
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);=0A=
    });=0A=
    return result + '>';=0A=
  },=0A=
=0A=
  recursivelyCollect: function(element, property) {=0A=
    element =3D $(element);=0A=
    var elements =3D [];=0A=
    while (element =3D element[property])=0A=
      if (element.nodeType =3D=3D 1)=0A=
        elements.push(Element.extend(element));=0A=
    return elements;=0A=
  },=0A=
=0A=
  ancestors: function(element) {=0A=
    return $(element).recursivelyCollect('parentNode');=0A=
  },=0A=
=0A=
  descendants: function(element) {=0A=
    return Element.select(element, "*");=0A=
  },=0A=
=0A=
  firstDescendant: function(element) {=0A=
    element =3D $(element).firstChild;=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    return $(element);=0A=
  },=0A=
=0A=
  immediateDescendants: function(element) {=0A=
    if (!(element =3D $(element).firstChild)) return [];=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    if (element) return [element].concat($(element).nextSiblings());=0A=
    return [];=0A=
  },=0A=
=0A=
  previousSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('previousSibling');=0A=
  },=0A=
=0A=
  nextSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('nextSibling');=0A=
  },=0A=
=0A=
  siblings: function(element) {=0A=
    element =3D $(element);=0A=
    return =
element.previousSiblings().reverse().concat(element.nextSiblings());=0A=
  },=0A=
=0A=
  match: function(element, selector) {=0A=
    if (Object.isString(selector))=0A=
      selector =3D new Selector(selector);=0A=
    return selector.match($(element));=0A=
  },=0A=
=0A=
  up: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return $(element.parentNode);=0A=
    var ancestors =3D element.ancestors();=0A=
    return Object.isNumber(expression) ? ancestors[expression] :=0A=
      Selector.findElement(ancestors, expression, index);=0A=
  },=0A=
=0A=
  down: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
    return Object.isNumber(expression) ? =
element.descendants()[expression] :=0A=
      Element.select(element, expression)[index || 0];=0A=
  },=0A=
=0A=
  previous: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.previousElementSibling(element));=0A=
    var previousSiblings =3D element.previousSiblings();=0A=
    return Object.isNumber(expression) ? previousSiblings[expression] :=0A=
      Selector.findElement(previousSiblings, expression, index);=0A=
  },=0A=
=0A=
  next: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.nextElementSibling(element));=0A=
    var nextSiblings =3D element.nextSiblings();=0A=
    return Object.isNumber(expression) ? nextSiblings[expression] :=0A=
      Selector.findElement(nextSiblings, expression, index);=0A=
  },=0A=
=0A=
=0A=
  select: function() {=0A=
    var args =3D $A(arguments), element =3D $(args.shift());=0A=
    return Selector.findChildElements(element, args);=0A=
  },=0A=
=0A=
  adjacent: function() {=0A=
    var args =3D $A(arguments), element =3D $(args.shift());=0A=
    return Selector.findChildElements(element.parentNode, =
args).without(element);=0A=
  },=0A=
=0A=
  identify: function(element) {=0A=
    element =3D $(element);=0A=
    var id =3D element.readAttribute('id');=0A=
    if (id) return id;=0A=
    do { id =3D 'anonymous_element_' + Element.idCounter++ } while =
($(id));=0A=
    element.writeAttribute('id', id);=0A=
    return id;=0A=
  },=0A=
=0A=
  readAttribute: (function(){=0A=
=0A=
    var iframeGetAttributeThrowsError =3D (function(){=0A=
      var el =3D document.createElement('iframe'),=0A=
          isBuggy =3D false;=0A=
=0A=
      document.documentElement.appendChild(el);=0A=
      try {=0A=
        el.getAttribute('type', 2);=0A=
      } catch(e) {=0A=
        isBuggy =3D true;=0A=
      }=0A=
      document.documentElement.removeChild(el);=0A=
      el =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    return function(element, name) {=0A=
      element =3D $(element);=0A=
      if (iframeGetAttributeThrowsError &&=0A=
          name =3D=3D=3D 'type' &&=0A=
          element.tagName.toUpperCase() =3D=3D 'IFRAME') {=0A=
        return element.getAttribute('type');=0A=
      }=0A=
      if (Prototype.Browser.IE) {=0A=
        var t =3D Element._attributeTranslations.read;=0A=
        if (t.values[name]) return t.values[name](element, name);=0A=
        if (t.names[name]) name =3D t.names[name];=0A=
        if (name.include(':')) {=0A=
          return (!element.attributes || !element.attributes[name]) ? =
null :=0A=
           element.attributes[name].value;=0A=
        }=0A=
      }=0A=
      return element.getAttribute(name);=0A=
    }=0A=
  })(),=0A=
=0A=
  writeAttribute: function(element, name, value) {=0A=
    element =3D $(element);=0A=
    var attributes =3D { }, t =3D Element._attributeTranslations.write;=0A=
=0A=
    if (typeof name =3D=3D 'object') attributes =3D name;=0A=
    else attributes[name] =3D Object.isUndefined(value) ? true : value;=0A=
=0A=
    for (var attr in attributes) {=0A=
      name =3D t.names[attr] || attr;=0A=
      value =3D attributes[attr];=0A=
      if (t.values[attr]) name =3D t.values[attr](element, value);=0A=
      if (value =3D=3D=3D false || value =3D=3D=3D null)=0A=
        element.removeAttribute(name);=0A=
      else if (value =3D=3D=3D true)=0A=
        element.setAttribute(name, name);=0A=
      else element.setAttribute(name, value);=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  getHeight: function(element) {=0A=
    return $(element).getDimensions().height;=0A=
  },=0A=
=0A=
  getWidth: function(element) {=0A=
    return $(element).getDimensions().width;=0A=
  },=0A=
=0A=
  classNames: function(element) {=0A=
    return new Element.ClassNames(element);=0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var elementClassName =3D element.className;=0A=
    return (elementClassName.length > 0 && (elementClassName =3D=3D =
className ||=0A=
      new RegExp("(^|\\s)" + className + =
"(\\s|$)").test(elementClassName)));=0A=
  },=0A=
=0A=
  addClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    if (!element.hasClassName(className))=0A=
      element.className +=3D (element.className ? ' ' : '') + className;=0A=
    return element;=0A=
  },=0A=
=0A=
  removeClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    element.className =3D element.className.replace(=0A=
      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A=
    return element;=0A=
  },=0A=
=0A=
  toggleClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    return element[element.hasClassName(className) ?=0A=
      'removeClassName' : 'addClassName'](className);=0A=
  },=0A=
=0A=
  cleanWhitespace: function(element) {=0A=
    element =3D $(element);=0A=
    var node =3D element.firstChild;=0A=
    while (node) {=0A=
      var nextNode =3D node.nextSibling;=0A=
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A=
        element.removeChild(node);=0A=
      node =3D nextNode;=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  empty: function(element) {=0A=
    return $(element).innerHTML.blank();=0A=
  },=0A=
=0A=
  descendantOf: function(element, ancestor) {=0A=
    element =3D $(element), ancestor =3D $(ancestor);=0A=
=0A=
    if (element.compareDocumentPosition)=0A=
      return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A=
=0A=
    if (ancestor.contains)=0A=
      return ancestor.contains(element) && ancestor !=3D=3D element;=0A=
=0A=
    while (element =3D element.parentNode)=0A=
      if (element =3D=3D ancestor) return true;=0A=
=0A=
    return false;=0A=
  },=0A=
=0A=
  scrollTo: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D element.cumulativeOffset();=0A=
    window.scrollTo(pos[0], pos[1]);=0A=
    return element;=0A=
  },=0A=
=0A=
  getStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value || value =3D=3D 'auto') {=0A=
      var css =3D document.defaultView.getComputedStyle(element, null);=0A=
      value =3D css ? css[style] : null;=0A=
    }=0A=
    if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A=
    return value =3D=3D 'auto' ? null : value;=0A=
  },=0A=
=0A=
  getOpacity: function(element) {=0A=
    return $(element).getStyle('opacity');=0A=
  },=0A=
=0A=
  setStyle: function(element, styles) {=0A=
    element =3D $(element);=0A=
    var elementStyle =3D element.style, match;=0A=
    if (Object.isString(styles)) {=0A=
      element.style.cssText +=3D ';' + styles;=0A=
      return styles.include('opacity') ?=0A=
        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : =
element;=0A=
    }=0A=
    for (var property in styles)=0A=
      if (property =3D=3D 'opacity') =
element.setOpacity(styles[property]);=0A=
      else=0A=
        elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?=0A=
          (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : =
'styleFloat') :=0A=
            property] =3D styles[property];=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  setOpacity: function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  },=0A=
=0A=
  getDimensions: function(element) {=0A=
    element =3D $(element);=0A=
    var display =3D element.getStyle('display');=0A=
    if (display !=3D 'none' && display !=3D null) // Safari bug=0A=
      return {width: element.offsetWidth, height: element.offsetHeight};=0A=
=0A=
    var els =3D element.style;=0A=
    var originalVisibility =3D els.visibility;=0A=
    var originalPosition =3D els.position;=0A=
    var originalDisplay =3D els.display;=0A=
    els.visibility =3D 'hidden';=0A=
    if (originalPosition !=3D 'fixed') // Switching fixed to absolute =
causes issues in Safari=0A=
      els.position =3D 'absolute';=0A=
    els.display =3D 'block';=0A=
    var originalWidth =3D element.clientWidth;=0A=
    var originalHeight =3D element.clientHeight;=0A=
    els.display =3D originalDisplay;=0A=
    els.position =3D originalPosition;=0A=
    els.visibility =3D originalVisibility;=0A=
    return {width: originalWidth, height: originalHeight};=0A=
  },=0A=
=0A=
  makePositioned: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.getStyle(element, 'position');=0A=
    if (pos =3D=3D 'static' || !pos) {=0A=
      element._madePositioned =3D true;=0A=
      element.style.position =3D 'relative';=0A=
      if (Prototype.Browser.Opera) {=0A=
        element.style.top =3D 0;=0A=
        element.style.left =3D 0;=0A=
      }=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  undoPositioned: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._madePositioned) {=0A=
      element._madePositioned =3D undefined;=0A=
      element.style.position =3D=0A=
        element.style.top =3D=0A=
        element.style.left =3D=0A=
        element.style.bottom =3D=0A=
        element.style.right =3D '';=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  makeClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._overflow) return element;=0A=
    element._overflow =3D Element.getStyle(element, 'overflow') || =
'auto';=0A=
    if (element._overflow !=3D=3D 'hidden')=0A=
      element.style.overflow =3D 'hidden';=0A=
    return element;=0A=
  },=0A=
=0A=
  undoClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element._overflow) return element;=0A=
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;=0A=
    element._overflow =3D null;=0A=
    return element;=0A=
  },=0A=
=0A=
  cumulativeOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  positionedOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
      if (element) {=0A=
        if (element.tagName.toUpperCase() =3D=3D 'BODY') break;=0A=
        var p =3D Element.getStyle(element, 'position');=0A=
        if (p !=3D=3D 'static') break;=0A=
      }=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  absolutize: function(element) {=0A=
    element =3D $(element);=0A=
    if (element.getStyle('position') =3D=3D 'absolute') return element;=0A=
=0A=
    var offsets =3D element.positionedOffset();=0A=
    var top     =3D offsets[1];=0A=
    var left    =3D offsets[0];=0A=
    var width   =3D element.clientWidth;=0A=
    var height  =3D element.clientHeight;=0A=
=0A=
    element._originalLeft   =3D left - parseFloat(element.style.left  || =
0);=0A=
    element._originalTop    =3D top  - parseFloat(element.style.top || =
0);=0A=
    element._originalWidth  =3D element.style.width;=0A=
    element._originalHeight =3D element.style.height;=0A=
=0A=
    element.style.position =3D 'absolute';=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.width  =3D width + 'px';=0A=
    element.style.height =3D height + 'px';=0A=
    return element;=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    element =3D $(element);=0A=
    if (element.getStyle('position') =3D=3D 'relative') return element;=0A=
=0A=
    element.style.position =3D 'relative';=0A=
    var top  =3D parseFloat(element.style.top  || 0) - =
(element._originalTop || 0);=0A=
    var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);=0A=
=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.height =3D element._originalHeight;=0A=
    element.style.width  =3D element._originalWidth;=0A=
    return element;=0A=
  },=0A=
=0A=
  cumulativeScrollOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.scrollTop  || 0;=0A=
      valueL +=3D element.scrollLeft || 0;=0A=
      element =3D element.parentNode;=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  getOffsetParent: function(element) {=0A=
    if (element.offsetParent) return $(element.offsetParent);=0A=
    if (element =3D=3D document.body) return $(element);=0A=
=0A=
    while ((element =3D element.parentNode) && element !=3D =
document.body)=0A=
      if (Element.getStyle(element, 'position') !=3D 'static')=0A=
        return $(element);=0A=
=0A=
    return $(document.body);=0A=
  },=0A=
=0A=
  viewportOffset: function(forElement) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
=0A=
    var element =3D forElement;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
=0A=
      if (element.offsetParent =3D=3D document.body &&=0A=
        Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A=
=0A=
    } while (element =3D element.offsetParent);=0A=
=0A=
    element =3D forElement;=0A=
    do {=0A=
      if (!Prototype.Browser.Opera || (element.tagName && =
(element.tagName.toUpperCase() =3D=3D 'BODY'))) {=0A=
        valueT -=3D element.scrollTop  || 0;=0A=
        valueL -=3D element.scrollLeft || 0;=0A=
      }=0A=
    } while (element =3D element.parentNode);=0A=
=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  clonePosition: function(element, source) {=0A=
    var options =3D Object.extend({=0A=
      setLeft:    true,=0A=
      setTop:     true,=0A=
      setWidth:   true,=0A=
      setHeight:  true,=0A=
      offsetTop:  0,=0A=
      offsetLeft: 0=0A=
    }, arguments[2] || { });=0A=
=0A=
    source =3D $(source);=0A=
    var p =3D source.viewportOffset();=0A=
=0A=
    element =3D $(element);=0A=
    var delta =3D [0, 0];=0A=
    var parent =3D null;=0A=
    if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A=
      parent =3D element.getOffsetParent();=0A=
      delta =3D parent.viewportOffset();=0A=
    }=0A=
=0A=
    if (parent =3D=3D document.body) {=0A=
      delta[0] -=3D document.body.offsetLeft;=0A=
      delta[1] -=3D document.body.offsetTop;=0A=
    }=0A=
=0A=
    if (options.setLeft)   element.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';=0A=
    if (options.setTop)    element.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';=0A=
    if (options.setWidth)  element.style.width =3D source.offsetWidth + =
'px';=0A=
    if (options.setHeight) element.style.height =3D source.offsetHeight =
+ 'px';=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.Methods, {=0A=
  getElementsBySelector: Element.Methods.select,=0A=
=0A=
  childElements: Element.Methods.immediateDescendants=0A=
});=0A=
=0A=
Element._attributeTranslations =3D {=0A=
  write: {=0A=
    names: {=0A=
      className: 'class',=0A=
      htmlFor:   'for'=0A=
    },=0A=
    values: { }=0A=
  }=0A=
};=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
  Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A=
    function(proceed, element, style) {=0A=
      switch (style) {=0A=
        case 'left': case 'top': case 'right': case 'bottom':=0A=
          if (proceed(element, 'position') =3D=3D=3D 'static') return =
null;=0A=
        case 'height': case 'width':=0A=
          if (!Element.visible(element)) return null;=0A=
=0A=
          var dim =3D parseInt(proceed(element, style), 10);=0A=
=0A=
          if (dim !=3D=3D element['offset' + style.capitalize()])=0A=
            return dim + 'px';=0A=
=0A=
          var properties;=0A=
          if (style =3D=3D=3D 'height') {=0A=
            properties =3D ['border-top-width', 'padding-top',=0A=
             'padding-bottom', 'border-bottom-width'];=0A=
          }=0A=
          else {=0A=
            properties =3D ['border-left-width', 'padding-left',=0A=
             'padding-right', 'border-right-width'];=0A=
          }=0A=
          return properties.inject(dim, function(memo, property) {=0A=
            var val =3D proceed(element, property);=0A=
            return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);=0A=
          }) + 'px';=0A=
        default: return proceed(element, style);=0A=
      }=0A=
    }=0A=
  );=0A=
=0A=
  Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A=
    function(proceed, element, attribute) {=0A=
      if (attribute =3D=3D=3D 'title') return element.title;=0A=
      return proceed(element, attribute);=0A=
    }=0A=
  );=0A=
}=0A=
=0A=
else if (Prototype.Browser.IE) {=0A=
  Element.Methods.getOffsetParent =3D =
Element.Methods.getOffsetParent.wrap(=0A=
    function(proceed, element) {=0A=
      element =3D $(element);=0A=
      try { element.offsetParent }=0A=
      catch(e) { return $(document.body) }=0A=
      var position =3D element.getStyle('position');=0A=
      if (position !=3D=3D 'static') return proceed(element);=0A=
      element.setStyle({ position: 'relative' });=0A=
      var value =3D proceed(element);=0A=
      element.setStyle({ position: position });=0A=
      return value;=0A=
    }=0A=
  );=0A=
=0A=
  $w('positionedOffset viewportOffset').each(function(method) {=0A=
    Element.Methods[method] =3D Element.Methods[method].wrap(=0A=
      function(proceed, element) {=0A=
        element =3D $(element);=0A=
        try { element.offsetParent }=0A=
        catch(e) { return Element._returnOffset(0,0) }=0A=
        var position =3D element.getStyle('position');=0A=
        if (position !=3D=3D 'static') return proceed(element);=0A=
        var offsetParent =3D element.getOffsetParent();=0A=
        if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D =
'fixed')=0A=
          offsetParent.setStyle({ zoom: 1 });=0A=
        element.setStyle({ position: 'relative' });=0A=
        var value =3D proceed(element);=0A=
        element.setStyle({ position: position });=0A=
        return value;=0A=
      }=0A=
    );=0A=
  });=0A=
=0A=
  Element.Methods.cumulativeOffset =3D =
Element.Methods.cumulativeOffset.wrap(=0A=
    function(proceed, element) {=0A=
      try { element.offsetParent }=0A=
      catch(e) { return Element._returnOffset(0,0) }=0A=
      return proceed(element);=0A=
    }=0A=
  );=0A=
=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value && element.currentStyle) value =3D =
element.currentStyle[style];=0A=
=0A=
    if (style =3D=3D 'opacity') {=0A=
      if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))=0A=
        if (value[1]) return parseFloat(value[1]) / 100;=0A=
      return 1.0;=0A=
    }=0A=
=0A=
    if (value =3D=3D 'auto') {=0A=
      if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))=0A=
        return element['offset' + style.capitalize()] + 'px';=0A=
      return null;=0A=
    }=0A=
    return value;=0A=
  };=0A=
=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    function stripAlpha(filter){=0A=
      return filter.replace(/alpha\([^\)]*\)/gi,'');=0A=
    }=0A=
    element =3D $(element);=0A=
    var currentStyle =3D element.currentStyle;=0A=
    if ((currentStyle && !currentStyle.hasLayout) ||=0A=
      (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A=
        element.style.zoom =3D 1;=0A=
=0A=
    var filter =3D element.getStyle('filter'), style =3D element.style;=0A=
    if (value =3D=3D 1 || value =3D=3D=3D '') {=0A=
      (filter =3D stripAlpha(filter)) ?=0A=
        style.filter =3D filter : style.removeAttribute('filter');=0A=
      return element;=0A=
    } else if (value < 0.00001) value =3D 0;=0A=
    style.filter =3D stripAlpha(filter) +=0A=
      'alpha(opacity=3D' + (value * 100) + ')';=0A=
    return element;=0A=
  };=0A=
=0A=
  Element._attributeTranslations =3D (function(){=0A=
=0A=
    var classProp =3D 'className';=0A=
    var forProp =3D 'for';=0A=
=0A=
    var el =3D document.createElement('div');=0A=
=0A=
    el.setAttribute(classProp, 'x');=0A=
=0A=
    if (el.className !=3D=3D 'x') {=0A=
      el.setAttribute('class', 'x');=0A=
      if (el.className =3D=3D=3D 'x') {=0A=
        classProp =3D 'class';=0A=
      }=0A=
    }=0A=
    el =3D null;=0A=
=0A=
    el =3D document.createElement('label');=0A=
    el.setAttribute(forProp, 'x');=0A=
    if (el.htmlFor !=3D=3D 'x') {=0A=
      el.setAttribute('htmlFor', 'x');=0A=
      if (el.htmlFor =3D=3D=3D 'x') {=0A=
        forProp =3D 'htmlFor';=0A=
      }=0A=
    }=0A=
    el =3D null;=0A=
=0A=
    return {=0A=
      read: {=0A=
        names: {=0A=
          'class':      classProp,=0A=
          'className':  classProp,=0A=
          'for':        forProp,=0A=
          'htmlFor':    forProp=0A=
        },=0A=
        values: {=0A=
          _getAttr: function(element, attribute) {=0A=
            return element.getAttribute(attribute, 2);=0A=
          },=0A=
          _getAttrNode: function(element, attribute) {=0A=
            var node =3D element.getAttributeNode(attribute);=0A=
            return node ? node.value : "";=0A=
          },=0A=
          _getEv: (function(){=0A=
=0A=
            var el =3D document.createElement('div');=0A=
            el.onclick =3D Prototype.emptyFunction;=0A=
            var value =3D el.getAttribute('onclick');=0A=
            var f;=0A=
=0A=
            if (String(value).indexOf('{') > -1) {=0A=
              f =3D function(element, attribute) {=0A=
                attribute =3D element.getAttribute(attribute);=0A=
                if (!attribute) return null;=0A=
                attribute =3D attribute.toString();=0A=
                attribute =3D attribute.split('{')[1];=0A=
                attribute =3D attribute.split('}')[0];=0A=
                return attribute.strip();=0A=
              }=0A=
            }=0A=
            else if (value =3D=3D=3D '') {=0A=
              f =3D function(element, attribute) {=0A=
                attribute =3D element.getAttribute(attribute);=0A=
                if (!attribute) return null;=0A=
                return attribute.strip();=0A=
              }=0A=
            }=0A=
            el =3D null;=0A=
            return f;=0A=
          })(),=0A=
          _flag: function(element, attribute) {=0A=
            return $(element).hasAttribute(attribute) ? attribute : null;=0A=
          },=0A=
          style: function(element) {=0A=
            return element.style.cssText.toLowerCase();=0A=
          },=0A=
          title: function(element) {=0A=
            return element.title;=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
  })();=0A=
=0A=
  Element._attributeTranslations.write =3D {=0A=
    names: Object.extend({=0A=
      cellpadding: 'cellPadding',=0A=
      cellspacing: 'cellSpacing'=0A=
    }, Element._attributeTranslations.read.names),=0A=
    values: {=0A=
      checked: function(element, value) {=0A=
        element.checked =3D !!value;=0A=
      },=0A=
=0A=
      style: function(element, value) {=0A=
        element.style.cssText =3D value ? value : '';=0A=
      }=0A=
    }=0A=
  };=0A=
=0A=
  Element._attributeTranslations.has =3D {};=0A=
=0A=
  $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A=
      'encType maxLength readOnly longDesc =
frameBorder').each(function(attr) {=0A=
    Element._attributeTranslations.write.names[attr.toLowerCase()] =3D =
attr;=0A=
    Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A=
  });=0A=
=0A=
  (function(v) {=0A=
    Object.extend(v, {=0A=
      href:        v._getAttr,=0A=
      src:         v._getAttr,=0A=
      type:        v._getAttr,=0A=
      action:      v._getAttrNode,=0A=
      disabled:    v._flag,=0A=
      checked:     v._flag,=0A=
      readonly:    v._flag,=0A=
      multiple:    v._flag,=0A=
      onload:      v._getEv,=0A=
      onunload:    v._getEv,=0A=
      onclick:     v._getEv,=0A=
      ondblclick:  v._getEv,=0A=
      onmousedown: v._getEv,=0A=
      onmouseup:   v._getEv,=0A=
      onmouseover: v._getEv,=0A=
      onmousemove: v._getEv,=0A=
      onmouseout:  v._getEv,=0A=
      onfocus:     v._getEv,=0A=
      onblur:      v._getEv,=0A=
      onkeypress:  v._getEv,=0A=
      onkeydown:   v._getEv,=0A=
      onkeyup:     v._getEv,=0A=
      onsubmit:    v._getEv,=0A=
      onreset:     v._getEv,=0A=
      onselect:    v._getEv,=0A=
      onchange:    v._getEv=0A=
    });=0A=
  })(Element._attributeTranslations.read.values);=0A=
=0A=
  if (Prototype.BrowserFeatures.ElementExtensions) {=0A=
    (function() {=0A=
      function _descendants(element) {=0A=
        var nodes =3D element.getElementsByTagName('*'), results =3D [];=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName !=3D=3D "!") // Filter out comment nodes.=0A=
            results.push(node);=0A=
        return results;=0A=
      }=0A=
=0A=
      Element.Methods.down =3D function(element, expression, index) {=0A=
        element =3D $(element);=0A=
        if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
        return Object.isNumber(expression) ? =
_descendants(element)[expression] :=0A=
          Element.select(element, expression)[index || 0];=0A=
      }=0A=
    })();=0A=
  }=0A=
=0A=
}=0A=
=0A=
else if (Prototype.Browser.Gecko && =
/rv:1\.8\.0/.test(navigator.userAgent)) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A=
      (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
else if (Prototype.Browser.WebKit) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
=0A=
    if (value =3D=3D 1)=0A=
      if(element.tagName.toUpperCase() =3D=3D 'IMG' && element.width) {=0A=
        element.width++; element.width--;=0A=
      } else try {=0A=
        var n =3D document.createTextNode(' ');=0A=
        element.appendChild(n);=0A=
        element.removeChild(n);=0A=
      } catch (e) { }=0A=
=0A=
    return element;=0A=
  };=0A=
=0A=
  Element.Methods.cumulativeOffset =3D function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      if (element.offsetParent =3D=3D document.body)=0A=
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;=0A=
=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  };=0A=
}=0A=
=0A=
if ('outerHTML' in document.documentElement) {=0A=
  Element.Methods.replace =3D function(element, content) {=0A=
    element =3D $(element);=0A=
=0A=
    if (content && content.toElement) content =3D content.toElement();=0A=
    if (Object.isElement(content)) {=0A=
      element.parentNode.replaceChild(content, element);=0A=
      return element;=0A=
    }=0A=
=0A=
    content =3D Object.toHTML(content);=0A=
    var parent =3D element.parentNode, tagName =3D =
parent.tagName.toUpperCase();=0A=
=0A=
    if (Element._insertionTranslations.tags[tagName]) {=0A=
      var nextSibling =3D element.next();=0A=
      var fragments =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());=0A=
      parent.removeChild(element);=0A=
      if (nextSibling)=0A=
        fragments.each(function(node) { parent.insertBefore(node, =
nextSibling) });=0A=
      else=0A=
        fragments.each(function(node) { parent.appendChild(node) });=0A=
    }=0A=
    else element.outerHTML =3D content.stripScripts();=0A=
=0A=
    content.evalScripts.bind(content).defer();=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
Element._returnOffset =3D function(l, t) {=0A=
  var result =3D [l, t];=0A=
  result.left =3D l;=0A=
  result.top =3D t;=0A=
  return result;=0A=
};=0A=
=0A=
Element._getContentFromAnonymousElement =3D function(tagName, html) {=0A=
  var div =3D new Element('div'), t =3D =
Element._insertionTranslations.tags[tagName];=0A=
  if (t) {=0A=
    div.innerHTML =3D t[0] + html + t[1];=0A=
    t[2].times(function() { div =3D div.firstChild });=0A=
  } else div.innerHTML =3D html;=0A=
  return $A(div.childNodes);=0A=
};=0A=
=0A=
Element._insertionTranslations =3D {=0A=
  before: function(element, node) {=0A=
    element.parentNode.insertBefore(node, element);=0A=
  },=0A=
  top: function(element, node) {=0A=
    element.insertBefore(node, element.firstChild);=0A=
  },=0A=
  bottom: function(element, node) {=0A=
    element.appendChild(node);=0A=
  },=0A=
  after: function(element, node) {=0A=
    element.parentNode.insertBefore(node, element.nextSibling);=0A=
  },=0A=
  tags: {=0A=
    TABLE:  ['<table>',                '</table>',                   1],=0A=
    TBODY:  ['<table><tbody>',         '</tbody></table>',           2],=0A=
    TR:     ['<table><tbody><tr>',     '</tr></tbody></table>',      3],=0A=
    TD:     ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],=0A=
    SELECT: ['<select>',               '</select>',                  1]=0A=
  }=0A=
};=0A=
=0A=
(function() {=0A=
  Object.extend(this.tags, {=0A=
    THEAD: this.tags.TBODY,=0A=
    TFOOT: this.tags.TBODY,=0A=
    TH:    this.tags.TD=0A=
  });=0A=
}).call(Element._insertionTranslations);=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
  hasAttribute: function(element, attribute) {=0A=
    attribute =3D Element._attributeTranslations.has[attribute] || =
attribute;=0A=
    var node =3D $(element).getAttributeNode(attribute);=0A=
    return !!(node && node.specified);=0A=
  }=0A=
};=0A=
=0A=
Element.Methods.ByTag =3D { };=0A=
=0A=
Object.extend(Element, Element.Methods);=0A=
=0A=
(function(div) {=0A=
=0A=
  if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) {=0A=
    window.HTMLElement =3D { };=0A=
    window.HTMLElement.prototype =3D div['__proto__'];=0A=
    Prototype.BrowserFeatures.ElementExtensions =3D true;=0A=
  }=0A=
=0A=
  div =3D null;=0A=
=0A=
})(document.createElement('div'))=0A=
=0A=
Element.extend =3D (function() {=0A=
=0A=
  function checkDeficiency(tagName) {=0A=
    if (typeof window.Element !=3D 'undefined') {=0A=
      var proto =3D window.Element.prototype;=0A=
      if (proto) {=0A=
        var id =3D '_' + (Math.random()+'').slice(2);=0A=
        var el =3D document.createElement(tagName);=0A=
        proto[id] =3D 'x';=0A=
        var isBuggy =3D (el[id] !=3D=3D 'x');=0A=
        delete proto[id];=0A=
        el =3D null;=0A=
        return isBuggy;=0A=
      }=0A=
    }=0A=
    return false;=0A=
  }=0A=
=0A=
  function extendElementWith(element, methods) {=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (Object.isFunction(value) && !(property in element))=0A=
        element[property] =3D value.methodize();=0A=
    }=0A=
  }=0A=
=0A=
  var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY =3D checkDeficiency('object');=0A=
  var HTMLAPPLETELEMENT_PROTOTYPE_BUGGY =3D checkDeficiency('applet');=0A=
=0A=
  if (Prototype.BrowserFeatures.SpecificElementExtensions) {=0A=
    if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY &&=0A=
        HTMLAPPLETELEMENT_PROTOTYPE_BUGGY) {=0A=
      return function(element) {=0A=
        if (element && element.tagName) {=0A=
          var tagName =3D element.tagName.toUpperCase();=0A=
          if (tagName =3D=3D=3D 'OBJECT' || tagName =3D=3D=3D 'APPLET') {=0A=
            extendElementWith(element, Element.Methods);=0A=
            if (tagName =3D=3D=3D 'OBJECT') {=0A=
              extendElementWith(element, Element.Methods.ByTag.OBJECT)=0A=
            }=0A=
            else if (tagName =3D=3D=3D 'APPLET') {=0A=
              extendElementWith(element, Element.Methods.ByTag.APPLET)=0A=
            }=0A=
          }=0A=
        }=0A=
        return element;=0A=
      }=0A=
    }=0A=
    return Prototype.K;=0A=
  }=0A=
=0A=
  var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A=
=0A=
  var extend =3D Object.extend(function(element) {=0A=
    if (!element || typeof element._extendedByPrototype !=3D 'undefined' =
||=0A=
        element.nodeType !=3D 1 || element =3D=3D window) return element;=0A=
=0A=
    var methods =3D Object.clone(Methods),=0A=
        tagName =3D element.tagName.toUpperCase();=0A=
=0A=
    if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A=
=0A=
    extendElementWith(element, methods);=0A=
=0A=
    element._extendedByPrototype =3D Prototype.emptyFunction;=0A=
    return element;=0A=
=0A=
  }, {=0A=
    refresh: function() {=0A=
      if (!Prototype.BrowserFeatures.ElementExtensions) {=0A=
        Object.extend(Methods, Element.Methods);=0A=
        Object.extend(Methods, Element.Methods.Simulated);=0A=
      }=0A=
    }=0A=
  });=0A=
=0A=
  extend.refresh();=0A=
  return extend;=0A=
})();=0A=
=0A=
Element.hasAttribute =3D function(element, attribute) {=0A=
  if (element.hasAttribute) return element.hasAttribute(attribute);=0A=
  return Element.Methods.Simulated.hasAttribute(element, attribute);=0A=
};=0A=
=0A=
Element.addMethods =3D function(methods) {=0A=
  var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A=
=0A=
  if (!methods) {=0A=
    Object.extend(Form, Form.Methods);=0A=
    Object.extend(Form.Element, Form.Element.Methods);=0A=
    Object.extend(Element.Methods.ByTag, {=0A=
      "FORM":     Object.clone(Form.Methods),=0A=
      "INPUT":    Object.clone(Form.Element.Methods),=0A=
      "SELECT":   Object.clone(Form.Element.Methods),=0A=
      "TEXTAREA": Object.clone(Form.Element.Methods)=0A=
    });=0A=
  }=0A=
=0A=
  if (arguments.length =3D=3D 2) {=0A=
    var tagName =3D methods;=0A=
    methods =3D arguments[1];=0A=
  }=0A=
=0A=
  if (!tagName) Object.extend(Element.Methods, methods || { });=0A=
  else {=0A=
    if (Object.isArray(tagName)) tagName.each(extend);=0A=
    else extend(tagName);=0A=
  }=0A=
=0A=
  function extend(tagName) {=0A=
    tagName =3D tagName.toUpperCase();=0A=
    if (!Element.Methods.ByTag[tagName])=0A=
      Element.Methods.ByTag[tagName] =3D { };=0A=
    Object.extend(Element.Methods.ByTag[tagName], methods);=0A=
  }=0A=
=0A=
  function copy(methods, destination, onlyIfAbsent) {=0A=
    onlyIfAbsent =3D onlyIfAbsent || false;=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (!Object.isFunction(value)) continue;=0A=
      if (!onlyIfAbsent || !(property in destination))=0A=
        destination[property] =3D value.methodize();=0A=
    }=0A=
  }=0A=
=0A=
  function findDOMClass(tagName) {=0A=
    var klass;=0A=
    var trans =3D {=0A=
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A=
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",=0A=
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",=0A=
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A=
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":=0A=
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A=
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", =
"TR":=0A=
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A=
      "FrameSet", "IFRAME": "IFrame"=0A=
    };=0A=
    if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
=0A=
    var element =3D document.createElement(tagName);=0A=
    var proto =3D element['__proto__'] || element.constructor.prototype;=0A=
    element =3D null;=0A=
    return proto;=0A=
  }=0A=
=0A=
  var elementPrototype =3D window.HTMLElement ? HTMLElement.prototype :=0A=
   Element.prototype;=0A=
=0A=
  if (F.ElementExtensions) {=0A=
    copy(Element.Methods, elementPrototype);=0A=
    copy(Element.Methods.Simulated, elementPrototype, true);=0A=
  }=0A=
=0A=
  if (F.SpecificElementExtensions) {=0A=
    for (var tag in Element.Methods.ByTag) {=0A=
      var klass =3D findDOMClass(tag);=0A=
      if (Object.isUndefined(klass)) continue;=0A=
      copy(T[tag], klass.prototype);=0A=
    }=0A=
  }=0A=
=0A=
  Object.extend(Element, Element.Methods);=0A=
  delete Element.ByTag;=0A=
=0A=
  if (Element.extend.refresh) Element.extend.refresh();=0A=
  Element.cache =3D { };=0A=
};=0A=
=0A=
=0A=
document.viewport =3D {=0A=
=0A=
  getDimensions: function() {=0A=
    return { width: this.getWidth(), height: this.getHeight() };=0A=
  },=0A=
=0A=
  getScrollOffsets: function() {=0A=
    return Element._returnOffset(=0A=
      window.pageXOffset || document.documentElement.scrollLeft || =
document.body.scrollLeft,=0A=
      window.pageYOffset || document.documentElement.scrollTop  || =
document.body.scrollTop);=0A=
  }=0A=
};=0A=
=0A=
(function(viewport) {=0A=
  var B =3D Prototype.Browser, doc =3D document, element, property =3D =
{};=0A=
=0A=
  function getRootElement() {=0A=
    if (B.WebKit && !doc.evaluate)=0A=
      return document;=0A=
=0A=
    if (B.Opera && window.parseFloat(window.opera.version()) < 9.5)=0A=
      return document.body;=0A=
=0A=
    return document.documentElement;=0A=
  }=0A=
=0A=
  function define(D) {=0A=
    if (!element) element =3D getRootElement();=0A=
=0A=
    property[D] =3D 'client' + D;=0A=
=0A=
    viewport['get' + D] =3D function() { return element[property[D]] };=0A=
    return viewport['get' + D]();=0A=
  }=0A=
=0A=
  viewport.getWidth  =3D define.curry('Width');=0A=
=0A=
  viewport.getHeight =3D define.curry('Height');=0A=
})(document.viewport);=0A=
=0A=
=0A=
Element.Storage =3D {=0A=
  UID: 1=0A=
};=0A=
=0A=
Element.addMethods({=0A=
  getStorage: function(element) {=0A=
    if (!(element =3D $(element))) return;=0A=
=0A=
    var uid;=0A=
    if (element =3D=3D=3D window) {=0A=
      uid =3D 0;=0A=
    } else {=0A=
      if (typeof element._prototypeUID =3D=3D=3D "undefined")=0A=
        element._prototypeUID =3D [Element.Storage.UID++];=0A=
      uid =3D element._prototypeUID[0];=0A=
    }=0A=
=0A=
    if (!Element.Storage[uid])=0A=
      Element.Storage[uid] =3D $H();=0A=
=0A=
    return Element.Storage[uid];=0A=
  },=0A=
=0A=
  store: function(element, key, value) {=0A=
    if (!(element =3D $(element))) return;=0A=
=0A=
    if (arguments.length =3D=3D=3D 2) {=0A=
      element.getStorage().update(key);=0A=
    } else {=0A=
      element.getStorage().set(key, value);=0A=
    }=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  retrieve: function(element, key, defaultValue) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var hash =3D Element.getStorage(element), value =3D hash.get(key);=0A=
=0A=
    if (Object.isUndefined(value)) {=0A=
      hash.set(key, defaultValue);=0A=
      value =3D defaultValue;=0A=
    }=0A=
=0A=
    return value;=0A=
  },=0A=
=0A=
  clone: function(element, deep) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var clone =3D element.cloneNode(deep);=0A=
    clone._prototypeUID =3D void 0;=0A=
    if (deep) {=0A=
      var descendants =3D Element.select(clone, '*'),=0A=
          i =3D descendants.length;=0A=
      while (i--) {=0A=
        descendants[i]._prototypeUID =3D void 0;=0A=
      }=0A=
    }=0A=
    return Element.extend(clone);=0A=
  }=0A=
});=0A=
/* Portions of the Selector class are derived from Jack Slocum's =
DomQuery,=0A=
 * part of YUI-Ext version 0.40, distributed under the terms of an =
MIT-style=0A=
 * license.  Please see http://www.yui-ext.com/ for more information. */=0A=
=0A=
var Selector =3D Class.create({=0A=
  initialize: function(expression) {=0A=
    this.expression =3D expression.strip();=0A=
=0A=
    if (this.shouldUseSelectorsAPI()) {=0A=
      this.mode =3D 'selectorsAPI';=0A=
    } else if (this.shouldUseXPath()) {=0A=
      this.mode =3D 'xpath';=0A=
      this.compileXPathMatcher();=0A=
    } else {=0A=
      this.mode =3D "normal";=0A=
      this.compileMatcher();=0A=
    }=0A=
=0A=
  },=0A=
=0A=
  shouldUseXPath: (function() {=0A=
=0A=
    var IS_DESCENDANT_SELECTOR_BUGGY =3D (function(){=0A=
      var isBuggy =3D false;=0A=
      if (document.evaluate && window.XPathResult) {=0A=
        var el =3D document.createElement('div');=0A=
        el.innerHTML =3D =
'<ul><li></li></ul><div><ul><li></li></ul></div>';=0A=
=0A=
        var xpath =3D ".//*[local-name()=3D'ul' or local-name()=3D'UL']" =
+=0A=
          "//*[local-name()=3D'li' or local-name()=3D'LI']";=0A=
=0A=
        var result =3D document.evaluate(xpath, el, null,=0A=
          XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
=0A=
        isBuggy =3D (result.snapshotLength !=3D=3D 2);=0A=
        el =3D null;=0A=
      }=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    return function() {=0A=
      if (!Prototype.BrowserFeatures.XPath) return false;=0A=
=0A=
      var e =3D this.expression;=0A=
=0A=
      if (Prototype.Browser.WebKit &&=0A=
       (e.include("-of-type") || e.include(":empty")))=0A=
        return false;=0A=
=0A=
      if ((/(\[[\w-]*?:|:checked)/).test(e))=0A=
        return false;=0A=
=0A=
      if (IS_DESCENDANT_SELECTOR_BUGGY) return false;=0A=
=0A=
      return true;=0A=
    }=0A=
=0A=
  })(),=0A=
=0A=
  shouldUseSelectorsAPI: function() {=0A=
    if (!Prototype.BrowserFeatures.SelectorsAPI) return false;=0A=
=0A=
    if (Selector.CASE_INSENSITIVE_CLASS_NAMES) return false;=0A=
=0A=
    if (!Selector._div) Selector._div =3D new Element('div');=0A=
=0A=
    try {=0A=
      Selector._div.querySelector(this.expression);=0A=
    } catch(e) {=0A=
      return false;=0A=
    }=0A=
=0A=
    return true;=0A=
  },=0A=
=0A=
  compileMatcher: function() {=0A=
    var e =3D this.expression, ps =3D Selector.patterns, h =3D =
Selector.handlers,=0A=
        c =3D Selector.criteria, le, p, m, len =3D ps.length, name;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.matcher =3D Selector._cache[e];=0A=
      return;=0A=
    }=0A=
=0A=
    this.matcher =3D ["this.matcher =3D function(root) {",=0A=
                    "var r =3D root, h =3D Selector.handlers, c =3D =
false, n;"];=0A=
=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        p =3D ps[i].re;=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(p)) {=0A=
          this.matcher.push(Object.isFunction(c[name]) ? c[name](m) :=0A=
            new Template(c[name]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.matcher.push("return h.unique(n);\n}");=0A=
    eval(this.matcher.join('\n'));=0A=
    Selector._cache[this.expression] =3D this.matcher;=0A=
  },=0A=
=0A=
  compileXPathMatcher: function() {=0A=
    var e =3D this.expression, ps =3D Selector.patterns,=0A=
        x =3D Selector.xpath, le, m, len =3D ps.length, name;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.xpath =3D Selector._cache[e]; return;=0A=
    }=0A=
=0A=
    this.matcher =3D ['.//*'];=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(ps[i].re)) {=0A=
          this.matcher.push(Object.isFunction(x[name]) ? x[name](m) :=0A=
            new Template(x[name]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.xpath =3D this.matcher.join('');=0A=
    Selector._cache[this.expression] =3D this.xpath;=0A=
  },=0A=
=0A=
  findElements: function(root) {=0A=
    root =3D root || document;=0A=
    var e =3D this.expression, results;=0A=
=0A=
    switch (this.mode) {=0A=
      case 'selectorsAPI':=0A=
        if (root !=3D=3D document) {=0A=
          var oldId =3D root.id, id =3D $(root).identify();=0A=
          id =3D id.replace(/[\.:]/g, "\\$0");=0A=
          e =3D "#" + id + " " + e;=0A=
        }=0A=
=0A=
        results =3D $A(root.querySelectorAll(e)).map(Element.extend);=0A=
        root.id =3D oldId;=0A=
=0A=
        return results;=0A=
      case 'xpath':=0A=
        return document._getElementsByXPath(this.xpath, root);=0A=
      default:=0A=
       return this.matcher(root);=0A=
    }=0A=
  },=0A=
=0A=
  match: function(element) {=0A=
    this.tokens =3D [];=0A=
=0A=
    var e =3D this.expression, ps =3D Selector.patterns, as =3D =
Selector.assertions;=0A=
    var le, p, m, len =3D ps.length, name;=0A=
=0A=
    while (e && le !=3D=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        p =3D ps[i].re;=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(p)) {=0A=
          if (as[name]) {=0A=
            this.tokens.push([name, Object.clone(m)]);=0A=
            e =3D e.replace(m[0], '');=0A=
          } else {=0A=
            return this.findElements(document).include(element);=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    var match =3D true, name, matches;=0A=
    for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A=
      name =3D token[0], matches =3D token[1];=0A=
      if (!Selector.assertions[name](element, matches)) {=0A=
        match =3D false; break;=0A=
      }=0A=
    }=0A=
=0A=
    return match;=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return this.expression;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return "#<Selector:" + this.expression.inspect() + ">";=0A=
  }=0A=
});=0A=
=0A=
if (Prototype.BrowserFeatures.SelectorsAPI &&=0A=
 document.compatMode =3D=3D=3D 'BackCompat') {=0A=
  Selector.CASE_INSENSITIVE_CLASS_NAMES =3D (function(){=0A=
    var div =3D document.createElement('div'),=0A=
     span =3D document.createElement('span');=0A=
=0A=
    div.id =3D "prototype_test_id";=0A=
    span.className =3D 'Test';=0A=
    div.appendChild(span);=0A=
    var isIgnored =3D (div.querySelector('#prototype_test_id .test') =
!=3D=3D null);=0A=
    div =3D span =3D null;=0A=
    return isIgnored;=0A=
  })();=0A=
}=0A=
=0A=
Object.extend(Selector, {=0A=
  _cache: { },=0A=
=0A=
  xpath: {=0A=
    descendant:   "//*",=0A=
    child:        "/*",=0A=
    adjacent:     "/following-sibling::*[1]",=0A=
    laterSibling: '/following-sibling::*',=0A=
    tagName:      function(m) {=0A=
      if (m[1] =3D=3D '*') return '';=0A=
      return "[local-name()=3D'" + m[1].toLowerCase() +=0A=
             "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A=
    },=0A=
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A=
    id:           "[@id=3D'#{1}']",=0A=
    attrPresence: function(m) {=0A=
      m[1] =3D m[1].toLowerCase();=0A=
      return new Template("[@#{1}]").evaluate(m);=0A=
    },=0A=
    attr: function(m) {=0A=
      m[1] =3D m[1].toLowerCase();=0A=
      m[3] =3D m[5] || m[6];=0A=
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A=
    },=0A=
    pseudo: function(m) {=0A=
      var h =3D Selector.xpath.pseudos[m[1]];=0A=
      if (!h) return '';=0A=
      if (Object.isFunction(h)) return h(m);=0A=
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A=
    },=0A=
    operators: {=0A=
      '=3D':  "[@#{1}=3D'#{3}']",=0A=
      '!=3D': "[@#{1}!=3D'#{3}']",=0A=
      '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A=
      '$=3D': "[substring(@#{1}, (string-length(@#{1}) - =
string-length('#{3}') + 1))=3D'#{3}']",=0A=
      '*=3D': "[contains(@#{1}, '#{3}')]",=0A=
      '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A=
      '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A=
    },=0A=
    pseudos: {=0A=
      'first-child': '[not(preceding-sibling::*)]',=0A=
      'last-child':  '[not(following-sibling::*)]',=0A=
      'only-child':  '[not(preceding-sibling::* or =
following-sibling::*)]',=0A=
      'empty':       "[count(*) =3D 0 and (count(text()) =3D 0)]",=0A=
      'checked':     "[@checked]",=0A=
      'disabled':    "[(@disabled) and (@type!=3D'hidden')]",=0A=
      'enabled':     "[not(@disabled) and (@type!=3D'hidden')]",=0A=
      'not': function(m) {=0A=
        var e =3D m[6], p =3D Selector.patterns,=0A=
            x =3D Selector.xpath, le, v, len =3D p.length, name;=0A=
=0A=
        var exclusion =3D [];=0A=
        while (e && le !=3D e && (/\S/).test(e)) {=0A=
          le =3D e;=0A=
          for (var i =3D 0; i<len; i++) {=0A=
            name =3D p[i].name=0A=
            if (m =3D e.match(p[i].re)) {=0A=
              v =3D Object.isFunction(x[name]) ? x[name](m) : new =
Template(x[name]).evaluate(m);=0A=
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A=
              e =3D e.replace(m[0], '');=0A=
              break;=0A=
            }=0A=
          }=0A=
        }=0A=
        return "[not(" + exclusion.join(" and ") + ")]";=0A=
      },=0A=
      'nth-child':      function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-last-child': function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-of-type':    function(m) {=0A=
        return Selector.xpath.pseudos.nth("position() ", m);=0A=
      },=0A=
      'nth-last-of-type': function(m) {=0A=
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", =
m);=0A=
      },=0A=
      'first-of-type':  function(m) {=0A=
        m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A=
      },=0A=
      'last-of-type':   function(m) {=0A=
        m[6] =3D "1"; return =
Selector.xpath.pseudos['nth-last-of-type'](m);=0A=
      },=0A=
      'only-of-type':   function(m) {=0A=
        var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + =
p['last-of-type'](m);=0A=
      },=0A=
      nth: function(fragment, m) {=0A=
        var mm, formula =3D m[6], predicate;=0A=
        if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
        if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
        if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A=
          return '[' + fragment + "=3D " + mm[1] + ']';=0A=
        if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A=
          if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A=
          var a =3D mm[1] ? Number(mm[1]) : 1;=0A=
          var b =3D mm[2] ? Number(mm[2]) : 0;=0A=
          predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A=
          "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A=
          return new Template(predicate).evaluate({=0A=
            fragment: fragment, a: a, b: b });=0A=
        }=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  criteria: {=0A=
    tagName:      'n =3D h.tagName(n, r, "#{1}", c);      c =3D false;',=0A=
    className:    'n =3D h.className(n, r, "#{1}", c);    c =3D false;',=0A=
    id:           'n =3D h.id(n, r, "#{1}", c);           c =3D false;',=0A=
    attrPresence: 'n =3D h.attrPresence(n, r, "#{1}", c); c =3D false;',=0A=
    attr: function(m) {=0A=
      m[3] =3D (m[5] || m[6]);=0A=
      return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}", =
c); c =3D false;').evaluate(m);=0A=
    },=0A=
    pseudo: function(m) {=0A=
      if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A=
      return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c =
=3D false;').evaluate(m);=0A=
    },=0A=
    descendant:   'c =3D "descendant";',=0A=
    child:        'c =3D "child";',=0A=
    adjacent:     'c =3D "adjacent";',=0A=
    laterSibling: 'c =3D "laterSibling";'=0A=
  },=0A=
=0A=
  patterns: [=0A=
    { name: 'laterSibling', re: /^\s*~\s*/ },=0A=
    { name: 'child',        re: /^\s*>\s*/ },=0A=
    { name: 'adjacent',     re: /^\s*\+\s*/ },=0A=
    { name: 'descendant',   re: /^\s/ },=0A=
=0A=
    { name: 'tagName',      re: /^\s*(\*|[\w\-]+)(\b|$)?/ },=0A=
    { name: 'id',           re: /^#([\w\-\*]+)(\b|$)/ },=0A=
    { name: 'className',    re: /^\.([\w\-\*]+)(\b|$)/ },=0A=
    { name: 'pseudo',       re: =
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|(?=3D\s|[:+~>]))/ },=0A=
    { name: 'attrPresence', re: /^\[((?:[\w-]+:)?[\w-]+)\]/ },=0A=
    { name: 'attr',         re: =
/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^=
\]]*?)))?\]/ }=0A=
  ],=0A=
=0A=
  assertions: {=0A=
    tagName: function(element, matches) {=0A=
      return matches[1].toUpperCase() =3D=3D =
element.tagName.toUpperCase();=0A=
    },=0A=
=0A=
    className: function(element, matches) {=0A=
      return Element.hasClassName(element, matches[1]);=0A=
    },=0A=
=0A=
    id: function(element, matches) {=0A=
      return element.id =3D=3D=3D matches[1];=0A=
    },=0A=
=0A=
    attrPresence: function(element, matches) {=0A=
      return Element.hasAttribute(element, matches[1]);=0A=
    },=0A=
=0A=
    attr: function(element, matches) {=0A=
      var nodeValue =3D Element.readAttribute(element, matches[1]);=0A=
      return nodeValue && Selector.operators[matches[2]](nodeValue, =
matches[5] || matches[6]);=0A=
    }=0A=
  },=0A=
=0A=
  handlers: {=0A=
    concat: function(a, b) {=0A=
      for (var i =3D 0, node; node =3D b[i]; i++)=0A=
        a.push(node);=0A=
      return a;=0A=
    },=0A=
=0A=
    mark: function(nodes) {=0A=
      var _true =3D Prototype.emptyFunction;=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._countedByPrototype =3D _true;=0A=
      return nodes;=0A=
    },=0A=
=0A=
    unmark: function(nodes) {=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._countedByPrototype =3D undefined;=0A=
      return nodes;=0A=
    },=0A=
=0A=
    index: function(parentNode, reverse, ofType) {=0A=
      parentNode._countedByPrototype =3D Prototype.emptyFunction;=0A=
      if (reverse) {=0A=
        for (var nodes =3D parentNode.childNodes, i =3D nodes.length - =
1, j =3D 1; i >=3D 0; i--) {=0A=
          var node =3D nodes[i];=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;=0A=
        }=0A=
      } else {=0A=
        for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node =
=3D nodes[i]; i++)=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;=0A=
      }=0A=
    },=0A=
=0A=
    unique: function(nodes) {=0A=
      if (nodes.length =3D=3D 0) return nodes;=0A=
      var results =3D [], n;=0A=
      for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A=
        if (typeof (n =3D nodes[i])._countedByPrototype =3D=3D =
'undefined') {=0A=
          n._countedByPrototype =3D Prototype.emptyFunction;=0A=
          results.push(Element.extend(n));=0A=
        }=0A=
      return Selector.handlers.unmark(results);=0A=
    },=0A=
=0A=
    descendant: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, node.getElementsByTagName('*'));=0A=
      return results;=0A=
    },=0A=
=0A=
    child: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        for (var j =3D 0, child; child =3D node.childNodes[j]; j++)=0A=
          if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') =
results.push(child);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    adjacent: function(nodes) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        var next =3D this.nextElementSibling(node);=0A=
        if (next) results.push(next);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    laterSibling: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, Element.nextSiblings(node));=0A=
      return results;=0A=
    },=0A=
=0A=
    nextElementSibling: function(node) {=0A=
      while (node =3D node.nextSibling)=0A=
        if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    previousElementSibling: function(node) {=0A=
      while (node =3D node.previousSibling)=0A=
        if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    tagName: function(nodes, root, tagName, combinator) {=0A=
      var uTagName =3D tagName.toUpperCase();=0A=
      var results =3D [], h =3D Selector.handlers;=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          if (combinator =3D=3D "descendant") {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              h.concat(results, node.getElementsByTagName(tagName));=0A=
            return results;=0A=
          } else nodes =3D this[combinator](nodes);=0A=
          if (tagName =3D=3D "*") return nodes;=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName.toUpperCase() =3D=3D=3D uTagName) =
results.push(node);=0A=
        return results;=0A=
      } else return root.getElementsByTagName(tagName);=0A=
    },=0A=
=0A=
    id: function(nodes, root, id, combinator) {=0A=
      var targetNode =3D $(id), h =3D Selector.handlers;=0A=
=0A=
      if (root =3D=3D document) {=0A=
        if (!targetNode) return [];=0A=
        if (!nodes) return [targetNode];=0A=
      } else {=0A=
        if (!root.sourceIndex || root.sourceIndex < 1) {=0A=
          var nodes =3D root.getElementsByTagName('*');=0A=
          for (var j =3D 0, node; node =3D nodes[j]; j++) {=0A=
            if (node.id =3D=3D=3D id) return [node];=0A=
          }=0A=
        }=0A=
      }=0A=
=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          if (combinator =3D=3D 'child') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (targetNode.parentNode =3D=3D node) return [targetNode];=0A=
          } else if (combinator =3D=3D 'descendant') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Element.descendantOf(targetNode, node)) return =
[targetNode];=0A=
          } else if (combinator =3D=3D 'adjacent') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Selector.handlers.previousElementSibling(targetNode) =
=3D=3D node)=0A=
                return [targetNode];=0A=
          } else nodes =3D h[combinator](nodes);=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node =3D=3D targetNode) return [targetNode];=0A=
        return [];=0A=
      }=0A=
      return (targetNode && Element.descendantOf(targetNode, root)) ? =
[targetNode] : [];=0A=
    },=0A=
=0A=
    className: function(nodes, root, className, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      return Selector.handlers.byClassName(nodes, root, className);=0A=
    },=0A=
=0A=
    byClassName: function(nodes, root, className) {=0A=
      if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A=
      var needle =3D ' ' + className + ' ';=0A=
      for (var i =3D 0, results =3D [], node, nodeClassName; node =3D =
nodes[i]; i++) {=0A=
        nodeClassName =3D node.className;=0A=
        if (nodeClassName.length =3D=3D 0) continue;=0A=
        if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' =
').include(needle))=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    attrPresence: function(nodes, root, attr, combinator) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      var results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        if (Element.hasAttribute(node, attr)) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    attr: function(nodes, root, attr, value, operator, combinator) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      var handler =3D Selector.operators[operator], results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        var nodeValue =3D Element.readAttribute(node, attr);=0A=
        if (nodeValue =3D=3D=3D null) continue;=0A=
        if (handler(nodeValue, value)) results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    pseudo: function(nodes, name, value, root, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      return Selector.pseudos[name](nodes, value, root);=0A=
    }=0A=
  },=0A=
=0A=
  pseudos: {=0A=
    'first-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.previousElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'last-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.nextElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'only-child': function(nodes, value, root) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!h.previousElementSibling(node) && =
!h.nextElementSibling(node))=0A=
          results.push(node);=0A=
      return results;=0A=
    },=0A=
    'nth-child':        function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root);=0A=
    },=0A=
    'nth-last-child':   function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true);=0A=
    },=0A=
    'nth-of-type':      function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, false, true);=0A=
    },=0A=
    'nth-last-of-type': function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true, true);=0A=
    },=0A=
    'first-of-type':    function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, false, true);=0A=
    },=0A=
    'last-of-type':     function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, true, true);=0A=
    },=0A=
    'only-of-type':     function(nodes, formula, root) {=0A=
      var p =3D Selector.pseudos;=0A=
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), =
formula, root);=0A=
    },=0A=
=0A=
    getIndices: function(a, b, total) {=0A=
      if (a =3D=3D 0) return b > 0 ? [b] : [];=0A=
      return $R(1, total).inject([], function(memo, i) {=0A=
        if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A=
        return memo;=0A=
      });=0A=
    },=0A=
=0A=
    nth: function(nodes, formula, root, reverse, ofType) {=0A=
      if (nodes.length =3D=3D 0) return [];=0A=
      if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
      if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
      var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A=
      h.mark(nodes);=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        if (!node.parentNode._countedByPrototype) {=0A=
          h.index(node.parentNode, reverse, ofType);=0A=
          indexed.push(node.parentNode);=0A=
        }=0A=
      }=0A=
      if (formula.match(/^\d+$/)) { // just a number=0A=
        formula =3D Number(formula);=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.nodeIndex =3D=3D formula) results.push(node);=0A=
      } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // =
an+b=0A=
        if (m[1] =3D=3D "-") m[1] =3D -1;=0A=
        var a =3D m[1] ? Number(m[1]) : 1;=0A=
        var b =3D m[2] ? Number(m[2]) : 0;=0A=
        var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A=
        for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; =
i++) {=0A=
          for (var j =3D 0; j < l; j++)=0A=
            if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A=
        }=0A=
      }=0A=
      h.unmark(nodes);=0A=
      h.unmark(indexed);=0A=
      return results;=0A=
    },=0A=
=0A=
    'empty': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (node.tagName =3D=3D '!' || node.firstChild) continue;=0A=
        results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    'not': function(nodes, selector, root) {=0A=
      var h =3D Selector.handlers, selectorType, m;=0A=
      var exclusions =3D new Selector(selector).findElements(root);=0A=
      h.mark(exclusions);=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node._countedByPrototype) results.push(node);=0A=
      h.unmark(exclusions);=0A=
      return results;=0A=
    },=0A=
=0A=
    'enabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node.disabled && (!node.type || node.type !=3D=3D 'hidden'))=0A=
          results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'disabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.disabled) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'checked': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.checked) results.push(node);=0A=
      return results;=0A=
    }=0A=
  },=0A=
=0A=
  operators: {=0A=
    '=3D':  function(nv, v) { return nv =3D=3D v; },=0A=
    '!=3D': function(nv, v) { return nv !=3D v; },=0A=
    '^=3D': function(nv, v) { return nv =3D=3D v || nv && =
nv.startsWith(v); },=0A=
    '$=3D': function(nv, v) { return nv =3D=3D v || nv && =
nv.endsWith(v); },=0A=
    '*=3D': function(nv, v) { return nv =3D=3D v || nv && nv.include(v); =
},=0A=
    '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + =
' '); },=0A=
    '|=3D': function(nv, v) { return ('-' + (nv || "").toUpperCase() +=0A=
     '-').include('-' + (v || "").toUpperCase() + '-'); }=0A=
  },=0A=
=0A=
  split: function(expression) {=0A=
    var expressions =3D [];=0A=
    expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, =
function(m) {=0A=
      expressions.push(m[1].strip());=0A=
    });=0A=
    return expressions;=0A=
  },=0A=
=0A=
  matchElements: function(elements, expression) {=0A=
    var matches =3D $$(expression), h =3D Selector.handlers;=0A=
    h.mark(matches);=0A=
    for (var i =3D 0, results =3D [], element; element =3D elements[i]; =
i++)=0A=
      if (element._countedByPrototype) results.push(element);=0A=
    h.unmark(matches);=0A=
    return results;=0A=
  },=0A=
=0A=
  findElement: function(elements, expression, index) {=0A=
    if (Object.isNumber(expression)) {=0A=
      index =3D expression; expression =3D false;=0A=
    }=0A=
    return Selector.matchElements(elements, expression || '*')[index || =
0];=0A=
  },=0A=
=0A=
  findChildElements: function(element, expressions) {=0A=
    expressions =3D Selector.split(expressions.join(','));=0A=
    var results =3D [], h =3D Selector.handlers;=0A=
    for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A=
      selector =3D new Selector(expressions[i].strip());=0A=
      h.concat(results, selector.findElements(element));=0A=
    }=0A=
    return (l > 1) ? h.unique(results) : results;=0A=
  }=0A=
});=0A=
=0A=
if (Prototype.Browser.IE) {=0A=
  Object.extend(Selector.handlers, {=0A=
    concat: function(a, b) {=0A=
      for (var i =3D 0, node; node =3D b[i]; i++)=0A=
        if (node.tagName !=3D=3D "!") a.push(node);=0A=
      return a;=0A=
    },=0A=
=0A=
    unmark: function(nodes) {=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node.removeAttribute('_countedByPrototype');=0A=
      return nodes;=0A=
    }=0A=
  });=0A=
}=0A=
=0A=
function $$() {=0A=
  return Selector.findChildElements(document, $A(arguments));=0A=
}=0A=
=0A=
var Form =3D {=0A=
  reset: function(form) {=0A=
    form =3D $(form);=0A=
    form.reset();=0A=
    return form;=0A=
  },=0A=
=0A=
  serializeElements: function(elements, options) {=0A=
    if (typeof options !=3D 'object') options =3D { hash: !!options };=0A=
    else if (Object.isUndefined(options.hash)) options.hash =3D true;=0A=
    var key, value, submitted =3D false, submit =3D options.submit;=0A=
=0A=
    var data =3D elements.inject({ }, function(result, element) {=0A=
      if (!element.disabled && element.name) {=0A=
        key =3D element.name; value =3D $(element).getValue();=0A=
        if (value !=3D null && element.type !=3D 'file' && (element.type =
!=3D 'submit' || (!submitted &&=0A=
            submit !=3D=3D false && (!submit || key =3D=3D submit) && =
(submitted =3D true)))) {=0A=
          if (key in result) {=0A=
            if (!Object.isArray(result[key])) result[key] =3D =
[result[key]];=0A=
            result[key].push(value);=0A=
          }=0A=
          else result[key] =3D value;=0A=
        }=0A=
      }=0A=
      return result;=0A=
    });=0A=
=0A=
    return options.hash ? data : Object.toQueryString(data);=0A=
  }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
  serialize: function(form, options) {=0A=
    return Form.serializeElements(Form.getElements(form), options);=0A=
  },=0A=
=0A=
  getElements: function(form) {=0A=
    var elements =3D $(form).getElementsByTagName('*'),=0A=
        element,=0A=
        arr =3D [ ],=0A=
        serializers =3D Form.Element.Serializers;=0A=
    for (var i =3D 0; element =3D elements[i]; i++) {=0A=
      arr.push(element);=0A=
    }=0A=
    return arr.inject([], function(elements, child) {=0A=
      if (serializers[child.tagName.toLowerCase()])=0A=
        elements.push(Element.extend(child));=0A=
      return elements;=0A=
    })=0A=
  },=0A=
=0A=
  getInputs: function(form, typeName, name) {=0A=
    form =3D $(form);=0A=
    var inputs =3D form.getElementsByTagName('input');=0A=
=0A=
    if (!typeName && !name) return $A(inputs).map(Element.extend);=0A=
=0A=
    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {=0A=
      var input =3D inputs[i];=0A=
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))=0A=
        continue;=0A=
      matchingInputs.push(Element.extend(input));=0A=
    }=0A=
=0A=
    return matchingInputs;=0A=
  },=0A=
=0A=
  disable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('disable');=0A=
    return form;=0A=
  },=0A=
=0A=
  enable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('enable');=0A=
    return form;=0A=
  },=0A=
=0A=
  findFirstElement: function(form) {=0A=
    var elements =3D $(form).getElements().findAll(function(element) {=0A=
      return 'hidden' !=3D element.type && !element.disabled;=0A=
    });=0A=
    var firstByIndex =3D elements.findAll(function(element) {=0A=
      return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A=
    }).sortBy(function(element) { return element.tabIndex }).first();=0A=
=0A=
    return firstByIndex ? firstByIndex : elements.find(function(element) =
{=0A=
      return ['input', 'select', =
'textarea'].include(element.tagName.toLowerCase());=0A=
    });=0A=
  },=0A=
=0A=
  focusFirstElement: function(form) {=0A=
    form =3D $(form);=0A=
    form.findFirstElement().activate();=0A=
    return form;=0A=
  },=0A=
=0A=
  request: function(form, options) {=0A=
    form =3D $(form), options =3D Object.clone(options || { });=0A=
=0A=
    var params =3D options.parameters, action =3D =
form.readAttribute('action') || '';=0A=
    if (action.blank()) action =3D window.location.href;=0A=
    options.parameters =3D form.serialize(true);=0A=
=0A=
    if (params) {=0A=
      if (Object.isString(params)) params =3D params.toQueryParams();=0A=
      Object.extend(options.parameters, params);=0A=
    }=0A=
=0A=
    if (form.hasAttribute('method') && !options.method)=0A=
      options.method =3D form.method;=0A=
=0A=
    return new Ajax.Request(action, options);=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
=0A=
Form.Element =3D {=0A=
  focus: function(element) {=0A=
    $(element).focus();=0A=
    return element;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    $(element).select();=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Form.Element.Methods =3D {=0A=
=0A=
  serialize: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element.disabled && element.name) {=0A=
      var value =3D element.getValue();=0A=
      if (value !=3D undefined) {=0A=
        var pair =3D { };=0A=
        pair[element.name] =3D value;=0A=
        return Object.toQueryString(pair);=0A=
      }=0A=
    }=0A=
    return '';=0A=
  },=0A=
=0A=
  getValue: function(element) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    return Form.Element.Serializers[method](element);=0A=
  },=0A=
=0A=
  setValue: function(element, value) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    Form.Element.Serializers[method](element, value);=0A=
    return element;=0A=
  },=0A=
=0A=
  clear: function(element) {=0A=
    $(element).value =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  present: function(element) {=0A=
    return $(element).value !=3D '';=0A=
  },=0A=
=0A=
  activate: function(element) {=0A=
    element =3D $(element);=0A=
    try {=0A=
      element.focus();=0A=
      if (element.select && (element.tagName.toLowerCase() !=3D 'input' =
||=0A=
          !['button', 'reset', 'submit'].include(element.type)))=0A=
        element.select();=0A=
    } catch (e) { }=0A=
    return element;=0A=
  },=0A=
=0A=
  disable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D true;=0A=
    return element;=0A=
  },=0A=
=0A=
  enable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D false;=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Field =3D Form.Element;=0A=
=0A=
var $F =3D Form.Element.Methods.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element.Serializers =3D {=0A=
  input: function(element, value) {=0A=
    switch (element.type.toLowerCase()) {=0A=
      case 'checkbox':=0A=
      case 'radio':=0A=
        return Form.Element.Serializers.inputSelector(element, value);=0A=
      default:=0A=
        return Form.Element.Serializers.textarea(element, value);=0A=
    }=0A=
  },=0A=
=0A=
  inputSelector: function(element, value) {=0A=
    if (Object.isUndefined(value)) return element.checked ? =
element.value : null;=0A=
    else element.checked =3D !!value;=0A=
  },=0A=
=0A=
  textarea: function(element, value) {=0A=
    if (Object.isUndefined(value)) return element.value;=0A=
    else element.value =3D value;=0A=
  },=0A=
=0A=
  select: function(element, value) {=0A=
    if (Object.isUndefined(value))=0A=
      return this[element.type =3D=3D 'select-one' ?=0A=
        'selectOne' : 'selectMany'](element);=0A=
    else {=0A=
      var opt, currentValue, single =3D !Object.isArray(value);=0A=
      for (var i =3D 0, length =3D element.length; i < length; i++) {=0A=
        opt =3D element.options[i];=0A=
        currentValue =3D this.optionValue(opt);=0A=
        if (single) {=0A=
          if (currentValue =3D=3D value) {=0A=
            opt.selected =3D true;=0A=
            return;=0A=
          }=0A=
        }=0A=
        else opt.selected =3D value.include(currentValue);=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  selectOne: function(element) {=0A=
    var index =3D element.selectedIndex;=0A=
    return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;=0A=
  },=0A=
=0A=
  selectMany: function(element) {=0A=
    var values, length =3D element.length;=0A=
    if (!length) return null;=0A=
=0A=
    for (var i =3D 0, values =3D []; i < length; i++) {=0A=
      var opt =3D element.options[i];=0A=
      if (opt.selected) values.push(this.optionValue(opt));=0A=
    }=0A=
    return values;=0A=
  },=0A=
=0A=
  optionValue: function(opt) {=0A=
    return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
=0A=
Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A=
  initialize: function($super, element, frequency, callback) {=0A=
    $super(callback, frequency);=0A=
    this.element   =3D $(element);=0A=
    this.lastValue =3D this.getValue();=0A=
  },=0A=
=0A=
  execute: function() {=0A=
    var value =3D this.getValue();=0A=
    if (Object.isString(this.lastValue) && Object.isString(value) ?=0A=
        this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value)) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D Class.create({=0A=
  initialize: function(element, callback) {=0A=
    this.element  =3D $(element);=0A=
    this.callback =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A=
      this.registerFormCallbacks();=0A=
    else=0A=
      this.registerCallback(this.element);=0A=
  },=0A=
=0A=
  onElementEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  },=0A=
=0A=
  registerFormCallbacks: function() {=0A=
    Form.getElements(this.element).each(this.registerCallback, this);=0A=
  },=0A=
=0A=
  registerCallback: function(element) {=0A=
    if (element.type) {=0A=
      switch (element.type.toLowerCase()) {=0A=
        case 'checkbox':=0A=
        case 'radio':=0A=
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
        default:=0A=
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
      }=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
(function() {=0A=
=0A=
  var Event =3D {=0A=
    KEY_BACKSPACE: 8,=0A=
    KEY_TAB:       9,=0A=
    KEY_RETURN:   13,=0A=
    KEY_ESC:      27,=0A=
    KEY_LEFT:     37,=0A=
    KEY_UP:       38,=0A=
    KEY_RIGHT:    39,=0A=
    KEY_DOWN:     40,=0A=
    KEY_DELETE:   46,=0A=
    KEY_HOME:     36,=0A=
    KEY_END:      35,=0A=
    KEY_PAGEUP:   33,=0A=
    KEY_PAGEDOWN: 34,=0A=
    KEY_INSERT:   45,=0A=
=0A=
    cache: {}=0A=
  };=0A=
=0A=
  var _isButton;=0A=
  if (Prototype.Browser.IE) {=0A=
    var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A=
    _isButton =3D function(event, code) {=0A=
      return event.button =3D=3D=3D buttonMap[code];=0A=
    };=0A=
  } else if (Prototype.Browser.WebKit) {=0A=
    _isButton =3D function(event, code) {=0A=
      switch (code) {=0A=
        case 0: return event.which =3D=3D 1 && !event.metaKey;=0A=
        case 1: return event.which =3D=3D 1 && event.metaKey;=0A=
        default: return false;=0A=
      }=0A=
    };=0A=
  } else {=0A=
    _isButton =3D function(event, code) {=0A=
      return event.which ? (event.which =3D=3D=3D code + 1) : =
(event.button =3D=3D=3D code);=0A=
    };=0A=
  }=0A=
=0A=
  function isLeftClick(event)   { return _isButton(event, 0) }=0A=
=0A=
  function isMiddleClick(event) { return _isButton(event, 1) }=0A=
=0A=
  function isRightClick(event)  { return _isButton(event, 2) }=0A=
=0A=
  function element(event) {=0A=
    event =3D Event.extend(event);=0A=
=0A=
    var node =3D event.target, type =3D event.type,=0A=
     currentTarget =3D event.currentTarget;=0A=
=0A=
    if (currentTarget && currentTarget.tagName) {=0A=
      if (type =3D=3D=3D 'load' || type =3D=3D=3D 'error' ||=0A=
        (type =3D=3D=3D 'click' && currentTarget.tagName.toLowerCase() =
=3D=3D=3D 'input'=0A=
          && currentTarget.type =3D=3D=3D 'radio'))=0A=
            node =3D currentTarget;=0A=
    }=0A=
=0A=
    if (node.nodeType =3D=3D Node.TEXT_NODE)=0A=
      node =3D node.parentNode;=0A=
=0A=
    return Element.extend(node);=0A=
  }=0A=
=0A=
  function findElement(event, expression) {=0A=
    var element =3D Event.element(event);=0A=
    if (!expression) return element;=0A=
    var elements =3D [element].concat(element.ancestors());=0A=
    return Selector.findElement(elements, expression, 0);=0A=
  }=0A=
=0A=
  function pointer(event) {=0A=
    return { x: pointerX(event), y: pointerY(event) };=0A=
  }=0A=
=0A=
  function pointerX(event) {=0A=
    var docElement =3D document.documentElement,=0A=
     body =3D document.body || { scrollLeft: 0 };=0A=
=0A=
    return event.pageX || (event.clientX +=0A=
      (docElement.scrollLeft || body.scrollLeft) -=0A=
      (docElement.clientLeft || 0));=0A=
  }=0A=
=0A=
  function pointerY(event) {=0A=
    var docElement =3D document.documentElement,=0A=
     body =3D document.body || { scrollTop: 0 };=0A=
=0A=
    return  event.pageY || (event.clientY +=0A=
       (docElement.scrollTop || body.scrollTop) -=0A=
       (docElement.clientTop || 0));=0A=
  }=0A=
=0A=
=0A=
  function stop(event) {=0A=
    Event.extend(event);=0A=
    event.preventDefault();=0A=
    event.stopPropagation();=0A=
=0A=
    event.stopped =3D true;=0A=
  }=0A=
=0A=
  Event.Methods =3D {=0A=
    isLeftClick: isLeftClick,=0A=
    isMiddleClick: isMiddleClick,=0A=
    isRightClick: isRightClick,=0A=
=0A=
    element: element,=0A=
    findElement: findElement,=0A=
=0A=
    pointer: pointer,=0A=
    pointerX: pointerX,=0A=
    pointerY: pointerY,=0A=
=0A=
    stop: stop=0A=
  };=0A=
=0A=
=0A=
  var methods =3D Object.keys(Event.Methods).inject({ }, function(m, =
name) {=0A=
    m[name] =3D Event.Methods[name].methodize();=0A=
    return m;=0A=
  });=0A=
=0A=
  if (Prototype.Browser.IE) {=0A=
    function _relatedTarget(event) {=0A=
      var element;=0A=
      switch (event.type) {=0A=
        case 'mouseover': element =3D event.fromElement; break;=0A=
        case 'mouseout':  element =3D event.toElement;   break;=0A=
        default: return null;=0A=
      }=0A=
      return Element.extend(element);=0A=
    }=0A=
=0A=
    Object.extend(methods, {=0A=
      stopPropagation: function() { this.cancelBubble =3D true },=0A=
      preventDefault:  function() { this.returnValue =3D false },=0A=
      inspect: function() { return '[object Event]' }=0A=
    });=0A=
=0A=
    Event.extend =3D function(event, element) {=0A=
      if (!event) return false;=0A=
      if (event._extendedByPrototype) return event;=0A=
=0A=
      event._extendedByPrototype =3D Prototype.emptyFunction;=0A=
      var pointer =3D Event.pointer(event);=0A=
=0A=
      Object.extend(event, {=0A=
        target: event.srcElement || element,=0A=
        relatedTarget: _relatedTarget(event),=0A=
        pageX:  pointer.x,=0A=
        pageY:  pointer.y=0A=
      });=0A=
=0A=
      return Object.extend(event, methods);=0A=
    };=0A=
  } else {=0A=
    Event.prototype =3D window.Event.prototype || =
document.createEvent('HTMLEvents').__proto__;=0A=
    Object.extend(Event.prototype, methods);=0A=
    Event.extend =3D Prototype.K;=0A=
  }=0A=
=0A=
  function _createResponder(element, eventName, handler) {=0A=
    var registry =3D Element.retrieve(element, =
'prototype_event_registry');=0A=
=0A=
    if (Object.isUndefined(registry)) {=0A=
      CACHE.push(element);=0A=
      registry =3D Element.retrieve(element, 'prototype_event_registry', =
$H());=0A=
    }=0A=
=0A=
    var respondersForEvent =3D registry.get(eventName);=0A=
    if (Object.isUndefined()) {=0A=
      respondersForEvent =3D [];=0A=
      registry.set(eventName, respondersForEvent);=0A=
    }=0A=
=0A=
    if (respondersForEvent.pluck('handler').include(handler)) return =
false;=0A=
=0A=
    var responder;=0A=
    if (eventName.include(":")) {=0A=
      responder =3D function(event) {=0A=
        if (Object.isUndefined(event.eventName))=0A=
          return false;=0A=
=0A=
        if (event.eventName !=3D=3D eventName)=0A=
          return false;=0A=
=0A=
        Event.extend(event, element);=0A=
        handler.call(element, event);=0A=
      };=0A=
    } else {=0A=
      if (!Prototype.Browser.IE &&=0A=
       (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D =
"mouseleave")) {=0A=
        if (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D =
"mouseleave") {=0A=
          responder =3D function(event) {=0A=
            Event.extend(event, element);=0A=
=0A=
            var parent =3D event.relatedTarget;=0A=
            while (parent && parent !=3D=3D element) {=0A=
              try { parent =3D parent.parentNode; }=0A=
              catch(e) { parent =3D element; }=0A=
            }=0A=
=0A=
            if (parent =3D=3D=3D element) return;=0A=
=0A=
            handler.call(element, event);=0A=
          };=0A=
        }=0A=
      } else {=0A=
        responder =3D function(event) {=0A=
          Event.extend(event, element);=0A=
          handler.call(element, event);=0A=
        };=0A=
      }=0A=
    }=0A=
=0A=
    responder.handler =3D handler;=0A=
    respondersForEvent.push(responder);=0A=
    return responder;=0A=
  }=0A=
=0A=
  function _destroyCache() {=0A=
    for (var i =3D 0, length =3D CACHE.length; i < length; i++) {=0A=
      Event.stopObserving(CACHE[i]);=0A=
      CACHE[i] =3D null;=0A=
    }=0A=
  }=0A=
=0A=
  var CACHE =3D [];=0A=
=0A=
  if (Prototype.Browser.IE)=0A=
    window.attachEvent('onunload', _destroyCache);=0A=
=0A=
  if (Prototype.Browser.WebKit)=0A=
    window.addEventListener('unload', Prototype.emptyFunction, false);=0A=
=0A=
=0A=
  var _getDOMEventName =3D Prototype.K;=0A=
=0A=
  if (!Prototype.Browser.IE) {=0A=
    _getDOMEventName =3D function(eventName) {=0A=
      var translations =3D { mouseenter: "mouseover", mouseleave: =
"mouseout" };=0A=
      return eventName in translations ? translations[eventName] : =
eventName;=0A=
    };=0A=
  }=0A=
=0A=
  function observe(element, eventName, handler) {=0A=
    element =3D $(element);=0A=
=0A=
    var responder =3D _createResponder(element, eventName, handler);=0A=
=0A=
    if (!responder) return element;=0A=
=0A=
    if (eventName.include(':')) {=0A=
      if (element.addEventListener)=0A=
        element.addEventListener("dataavailable", responder, false);=0A=
      else {=0A=
        element.attachEvent("ondataavailable", responder);=0A=
        element.attachEvent("onfilterchange", responder);=0A=
      }=0A=
    } else {=0A=
      var actualEventName =3D _getDOMEventName(eventName);=0A=
=0A=
      if (element.addEventListener)=0A=
        element.addEventListener(actualEventName, responder, false);=0A=
      else=0A=
        element.attachEvent("on" + actualEventName, responder);=0A=
    }=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function stopObserving(element, eventName, handler) {=0A=
    element =3D $(element);=0A=
=0A=
    var registry =3D Element.retrieve(element, =
'prototype_event_registry');=0A=
=0A=
    if (Object.isUndefined(registry)) return element;=0A=
=0A=
    if (eventName && !handler) {=0A=
      var responders =3D registry.get(eventName);=0A=
=0A=
      if (Object.isUndefined(responders)) return element;=0A=
=0A=
      responders.each( function(r) {=0A=
        Element.stopObserving(element, eventName, r.handler);=0A=
      });=0A=
      return element;=0A=
    } else if (!eventName) {=0A=
      registry.each( function(pair) {=0A=
        var eventName =3D pair.key, responders =3D pair.value;=0A=
=0A=
        responders.each( function(r) {=0A=
          Element.stopObserving(element, eventName, r.handler);=0A=
        });=0A=
      });=0A=
      return element;=0A=
    }=0A=
=0A=
    var responders =3D registry.get(eventName);=0A=
=0A=
    if (!responders) return;=0A=
=0A=
    var responder =3D responders.find( function(r) { return r.handler =
=3D=3D=3D handler; });=0A=
    if (!responder) return element;=0A=
=0A=
    var actualEventName =3D _getDOMEventName(eventName);=0A=
=0A=
    if (eventName.include(':')) {=0A=
      if (element.removeEventListener)=0A=
        element.removeEventListener("dataavailable", responder, false);=0A=
      else {=0A=
        element.detachEvent("ondataavailable", responder);=0A=
        element.detachEvent("onfilterchange",  responder);=0A=
      }=0A=
    } else {=0A=
      if (element.removeEventListener)=0A=
        element.removeEventListener(actualEventName, responder, false);=0A=
      else=0A=
        element.detachEvent('on' + actualEventName, responder);=0A=
    }=0A=
=0A=
    registry.set(eventName, responders.without(responder));=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function fire(element, eventName, memo, bubble) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Object.isUndefined(bubble))=0A=
      bubble =3D true;=0A=
=0A=
    if (element =3D=3D document && document.createEvent && =
!element.dispatchEvent)=0A=
      element =3D document.documentElement;=0A=
=0A=
    var event;=0A=
    if (document.createEvent) {=0A=
      event =3D document.createEvent('HTMLEvents');=0A=
      event.initEvent('dataavailable', true, true);=0A=
    } else {=0A=
      event =3D document.createEventObject();=0A=
      event.eventType =3D bubble ? 'ondataavailable' : 'onfilterchange';=0A=
    }=0A=
=0A=
    event.eventName =3D eventName;=0A=
    event.memo =3D memo || { };=0A=
=0A=
    if (document.createEvent)=0A=
      element.dispatchEvent(event);=0A=
    else=0A=
      element.fireEvent(event.eventType, event);=0A=
=0A=
    return Event.extend(event);=0A=
  }=0A=
=0A=
=0A=
  Object.extend(Event, Event.Methods);=0A=
=0A=
  Object.extend(Event, {=0A=
    fire:          fire,=0A=
    observe:       observe,=0A=
    stopObserving: stopObserving=0A=
  });=0A=
=0A=
  Element.addMethods({=0A=
    fire:          fire,=0A=
=0A=
    observe:       observe,=0A=
=0A=
    stopObserving: stopObserving=0A=
  });=0A=
=0A=
  Object.extend(document, {=0A=
    fire:          fire.methodize(),=0A=
=0A=
    observe:       observe.methodize(),=0A=
=0A=
    stopObserving: stopObserving.methodize(),=0A=
=0A=
    loaded:        false=0A=
  });=0A=
=0A=
  if (window.Event) Object.extend(window.Event, Event);=0A=
  else window.Event =3D Event;=0A=
})();=0A=
=0A=
(function() {=0A=
  /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A=
     Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */=0A=
=0A=
  var timer;=0A=
=0A=
  function fireContentLoadedEvent() {=0A=
    if (document.loaded) return;=0A=
    if (timer) window.clearTimeout(timer);=0A=
    document.loaded =3D true;=0A=
    document.fire('dom:loaded');=0A=
  }=0A=
=0A=
  function checkReadyState() {=0A=
    if (document.readyState =3D=3D=3D 'complete') {=0A=
      document.stopObserving('readystatechange', checkReadyState);=0A=
      fireContentLoadedEvent();=0A=
    }=0A=
  }=0A=
=0A=
  function pollDoScroll() {=0A=
    try { document.documentElement.doScroll('left'); }=0A=
    catch(e) {=0A=
      timer =3D pollDoScroll.defer();=0A=
      return;=0A=
    }=0A=
    fireContentLoadedEvent();=0A=
  }=0A=
=0A=
  if (document.addEventListener) {=0A=
    document.addEventListener('DOMContentLoaded', =
fireContentLoadedEvent, false);=0A=
  } else {=0A=
    document.observe('readystatechange', checkReadyState);=0A=
    if (window =3D=3D top)=0A=
      timer =3D pollDoScroll.defer();=0A=
  }=0A=
=0A=
  Event.observe(window, 'load', fireContentLoadedEvent);=0A=
})();=0A=
=0A=
Element.addMethods();=0A=
=0A=
/*------------------------------- DEPRECATED =
-------------------------------*/=0A=
=0A=
Hash.toQueryString =3D Object.toQueryString;=0A=
=0A=
var Toggle =3D { display: Element.toggle };=0A=
=0A=
Element.Methods.childOf =3D Element.Methods.descendantOf;=0A=
=0A=
var Insertion =3D {=0A=
  Before: function(element, content) {=0A=
    return Element.insert(element, {before:content});=0A=
  },=0A=
=0A=
  Top: function(element, content) {=0A=
    return Element.insert(element, {top:content});=0A=
  },=0A=
=0A=
  Bottom: function(element, content) {=0A=
    return Element.insert(element, {bottom:content});=0A=
  },=0A=
=0A=
  After: function(element, content) {=0A=
    return Element.insert(element, {after:content});=0A=
  }=0A=
};=0A=
=0A=
var $continue =3D new Error('"throw $continue" is deprecated, use =
"return" instead');=0A=
=0A=
var Position =3D {=0A=
  includeScrollOffsets: false,=0A=
=0A=
  prepare: function() {=0A=
    this.deltaX =3D  window.pageXOffset=0A=
                || document.documentElement.scrollLeft=0A=
                || document.body.scrollLeft=0A=
                || 0;=0A=
    this.deltaY =3D  window.pageYOffset=0A=
                || document.documentElement.scrollTop=0A=
                || document.body.scrollTop=0A=
                || 0;=0A=
  },=0A=
=0A=
  within: function(element, x, y) {=0A=
    if (this.includeScrollOffsets)=0A=
      return this.withinIncludingScrolloffsets(element, x, y);=0A=
    this.xcomp =3D x;=0A=
    this.ycomp =3D y;=0A=
    this.offset =3D Element.cumulativeOffset(element);=0A=
=0A=
    return (y >=3D this.offset[1] &&=0A=
            y <  this.offset[1] + element.offsetHeight &&=0A=
            x >=3D this.offset[0] &&=0A=
            x <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  withinIncludingScrolloffsets: function(element, x, y) {=0A=
    var offsetcache =3D Element.cumulativeScrollOffset(element);=0A=
=0A=
    this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
    this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
    this.offset =3D Element.cumulativeOffset(element);=0A=
=0A=
    return (this.ycomp >=3D this.offset[1] &&=0A=
            this.ycomp <  this.offset[1] + element.offsetHeight &&=0A=
            this.xcomp >=3D this.offset[0] &&=0A=
            this.xcomp <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  overlap: function(mode, element) {=0A=
    if (!mode) return 0;=0A=
    if (mode =3D=3D 'vertical')=0A=
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A=
        element.offsetHeight;=0A=
    if (mode =3D=3D 'horizontal')=0A=
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A=
        element.offsetWidth;=0A=
  },=0A=
=0A=
=0A=
  cumulativeOffset: Element.Methods.cumulativeOffset,=0A=
=0A=
  positionedOffset: Element.Methods.positionedOffset,=0A=
=0A=
  absolutize: function(element) {=0A=
    Position.prepare();=0A=
    return Element.absolutize(element);=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    Position.prepare();=0A=
    return Element.relativize(element);=0A=
  },=0A=
=0A=
  realOffset: Element.Methods.cumulativeScrollOffset,=0A=
=0A=
  offsetParent: Element.Methods.getOffsetParent,=0A=
=0A=
  page: Element.Methods.viewportOffset,=0A=
=0A=
  clone: function(source, target, options) {=0A=
    options =3D options || { };=0A=
    return Element.clonePosition(target, source, options);=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!document.getElementsByClassName) document.getElementsByClassName =
=3D function(instanceMethods){=0A=
  function iter(name) {=0A=
    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' =
" + name + " ')]";=0A=
  }=0A=
=0A=
  instanceMethods.getElementsByClassName =3D =
Prototype.BrowserFeatures.XPath ?=0A=
  function(element, className) {=0A=
    className =3D className.toString().strip();=0A=
    var cond =3D /\s/.test(className) ? $w(className).map(iter).join('') =
: iter(className);=0A=
    return cond ? document._getElementsByXPath('.//*' + cond, element) : =
[];=0A=
  } : function(element, className) {=0A=
    className =3D className.toString().strip();=0A=
    var elements =3D [], classNames =3D (/\s/.test(className) ? =
$w(className) : null);=0A=
    if (!classNames && !className) return elements;=0A=
=0A=
    var nodes =3D $(element).getElementsByTagName('*');=0A=
    className =3D ' ' + className + ' ';=0A=
=0A=
    for (var i =3D 0, child, cn; child =3D nodes[i]; i++) {=0A=
      if (child.className && (cn =3D ' ' + child.className + ' ') && =
(cn.include(className) ||=0A=
          (classNames && classNames.all(function(name) {=0A=
            return !name.toString().blank() && cn.include(' ' + name + ' =
');=0A=
          }))))=0A=
        elements.push(Element.extend(child));=0A=
    }=0A=
    return elements;=0A=
  };=0A=
=0A=
  return function(className, parentElement) {=0A=
    return $(parentElement || =
document.body).getElementsByClassName(className);=0A=
  };=0A=
}(Element.Methods);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.ClassNames =3D Class.create();=0A=
Element.ClassNames.prototype =3D {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    this.element.className.split(/\s+/).select(function(name) {=0A=
      return name.length > 0;=0A=
    })._each(iterator);=0A=
  },=0A=
=0A=
  set: function(className) {=0A=
    this.element.className =3D className;=0A=
  },=0A=
=0A=
  add: function(classNameToAdd) {=0A=
    if (this.include(classNameToAdd)) return;=0A=
    this.set($A(this).concat(classNameToAdd).join(' '));=0A=
  },=0A=
=0A=
  remove: function(classNameToRemove) {=0A=
    if (!this.include(classNameToRemove)) return;=0A=
    this.set($A(this).without(classNameToRemove).join(' '));=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return $A(this).join(' ');=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.ClassNames.prototype, Enumerable);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=

------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/plugins/zd-scribd-ipaper/assets/lightview2.5/js/scriptaculous.js?load=effects,builder

// script.aculo.us scriptaculous.js v1.8.2, Tue Nov 18 18:30:58 +0100 =
2008=0A=
=0A=
// Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
//=0A=
// Permission is hereby granted, free of charge, to any person obtaining=0A=
// a copy of this software and associated documentation files (the=0A=
// "Software"), to deal in the Software without restriction, including=0A=
// without limitation the rights to use, copy, modify, merge, publish,=0A=
// distribute, sublicense, and/or sell copies of the Software, and to=0A=
// permit persons to whom the Software is furnished to do so, subject to=0A=
// the following conditions:=0A=
//=0A=
// The above copyright notice and this permission notice shall be=0A=
// included in all copies or substantial portions of the Software.=0A=
//=0A=
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,=0A=
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF=0A=
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND=0A=
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE=0A=
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION=0A=
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION=0A=
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.=0A=
//=0A=
// For details, see the script.aculo.us web site: http://script.aculo.us/=0A=
=0A=
var Scriptaculous =3D {=0A=
  Version: '1.8.2',=0A=
  require: function(libraryName) {=0A=
    // inserting via DOM fails in Safari 2.0, so brute force approach=0A=
    document.write('<script type=3D"text/javascript" =
src=3D"'+libraryName+'"><\/script>');=0A=
  },=0A=
  REQUIRED_PROTOTYPE: '1.6.0.3',=0A=
  load: function() {=0A=
    function convertVersionString(versionString) {=0A=
      var v =3D versionString.replace(/_.*|\./g, '');=0A=
      v =3D parseInt(v + '0'.times(4-v.length));=0A=
      return versionString.indexOf('_') > -1 ? v-1 : v;=0A=
    }=0A=
=0A=
    if((typeof Prototype=3D=3D'undefined') ||=0A=
       (typeof Element =3D=3D 'undefined') ||=0A=
       (typeof Element.Methods=3D=3D'undefined') ||=0A=
       (convertVersionString(Prototype.Version) <=0A=
        convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))=0A=
       throw("script.aculo.us requires the Prototype JavaScript =
framework >=3D " +=0A=
        Scriptaculous.REQUIRED_PROTOTYPE);=0A=
=0A=
    var js =3D /scriptaculous\.js(\?.*)?$/;=0A=
    $$('head script[src]').findAll(function(s) {=0A=
      return s.src.match(js);=0A=
    }).each(function(s) {=0A=
      var path =3D s.src.replace(js, ''),=0A=
      includes =3D s.src.match(/\?.*load=3D([a-z,]*)/);=0A=
      (includes ? includes[1] : =
'builder,effects,dragdrop,controls,slider,sound').split(',').each(=0A=
       function(include) { Scriptaculous.require(path+include+'.js') });=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Scriptaculous.load();
------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.seletlumieretv.org/blogue/wp-content/plugins/zd-scribd-ipaper/assets/lightview2.5/js/lightview.js

//  Lightview 2.5 - 17-5-2009=0A=
//  Copyright (c) 2008-2009 Nick Stakenburg =
(http://www.nickstakenburg.com)=0A=
//=0A=
//  Licensed under a Creative Commons Attribution-Noncommercial-No =
Derivative Works 3.0 Unported License=0A=
//  http://creativecommons.org/licenses/by-nc-nd/3.0/=0A=
=0A=
//  More information on this project:=0A=
//  http://www.nickstakenburg.com/projects/lightview/=0A=
=0A=
var Lightview =3D {=0A=
  Version: '2.5',=0A=
=0A=
  // Configuration=0A=
  options: {=0A=
    backgroundColor: '#ffffff',                            // Background =
color of the view=0A=
    border: 12,                                            // Size of =
the border=0A=
    buttons: {=0A=
      opacity: {                                           // Opacity of =
inner buttons=0A=
        disabled: 0.4,=0A=
        normal: 0.75,=0A=
        hover: 1=0A=
      },=0A=
      side: { display: true },                             // Toggle =
side buttons=0A=
      innerPreviousNext: { display: true },                // Toggle the =
inner previous and next button=0A=
      slideshow: { display: true },                        // Toggle =
slideshow button=0A=
      topclose: { side: 'right' }                          // 'right' or =
'left'                    =0A=
    },=0A=
    controller: {                                          // The =
controller is used on sets=0A=
      backgroundColor: '#4d4d4d',=0A=
      border: 6,=0A=
      buttons: {=0A=
        innerPreviousNext: true,=0A=
        side: false=0A=
      },=0A=
      margin: 18,=0A=
      opacity: 0.7,=0A=
      radius: 6,=0A=
      setNumberTemplate: '#{position} of #{total}'=0A=
    },=0A=
    cyclic: false,                                         // Makes =
galleries cyclic, no end/begin=0A=
    images: '../images/lightview/',                        // The =
directory of the images, from this file=0A=
    imgNumberTemplate: 'Image #{position} of #{total}',    // Want a =
different language? change it here=0A=
    keyboard: true,                                        // Toggle =
keyboard buttons=0A=
    menubarPadding: 6,                                     // Space =
between menubar and content in px=0A=
    overlay: {                                             // Overlay=0A=
      background: '#000',                                  // Background =
color, Mac Firefox & Mac Safari use overlay.png=0A=
      close: true,=0A=
      opacity: 0.85,=0A=
      display: true=0A=
    },=0A=
    preloadHover: false,                                   // Preload =
images on mouseover=0A=
    radius: 12,                                            // Corner =
radius of the border=0A=
    removeTitles: true,                                    // Set to =
false if you want to keep title attributes intact=0A=
    resizeDuration: 0.45,                                  // The =
duration of the resize effect in seconds=0A=
    slideshowDelay: 5,                                     // Delay in =
seconds before showing the next slide=0A=
    titleSplit: '::',                                      // The =
characters you want to split title with=0A=
    transition: function(pos) {                            // Or your =
own transition=0A=
      return ((pos/=3D0.5) < 1 ? 0.5 * Math.pow(pos, 4) :=0A=
        -0.5 * ((pos-=3D2) * Math.pow(pos,3) - 2));=0A=
    },=0A=
    viewport: true,                                        // Stay =
within the viewport, true is recommended=0A=
    zIndex: 5000,                                          // zIndex of =
#lightview, #overlay is this -1=0A=
=0A=
    startDimensions: {                                     // Dimensions =
Lightview starts at=0A=
      width: 100,=0A=
      height: 100=0A=
    },=0A=
    closeDimensions: {                                     // Modify if =
you've changed the close button images=0A=
      large: { width: 77, height: 22 },=0A=
      small: { width: 25, height: 22 }=0A=
    },=0A=
    sideDimensions: {                                      // Modify if =
you've changed the side button images=0A=
      width: 16,=0A=
      height: 22=0A=
    },=0A=
=0A=
    defaultOptions : {                                     // Default =
options for each type of view=0A=
      image: {=0A=
        menubar: 'bottom',=0A=
        closeButton: 'large'=0A=
      },=0A=
      gallery: {=0A=
        menubar: 'bottom',=0A=
        closeButton: 'large'=0A=
      },=0A=
      ajax:   {=0A=
        width: 400,=0A=
        height: 300,=0A=
        menubar: 'top',=0A=
        closeButton: 'small',=0A=
        overflow: 'auto'=0A=
      },=0A=
      iframe: {=0A=
        width: 400,=0A=
        height: 300,=0A=
        menubar: 'top',=0A=
        scrolling: true,=0A=
        closeButton: 'small'=0A=
      },=0A=
      inline: {=0A=
        width: 400,=0A=
        height: 300,=0A=
        menubar: 'top',=0A=
        closeButton: 'small',=0A=
        overflow: 'auto'=0A=
      },=0A=
      flash: {=0A=
        width: 400,=0A=
        height: 300,=0A=
        menubar: 'bottom',=0A=
        closeButton: 'large'=0A=
      },=0A=
      quicktime: {=0A=
        width: 480,=0A=
        height: 220,=0A=
        autoplay: true,=0A=
        controls: true,=0A=
        closeButton: 'large'=0A=
      }=0A=
    }=0A=
  },=0A=
  classids: {=0A=
    quicktime: 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',=0A=
    flash: 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'=0A=
  },=0A=
  codebases: {=0A=
    quicktime: =
'http://www.apple.com/qtactivex/qtplugin.cab#version=3D7,5,5,0',=0A=
    flash: =
'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#ve=
rsion=3D9,0,115,0'=0A=
  },=0A=
  errors: {=0A=
    requiresPlugin: "<div class=3D'message'> The content your are =
attempting to view requires the <span class=3D'type'>#{type}</span> =
plugin.</div><div class=3D'pluginspage'><p>Please download and install =
the required plugin from:</p><a href=3D'#{pluginspage}' =
target=3D'_blank'>#{pluginspage}</a></div>"=0A=
  },=0A=
  mimetypes: {=0A=
    quicktime: 'video/quicktime',=0A=
    flash: 'application/x-shockwave-flash'=0A=
  },=0A=
  pluginspages: {=0A=
    quicktime: 'http://www.apple.com/quicktime/download',=0A=
    flash: 'http://www.adobe.com/go/getflashplayer'=0A=
  },=0A=
  // used with auto detection=0A=
  typeExtensions: {=0A=
    flash: 'swf',=0A=
    image: 'bmp gif jpeg jpg png',=0A=
    iframe: 'asp aspx cgi cfm htm html jsp php pl php3 php4 php5 phtml =
rb rhtml shtml txt',=0A=
    quicktime: 'avi mov mpg mpeg movie'=0A=
  }=0A=
};=0A=
=0A=
eval(function(p,a,c,k,e,r){e=3Dfunction(c){return(c<a?'':e(parseInt(c/a))=
)+((c=3Dc%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace=
(/^/,String)){while(c--)r[e(c)]=3Dk[c]||e(c);k=3D[function(e){return =
r[e]}];e=3Dfunction(){return'\\w+'};c=3D1};while(c--)if(k[c])p=3Dp.replac=
e(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(u(){G =
l=3D!!1d.8P("3j").5h,2H=3D1l.1T.2I&&(u(a){G b=3DE 4p("8Q =
([\\\\d.]+)").8R(a);O =
b?3J(b[1]):-1})(35.4q)<7,2t=3D(1l.1T.5i&&!1d.3K),2R=3D35.4q.22("6x")>-1&&=
3J(35.4q.3L(/6x[\\/\\s](\\d+)/)[1])<3,4r=3D!!35.4q.3L(/8S/i)&&(2t||2R);18=
.1o(11,{8T:"1.6.0.3",8U:"1.8.2",V:{1b:"5j",3k:"Y"},5k:u(a){q((8V =
1J[a]=3D=3D"8W")||(n.5l(1J[a].8X)<n.5l(n["6y"+a]))){8Y("11 8Z "+a+" >=3D =
"+n["6y"+a]);}},5l:u(a){G =
v=3Da.2S(/6z.*|\\./g,"");v=3D4s(v+"0".90(4-v.1s));O =
a.22("6z")>-1?v-1:v},5m:u(){n.5k("1l");q(!!1J.17&&!1J.6A){n.5k("6A")}q(/^=
(91?:\\/\\/|\\/)/.4t(n.F.1f)){n.1f=3Dn.F.1f}10{G =
a=3D/Y(?:-[\\w\\d.]+)?\\.92(.*)/;n.1f=3D(($$("93 94[1x]").6B(u(s){O =
s.1x.3L(a)})||{}).1x||"").2S(a,"")+n.F.1f}q(!l){q(1d.5n>=3D8&&!1d.6C.3l){=
1d.6C.95("3l","96:97-98-99:9a","#5o#6D")}10{1d.1i("5p:3M",u(){1d.9b().9c(=
"3l\\\\:*","9d: =
3N(#5o#6D);")})}}},5q:u(){n.1C=3Dn.F.1C;n.W=3D(n.1C>n.F.W)?n.1C:n.F.W;n.1=
K=3Dn.F.1K;n.1U=3Dn.F.1U;n.4u()}});18.1o(11,{6E:14,2g:u(){G =
a=3D3O.9e;a.5r++;q(a.5r=3D=3Dn.6E){$(1d.29).5s("Y:3M")}}});11.2g.5r=3D0;1=
8.1o(11,{4u:u(){n.Y=3DE N("U",{2T:"Y"});G =
d,3m,4v=3D1V(n.1U);q(2t){n.Y.19=3Du(){n.I("1j:-3n;1e:-3n;1p:1W;");O =
n};n.Y.1c=3Du(){n.I("1p:1y");O =
n};n.Y.1y=3Du(){O(n.1L("1p")=3D=3D"1y"&&3J(n.1L("1e").2S("M",""))>-6F)}}$=
(1d.29).Q(n.2u=3DE =
N("U",{2T:"6G"}).I({2U:n.F.2U-1,1b:(!(2R||2H))?"4w":"36",2a:4r?"3N("+n.1f=
+"2u.1w) 1e 1j =
3o":n.F.2u.2a}).1q(4r?1:n.F.2u.1F).19()).Q(n.Y.I({2U:n.F.2U,1e:"-3n",1j:"=
-3n"}).1q(0).Q(n.6H=3DE N("U",{R:"9f"}).Q(n.3P=3DE =
N("3p",{R:"9g"}).Q(n.6I=3DE =
N("1D",{R:"9h"}).I(3m=3D18.1o({1M:-1*n.1U.H+"M"},4v)).Q(n.4x=3DE =
N("U",{R:"5t"}).I(18.1o({1M:n.1U.H+"M"},4v)).Q(E =
N("U",{R:"1G"})))).Q(n.6J=3DE =
N("1D",{R:"9i"}).I(18.1o({6K:-1*n.1U.H+"M"},4v)).Q(n.4y=3DE =
N("U",{R:"5t"}).I(3m).Q(E N("U",{R:"1G"}))))).Q(n.6L=3DE =
N("U",{R:"6M"}).Q(n.4z=3DE N("U",{R:"5t 9j"}).Q(n.9k=3DE =
N("U",{R:"1G"})))).Q(E N("3p",{R:"9l"}).Q(E N("1D",{R:"6N 9m"}).Q(d=3DE =
N("U",{R:"9n"}).I({J:n.W+"M"}).Q(E N("3p",{R:"6O 9o"}).Q(E =
N("1D",{R:"6P"}).Q(E N("U",{R:"2v"})).Q(E =
N("U",{R:"38"}).I({1j:n.W+"M"})))).Q(E N("U",{R:"6Q"})).Q(E =
N("3p",{R:"6O 9p"}).Q(E N("1D",{R:"6P"}).I("1N-1e: "+(-1*n.W)+"M").Q(E =
N("U",{R:"2v"})).Q(E N("U",{R:"38"}).I("1j: =
"+(-1*n.W)+"M")))))).Q(n.4A=3DE N("1D",{R:"9q"}).I("J: =
"+(9r-n.W)+"M").Q(E N("U",{R:"9s"}).Q(E N("U",{R:"6R"}).I("1N-1e: =
"+n.W+"M").Q(n.2V=3DE N("U",{R:"9t"}).1q(0).I("3q: 0 =
"+n.W+"M").Q(n.6S=3DE N("U",{R:"9u 38"})).Q(n.1r=3DE N("U",{R:"9v =
6T"}).Q(n.2h=3DE N("U",{R:"1G =
6U"}).I(1V(n.F.1K.3a)).I({2a:n.F.12}).1q(n.F.1E.1F.3b)).Q(n.2W=3DE =
N("3p",{R:"9w"}).Q(n.5u=3DE N("1D",{R:"9x"}).Q(n.1H=3DE =
N("U",{R:"9y"})).Q(n.2i=3DE N("U",{R:"9z"}))).Q(n.5v=3DE =
N("U",{R:"9A"}).Q(n.3Q=3DE N("1D",{R:"9B"}).Q(E N("U"))).Q(n.4B=3DE =
N("1D",{R:"9C"}).Q(n.9D=3DE =
N("U",{R:"1G"}).1q(n.F.1E.1F.3b).I({12:n.F.12}).1O(n.1f+"9E.1w",{12:n.F.1=
2})).Q(n.9F=3DE =
N("U",{R:"1G"}).1q(n.F.1E.1F.3b).I({12:n.F.12}).1O(n.1f+"9G.1w",{12:n.F.1=
2}))).Q(n.2b=3DE N("1D",{R:"9H"}).Q(n.3c=3DE =
N("U",{R:"1G"}).1q(n.F.1E.1F.3b).I({12:n.F.12}).1O(n.1f+"6V.1w",{12:n.F.1=
2})))))).Q(n.6W=3DE N("U",{R:"9I "}))))).Q(n.3r=3DE =
N("U",{R:"6X"}).Q(n.9J=3DE N("U",{R:"1G"}).I("2a: 3N("+n.1f+"3r.5w) 1e =
1j 4C-3o")))).Q(E N("1D",{R:"6N 9K"}).Q(d.9L(2c))).Q(n.1X=3DE =
N("1D",{R:"9M"}).19().I("1N-1e: "+n.W+"M; 2a: 3N("+n.1f+"9N.5w) 1e 1j =
3o"))))).Q(E N("U",{2T:"3R"}).19());G f=3DE =
2j();f.1z=3Du(){f.1z=3D1l.2w;n.1U=3D{H:f.H,J:f.J};G =
a=3D1V(n.1U),3m;n.3P.I({23:0-(f.J/2).2k()+"M",J:f.J+"M"});n.6I.I(3m=3D18.=
1o({1M:-1*n.1U.H+"M"},a));n.4x.I(18.1o({1M:a.H},a));n.6J.I(18.1o({6K:-1*n=
.1U.H+"M"},a));n.4y.I(3m);n.2g()}.X(n);f.1x=3Dn.1f+"2x.1w";$w("2V 1H 2i =
3Q").3S(u(e){n[e].I({12:n.F.12})}.X(n));G g=3Dn.6H.2y(".2v");$w("6Y 6Z =
bl br").1g(u(a,i){q(n.1C>0){n.5x(g[i],a)}10{g[i].Q(E =
N("U",{R:"38"}))}g[i].I({H:n.W+"M",J:n.W+"M"}).70("2v"+a.1P());n.2g()}.X(=
n));n.Y.2y(".6Q",".38",".6R").3s("I",{12:n.F.12});G S=3D{};$w("2x 1h =
2l").1g(u(s){n[s+"3t"].1Q=3Ds;G b=3Dn.1f+s+".1w";q(s=3D=3D"2l"){S[s]=3DE =
2j();S[s].1z=3Du(){S[s].1z=3D1l.2w;n.1K[s]=3D{H:S[s].H,J:S[s].J};G =
a=3Dn.F.1E.2l.1Q,2e=3D18.1o({"5y":a,23:n.1K[s].J+"M"},1V(n.1K[s]));2e["3q=
"+a.1P()]=3Dn.W+"M";n[s+"3t"].I(2e);n.6L.I({J:S[s].J+"M",1e:-1*n.1K[s].J+=
"M"});n[s+"3t"].5z().1O(b).I(1V(n.1K[s]));n.2g()}.X(n);S[s].1x=3Dn.1f+s+"=
.1w"}10{n[s+"3t"].1O(b)}},n);G C=3D{};$w("3a 5A").1g(u(a){C[a]=3DE =
2j();C[a].1z=3Du(){C[a].1z=3D1l.2w;n.1K[a]=3D{H:C[a].H,J:C[a].J};n.2g()}.=
X(n);C[a].1x=3Dn.1f+"71"+a+".1w"},n);G L=3DE =
2j();L.1z=3Du(){L.1z=3D1l.2w;n.3r.I({H:L.H+"M",J:L.J+"M",23:-0.5*L.J+0.5*=
n.W+"M",1M:-0.5*L.H+"M"});n.2g()}.X(n);L.1x=3Dn.1f+"3r.5w";G h=3DE =
2j();h.1z=3Du(a){h.1z=3D1l.2w;G =
b=3D{H:h.H+"M",J:h.J+"M"};n.2b.I(b);n.3c.I(b);n.2g()}.X(n);h.1x=3Dn.1f+"7=
2.1w";$w("2x 1h").1g(u(s){G S=3Ds.1P(),i=3DE =
2j();i.1z=3Du(){i.1z=3D1l.2w;n["3u"+S+"3v"].I({H:i.H+"M",J:i.J+"M"});n.2g=
()}.X(n);i.1x=3Dn.1f+"9O"+s+".1w";n["3u"+S+"3v"].1X=3Ds},n);$w("2b 4B =
3Q").1g(u(c){n[c].19=3Dn[c].19.1A(u(a,b){n.2e.1b=3D"36";a(b);O =
n});n[c].1c=3Dn[c].1c.1A(u(a,b){n.2e.1b=3D"9P";a(b);O =
n})},n);n.Y.2y("*").3s("I",{2U:n.F.2U+1});n.Y.19();n.2g()},73:u(){17.2J.2=
m("Y").3S(u(e){e.74()});n.1Y=3D1I;q(n.y.1Z()){n.75=3Dn.76;q(n.13&&!n.13.1=
y()){n.13.I("1p:1W").1c();n.3d.1q(0)}}10{n.75=3D1I;n.13.19()}q(4s(n.4z.1L=
("23"))<n.1K.2l.J){n.5B(2K)}n.77();n.78();E 17.1m({V:n.V,1t:u(){$w("1e =
3T").1g(u(a){G b=3Da.1P();n["3w"+b].2n();G c=3D{};n["3w"+b]=3DE =
N("U",{R:"9Q"+b}).19();c[a]=3Dn["3w"+b];n.2V.Q(c)}.X(n))}.X(n)});n.5C();n=
.1n=3D1I},5D:u(){q(!n.3U||!n.3V){O}n.3V.Q({2X:n.3U.I({2z:n.3U.79})});n.3V=
.2n();n.3V=3D1I},1c:u(b){n.1u=3D1I;G =
c=3D18.7a(b);q(18.7b(b)||c){q(c&&b.3x("#")){n.1c({1k:b,F:18.1o({4D:2c},3O=
[1]||{})});O}n.1u=3D$(b);q(!n.1u){O}n.1u.9R();n.y=3Dn.1u.24||E =
11.3W(n.1u)}10{q(b.1k){n.1u=3D$(1d.29);n.y=3DE =
11.3W(b)}10{q(18.7c(b)){n.1u=3Dn.4E(n.y.26)[b];n.y=3Dn.1u.24}}}q(!n.y.1k)=
{O}n.73();q(n.y.2o()||n.y.1Z()){n.7d(n.y.26);n.1n=3Dn.5E(n.y.26);q(n.y.1Z=
()){n.2A=3Dn.1n.1s>1?n.7e:0;n.2Y=3Dn.1n.9S(u(a){O =
a.2Z()})}}n.3X();n.7f();q(n.y.1k!=3D"#3R"&&18.7g(11.4F).7h(" =
").22(n.y.1a)>=3D0){q(!11.4F[n.y.1a]){$("3R").1B(E =
4G(n.9T.9U).3K({1a:n.y.1a.1P(),5F:n.5G[n.y.1a]}));G =
d=3D$("3R").2f();n.1c({1k:"#3R",1H:n.y.1a.1P()+" 9V 9W",F:d});O 2K}}G =
e=3D18.1o({1r:"3T",2l:2K,5H:"9X",3Y:n.y.2o()&&n.F.1E.3Y.2z,5I:n.F.5I,2b:(=
n.y.2o()&&n.F.1E.2b.2z)||(n.2Y),2B:"1W",7i:n.F.2u.9Y,3Z:n.F.3Z},n.F.9Z[n.=
y.1a]||{});n.y.F=3D18.1o(e,n.y.F);q(n.y.1Z()){n.y.F.2l=3D(n.1n.1s<=3D1)}q=
(!(n.y.1H||n.y.2i||(n.1n&&n.1n.1s>1))&&n.y.F.2l){n.y.F.1r=3D2K}n.1R=3D"3w=
"+(n.y.F.1r=3D=3D"1e"?"7j":"7k");q(n.y.2Z()){q(!l&&!n.y.7l){n.y.7l=3D2c;G=
 f=3DE =
N("3l:2p",{1x:n.y.1k,2z:"a0"}).I("J:5J;H:5J;");$(1d.29).Q(f);N.2n.3e(0.1,=
f)}q(n.y.2o()||n.y.1Z()){n.1b=3Dn.1n.22(n.y);n.7m()}n.27=3Dn.y.4H;q(n.27)=
{n.4I()}10{n.5K();G f=3DE =
2j();f.1z=3Du(){f.1z=3D1l.2w;n.4J();n.27=3D{H:f.H,J:f.J};n.4I()}.X(n);f.1=
x=3Dn.y.1k}}10{q(n.y.1Z()){n.1b=3Dn.1n.22(n.y)}n.27=3Dn.y.F.7n?m.2f():{H:=
n.y.F.H,J:n.y.F.J};n.4I()}},4K:(u(){u 5L(a,b,c){a=3D$(a);G =
d=3D1V(c);a.1B(E N("7o",{2T:"2C",1x:b,a1:"",a2:"4C"}).I(d))}G k=3D(u(){u =
7p(a,b,c){a=3D$(a);G d=3D18.1o({"5y":"1j"},1V(c));G e=3DE =
N("3l:2p",{1x:b,2T:"2C"}).I(d);a.1B(e);e.4L=3De.4L}u =
7q(b,c,d){b=3D$(b);G f=3D1V(d),2p=3DE 2j();2p.1z=3Du(){3j=3DE =
N("3j",f);b.1B(3j);40{G =
a=3D3j.5h("2d");a.a3(2p,0,0,d.H,d.J)}41(e){5L(b,c,d)}}.X(n);2p.1x=3Dc}q(1=
l.1T.2I){O 7p}10{O 7q}})();O u(){G =
c=3Dn.7r(n.y.1k),2L=3Dn.1Y||n.27;q(n.y.2Z()){G =
d=3D1V(2L);n[n.1R].I(d);q(n.1Y){k(n[n.1R],n.y.1k,2L)}10{5L(n[n.1R],n.y.1k=
,2L)}}10{q(n.y.5M()){4M(n.y.1a){2M"42":G f=3D18.5N(n.y.F.42)||{};G =
g=3Du(){n.4J();q(n.y.F.4D){n[n.1R].I({H:"1S",J:"1S"});n.27=3Dn.5O(n[n.1R]=
)}E =
17.1m({V:n.V,1t:n.4N.X(n)})}.X(n);q(f.4O){f.4O=3Df.4O.1A(u(a,b){g();a(b)}=
)}10{f.4O=3Dg}n.5K();E =
a4.a5(n[n.1R],n.y.1k,f);2D;2M"2E":q(n.1Y){2L.J-=3Dn.3f.J}n[n.1R].1B(n.2E=3D=
E =
N("2E",{a6:0,a7:0,1x:n.y.1k,2T:"2C",2q:"a8"+(7s.a9()*aa).2k(),7t:(n.y.F&&=
n.y.F.7t)?"1S":"4C"}).I(18.1o({W:0,1N:0,3q:0},1V(2L))));2D;2M"4P":G =
h=3Dn.y.1k,2r=3D$(h.5P(h.22("#")+1));q(!2r||!2r.43){O}G =
i=3D2r.2f();2r.Q({ab:n.3V=3DE =
N(2r.43).19()});2r.79=3D2r.1L("2z");n.3U=3D2r.1c();n[n.1R].1B(n.3U);n[n.1=
R].2y("2y, 3y, =
5Q").1g(u(b){n.44.1g(u(a){q(a.1u=3D=3Db){b.I({1p:a.1p})}})}.X(n));q(n.y.F=
.4D){n.27=3Di;E 17.1m({V:n.V,1t:n.4N.X(n)})}2D}}10{G =
j=3D{20:"3y",2T:"2C",H:2L.H,J:2L.J};4M(n.y.1a){2M"45":18.1o(j,{5F:n.5G[n.=
y.1a],3z:[{20:"2F",2q:"7u",2N:n.y.F.7u},{20:"2F",2q:"7v",2N:"ac"},{20:"2F=
",2q:"13",2N:n.y.F.7w},{20:"2F",2q:"ad",2N:2c},{20:"2F",2q:"1x",2N:n.y.1k=
},{20:"2F",2q:"7x",2N:n.y.F.7x||2K}]});18.1o(j,1l.1T.2I?{ae:n.af[n.y.1a],=
ag:n.ah[n.y.1a]}:{2W:n.y.1k,1a:n.7y[n.y.1a]});2D;2M"46":18.1o(j,{2W:n.y.1=
k,1a:n.7y[n.y.1a],ai:"aj",5H:n.y.F.5H,5F:n.5G[n.y.1a],3z:[{20:"2F",2q:"ak=
",2N:n.y.1k},{20:"2F",2q:"al",2N:"2c"}]});q(n.y.F.7z){j.3z.47({20:"2F",2q=
:"am",2N:n.y.F.7z})}2D}n[n.1R].I(1V(2L)).1B(n.5R(j)).1c();q(n.y.48()){(u(=
){40{q("7A"7B =
$("2C")){$("2C").7A(n.y.F.7w)}}41(e){}}.X(n)).an()}}}}})(),5O:u(b){b=3D$(=
b);G =
d=3Db.ao(),5S=3D[],5T=3D[];d.47(b);d.1g(u(c){q(c!=3Db&&c.1y()){O}5S.47(c)=
;5T.47({2z:c.1L("2z"),1b:c.1L("1b"),1p:c.1L("1p")});c.I({2z:"ap",1b:"36",=
1p:"1y"})});G e=3D{H:b.aq,J:b.ar};5S.1g(u(r,a){r.I(5T[a])});O =
e},4Q:u(){G =
a=3D$("2C");q(a){4M(a.43.4R()){2M"3y":q(1l.1T.5i&&n.y.48()){40{a.7C()}41(=
e){}a.as=3D""}q(a.7D){a.2n()}10{a=3D1l.2w}2D;2M"2E":a.2n();q(1l.1T.at&&1J=
.7E.2C){5U 1J.7E.2C}2D;5o:a.2n();2D}}$w("7k =
7j").1g(u(S){n["3w"+S].I("H:1S;J:1S;").1B("").19()},n)},7F:1l.K,4I:u(){E =
17.1m({V:n.V,1t:n.4S.X(n)})},4S:u(){n.3g();q(!n.y.5V()){n.4J()}q(!((n.y.F=
.4D&&n.y.7G())||n.y.5V())){n.4N()}q(!n.y.4T()){E =
17.1m({V:n.V,1t:n.4K.X(n)})}q(n.y.F.2l){E =
17.1m({V:n.V,1t:n.5B.X(n,2c)})}},7H:u(){E =
17.1m({V:n.V,1t:n.7I.X(n)});q(n.y.4T()){E =
17.1m({3e:0.2,V:n.V,1t:n.4K.X(n)})}q(n.3A){E =
17.1m({V:n.V,1t:n.7J.X(n)})}q(n.y.48()){E =
17.1m({V:n.V,1t:N.I.X(n,n[n.1R],"1p:1y")})}},2O:u(){q(17.2J.2m(11.V.3k).5=
W.1s){O}n.1c(n.30().2O)},1h:u(){q(17.2J.2m(11.V.3k).5W.1s){O}n.1c(n.30().=
1h)},4N:u(){n.7F();G =
a=3Dn.5X(),31=3Dn.7K();q(n.y.F.3Z&&(a.H>31.H||a.J>31.J)){q(n.y.F.7n){n.1Y=
=3D31;n.3g();a=3D31}10{G c=3Dn.7L(),b=3D31;q(n.y.4U()){G =
d=3D[31.J/c.J,31.H/c.H,1].au();n.1Y=3D{H:(n.27.H*d).2k(),J:(n.27.J*d).2k(=
)}}10{n.1Y=3D{H:c.H>b.H?b.H:c.H,J:c.J>b.J?b.J:c.J}}n.3g();a=3D18.5N(n.1Y)=
;q(n.y.4U()){a.J+=3Dn.3f.J}}}10{n.3g();n.1Y=3D1I}n.5Y(a)},49:u(a){n.5Y(a,=
{28:0})},5Y:(u(){G e,4V,4W,7M,7N,2A,b;G f=3D(u(){G w,h;u =
4X(p){w=3D(e.H+p*4V).4a(0);h=3D(e.J+p*4W).4a(0)}G =
a;q(2H){a=3Du(p){n.Y.I({H:(e.H+p*4V).4a(0)+"M",J:(e.J+p*4W).4a(0)+"M"});n=
.4A.I({J:h-1*n.W+"M"})}}10{q(2R){a=3Du(p){G =
v=3Dn.4Y(),o=3D1d.3Z.7O();n.Y.I({1b:"36",1M:0,23:0,H:w+"M",J:h+"M",1j:(o[=
0]+(v.H/2)-(w/2)).4b()+"M",1e:(o[1]+(v.J/2)-(h/2)).4b()+"M"});n.4A.I({J:h=
-1*n.W+"M"})}}10{a=3Du(p){n.Y.I({1b:"4w",H:w+"M",J:h+"M",1M:((0-w)/2).2k(=
)+"M",23:((0-h)/2-2A).2k()+"M"});n.4A.I({J:h-1*n.W+"M"})}}}O =
u(p){4X.3B(n,p);a.3B(n,p)}})();O u(a){G =
c=3D3O[1]||{};e=3Dn.Y.2f();b=3D2*n.W;H=3Da.H?a.H+b:e.H;J=3Da.J?a.J+b:e.J;=
n.5Z();q(e.H=3D=3DH&&e.J=3D=3DJ){E 17.1m({V:n.V,1t:n.60.X(n,a)});O}G =
d=3D{H:H+"M",J:J+"M"};4V=3DH-e.H;4W=3DJ-e.J;7M=3D4s(n.Y.1L("1M").2S("M","=
"));7N=3D4s(n.Y.1L("23").2S("M",""));2A=3Dn.13.1y()?(n.2A/2):0;q(!2H){18.=
1o(d,{1M:0-H/2+"M",23:0-J/2+"M"})}q(c.28=3D=3D0){f.3B(n,1)}10{n.61=3DE =
17.7P(n.Y,0,1,18.1o({28:n.F.av,V:n.V,7Q:n.F.7Q,1t:n.60.X(n,a)},c),f.X(n))=
}}})(),60:u(a){q(!n.3f){O}G =
b=3Dn[n.1R],4Z;q(n.y.F.2B=3D=3D"1S"){4Z=3Db.2f()}b.I({J:(a.J-n.3f.J)+"M",=
H:a.H+"M"});q(n.y.F.2B!=3D"1W"&&(n.y.5V()||n.y.7G())){q(1l.1T.2I){q(n.y.F=
.2B=3D=3D"1S"){G c=3Db.2f();b.I("2B:1y");G =
d=3D{7R:"1W",7S:"1W"},62=3D0,51=3D15;q(4Z.J>a.J){d.7S=3D"1S";d.H=3Dc.H-51=
;d.aw=3D"7T";62=3D51}q(4Z.H-62>a.H){d.7R=3D"1S";d.J=3Dc.J-51;d.ax=3D"7T"}=
b.I(d)}10{b.I({2B:n.y.F.2B})}}10{b.I({2B:n.y.F.2B})}}10{b.I("2B:1W")}n.3X=
();n.61=3D1I;n.7H()},7I:u(){E 17.1m({V:n.V,1t:n.5Z.X(n)});E =
17.1m({V:n.V,1t:u(){n[n.1R].1c();n.3g();q(n.1r.1y()){n.1r.I("1p:1y").1q(1=
)}}.X(n)});E 17.ay([E 17.7U(n.2V,{7V:2c,52:0,53:1}),E =
17.54(n.3P,{7V:2c})],{V:n.V,28:0.25,1t:u(){q(n.1u){n.1u.5s("Y:az")}}.X(n)=
});q(n.y.2o()||(n.2Y&&n.F.13.1E.1Q)){E =
17.1m({V:n.V,1t:n.7W.X(n)})}},78:(u(){u =
2X(){n.4Q();n.4z.I({23:n.1K.2l.J+"M"});n.5D();q(n.y.48()){n[n.1R].I("1p:1=
W")}}u 7X(p){n.2V.1q(p);n.3P.1q(p)}O =
u(){q(!n.Y.1y()){n.2V.1q(0);n.3P.1q(0);n.4Q();O}E =
17.7P(n.Y,1,0,{28:0.2,V:n.V,1t:2X.X(n)},7X.X(n))}})(),7Y:u(){$w("5v 2W =
5u 1H 2i 3Q 4B 2b =
2h").1g(u(a){N.19(n[a])},n);n.1r.I("1p:1W").1q(0)},3g:u(){n.7Y();q(!n.y.F=
.1r){n.3f=3D{H:0,J:0};n.63=3D0;n.1r.19()}10{n.1r.1c()}q(n.y.1H||n.y.2i){n=
.5u.1c();n.2W.1c()}q(n.y.1H){n.1H.1B(n.y.1H).1c()}q(n.y.2i){n.2i.1B(n.y.2=
i).1c()}q(n.1n&&n.1n.1s>1){q(n.y.1Z()){n.2G.1B(E =
4G(n.F.13.7Z).3K({1b:n.1b+1,64:n.1n.1s}));q(n.13.1L("1p")=3D=3D"1W"){n.13=
.I("1p:1y");q(n.65){17.2J.2m("Y").2n(n.65)}n.65=3DE =
17.54(n.3d,{V:n.V,28:0.1})}}10{n.2W.1c();q(n.y.2Z()){n.5v.1c();n.3Q.1c().=
5z().1B(E =
4G(n.F.aA).3K({1b:n.1b+1,64:n.1n.1s}));q(n.y.F.2b){n.3c.1c();n.2b.1c()}}}=
}G a=3Dn.y.1Z();q((n.y.F.3Y||a)&&n.1n.1s>1){G =
b=3D{2x:(n.F.32||n.1b!=3D0),1h:(n.F.32||((n.y.2o()||a)&&n.30().1h!=3D0))}=
;$w("2x 1h").1g(u(z){G =
Z=3Dz.1P(),3C=3Db[z]?"80":"1S";q(a){n["13"+Z].I({3C:3C}).1q(b[z]?1:n.F.1E=
.1F.66)}10{n["3u"+Z+"3v"].I({3C:3C}).1q(b[z]?n.F.1E.1F.3b:n.F.1E.1F.66)}}=
.X(n));q(n.y.F.3Y||n.F.13.3Y){n.4B.1c()}}n.4c.1q(n.2Y?1:n.F.1E.1F.66).I({=
3C:n.2Y?"80":"1S"});n.81();q(!n.1r.aB().6B(N.1y)){n.1r.19();n.y.F.1r=3D2K=
}n.82()},81:u(){G =
a=3Dn.1K.5A.H,3a=3Dn.1K.3a.H,3h=3Dn.1Y?n.1Y.H:n.27.H,55=3DaC,H=3D0,2h=3Dn=
.y.F.2h||"3a",2a=3Dn.F.aD;q(n.y.F.2l||n.y.1Z()||!n.y.F.2h){2a=3D1I}10{q(3=
h>=3D55+a&&3h<55+3a){2a=3D"5A";H=3Da}10{q(3h>=3D55+3a){2a=3D2h;H=3Dn.1K[2=
h].H}}}q(H>0){n.2W.1c();n.2h.I({H:H+"M"}).1c()}10{n.2h.19()}q(2a){n.2h.1O=
(n.1f+"71"+2a+".1w",{12:n.F.12})}n.63=3DH},5K:u(){n.67=3DE =
17.54(n.3r,{28:0.2,52:0,53:1,V:n.V})},4J:u(){q(n.67){17.2J.2m("Y").2n(n.6=
7)}E 17.83(n.3r,{28:0.2,V:n.V,3e:0.2})},84:u(){q(!n.y.2Z()){O}G =
a=3D(n.F.32||n.1b!=3D0),1h=3D(n.F.32||((n.y.2o()||n.y.1Z())&&n.30().1h!=3D=
0));n.4x[a?"1c":"19"]();n.4y[1h?"1c":"19"]();G =
b=3Dn.1Y||n.27;n.1X.I({J:b.J+"M",23:n.W+(n.y.F.1r=3D=3D"1e"?n.1r.4d():0)+=
"M"});G c=3D((b.H/2-1)+n.W).4b();q(a){n.1X.Q(n.3D=3DE N("U",{R:"1G =
aE"}).I({H:c+"M"}));n.3D.1Q=3D"2x"}q(1h){n.1X.Q(n.3E=3DE N("U",{R:"1G =
aF"}).I({H:c+"M"}));n.3E.1Q=3D"1h"}q(a||1h){n.1X.1c()}},7W:u(){q(!n.y||!n=
.F.1E.1Q.2z||!n.y.2Z()){O}n.84();n.1X.1c()},5Z:u(){n.1X.1B("").19();n.4x.=
19().I({1M:n.1U.H+"M"});n.4y.19().I({1M:-1*n.1U.H+"M"})},7f:(u(){u =
2X(){n.Y.1q(1)}q(!2t){2X=3D2X.1A(u(a,b){a(b);n.Y.1c()})}O =
u(){q(n.Y.1L("1F")!=3D0){O}q(n.F.2u.2z){E =
17.54(n.2u,{28:0.2,52:0,53:4r?1:n.F.2u.1F,V:n.V,aG:n.68.X(n),1t:2X.X(n)})=
}10{2X.3B(n)}}})(),19:u(){q(1l.1T.2I&&n.2E&&n.y.4T()){n.2E.2n()}q(2t&&n.y=
.48()){G =
a=3D$$("3y#2C")[0];q(a){40{a.7C()}41(e){}}}q(n.Y.1L("1F")=3D=3D0){O}n.2s(=
);n.1X.19();q(!1l.1T.2I||!n.y.4T()){n.2V.19()}q(17.2J.2m("69").5W.1s>0){O=
}17.2J.2m("Y").1g(u(e){e.74()});E 17.1m({V:n.V,1t:n.5D.X(n)});E =
17.7U(n.Y,{28:0.1,52:1,53:0,V:{1b:"5j",3k:"69"}});E =
17.83(n.2u,{28:0.16,V:{1b:"5j",3k:"69"},1t:n.85.X(n)})},85:u(){n.4Q();n.Y=
.19();n.2V.1q(0).1c();n.1X.1B("").19();n.6S.1B("").19();n.6W.1B("").19();=
n.5C();n.86();E 17.1m({V:n.V,1t:n.49.X(n,n.F.aH)});E =
17.1m({V:n.V,1t:u(){q(n.1u){n.1u.5s("Y:1W")}$w("1u 1n y 1Y 2Y aI =
3w").3S(u(a){n[a]=3D1I}.X(n))}.X(n)})},82:u(){n.1r.I("3q:0;");G =
a=3D{},3h=3Dn[(n.1Y?"aJ":"i")+"aK"].H;n.1r.I({H:3h+"M"});n.2W.I({H:3h-n.6=
3-1+"M"});a=3Dn.5O(n.1r);q(n.y.F.1r){a.J+=3Dn.F.6a;4M(n.y.F.1r){2M"3T":n.=
1r.I("3q:"+n.F.6a+"M 0 0 0");2D;2M"1e":n.1r.I("3q: 0 0 "+n.F.6a+"M =
0");2D}}n.1r.I({H:"87%"});n.3f=3Dn.y.F.1r?a:{H:a.H,J:0}},3X:(u(){G =
a,2A;u 4X(){a=3Dn.Y.2f();2A=3Dn.13.1y()?(n.2A/2):0}G =
b;q(2H){b=3Du(){n.Y.I({1e:"50%",1j:"50%"})}}10{q(2t||2R){b=3Du(){G =
v=3Dn.4Y(),o=3D1d.3Z.7O();n.Y.I({1M:0,23:0,1j:(o[0]+(v.H/2)-(a.H/2)).4b()=
+"M",1e:(o[1]+(v.J/2)-(a.J/2)).4b()+"M"})}}10{b=3Du(){n.Y.I({1b:"4w",1j:"=
50%",1e:"50%",1M:(0-a.H/2).2k()+"M",23:(0-a.J/2-2A).2k()+"M"})}}}O =
u(){4X.3B(n);b.3B(n)}})(),88:u(){n.2s();n.3A=3D2c;n.1h.X(n).3e(0.25);n.3c=
.1O(n.1f+"72.1w",{12:n.F.12}).19();n.4c.1O(n.1f+"89.1w",{12:n.F.13.12})},=
2s:u(){q(n.3A){n.3A=3D2K}q(n.6b){aL(n.6b)}n.3c.1O(n.1f+"6V.1w",{12:n.F.12=
});n.4c.1O(n.1f+"8a.1w",{12:n.F.13.12})},6c:u(){q(n.y.1Z()&&!n.2Y){O}n[(n=
.3A?"56":"5q")+"aM"]()},7J:u(){q(n.3A){n.6b=3Dn.1h.X(n).3e(n.F.aN)}},aO:u=
(){$$("a[33~=3DY], 3F[33~=3DY]").1g(u(a){G =
b=3Da.24;q(!b){O}q(b.4e){a.8b("1H",b.4e)}a.24=3D1I})},4E:u(a){G =
b=3Da.22("][");q(b>-1){a=3Da.5P(0,b+1)}O $$(\'a[26^=3D"\'+a+\'"], =
3F[26^=3D"\'+a+\'"]\')},5E:u(a){O =
n.4E(a).8c("24")},8d:u(){$(1d.29).1i("2P",n.8e.1v(n));$w("34 =
4f").1g(u(e){n.1X.1i(e,u(a){G =
b=3Da.3G("U");q(!b){O}q(n.3D&&n.3D=3D=3Db||n.3E&&n.3E=3D=3Db){n.57(a)}}.1=
v(n))}.X(n));n.1X.1i("2P",u(c){G d=3Dc.3G("U");q(!d){O}G =
e=3D(n.3D&&n.3D=3D=3Dd)?"2O":(n.3E&&n.3E=3D=3Dd)?"1h":1I;q(e){n[e].1A(u(a=
,b){n.2s();a(b)}).X(n)()}}.1v(n));$w("2x 1h").1g(u(s){G =
S=3Ds.1P(),2s=3Du(a,b){n.2s();a(b)},4g=3Du(a,b){G =
c=3Db.1u().1X;q((c=3D=3D"2x"&&(n.F.32||n.1b!=3D0))||(c=3D=3D"1h"&&(n.F.32=
||((n.y.2o()||n.y.1Z())&&n.30().1h!=3D0)))){a(b)}};n[s+"3t"].1i("34",n.57=
.1v(n)).1i("4f",n.57.1v(n)).1i("2P",n[s=3D=3D"1h"?s:"2O"].1A(2s).1v(n));n=
["3u"+S+"3v"].1i("2P",n[s=3D=3D"1h"?s:"2O"].1A(4g).1A(2s).1v(n)).1i("34",=
N.1q.58(n["3u"+S+"3v"],n.F.1E.1F.8f).1A(4g).1v(n)).1i("4f",N.1q.58(n["3u"=
+S+"3v"],n.F.1E.1F.3b).1A(4g).1v(n));n["13"+S].1i("2P",n[s=3D=3D"1h"?s:"2=
O"].1A(4g).1A(2s).1v(n))},n);G =
f=3D[n.2h,n.3c];q(!2t){f.1g(u(b){b.1i("34",N.1q.X(n,b,n.F.1E.1F.8f)).1i("=
4f",N.1q.X(n,b,n.F.1E.1F.3b))},n)}10{f.3s("1q",1)}n.3c.1i("2P",n.6c.1v(n)=
);n.4c.1i("2P",n.6c.1v(n));q(2t||2R){G =
g=3Du(a,b){q(n.Y.1L("1e").6d(0)=3D=3D"-"){O}a(b)};1m.1i(1J,"4h",n.3X.1A(g=
).1v(n));1m.1i(1J,"49",n.3X.1A(g).1v(n))}q(2R){1m.1i(1J,"49",n.68.1v(n))}=
q(2H){u =
6e(){q(n.13){n.13.I({1j:((1d.6f.aP||0)+m.59()/2).2k()+"M"})}}1m.1i(1J,"4h=
",6e.1v(n));1m.1i(1J,"49",6e.1v(n))}q(n.F.aQ){n.8g=3Du(a){G =
b=3Da.3G("a[33~=3DY], 3F[33~=3DY]");q(!b){O}a.56();q(!b.24){E =
11.3W(b)}n.8h(b)}.1v(n);$(1d.29).1i("34",n.8g)}},5B:u(a){q(n.8i){17.2J.2m=
("aR").2n(n.aS)}G b=3D{23:(a?0:n.1K.2l.J)+"M"};n.8i=3DE =
17.8j(n.4z,{2e:b,28:0.16,V:n.V,3e:a?0.15:0})},8k:u(){G a=3D{};$w("H =
J").1g(u(d){G =
D=3Dd.1P(),5a=3D1d.6f;a[d]=3D1l.1T.2I?[5a["6g"+D],5a["4h"+D]].aT():1l.1T.=
5i?1d.29["4h"+D]:5a["4h"+D]});O =
a},68:u(){q(!2R){O}n.2u.I(1V(n.8k()))},8e:(u(){G b=3D".6U, .6M .1G, .6X, =
.8l";O u(a){q(n.y&&n.y.F&&a.3G(b+(n.y.F.7i?", =
#6G":""))){n.19()}}})(),57:u(a){G =
b=3Da.2r,1Q=3Db.1Q,w=3Dn.1U.H,6g=3D(a.1a=3D=3D"34")?0:1Q=3D=3D"2x"?w:-1*w=
,2e=3D{1M:6g+"M"};q(!n.4i){n.4i=3D{}}q(n.4i[1Q]){17.2J.2m("8m"+1Q).2n(n.4=
i[1Q])}n.4i[1Q]=3DE =
17.8j(n[1Q+"3t"],{2e:2e,28:0.2,V:{3k:"8m"+1Q,aU:1},3e:(a.1a=3D=3D"4f")?0.=
1:0})},30:u(){q(!n.1n){O}G a=3Dn.1b,1s=3Dn.1n.1s;G =
b=3D(a<=3D0)?1s-1:a-1,1h=3D(a>=3D1s-1)?0:a+1;O{2O:b,1h:1h}},5x:u(a,b){G =
c=3D3O[2]||n.F,1C=3Dc.1C,W=3Dc.W;1b=3D{1e:(b.6d(0)=3D=3D"t"),1j:(b.6d(1)=3D=
=3D"l")};q(l){G d=3DE =
N("3j",{R:"aV"+b.1P(),H:W+"M",J:W+"M"});d.I("5y:1j");a.Q(d);G =
e=3Dd.5h("2d");e.aW=3Dc.12;e.aX((1b.1j?1C:W-1C),(1b.1e?1C:W-1C),1C,0,7s.a=
Y*2,2c);e.aZ();e.8n((1b.1j?1C:0),0,W-1C,W);e.8n(0,(1b.1e?1C:0),W,W-1C)}10=
{G f=3DE =
N("3l:b0",{b1:c.12,b2:"5J",b3:c.12,b4:(1C/W*0.5).4a(2)}).I({H:2*W-1+"M",J=
:2*W-1+"M",1b:"36",1j:(1b.1j?0:(-1*W))+"M",1e:(1b.1e?0:(-1*W))+"M"});a.Q(=
f);f.4L=3Df.4L}},77:(u(){u 6h(){O $$("3y, 5Q, =
2y")}q(1l.1T.2I&&1d.5n>=3D8){6h=3Du(){O 1d.b5("3y, 5Q, 2y")}}O =
u(){q(n.6i){O}G a=3D6h();n.44=3D[];8o(G i=3D0,1s=3Da.1s;i<1s;i++){G =
b=3Da[i];n.44.47({1u:b,1p:b.2e.1p});b.2e.1p=3D"1W"}n.6i=3D2c}})(),86:u(){=
n.44.1g(u(a,i){a.1u.2e.1p=3Da.1p});5U =
n.44;n.6i=3D2K},5X:u(){O{H:n.27.H,J:n.27.J+n.3f.J}},7L:u(){G =
i=3Dn.5X(),b=3D2*n.W;O{H:i.H+b,J:i.J+b}},7K:u(){G =
a=3D21,6j=3D2*n.1U.J+a,v=3Dn.4Y();O{H:v.H-6j,J:v.J-6j}},4Y:u(){G =
v=3Dm.2f();q(n.13&&n.13.1y()&&n.1n&&n.1n.1s>1){v.J-=3Dn.2A}O v}});G =
m=3D{2f:u(){O{H:n.59(),J:n.4d()}}};(u(a){G =
B=3D1l.1T,5b=3D1d,1u,6k=3D{};u 8p(){q(2t){O =
5b}q(B.b6&&1J.3J(1J.b7.b8())<9.5){O 5b.29}O 5b.6f}u =
6l(D){q(!1u){1u=3D8p()}6k[D]=3D"b9"+D;a["2m"+D]=3Du(){O 1u[6k[D]]};O =
a["2m"+D]()}a.59=3D6l.58("ba");a.4d=3D6l.58("bb")})(m);(u(){u =
8q(a,b){q(!n.y){O}a(b)}$w("3g 4K").1g(u(a){n[a]=3Dn[a].1A(8q)},11)})();u =
1V(b){G c=3D{};18.7g(b).1g(u(a){c[a]=3Db[a]+"M"});O =
c}18.1o(11,{8r:u(){q(!n.y.F.5I){O}n.5c=3Dn.8s.1v(n);1d.1i("8t",n.5c)},5C:=
u(){q(n.5c){1d.bc("8t",n.5c)}},8s:u(a){G =
b=3Dbd.be(a.2Q).4R(),2Q=3Da.2Q,3H=3D(n.y.2o()||n.2Y)&&!n.61,2b=3Dn.y.F.2b=
,4j;q(n.y.4U()){a.56();4j=3D(2Q=3D=3D1m.8u||["x","c"].6m(b))?"19":(2Q=3D=3D=
37&&3H&&(n.F.32||n.1b!=3D0))?"2O":(2Q=3D=3D39&&3H&&(n.F.32||n.30().1h!=3D=
0))?"1h":(b=3D=3D"p"&&2b&&3H)?"88":(b=3D=3D"s"&&2b&&3H)?"2s":1I;q(b!=3D"s=
"){n.2s()}}10{4j=3D(2Q=3D=3D1m.8u)?"19":1I}q(4j){n[4j]()}q(3H){q(2Q=3D=3D=
1m.bf&&n.1n.bg()!=3Dn.y){n.1c(0)}q(2Q=3D=3D1m.bh&&n.1n.bi()!=3Dn.y){n.1c(=
n.1n.1s-1)}}}});11.4S=3D11.4S.1A(u(a,b){n.8r();a(b)});18.1o(11,{7d:u(a){G=
 b=3Dn.4E(a);q(!b){O}b.3S(11.4k)},7m:u(){q(n.1n.1s=3D=3D0){O}G =
a=3Dn.30();n.8v([a.1h,a.2O])},8v:u(c){G =
d=3D(n.1n&&n.1n.6m(c)||18.bj(c))?n.1n:c.26?n.5E(c.26):1I;q(!d){O}G =
e=3D$A(18.7c(c)?[c]:c.1a?[d.22(c)]:c).bk();e.1g(u(a){G =
b=3Dd[a];n.6n(b)},n)},8w:u(a,b){a.4H=3D{H:b.H,J:b.J}},6n:u(a){q(a.4H||a.5=
d||!a.1k){O}G P=3DE =
2j();P.1z=3Du(){P.1z=3D1l.2w;a.5d=3D1I;n.8w(a,P)}.X(n);a.5d=3D2c;P.1x=3Da=
.1k},8h:u(a){G =
b=3Da.24;q(b&&b.4H||b.5d||!b.2Z()){O}n.6n(b)}});N.bm({1O:u(a,b){a=3D$(a);=
G c=3D18.1o({8x:"1e =
1j",3o:"4C-3o",6o:"7v",12:""},3O[2]||{});a.I(2H?{bn:"bo:bp.bq.bs(1x=3D\'"=
+b+"\'\', 6o=3D\'"+c.6o+"\')"}:{2a:c.12+" 3N("+b+") "+c.8x+" "+c.3o});O =
a}});18.1o(11,{6p:u(a,b){G c;$w("46 2p 2E 45").1g(u(t){q(E =
4p("\\\\.("+n.bt[t].2S(/\\s+/g,"|")+")(\\\\?.*)?","i").4t(a)){c=3Dt}}.X(n=
));q(c){O =
c}q(a.3x("#")){O"4P"}q(1d.8y&&1d.8y!=3D(a).2S(/(^.*\\/\\/)|(:.*)|(\\/.*)/=
g,"")){O"2E"}O"2p"},7r:u(a){G =
b=3Da.bu(/\\?.*/,"").3L(/\\.([^.]{3,4})$/);O b?b[1]:1I},5R:u(b){G =
c=3D"<"+b.20;8o(G d 7B b){q(!["3z","6q","20"].6m(d)){c+=3D" =
"+d+\'=3D"\'+b[d]+\'"\'}}q(E =
4p("^(?:3F|bv|bw|br|bx|by|bz|7o|8z|bA|bB|bC|2F|bD|bE|bF)$","i").4t(b.20))=
{c+=3D"/>"}10{c+=3D">";q(b.3z){b.3z.1g(u(a){c+=3Dn.5R(a)}.X(n))}q(b.6q){c=
+=3Db.6q}c+=3D"</"+b.20+">"}O c}});(u(){1d.1i("5p:3M",u(){G =
c=3D(35.6r&&35.6r.1s);u 4l(a){G =
b=3D2K;q(c){b=3D($A(35.6r).8c("2q").7h(",").22(a)>=3D0)}10{40{b=3DE =
bG(a)}41(e){}}O!!b}q(c){1J.11.4F=3D{46:4l("bH =
bI"),45:4l("6s")}}10{1J.11.4F=3D{46:4l("8A.8A"),45:4l("6s.6s")}}})})();11=
.3W=3DbJ.bK({bL:u(b){q(b.24){O}G =
c=3D18.7b(b);q(c&&!b.24){b.24=3Dn;q(b.1H){b.24.4e=3Db.1H;q(11.F.8B){b.bM(=
"1H","")}}}n.1k=3Dc?b.bN("1k"):b.1k;q(n.1k.22("#")>=3D0){n.1k=3Dn.1k.5P(n=
.1k.22("#"))}G =
d=3Db.26;q(d){n.26=3Dd;q(d.3x("4m")){n.1a=3D"4m"}10{q(d.3x("5e")){q(d.bO(=
"][")){G e=3Dd.8C("]["),6t=3De[1].3L(/([a-bP-Z]*)/)[1];q(6t){n.1a=3D6t;G =
f=3De[0]+"]";b.8b("26",f);n.26=3Df}}10{n.1a=3D11.6p(n.1k)}}10{n.1a=3Dd}}}=
10{n.1a=3D11.6p(n.1k);n.26=3Dn.1a}$w("42 46 4m 2E 2p 4P 45 8D 8E =
5e").3S(u(a){G T=3Da.1P(),t=3Da.4R();q("2p 4m 8E 8D =
5e".22(a)<0){n["bQ"+T]=3Du(){O n.1a=3D=3Dt}.X(n)}}.X(n));q(c&&b.24.4e){G =
g=3Db.24.4e.8C(11.F.bR).3s("bS");q(g[0]){n.1H=3Dg[0]}q(g[1]){n.2i=3Dg[1]}=
G =
h=3Dg[2];n.F=3D(h&&18.7a(h))?bT("({"+h+"})"):{}}10{n.1H=3Db.1H;n.2i=3Db.2=
i;n.F=3Db.F||{}}q(n.F.6u){n.F.42=3D18.5N(n.F.6u);5U n.F.6u}},2o:u(){O =
n.1a.3x("4m")},1Z:u(){O =
n.26.3x("5e")},2Z:u(){O(n.2o()||n.1a=3D=3D"2p")},5M:u(){O"2E 4P =
42".22(n.1a)>=3D0},4U:u(){O!n.5M()}});11.4k=3Du(a){G b=3D$(a);E =
11.3W(a);O b};(u(){u 8F(a){G b=3Da.3G("a[33~=3DY], =
3F[33~=3DY]");q(!b){O}a.56();n.4k(b);n.1c(b)}u 8G(a){G =
b=3Da.3G("a[33~=3DY], 3F[33~=3DY]");q(!b){O}n.4k(b)}u 8H(a){G =
b=3Da.2r,1a=3Da.1a,3i=3Da.3i;q(3i&&3i.43){q(1a=3D=3D=3D"5m"||1a=3D=3D=3D"=
bU"||(1a=3D=3D=3D"2P"&&3i.43.4R()=3D=3D=3D"8z"&&3i.1a=3D=3D=3D"bV")){b=3D=
3i}}q(b.bW=3D=3DbX.bY){b=3Db.7D}O b}u 8I(a,b){q(!a){O}G =
c=3Da.R;O(c.1s>0&&(c=3D=3Db||E 4p("(^|\\\\s)"+b+"(\\\\s|$)").4t(c)))}u =
8J(a){G =
b=3D8H(a);q(b&&8I(b,"Y")){n.4k(b)}}1d.1i("Y:3M",u(){$(1d.29).1i("2P",8F.1=
v(11));q(11.F.8B&&1l.1T.2I&&1d.5n>=3D8){$(1d.29).1i("34",8J.1v(11))}10{$(=
1d.29).1i("34",8G.1v(11))}})})();18.1o(11,{5f:u(){G =
b=3Dn.F.13,W=3Db.W;$(1d.29).Q(n.13=3DE =
N("U",{2T:"bZ"}).I({2U:n.F.2U+1,c0:b.1N+"M",1b:"36",1p:"1W"}).Q(n.c1=3DE =
N("U",{R:"c2"}).Q(E N("U",{R:"5g c3"}).I("1N-1j: "+W+"M").Q(E =
N("U",{R:"2v"}))).Q(E N("U",{R:"6v"}).I({1N:"0 "+W+"M",J:W+"M"})).Q(E =
N("U",{R:"5g c4"}).I("1N-1j: -"+W+"M").Q(E N("U",{R:"2v"})))).Q(n.3I=3DE =
N("U",{R:"6w 6T"}).Q(n.3d=3DE N("3p",{R:"c5"}).I("1N: 0 "+W+"M").Q(E =
N("1D",{R:"c6"}).Q(n.2G=3DE N("U"))).Q(E N("1D",{R:"4n c7"}).Q(n.c8=3DE =
N("U",{R:"1G"}).1O(n.1f+"8K.1w",{12:b.12}))).Q(E N("1D",{R:"4n =
c9"}).Q(n.ca=3DE N("U",{R:"1G"}).1O(n.1f+"cb.1w",{12:b.12}))).Q(E =
N("1D",{R:"4n cc"}).Q(n.4c=3DE =
N("U",{R:"1G"}).1O(n.1f+"8a.1w",{12:b.12}))).Q(E N("1D",{R:"4n =
8l"}).Q(n.cd=3DE =
N("U",{R:"1G"}).1O(n.1f+"ce.1w",{12:b.12}))))).Q(n.cf=3DE =
N("U",{R:"cg"}).Q(E N("U",{R:"5g ch"}).I("1N-1j: "+W+"M").Q(E =
N("U",{R:"2v"}))).Q(E N("U",{R:"6v"}).I({1N:"0 "+W+"M",J:W+"M"})).Q(E =
N("U",{R:"5g ci"}).I("1N-1j: -"+W+"M").Q(E N("U",{R:"2v"})))));$w("2x =
1h").1g(u(s){G =
S=3Ds.1P();n["13"+S].1X=3Ds},n);q(2t){n.13.19=3Du(){n.I("1j:-3n;1e:-3n;1p=
:1W;");O n};n.13.1c=3Du(){n.I("1p:1y");O =
n};n.13.1y=3Du(){O(n.1L("1p")=3D=3D"1y"&&3J(n.1L("1e").2S("M",""))>-6F)}}=
n.13.2y(".4n U").3s("I",1V(n.8L));G c=3Dn.13.2y(".2v");$w("6Y 6Z bl =
br").1g(u(a,i){q(b.1C>0){n.5x(c[i],a,b)}10{c[i].Q(E =
N("U",{R:"38"}))}c[i].I({H:b.W+"M",J:b.W+"M"}).70("2v"+a.1P())},n);n.13.5=
z(".6w").I("H:87%;");n.13.I(2H?{1b:"36",1e:"1S",1j:""}:{1b:"4w",1e:"1S",1=
j:"50%"});n.13.2y(".6v",".6w",".1G",".38").3s("I",{12:b.12});n.2G.1B(E =
4G(b.7Z).3K({1b:8M,64:8M}));n.2G.I({H:n.2G.59()+"M",J:n.3d.4d()+"M"});n.8=
N();n.2G.1B("");n.13.19().I("1p:1y");n.8d();n.2g()},8N:u(){G =
b,4o,13=3Dn.F.13,W=3D13.W;q(2H){b=3Dn.3d.2f(),4o=3Db.H+2*W;n.3d.I({H:b.H+=
"M",1N:0});n.3I.I("H:1S;");n.3d.I({cj:W+"M"});n.3I.I({H:4o+"M"});$w("1e =
3T").1g(u(a){n["13"+a.1P()].I({H:4o+"M"})},n);n.13.I("1N-1j:-"+(4o/2).2k(=
)+"M")}10{n.3I.I("H:1S");b=3Dn.3I.2f();n.2G.ck().I({8O:b.J+"M",H:n.2G.2f(=
).H+"M"});n.13.I({H:b.H+"M",1M:(0-(b.H/2).2k())+"M"});n.3I.I({H:b.H+"M"})=
;$w("1e =
3T").1g(u(a){n["13"+a.1P()].I({H:b.H+"M"})},n)}n.7e=3D13.1N+b.J+2*W;n.76=3D=
n.13.4d();n.2G.I({8O:b.J+"M"})}});11.5f=3D11.5f.1A(u(a,b){G c=3DE =
2j();c.1z=3Du(){c.1z=3D1l.2w;n.8L=3D{H:c.H,J:c.J};a(b)}.X(n);c.1x=3Dn.1f+=
"8K.1w";G d=3D(E =
2j()).1x=3Dn.1f+"89.1w"});11.4u=3D11.4u.1A(u(a,b){a(b);n.5f()});11.19=3D1=
1.19.1A(u(a,b){q(n.y&&n.y.1Z()){n.13.19();n.2G.1B("")}a(b)})})();11.5m();=
1d.1i("5p:3M",11.5q.X(11));',62,765,'|||||||||||||||||||||||this|||if||||=
function||||view||||||new|options|var|width|setStyle|height|||px|Element|=
return||insert|className|||div|queue|border|bind|lightview||else|Lightvie=
w|backgroundColor|controller||||Effect|Object|hide|type|position|show|doc=
ument|top|images|each|next|observe|left|href|Prototype|Event|views|extend=
|visibility|setOpacity|menubar|length|afterFinish|element|bindAsEventList=
ener|png|src|visible|onload|wrap|update|radius|li|buttons|opacity|lv_Butt=
on|title|null|window|closeDimensions|getStyle|marginLeft|margin|setPngBac=
kground|capitalize|side|_contentPosition|auto|Browser|sideDimensions|pixe=
lClone|hidden|prevnext|scaledInnerDimensions|isSet|tag||indexOf|marginTop=
|_view||rel|innerDimensions|duration|body|background|slideshow|true||styl=
e|getDimensions|_lightviewLoadedEvent|closeButton|caption|Image|round|top=
close|get|remove|isGallery|image|name|target|stopSlideshow|BROWSER_IS_WEB=
KIT_419|overlay|lv_Corner|emptyFunction|prev|select|display|controllerOff=
set|overflow|lightviewContent|break|iframe|param|setNumber|BROWSER_IS_IE_=
LT7|IE|Queues|false|dimensions|case|value|previous|click|keyCode|BROWSER_=
IS_FIREFOX_LT3|replace|id|zIndex|center|data|after|isSetGallery|isImage|g=
etSurroundingIndexes|bounds|cyclic|class|mouseover|navigator|absolute||lv=
_Fill||large|normal|slideshowButton|controllerCenter|delay|menubarDimensi=
ons|fillMenuBar|imgWidth|currentTarget|canvas|scope|ns_vml|sideNegativeMa=
rgin|9500px|repeat|ul|padding|loading|invoke|ButtonImage|inner|Button|con=
tent|startsWith|object|children|sliding|call|cursor|prevButton|nextButton=
|area|findElement|staticGallery|controllerMiddle|parseFloat|evaluate|matc=
h|loaded|url|arguments|sideButtons|imgNumber|lightviewError|_each|bottom|=
inlineContent|inlineMarker|View|restoreCenter|innerPreviousNext|viewport|=
try|catch|ajax|tagName|overlappingRestore|quicktime|flash|push|isQuicktim=
e|resize|toFixed|floor|controllerSlideshow|getHeight|_title|mouseout|bloc=
kInnerPrevNext|scroll|sideEffect|action|Extend|detectPlugin|gallery|lv_Bu=
ttonWrapper|finalWidth|RegExp|userAgent|FIX_OVERLAY_WITH_PNG|parseInt|tes=
t|build|sideStyle|fixed|prevButtonImage|nextButtonImage|topcloseButtonIma=
ge|resizeCenter|innerPrevNext|no|autosize|getSet|Plugin|Template|preloade=
dDimensions|afterEffect|stopLoading|insertContent|outerHTML|switch|resize=
WithinViewport|onComplete|inline|clearContent|toLowerCase|afterShow|isIfr=
ame|isMedia|wdiff|hdiff|init|getViewportDimensions|contentDimensions||scr=
ollbarWidth|from|to|Appear|minimum|stop|toggleSideButton|curry|getWidth|d=
dE|doc|keyboardEvent|isPreloading|set|buildController|lv_controllerCorner=
Wrapper|getContext|WebKit|end|require|convertVersionString|load|documentM=
ode|default|dom|start|counter|fire|lv_Wrapper|dataText|innerController|gi=
f|createCorner|float|down|small|toggleTopClose|disableKeyboardNavigation|=
restoreInlineContent|getViews|pluginspage|pluginspages|wmode|keyboard|1px=
|startLoading|insertImageUsingHTML|isExternal|clone|getHiddenDimensions|s=
ubstr|embed|createHTML|restore|styles|delete|isAjax|effects|getInnerDimen=
sions|_resize|hidePrevNext|_afterResize|resizing|corrected|closeButtonWid=
th|total|_controllerCenterEffect|disabled|loadingEffect|maxOverlay|lightv=
iew_hide|menubarPadding|slideTimer|toggleSlideshow|charAt|centerControlle=
rIELT7|documentElement|offset|getOverlappingElements|preventingOverlap|sa=
fety|property|define|member|preloadImageDimensions|sizingMethod|detectTyp=
e|html|plugins|QuickTime|relType|ajaxOptions|lv_controllerBetweenCorners|=
lv_controllerMiddle|Firefox|REQUIRED_|_|Scriptaculous|find|namespaces|VML=
|_lightviewLoadedEvents|9500|lv_overlay|container|prevSide|nextSide|margi=
nRight|topButtons|lv_topButtons|lv_Frame|lv_Half|lv_CornerWrapper|lv_Fill=
er|lv_WrapDown|contentTop|clearfix|lv_Close|inner_slideshow_play|contentB=
ottom|lv_Loading|tl|tr|addClassName|close_|inner_slideshow_stop|prepare|c=
ancel|controllerHeight|_controllerHeight|hideOverlapping|hideContent|_inl=
ineDisplayRestore|isString|isElement|isNumber|extendSet|_controllerOffset=
|appear|keys|join|overlayClose|Bottom|Top|_VMLPreloaded|preloadSurroundin=
gImages|fullscreen|img|insertImageUsingVML|insertImageUsingCanvas|detectE=
xtension|Math|scrolling|autoplay|scale|controls|loop|mimetypes|flashvars|=
SetControllerVisible|in|Stop|parentNode|frames|adjustDimensionsToView|isI=
nline|finishShow|showContent|nextSlide|getBounds|getOuterDimensions|mleft=
|mtop|getScrollOffsets|Tween|transition|overflowX|overflowY|15px|Opacity|=
sync|showPrevNext|tween|hideData|setNumberTemplate|pointer|setCloseButton=
s|setMenubarDimensions|Fade|setPrevNext|afterHide|showOverlapping|100|sta=
rtSlideshow|controller_slideshow_stop|controller_slideshow_play|writeAttr=
ibute|pluck|addObservers|delegateClose|hover|_preloadImageHover|preloadIm=
ageHover|_topCloseEffect|Morph|getScrollDimensions|lv_controllerClose|lig=
htview_side|fillRect|for|getRootElement|guard|enableKeyboardNavigation|ke=
yboardDown|keydown|KEY_ESC|preloadFromSet|setPreloadedDimensions|align|do=
main|input|ShockwaveFlash|removeTitles|split|external|media|handleClick|h=
andleMouseOver|elementIE8|hasClassNameIE8|handleMouseOverIE8|controller_p=
rev|controllerButtonDimensions|999|_fixateController|lineHeight|createEle=
ment|MSIE|exec|mac|REQUIRED_Prototype|REQUIRED_Scriptaculous|typeof|undef=
ined|Version|throw|requires|times|https|js|head|script|add|urn|schemas|mi=
crosoft|com|vml|createStyleSheet|addRule|behavior|callee|lv_Container|lv_=
Sides|lv_PrevSide|lv_NextSide|lv_topcloseButtonImage|topcloseButton|lv_Fr=
ames|lv_FrameTop|lv_Liquid|lv_HalfLeft|lv_HalfRight|lv_Center|150|lv_Wrap=
Up|lv_WrapCenter|lv_contentTop|lv_MenuBar|lv_Data|lv_DataText|lv_Title|lv=
_Caption|lv_innerController|lv_ImgNumber|lv_innerPrevNext|innerPrevButton=
|inner_prev|innerNextButton|inner_next|lv_Slideshow|lv_contentBottom|load=
ingButton|lv_FrameBottom|cloneNode|lv_PrevNext|blank|inner_|relative|lv_c=
ontent|blur|all|errors|requiresPlugin|plugin|required|transparent|close|d=
efaultOptions|none|alt|galleryimg|drawImage|Ajax|Updater|frameBorder|hspa=
ce|lightviewContent_|random|99999|before|tofit|enablejavascript|codebase|=
codebases|classid|classids|quality|high|movie|allowFullScreen|FlashVars|d=
efer|ancestors|block|clientWidth|clientHeight|innerHTML|Gecko|min|resizeD=
uration|paddingRight|paddingBottom|Parallel|opened|imgNumberTemplate|chil=
dElements|180|borderColor|lv_PrevButton|lv_NextButton|beforeStart|startDi=
mensions|_openEffect|scaledI|nnerDimensions|clearTimeout|Slideshow|slides=
howDelay|updateViews|scrollLeft|preloadHover|lightview_topCloseEffect|top=
CloseEffect|max|limit|cornerCanvas|fillStyle|arc|PI|fill|roundrect|fillco=
lor|strokeWeight|strokeColor|arcSize|querySelectorAll|Opera|opera|version=
|client|Width|Height|stopObserving|String|fromCharCode|KEY_HOME|first|KEY=
_END|last|isArray|uniq||addMethods|filter|progid|DXImageTransform|Microso=
ft||AlphaImageLoader|typeExtensions|gsub|base|basefont|col|frame|hr|link|=
isindex|meta|range|spacer|wbr|ActiveXObject|Shockwave|Flash|Class|create|=
initialize|setAttribute|getAttribute|include|zA|is|titleSplit|strip|eval|=
error|radio|nodeType|Node|TEXT_NODE|lightviewController|marginBottom|cont=
rollerTop|lv_controllerTop|lv_controllerCornerWrapperTopLeft|lv_controlle=
rCornerWrapperTopRight|lv_controllerCenter|lv_controllerSetNumber|lv_cont=
rollerPrev|controllerPrev|lv_controllerNext|controllerNext|controller_nex=
t|lv_controllerSlideshow|controllerClose|controller_close|controllerBotto=
m|lv_controllerBottom|lv_controllerCornerWrapperBottomLeft|lv_controllerC=
ornerWrapperBottomRight|paddingLeft|up'.split('|'),0,{}));
------=_NextPart_000_0000_01CAE94A.D5FD7610
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.saltandlighttv.org/video/jwplayer/swfobject.js

/**=0A=
 * SWFObject v1.5: Flash Player detection and embed - =
http://blog.deconcept.com/swfobject/=0A=
 *=0A=
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT =
License:=0A=
 * http://www.opensource.org/licenses/mit-license.php=0A=
 *=0A=
 */=0A=
if(typeof deconcept=3D=3D"undefined"){var deconcept=3Dnew =
Object();}if(typeof =
deconcept.util=3D=3D"undefined"){deconcept.util=3Dnew =
Object();}if(typeof =
deconcept.SWFObjectUtil=3D=3D"undefined"){deconcept.SWFObjectUtil=3Dnew =
Object();}deconcept.SWFObject=3Dfunction(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!=
document.getElementById){return;}this.DETECT_KEY=3D_a?_a:"detectflash";th=
is.skipDetect=3Ddeconcept.util.getRequestParameter(this.DETECT_KEY);this.=
params=3Dnew Object();this.variables=3Dnew =
Object();this.attributes=3Dnew =
Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id"=
,id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height=
",h);}if(_5){this.setAttribute("version",new =
deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=3Dd=
econcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&=
&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=3Dtrue;}if(c=
){this.addParam("bgcolor",c);}var =
q=3D_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpress=
Install",false);this.setAttribute("doExpressInstall",false);var =
_c=3D(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.s=
etAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);=
}};deconcept.SWFObject.prototype=3D{useExpressInstall:function(_d){this.x=
iSWFPath=3D!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInsta=
ll",true);},setAttribute:function(_e,_f){this.attributes[_e]=3D_f;},getAt=
tribute:function(_10){return =
this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=3D_12;=
},getParams:function(){return =
this.params;},addVariable:function(_13,_14){this.variables[_13]=3D_14;},g=
etVariable:function(_15){return =
this.variables[_15];},getVariables:function(){return =
this.variables;},getVariablePairs:function(){var _16=3Dnew Array();var =
key;var _18=3Dthis.getVariables();for(key in =
_18){_16[_16.length]=3Dkey+"=3D"+_18[key];}return =
_16;},getSWFHTML:function(){var =
_19=3D"";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.l=
ength){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplay=
erType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19=3D"<embed =
type=3D\"application/x-shockwave-flash\" =
src=3D\""+this.getAttribute("swf")+"\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\" =
style=3D\""+this.getAttribute("style")+"\"";_19+=3D" =
id=3D\""+this.getAttribute("id")+"\" =
name=3D\""+this.getAttribute("id")+"\" ";var =
_1a=3Dthis.getParams();for(var key in =
_1a){_19+=3D[key]+"=3D\""+_1a[key]+"\" ";}var =
_1c=3Dthis.getVariablePairs().join("&");if(_1c.length>0){_19+=3D"flashvar=
s=3D\""+_1c+"\"";}_19+=3D"/>";}else{if(this.getAttribute("doExpressInstal=
l")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",t=
his.xiSWFPath);}_19=3D"<object id=3D\""+this.getAttribute("id")+"\" =
classid=3D\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\" =
style=3D\""+this.getAttribute("style")+"\">";_19+=3D"<param =
name=3D\"movie\" value=3D\""+this.getAttribute("swf")+"\" />";var =
_1d=3Dthis.getParams();for(var key in _1d){_19+=3D"<param =
name=3D\""+key+"\" value=3D\""+_1d[key]+"\" />";}var =
_1f=3Dthis.getVariablePairs().join("&");if(_1f.length>0){_19+=3D"<param =
name=3D\"flashvars\" value=3D\""+_1f+"\" />";}_19+=3D"</object>";}return =
_19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var =
_21=3Dnew =
deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21=
)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.=
setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",es=
cape(this.getAttribute("xiRedirectUrl")));document.title=3Ddocument.title=
.slice(0,47)+" - Flash Player =
Installation";this.addVariable("MMdoctitle",document.title);}}if(this.ski=
pDetect||this.getAttribute("doExpressInstall")||this.installedVer.version=
IsValid(this.getAttribute("version"))){var n=3D(typeof =
_20=3D=3D"string")?document.getElementById(_20):_20;n.innerHTML=3Dthis.ge=
tSWFHTML();return =
true;}else{if(this.getAttribute("redirectUrl")!=3D""){document.location.r=
eplace(this.getAttribute("redirectUrl"));}}return =
false;}};deconcept.SWFObjectUtil.getPlayerVersion=3Dfunction(){var =
_23=3Dnew =
deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeType=
s.length){var x=3Dnavigator.plugins["Shockwave =
Flash"];if(x&&x.description){_23=3Dnew =
deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replac=
e(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&nav=
igator.userAgent.indexOf("Windows CE")>=3D0){var axo=3D1;var =
_26=3D3;while(axo){try{_26++;axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=3Dnew =
deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=3Dnull;}}}else{try{var =
axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var =
axo=3Dnew ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=3Dnew =
deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess=3D"always";}catch=
(e){if(_23.major=3D=3D6){return _23;}}try{axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=3Dnull=
){_23=3Dnew deconcept.PlayerVersion(axo.GetVariable("$version").split(" =
")[1].split(","));}}}return =
_23;};deconcept.PlayerVersion=3Dfunction(_29){this.major=3D_29[0]!=3Dnull=
?parseInt(_29[0]):0;this.minor=3D_29[1]!=3Dnull?parseInt(_29[1]):0;this.r=
ev=3D_29[2]!=3Dnull?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototyp=
e.versionIsValid=3Dfunction(fv){if(this.major<fv.major){return =
false;}if(this.major>fv.major){return =
true;}if(this.minor<fv.minor){return =
false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return =
false;}return =
true;};deconcept.util=3D{getRequestParameter:function(_2b){var =
q=3Ddocument.location.search||document.location.hash;if(_2b=3D=3Dnull){re=
turn q;}if(q){var _2d=3Dq.substring(1).split("&");for(var =
i=3D0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("=3D"))=3D=3D=
_2b){return _2d[i].substring((_2d[i].indexOf("=3D")+1));}}}return =
"";}};deconcept.SWFObjectUtil.cleanupSWFs=3Dfunction(){var =
_2f=3Ddocument.getElementsByTagName("OBJECT");for(var =
i=3D_2f.length-1;i>=3D0;i--){_2f[i].style.display=3D"none";for(var x in =
_2f[i]){if(typeof =
_2f[i][x]=3D=3D"function"){_2f[i][x]=3Dfunction(){};}}}};if(deconcept.SWF=
Object.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.pre=
pUnload=3Dfunction(){__flash_unloadHandler=3Dfunction(){};__flash_savedUn=
loadHandler=3Dfunction(){};window.attachEvent("onunload",deconcept.SWFObj=
ectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFO=
bjectUtil.prepUnload);deconcept.unloadSet=3Dtrue;}}if(!document.getElemen=
tById&&document.all){document.getElementById=3Dfunction(id){return =
document.all[id];};}var =
getQueryParamValue=3Ddeconcept.util.getRequestParameter;var =
FlashObject=3Ddeconcept.SWFObject;var SWFObject=3Ddeconcept.SWFObject;
------=_NextPart_000_0000_01CAE94A.D5FD7610--

