From: <Enregistré par Windows Internet Explorer 7>
Subject: CanLII - 2008 CanLII 27830 (QC A.G.)
Date: Tue, 13 Oct 2009 12:52:02 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CA4C03.F5BD57C0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.iijcan.org/eliisa/highlight.do?text=CANLII+27830&language=fr&searchTitle=Qu%C3%A9bec&path=/fr/qc/qcdag/doc/2008/2008canlii27830/2008canlii27830.html

=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 xml:lang=3D"fr" =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>CanLII - 2008 CanLII =
27830 (QC A.G.)</TITLE><!-- date generated : 2009-10-04 08:43:25 -->
<SCRIPT type=3Dtext/javascript><!--=0A=
  var hitCount =3D 0;=0A=
  var numberOfQueryTerms =3D 2;=0A=
  var arrayOfAllTermsByTermId =3D new Array();=0A=
--></SCRIPT>
<LINK href=3D"http://www.iijcan.org/eliisa/css/fixed4all.css" =
type=3Dtext/css=20
rel=3Dstylesheet><!--[if lte IE 6]><link rel=3D"stylesheet" =
href=3D"/eliisa/css/fixed4ie6.css" =
type=3D"text/css"/><![endif]--><!--[if gte IE 7]><LINK=20
href=3D"http://www.iijcan.org/eliisa/css/fixed4ie7.css" type=3Dtext/css=20
rel=3Dstylesheet><![endif]-->
<SCRIPT src=3D"http://www.iijcan.org/eliisa/javascript/highlight.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.iijcan.org/eliisa/javascript/smoothscroll.js"=20
type=3Dtext/javascript></SCRIPT>

<META http-equiv=3Dcontent-type content=3D"text/html; charset=3Dutf-8">
<META content=3DCanLII name=3DDC.publisher>
<META content=3D"NOINDEX, NOFOLLOW, NOARCHIVE" name=3DROBOTS>
<META=20
content=3D"M=C3=A9tallurgistes Unis d'Am=C3=A9rique, local 9334 c. Rhi =
Canada Inc, 2008 CanLII 27830 (QC A.G.)"=20
name=3DDC.Title>
<META content=3D2008-05-22T00:00:00-05:00 name=3DDC.Date>
<META content=3DFR name=3DDC.Language><LINK=20
href=3D"http://www.iijcan.org/css/canlii.css" type=3Dtext/css =
rel=3Dstylesheet><!--[if lte IE 6]>=0A=
			<link rel=3D"stylesheet" href=3D"/css/canlii-ie6.css" =
type=3D"text/css" />=0A=
		<![endif]--><!--[if lte IE 7]><LINK=20
href=3D"http://www.iijcan.org/css/canlii-ie.css" type=3Dtext/css =
rel=3Dstylesheet><![endif]--><!--[if IE 7]><LINK=20
href=3D"http://www.iijcan.org/css/canlii-ie7.css" type=3Dtext/css =
rel=3Dstylesheet><![endif]-->
<STYLE type=3Dtext/css>@page Section1 {size: 612pt 792pt; margin: 72pt =
90pt 72pt 90pt; }
DIV.documentcontent P.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent LI.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent DIV.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent P.MsoHeader {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent LI.MsoHeader {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent DIV.MsoHeader {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent P.MsoFooter {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent LI.MsoFooter {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent DIV.MsoFooter {
	FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.documentcontent DIV.Section1 {
	page: Section1
}
DIV.documentcontent OL {
	MARGIN-BOTTOM: 0cm
}
DIV.documentcontent UL {
	MARGIN-BOTTOM: 0cm
}
</STYLE>

<SCRIPT src=3D"http://www.iijcan.org/javascript/canlii.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
			<!--=0A=
						=0A=
				var canliiBeta =3D false;=0A=
			=0A=
				loadJavascript();=0A=
			-->=0A=
		</SCRIPT>

<META content=3D"MSHTML 6.00.6000.16890" name=3DGENERATOR></HEAD>
<BODY onkeydown=3DdownKey(event) onkeyup=3DupKey(event) =
onload=3Dinitialize();>
<DIV id=3DhighlightHeader>
<DIV id=3DnextTooltip><I>(Appuyez sur controle et fl=C3=A8che gauche =
pour avoir le m=C3=AAme=20
effet)</I></DIV>
<DIV id=3DprevTooltip><I>(Appuyez sur controle et fl=C3=A8che droite =
pour avoir le m=C3=AAme=20
effet)</I></DIV><BUTTON id=3Dprevious =
onclick=3Dprevious()>&lt;--</BUTTON><BUTTON=20
id=3Dnext onclick=3Dnext()>--&gt;</BUTTON><INPUT =
class=3DdoNotRestyleThis=20
id=3DcheckBoxTerm0 style=3D"DISPLAY: none" disabled =
type=3Dcheckbox><INPUT=20
class=3DdoNotRestyleThis id=3DcheckBoxTerm1 style=3D"DISPLAY: none" =
disabled=20
type=3Dcheckbox>
<DIV id=3DtoggleHighlighter><A=20
onclick=3D"hide('highlightHeader', 'hidden'); return =
false;">X</A></DIV></DIV>
<DIV id=3Dbody>
<DIV id=3Dheader>
<DIV id=3DcanliiLogo><A class=3Dcanlii =
href=3D"http://www.iijcan.org/fr/"><IMG alt=3D""=20
src=3D"http://www.iijcan.org/images/canliiLogo.gif"></A></DIV>
<DIV id=3DcanliiBanner><IMG alt=3D""=20
src=3D"http://www.iijcan.org/images/canliiText_fr.gif"></DIV>
<DIV id=3DlanguageSwitch>
<UL>
  <LI class=3Dfirst>Fran=C3=A7ais=20
  <LI><SPAN class=3DnotSupported>English</SPAN> </LI></UL></DIV>
<P id=3Dbreadcrumbs><SPAN class=3Dnowrap><A class=3Dcanlii=20
href=3D"http://www.iijcan.org/fr/index.php">Accueil</A></SPAN> &gt; =
<SPAN=20
class=3Dnowrap><A class=3Dcanlii=20
href=3D"http://www.iijcan.org/fr/qc/index.html">Qu=C3=A9bec</A></SPAN> =
&gt; <SPAN=20
class=3Dnowrap><A class=3Dcanlii=20
href=3D"http://www.iijcan.org/fr/qc/qcdag/index.html">Conf=C3=A9rence =
des arbitres du=20
Qu=C3=A9bec</A></SPAN> &gt; <SPAN class=3Dnowrap>2008 CanLII 27830 (QC=20
A.G.)</SPAN></P></DIV><!-- /header -->
<DIV id=3DmainContent_noMenu>
<DIV id=3DdocumentHeader>
<H1 class=3D"canlii decision">M=C3=A9tallurgistes Unis d'Am=C3=A9rique, =
local 9334 c. Rhi=20
Canada Inc, 2008 CanLII 27830 (QC A.G.)</H1>
<DIV id=3DdocumentMeta>
<DIV class=3Ditems>
<TABLE>
  <TBODY>
  <TR>
    <TD class=3DlabelPrint>Imprimer&nbsp;:</TD>
    <TD><A class=3Dcanlii=20
      =
href=3D"http://www.iijcan.org/fr/qc/qcdag/doc/2008/2008canlii27830/2008ca=
nlii27830.pdf"><IMG=20
      src=3D"http://www.iijcan.org/images/pdficon_small.gif"> Document=20
  PDF</A></TD></TR>
  <TR>
    <TD class=3Dlabel>Date&nbsp;:</TD>
    <TD>2008-05-22</TD></TR>
  <TR>
    <TD class=3Dlabel>URL&nbsp;:</TD>
    <TD class=3DdocumentStaticUrl><A=20
      =
href=3D"http://www.canlii.org/fr/qc/qcdag/doc/2008/2008canlii27830/2008ca=
nlii27830.html">http://www.canlii.org/fr/qc/qcdag/doc/2008/2008canlii2783=
0/2008canlii27830.html</A></TD>
  <TR>
    <TD class=3Dlabel>Suivi&nbsp;</TD>
    <TD><A class=3Dcanlii=20
      =
href=3D"http://www.iijcan.org/eliisa/noteUpSearch.do?origin=3D/fr/qc/qcda=
g/doc/2008/2008canlii27830/2008canlii27830.html&amp;translatedOrigin=3D&a=
mp;language=3Dfr&amp;searchTitle=3D2008+CanLII+27830+%28QC+A.G.%29">Reche=
rche=20
      de d=C3=A9cisions citant cette d=C3=A9cision</A> =
</TD></TR></TBODY></TABLE></DIV></DIV><!-- /documentMeta -->
<DIV id=3DdecisionReflexRecord>
<DIV id=3DreflexRecordHeader><SPAN><A class=3DfalseLink =
id=3DreflexRecordToggler=20
href=3D'javascript:toggleReflexRecord("decisionReflexRecordContent", =
"Minimiser");'>Fiche=20
Reflex</A></SPAN> (d=C3=A9cisions associ=C3=A9es, l=C3=A9gislation =
cit=C3=A9e et d=C3=A9cisions cit=C3=A9es)=20
</DIV>
<DIV id=3DdecisionReflexRecordContent>
<DIV class=3Ditems>
<H2 class=3Dcanlii>L=C3=A9gislation cit=C3=A9e (disponible sur =
CanLII)</H2>
<UL>
  <LI><A class=3D"canlii legislationLink"=20
  =
href=3D"http://www.iijcan.org/fr/qc/legis/lois/lrq-c-c-27/derniere/lrq-c-=
c-27.html">Code=20
  du travail</A>, L.R.Q., <SPAN class=3Dchapter>c. C-27</SPAN>=20
</LI></UL></DIV></DIV><!-- /decisionReflexRecordContent --></DIV><!-- =
/decisionReflexRecord --></DIV><!-- /documentHeader --><!-- closing main =
divs to prevent styles clashes with document's own styles. --></DIV><!-- =
/mainContent_noMenu --></DIV><!-- /body --><!-- content -->
<DIV id=3DoriginalDocument>
<DIV class=3Ddocumentcontent>
<DIV class=3DSection1>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: center" =
align=3Dcenter><B><SPAN=20
style=3D"FONT-SIZE: 18pt; FONT-FAMILY: Arial">TRIBUNAL =
D=E2=80=99ARBITRAGE </SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: center" =
align=3Dcenter><B><SPAN=20
style=3D"FONT-SIZE: 16pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: center" =
align=3Dcenter><B><SPAN=20
style=3D"FONT-SIZE: 16pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">CANADA</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">PROVINCE DE QU=C3=89BEC</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">N<SUP>o</SUP> de =
d=C3=A9p=C3=B4t&nbsp;:</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">Date&nbsp;:&nbsp;&nbsp; &nbsp;&nbsp; <B>22 =
mai=20
2008.</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; </SPAN></U></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">DEVANT L=E2=80=99ARBITRE&nbsp;:&nbsp;&nbsp; =
&nbsp;=20
M<SUP>e</SUP> MARCEL MORIN</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; </SPAN></U></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">Les M=C3=A9tallurgistes Unis =
d=E2=80=99Am=C3=A9rique =E2=80=93 local=20
9334</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></B><SPAN style=3D"FONT-FAMILY: Arial">Ci-apr=C3=A8s =
appel=C3=A9(e) =C2=AB&nbsp;le=20
syndicat&nbsp;=C2=BB</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">ET</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">RHI CANADA INC =E2=80=93 USINE DE =
B=C3=89CANCOUR</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
Ci-apr=C3=A8s appel=C3=A9(e) =
=C2=AB&nbsp;l=E2=80=99employeur&nbsp;=C2=BB</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">Plaignant(e)&nbsp;:</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">Grief(s)&nbsp;:&nbsp; N<SUP>o</SUP> du=20
greffe&nbsp;:</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; N<SUP>o</SUP> du syndicat&nbsp;:</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">Nature du grief&nbsp;:&nbsp;&nbsp; =
<B>INTERPR=C3=89TATION=20
DE LA CONVENTION COLLECTIVE</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">Convention collective&nbsp;:&nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; <B>2001&nbsp; -&nbsp; 2008</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; </SPAN></U></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: center" =
align=3Dcenter><B><SPAN=20
style=3D"FONT-FAMILY: Arial">SENTENCE ARBITRALE</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: center" =
align=3Dcenter><B><SPAN=20
style=3D"FONT-FAMILY: Arial">(Art. 100 Code du Travail <A =
class=3Dreflex-statute=20
href=3D"http://www.iijcan.org/fr/qc/legis/lois/lrq-c-c-27/derniere/lrq-c-=
c-27.html"=20
name=3Dreflex-statute-21241199>L.R.Q. c.C-27</A>)</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; </SPAN></U></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[01]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; L=E2=80=99arbitre soussign=C3=A9 a =C3=A9t=C3=A9 =
d=C3=A9sign=C3=A9 par les parties pour entendre le=20
pr=C3=A9sent grief.&nbsp; Elles ont convenu des admissions =
d=E2=80=99usage voulant que=20
l=E2=80=99arbitre ait comp=C3=A9tence pour disposer de ce grief qui a =
=C3=A9t=C3=A9 achemin=C3=A9 =C3=A0=20
l=E2=80=99arbitrage conform=C3=A9ment =C3=A0 la convention =
collective.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; LE GRIEF</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[02]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Par son grief du 30 ao=C3=BBt 2006 (S-1), le syndicat =
conteste le fait=20
que l=E2=80=99employeur charge aux employ=C3=A9s mis =C3=A0 pied, le =
co=C3=BBt des assurances=20
collectives.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; <B>ADMISSIONS</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[03]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Il est admis que depuis 1998, lorsqu=E2=80=99un =
salari=C3=A9 est mis =C3=A0 pied,=20
l=E2=80=99employeur d=C3=A9duise de son dernier ch=C3=A8que de paie, les =
primes pour trois mois de=20
couverture d=E2=80=99assurance m=C3=A9dicaments (assurances =
compl=C3=A9mentaires) et ce, jusqu=E2=80=99=C3=A0=20
la date du grief. </SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; <B>LA PREUVE</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[04]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Outre les admissions, une preuve documentaire a =
=C3=A9t=C3=A9 d=C3=A9pos=C3=A9e=20
consistant principalement au contrat d=E2=80=99assurance groupe (S-4), =
au r=C3=A9sum=C3=A9 des=20
avantages de l=E2=80=99ancienne police (S-5), l=E2=80=99ancien contrat =
(S-6) et un rapport sur=20
le personnel (S-7).</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; <B>ARGUMENTATIONS DES PARTIES</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN-LEFT: 106.5pt; TEXT-INDENT: -52.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">A)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-FAMILY: =
Arial">SYNDICALE</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[05]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Dans un rapport sur le personnel, remis =C3=A0 un =
salari=C3=A9 lors de sa=20
mise =C3=A0 pied (S-7), la mention suivante a =C3=A9t=C3=A9 =
inscrite&nbsp;:</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">=C2=AB&nbsp;Si vous deviez =
quitter,=20
l=E2=80=99assurance m=C3=A9dicament est obligatoire pour une =
p=C3=A9riode de trois (3) mois selon=20
la loi et le montant sera enlev=C3=A9 de votre derni=C3=A8re paie.&nbsp; =
Soins dentaires=20
couverts jusqu=E2=80=99=C3=A0 la fin du mois et au retour repart le =
1<SUP>er</SUP>&nbsp; jour=20
du mois suivant&nbsp;=C2=BB.</SPAN></B><SPAN style=3D"FONT-FAMILY: =
Arial">&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: =
justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: =
justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[06]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; C=E2=80=99est ce qui a =C3=A9t=C3=A9 contest=C3=A9 par le =
grief.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[07]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Le repr=C3=A9sentant syndical soumet qu=E2=80=99en vertu de =
l=E2=80=99article 10.01 de=20
la convention collective en conjugaison avec 10.06 c), le salari=C3=A9 =
voit son=20
service continu, son anciennet=C3=A9, se poursuivre malgr=C3=A9 une mise =
=C3=A0 pied&nbsp;=20
d=E2=80=99une dur=C3=A9e inf=C3=A9rieure =C3=A0 36 mois.&nbsp; Les =
salari=C3=A9s vis=C3=A9s par le grief sont=20
tous les salari=C3=A9s qui avaient termin=C3=A9 leur p=C3=A9riode de =
probation, ce qui est=20
admis par l=E2=80=99employeur.&nbsp; Ainsi, dans cette hypoth=C3=A8se, =
le lien d=E2=80=99emploi est=20
rompu.&nbsp; Toutefois, la clause 10.03 b) pr=C3=A9cise que tant que le =
salari=C3=A9 n=E2=80=99a=20
pas =C3=A9t=C3=A9 cong=C3=A9di=C3=A9 ou licenci=C3=A9, ces droits =
subsistent.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[08]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Le litige ne se trouve pas dans la police =
d=E2=80=99assurances=20
ma=C3=AEtresse.&nbsp; La clause 17.01 pr=C3=A9voit que pour =
l=E2=80=99assurance-vie (a), les=20
primes sont d=C3=A9fray=C3=A9es par l=E2=80=99employeur et ce =
jusqu=E2=80=99=C3=A0 la fin du mois qui suit le=20
mois de la mise =C3=A0 pied du salari=C3=A9 concern=C3=A9.&nbsp; La =
police ma=C3=AEtresse permet de=20
la transformer en police individuelle.&nbsp; Pour l=E2=80=99assurance en =
cas=20
d=E2=80=99invalidit=C3=A9 (c), les primes sont pay=C3=A9es par =
l=E2=80=99employeur.&nbsp; La police=20
d=E2=80=99assurance (S-4) pr=C3=A9voit =C3=A0 la page F-3 que =
</SPAN><B><SPAN=20
style=3D"FONT-SIZE: 11pt; FONT-FAMILY: Arial">=C2=AB&nbsp;Lors =
d=E2=80=99une mise =C3=A0 pied=20
temporaire ou un cong=C3=A9 autoris=C3=A9, les assurances (sauf =
l=E2=80=99assurance d=E2=80=99invalidit=C3=A9=20
de longue dur=C3=A9e) peuvent =C3=AAtre maintenues, au choix de =
l=E2=80=99employeur, jusqu=E2=80=99=C3=A0 la=20
fin du mois au cours duquel la mise =C3=A0 pied temporaire ou le =
cong=C3=A9, a=20
d=C3=A9but=C3=A9&nbsp;=C2=BB.</SPAN></B><SPAN style=3D"FONT-FAMILY: =
Arial">&nbsp;&nbsp;=20
Toutefois,&nbsp; cette protection s=E2=80=99applique lorsque le =
salari=C3=A9 est au=20
travail.&nbsp; Quant =C3=A0 l=E2=80=99assurance en cas =
d=E2=80=99invalidit=C3=A9 de courte dur=C3=A9e (d), le=20
co=C3=BBt en est d=C3=A9fray=C3=A9 enti=C3=A8rement par =
l=E2=80=99employeur.&nbsp; La police d=E2=80=99assurances=20
n=E2=80=99en traite pas puisque c=E2=80=99est un r=C3=A9gime =
auto-assur=C3=A9.&nbsp; Les soins dentaires=20
occasionn=C3=A9s par un accident E) ne sont nullement pertinents pour =
les fins du=20
pr=C3=A9sent grief mais le plan de soins dentaires (F) est ajout=C3=A9 =
au R=C3=A9gime=20
d=E2=80=99assurance-groupe&nbsp; et est payable moiti=C3=A9-moiti=C3=A9 =
par l=E2=80=99employeur et les=20
salari=C3=A9s.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[09]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Enfin, quant =C3=A0 l=E2=80=99assurance-maladie (b), la =
convention en mentionne=20
les grandes lignes.&nbsp; C=E2=80=99est l=E2=80=99employeur qui en =
d=C3=A9raie les primes.&nbsp; Le=20
d=C3=A9tail des protections se retrouve dans la police =
ma=C3=AEtresse.&nbsp; Or, depuis=20
1998, l=E2=80=99employeur a refil=C3=A9 la facture au salari=C3=A9 mis =
=C3=A0 pied et le syndicat est=20
intervenu en 2006 pour que cesse cette fa=C3=A7on de proc=C3=A9der et =
que l=E2=80=99employeur en=20
assume le co=C3=BBt.&nbsp; On me r=C3=A9f=C3=A8re =C3=A0 la m=C3=AAme =
clause de la page F-3 du contrat=20
d=E2=80=99assurance mentionn=C3=A9e pr=C3=A9c=C3=A9demment voulant que =
la protection peut =C3=AAtre=20
maintenue.&nbsp; Le contrat d=E2=80=99assurance pr=C3=A9c=C3=A9dent =
(S-6) contient =C3=A0 sa page F-3=20
une clause se lisant ainsi&nbsp;:</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">=C2=AB&nbsp;Lors =
d=E2=80=99une mise =C3=A0 pied=20
temporaire ou un cong=C3=A9 autoris=C3=A9, vos assurances (=C3=A0 =
l=E2=80=99exception de l=E2=80=99assurance=20
d=E2=80=99invalidit=C3=A9 de longue dur=C3=A9e) peuvent =C3=AAtre =
maintenues jusqu=E2=80=99=C3=A0 la fin du=20
troisi=C3=A8me mois au cours duquel la mise =C3=A0 pied temporaire ou le =
cong=C3=A9 a=20
d=C3=A9but=C3=A9&nbsp;=C2=BB.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[10]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Ainsi, l=E2=80=99on constate une diff=C3=A9rence entre les =
deux textes en ce que=20
la police actuelle, en vigueur depuis le 1<SUP>er</SUP> novembre 2005, =
avec la=20
Compagnie Sunlife a =C3=A9t=C3=A9 modifi=C3=A9e pour y ajouter les =
termes </SPAN><B><SPAN=20
style=3D"FONT-SIZE: 11pt; FONT-FAMILY: Arial">=C2=AB&nbsp;au choix de=20
l=E2=80=99employeur&nbsp;=C2=BB&nbsp; </SPAN></B><SPAN =
style=3D"FONT-FAMILY: Arial">=C3=89tant donn=C3=A9=20
que l=E2=80=99employeur a fait le choix de maintenir les assurances =
pendant une p=C3=A9riode=20
de 3 mois et que la police d=E2=80=99assurance ne contient pas de =
condition=20
sp=C3=A9cifiquement pr=C3=A9vue pour le paiement de la prime, les =
dispositions du dernier=20
paragraphe de la clause 17.01 b) doivent recevoir application.&nbsp; =
Lorsque les=20
dispositions&nbsp;&nbsp; &nbsp;&nbsp; d=E2=80=99une convention =
collective sont claires,=20
il n=E2=80=99y a pas place pour une preuve de pratique =
pass=C3=A9e.&nbsp; Le grief devrait=20
=C3=AAtre accueilli et l=E2=80=99arbitre devrait r=C3=A9server sa =
comp=C3=A9tence pour fixer le=20
quantum.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN-LEFT: 106.5pt; TEXT-INDENT: -52.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">B)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-FAMILY: =
Arial">PATRONALE</SPAN></B></P>
<P class=3DMsoNormal style=3D"MARGIN-LEFT: 54pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[11]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Le principe veut qu=E2=80=99un salari=C3=A9 mis =C3=A0 pied =
conserve son lien=20
d=E2=80=99emploi avec son employeur mais que les avantages =
p=C3=A9cuniaires pr=C3=A9vus =C3=A0 la=20
convention collective sont suspendus pendant la mise =C3=A0 =
pied&nbsp;:&nbsp;=20
S=C3=89MINAIRE DE QU=C3=89BEC et SYNDICAT DES TRAVAILLEURS FORESTIERS DE =
STE-BRIGITTE DE=20
LAVAL (F.T.P.F. =E2=80=93 CSN) sentence de Me Fran=C3=A7ois G. Fortier =
du 10 septembre 1985,=20
TRANSPORT SCOLAIRE BEAUBIEN LT=C3=89E et LE SYNDICAT DES EMPLOY=C3=89S =
DE COMMERCE DE=20
MONTMAGNY (CSD), sentence de Me Andr=C3=A9 C. C=C3=B4t=C3=A9 du 10 mai =
1983, BOULANGERIE WESTON=20
LT=C3=89E et LE SYNDICAT INTERNATIONAL DES TRAVAILLEURS DE LA =
BOULANGERIE, CONFISERIE=20
ET DU TABAC (F.A.T. =E2=80=93 C.T.C.) =E2=80=93 F.T.Q. =E2=80=93 C.O.I.) =
LOCAL 55, sentence de Me Roland=20
Tremblay du 4 octobre 1982, SYNDICAT CANADIEN DES COMMUNICATIONS, DE =
L=E2=80=99=C3=89NERGIE=20
ET DU PAPIER, LOCAL 134 Q (S.C.E.P.) c. WESTROC INC., sentence de Me =
Jean-Louis=20
Dub=C3=A9 du 3 mai 1999, SYNDICAT NATIONAL DES EMPLOY=C3=89S MUNICIPAUX =
DE TRACY (FISA) et=20
R=C3=89GIE INTERMUNICIPALE DE L=E2=80=99EAU, TRACY ST-JOSEPH ET ST-ROCK, =
sentence de M.=20
Gilles Lavoie du 25 mai 1995.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[12]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Il faut donc s=E2=80=99en r=C3=A9f=C3=A9rer =C3=A0 la =
convention collective et au contrat=20
d=E2=80=99assurance qui en fait partie.&nbsp; Or, le contrat S-4, =
actuellement en=20
vigueur, dans la clause admissibilit=C3=A9 =C3=A9nonce =C3=A0 la page =
E-1&nbsp;:</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">=C2=AB&nbsp;Admissibilit=C3=A9 =C3=A0 l=E2=80=99assurance=20
en qualit=C3=A9 de membre</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Une personne est =
admissible =C3=A0=20
l=E2=80=99assurance en qualit=C3=A9 de membre et continue d=E2=80=99y =
=C3=AAtre admissible si elle remplit=20
les conditions suivantes&nbsp;:</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 74.7pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">1-<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Elle est=20
au travail</SPAN></B><SPAN style=3D"FONT-FAMILY: Arial">.</SPAN></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 74.7pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">2-<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Elle=20
travaille r=C3=A9guli=C3=A8rement pour vous ou une de vos =
soci=C3=A9t=C3=A9s affili=C3=A9es au moins 30=20
heures par semaine</SPAN></B><SPAN style=3D"FONT-FAMILY: =
Arial">.</SPAN></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 74.7pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">3-<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Elle a=20
travaill=C3=A9 pour vous ou une de vos Soci=C3=A9t=C3=A9s affili=C3=A9es =
de fa=C3=A7on continue pendant=20
une p=C3=A9riode minimale =C3=A9gale au d=C3=A9lai =
d=E2=80=99admission</SPAN></B><SPAN=20
style=3D"FONT-FAMILY: Arial">.</SPAN></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 74.7pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">4-<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Elle=20
r=C3=A9side au Canada</SPAN></B><SPAN style=3D"FONT-FAMILY: =
Arial">&nbsp;=C2=BB.</SPAN></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[13]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; L=E2=80=99exception est pr=C3=A9vue =C3=A0 la page F-3 dans =
une clause intitul=C3=A9e=20
<B><U>Fin de l=E2=80=99assurance du membre</U></B>.&nbsp; Ainsi, lors =
d=E2=80=99une mise =C3=A0 pied=20
temporaire, il appartient =C3=A0 l=E2=80=99employeur de d=C3=A9cider de =
maintenir ou non la=20
couverture.&nbsp; L=E2=80=99ajout des mots </SPAN><B><SPAN=20
style=3D"FONT-SIZE: 11pt; FONT-FAMILY: Arial">=C2=AB&nbsp;au choix de=20
l=E2=80=99employeur&nbsp;=C2=BB</SPAN></B><SPAN style=3D"FONT-FAMILY: =
Arial"> =C3=A0 la clause=20
pr=C3=A9vue pour les employ=C3=A9s mis =C3=A0 pied ne peut =C3=AAtre =
interpr=C3=A9t=C3=A9e comme le=20
souhaiterait le syndicat puisqu=E2=80=99une telle interpr=C3=A9tation =
viderait la clause de=20
son sens.&nbsp; En effet, pourquoi l=E2=80=99employeur ferait-il le =
choix d=E2=80=99offrir aux=20
travailleurs mis =C3=A0 pied une extension de couverture, si, en sus, il =
doit en=20
payer les primes alors qu=E2=80=99il est d=E2=80=99avis contraire?&nbsp; =
Poser la question,=20
c=E2=80=99est y r=C3=A9pondre.&nbsp; Cet ajout vient plut=C3=B4t =
renforcer les pr=C3=A9tentions de=20
l=E2=80=99employeur.&nbsp; Depuis 1998, l=E2=80=99employeur informe les =
salari=C3=A9s que les primes=20
vont =C3=AAtre d=C3=A9duites sur la derni=C3=A8re paie.&nbsp; Cette =
fa=C3=A7on de faire est due =C3=A0=20
l=E2=80=99adoption de la LOI SUR L=E2=80=99ASSURANCE M=C3=89DICAMENTS, =
L.R.Q. chapitre=20
A-29.01.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[14]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Cette Loi pr=C3=A9voit que lorsqu=E2=80=99un r=C3=A9gime =
priv=C3=A9 existe, le salari=C3=A9=20
doit l=E2=80=99accepter.&nbsp; C=E2=80=99est en raison de =
l=E2=80=99existence de la Loi que l=E2=80=99employeur=20
a demand=C3=A9 =C3=A0 ce que la prime soit pay=C3=A9e par le =
salari=C3=A9 vu la jurisprudence=20
mentionn=C3=A9e pr=C3=A9c=C3=A9demment sur la suspension des =
obligations.&nbsp; D=E2=80=99ailleurs,=20
dans un r=C3=A9sum=C3=A9 apparaissant sur le site Internet de la =
R=C3=A9gie de l=E2=80=99assurance=20
maladie du Qu=C3=A9bec, l=E2=80=99on retrouve <U>quelques situations de =
vie</U> et notamment=20
<U>Lorsque l=E2=80=99employeur offre un r=C3=A9gime =
priv=C3=A9&nbsp;:</U></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><U><SPAN=20
style=3D"FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">=C2=AB&nbsp;La personne =
qui s=E2=80=99absente=20
temporairement de son emploi doit continuer de participer au r=C3=A9gime =
priv=C3=A9 de son=20
employeur lorsque celui-ci continue de le lui offrir.&nbsp; En effet, =
elle ne=20
peut pas cesser d=E2=80=99adh=C3=A9rer au r=C3=A9gime qui lui est offert =
pendant son absence du=20
travail, du moins pas pour la portion qui concerne les =
m=C3=A9dicaments.&nbsp; De=20
plus, cette personne doit continuer de couvrir son conjoint et ses =
enfants si=20
elle le faisait auparavant.&nbsp; Par ailleurs, cette personne de =
m=C3=AAme que son=20
conjoint et ses enfants ne sont pas admissibles au r=C3=A9gime public de =
la R=C3=A9gie de=20
l=E2=80=99assurance maladie du Qu=C3=A9bec.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Si l=E2=80=99employeur =
cesse d=E2=80=99offrir le=20
r=C3=A9gime priv=C3=A9 =C3=A0 la personne qui s=E2=80=99absente =
temporairement de son emploi (ce=20
pourrait =C3=AAtre le cas, par exemple, lors d=E2=80=99une mise =C3=A0 =
pied temporaire), cette=20
personne doit v=C3=A9rifier si elle a acc=C3=A8s d=E2=80=99une autre =
fa=C3=A7on =C3=A0 un r=C3=A9gime=20
priv=C3=A9.&nbsp; M=C3=AAme si, habituellement, une personne est =
admissible =C3=A0 un r=C3=A9gime=20
priv=C3=A9 dans le cadre de son emploi, elle peut aussi y avoir =
acc=C3=A8s d=E2=80=99autres=20
fa=C3=A7ons&nbsp;=C2=BB.</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[15]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Ainsi, pendant une mise =C3=A0 pied, le salari=C3=A9 voit =
son lien d=E2=80=99emploi=20
maintenu sauf pour les droits consentis.&nbsp; C=E2=80=99est ainsi que =
par la clause=20
10.06 c), une protection expresse des droits d=E2=80=99anciennet=C3=A9 =
est maintenue pour une=20
p=C3=A9riode de 36 mois de mise =C3=A0 pied sans =C3=AAtre =
rappel=C3=A9.&nbsp; La mise =C3=A0 pied et=20
plus particuli=C3=A8rement sa m=C3=A9canique, est pr=C3=A9vue =C3=A0 la =
clause 10.08, le&nbsp;=20
rappel au travail (10.09).&nbsp; Les jours f=C3=A9ri=C3=A9s et =
pay=C3=A9s, au nombre de 11,=20
exigent, pour le paiement, que le salari=C3=A9 ait =
=C2=AB&nbsp;travaill=C3=A9 la journ=C3=A9e=20
normale pr=C3=A9c=C3=A9dant imm=C3=A9diatement et suivant la f=C3=AAte, =
sauf si l=E2=80=99absence a =C3=A9t=C3=A9=20
pr=C3=A9alablement autoris=C3=A9e ou qu=E2=80=99elle soit d=C3=A9j=C3=A0 =
pr=C3=A9vue dans la convention=20
collective&nbsp;=C2=BB (13.01 G)).&nbsp; La m=C3=AAme clause =
pr=C3=A9voit une exception pour la=20
mise =C3=A0 pied&nbsp;:&nbsp; </SPAN><B><SPAN=20
style=3D"FONT-SIZE: 11pt; FONT-FAMILY: Arial">=C2=AB&nbsp;Dans le cas =
d=E2=80=99un salari=C3=A9 mis=20
=C3=A0 pied, celui-ci a droit au paiement de la f=C3=AAte s=E2=80=99il a =
travaill=C3=A9 au cours des=20
deux (2) mois pr=C3=A9c=C3=A9dant ladite f=C3=AAte et s=E2=80=99il a =
accumul=C3=A9 au moins six (6) mois de=20
service continu pour l=E2=80=99employeur&nbsp;=C2=BB</SPAN></B><SPAN=20
style=3D"FONT-FAMILY: Arial">.&nbsp; La clause 14.07 pr=C3=A9voit =
qu=E2=80=99</SPAN><B><SPAN=20
style=3D"FONT-SIZE: 11pt; FONT-FAMILY: Arial">&nbsp;=C2=AB&nbsp;En cas =
de mise =C3=A0 pied,=20
l=E2=80=99employeur verse, sur demande du salari=C3=A9, =
l=E2=80=99indemnit=C3=A9 de vacances =C3=A0 laquelle il=20
a droit&nbsp;=C2=BB.</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[16]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Quant =C3=A0 la clause 17.01 A) concernant =
l=E2=80=99assurance-vie, il est=20
express=C3=A9ment =C3=A9nonc=C3=A9 que la prime, en cas de mise =C3=A0 =
pied est payable par=20
l=E2=80=99employeur, pour sa part, jusqu=E2=80=99=C3=A0 la fin du mois =
suivant le mois de la mise =C3=A0=20
pied.&nbsp; Si tel n=E2=80=99=C3=A9tait pas le cas, ce serait le =
1<SUP>er</SUP> alin=C3=A9a qui=20
recevrait application.&nbsp; Mais pour ce qui est de =
l=E2=80=99assurance-maladie (17.01=20
b), on ne traite pas de l=E2=80=99employ=C3=A9 en mise =C3=A0 pied, ce =
qui implique que=20
l=E2=80=99employeur n=E2=80=99a pas =C3=A0 assumer la prime de sorte que =
le grief devrait =C3=AAtre=20
rejet=C3=A9.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN-LEFT: 106.5pt; TEXT-INDENT: -52.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">C)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-FAMILY: =
Arial">R=C3=89PLIQUE</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[17]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; La Loi sur l=E2=80=99assurance m=C3=A9dicaments ne permet =
pas de disposer de ce=20
grief.&nbsp; La convention collective va bien au-del=C3=A0 des =
dispositions de la=20
Loi.&nbsp; Il s=E2=80=99agit d=E2=80=99un r=C3=A9gime =
compl=C3=A9mentaire.&nbsp; L=E2=80=99employeur ne peut se=20
cacher derri=C3=A8re la Loi.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; <B>DISPOSITIONS PERTINENTES DE LA CONVENTION=20
COLLECTIVE</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">=C2=AB&nbsp;10.01</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">a)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">L=E2=80=99anciennet=C3=A9 =
consiste en la dur=C3=A9e du=20
service continu d=E2=80=99un salari=C3=A9 aupr=C3=A8s de =
l=E2=80=99employeur depuis la date de son=20
embauche.&nbsp; Cette date est sujette aux ajustements pr=C3=A9vus =
=C3=A0 cette=20
convention.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dans le cas o=C3=B9 des =
salari=C3=A9s ont la=20
m=C3=AAme date d=E2=80=99embauche, c=E2=80=99est l=E2=80=99heure =C3=A0 =
laquelle le salari=C3=A9 a commenc=C3=A9 =C3=A0=20
travailler qui d=C3=A9termine la pr=C3=A9f=C3=A9rence.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dans le cas o=C3=B9 ce =
serait la m=C3=AAme=20
heure, c=E2=80=99est le hasard qui d=C3=A9termine la =
pr=C3=A9f=C3=A9rence d=E2=80=99anciennet=C3=A9 et ce, en=20
pr=C3=A9sence des salari=C3=A9s concern=C3=A9s et d=E2=80=99un =
repr=C3=A9sentant du syndicat.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">b)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Le=20
service continu pour fins d=E2=80=99anciennet=C3=A9 consiste en la =
dur=C3=A9e de l=E2=80=99emploi non=20
interrompu aupr=C3=A8s de l=E2=80=99employeur par une des causes =
mentionn=C3=A9es =C3=A0 l=E2=80=99article=20
10.06&nbsp;=C2=BB</SPAN></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">=C2=AB&nbsp;10.03</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">[=E2=80=A6]</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">c)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Tant que=20
son droit d=E2=80=99anciennet=C3=A9 ne lui est pas reconnu au sens de ce =
qui pr=C3=A9c=C3=A8de, les=20
dispositions de la convention collective s=E2=80=99appliquent au =
salari=C3=A9 concern=C3=A9 sauf=20
en ce qui a trait au r=C3=A9gime d=E2=80=99assurance pr=C3=A9vu =C3=A0 =
l=E2=80=99article 17, au r=C3=A9gime de=20
retraite et =C3=A0 la proc=C3=A9dure de r=C3=A8glement des griefs et =
d=E2=80=99arbitrage, en as de=20
licenciement ou de cong=C3=A9diement.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 80.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 80.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 80.7pt; TEXT-INDENT: -26.7pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">=C2=AB&nbsp;10.06</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 80.7pt; TEXT-INDENT: -26.7pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 80.7pt; TEXT-INDENT: -26.7pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">[=E2=80=A6]</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 80.7pt; TEXT-INDENT: -26.7pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 98.7pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">d)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp;=20
</SPAN></SPAN></B><B><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">si le=20
salari=C3=A9 est mis =C3=A0 pied et qu=E2=80=99il n=E2=80=99est pas =
rappel=C3=A9 au travail dans les trente-six=20
(36) mois qui suivent la date de sa mise =C3=A0 pied.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 80.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 80.7pt; TEXT-INDENT: -26.7pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">=C2=AB&nbsp;17.01&nbsp;&nbsp;=20
&nbsp;&nbsp; <U>Le programme d=E2=80=99assurance =
collectif</U></SPAN></B></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: =
justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Le programme =
d=E2=80=99assurance collectif=20
pr=C3=A9sentement en vigueur sera maintenu tel =
qu=E2=80=99=C3=A9num=C3=A9r=C3=A9 ci-dessous.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Si, =C3=A0 =
l=E2=80=99occasion d=E2=80=99un changement=20
d=E2=80=99assureur, un b=C3=A9n=C3=A9fice assur=C3=A9 devait =C3=AAtre =
modifi=C3=A9, l=E2=80=99employeur en informe le=20
syndicat au pr=C3=A9alable.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Les dispositions de la =
police=20
d=E2=80=99assurance ma=C3=AEtresse et ses avenants priment advenant tout =
diff=C3=A9rend sur chacun=20
des b=C3=A9n=C3=A9fices assur=C3=A9s et ci-apr=C3=A8s =
=C3=A9num=C3=A9r=C3=A9s.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 106.2pt; TEXT-INDENT: -49.5pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">a)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Assurance-vie</SPAN></U></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp; Un=20
montant d=E2=80=99assurance vie =C3=A9gal =C3=A0 deux (2) fois le =
salaire annuel &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; arrondi au plus haut multiple de mille dollars =

(1&nbsp;000 $) et estim=C3=A9 &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; sur =
le salaire=20
r=C3=A9gulier du salari=C3=A9.&nbsp; Les primes sont d=C3=A9fray=C3=A9es =
par &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; l=E2=80=99employeur.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;=20
L=E2=80=99employeur paie sa part de la prime aff=C3=A9rente =C3=A0 =
l=E2=80=99assurance-vie &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; dans le cas d=E2=80=99un salari=C3=A9 =
mis =C3=A0 pied et ce,=20
jusqu=E2=80=99au dernier jour &nbsp; du mois qui suit le mois de la mise =
=C3=A0 pied du=20
salari=C3=A9 concern=C3=A9.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 106.2pt; TEXT-INDENT: -49.5pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">b)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Assurance-maladie</SPAN></U></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp; D=C3=A8s=20
que la p=C3=A9riode de probation est termin=C3=A9e, l=E2=80=99employeur =
offre &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; une assurance-maladie qui inclut =
les=20
personnes =C3=A0 charge &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; (=C3=A9pouse et =

enfants)</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <U>Assurance=20
hospitalisation</U></SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp; Le=20
r=C3=A9gime pr=C3=A9voit le remboursement des frais de chambre et =
&nbsp;&nbsp; &nbsp;=20
pension =C3=A0 l=E2=80=99h=C3=B4pital selon le tarif journalier =
ordinairement fix=C3=A9 &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; pour une chambre semi-priv=C3=A9e, pendant la =
dur=C3=A9e enti=C3=A8re=20
de &nbsp;&nbsp; l=E2=80=99hospitalisation.&nbsp; En raison de=20
l=E2=80=99assurance-hospitalisation, la &nbsp;&nbsp; &nbsp;&nbsp; =
maternit=C3=A9 de la=20
personne =C3=A0 charge est consid=C3=A9r=C3=A9e de la m=C3=AAme&nbsp; =
&nbsp;&nbsp; &nbsp;&nbsp;=20
fa=C3=A7on que n=E2=80=99importe quelle maladie.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <U>Le r=C3=A9gime =
d=E2=80=99assurance-maladie=20
compl=C3=A9mentaire</U></SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp; Le=20
r=C3=A9gime couvre, pour chaque p=C3=A9riode de douze (12) mois =
&nbsp;&nbsp; &nbsp;&nbsp;=20
cons=C3=A9cutifs, cent pour-cent (100%) du co=C3=BBt des services =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp; =C3=A9num=C3=A9r=C3=A9s dans la brochure =
d=E2=80=99assurance-groupe, apr=C3=A8s que le=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; participant ait vers=C3=A9 une =
franchise de=20
vingt-cinq dollars (25 $) &nbsp;&nbsp; &nbsp; par personne (pour un =
c=C3=A9libataire)=20
ou par salari=C3=A9 avec d=C3=A9pendant(s) par ann=C3=A9e =
civile.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp; Le=20
maximum global des prestations pour chaque salari=C3=A9 et &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp; chacune de ses personnes =C3=A0 charge est de cent mille dollars =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; (100&nbsp;000 $).&nbsp; La prime pour cette =
assurance=20
est d=C3=A9fray=C3=A9e par &nbsp; l=E2=80=99employeur.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 106.2pt; TEXT-INDENT: -49.5pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">c)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Assurance en cas=20
d=E2=80=99invalidit=C3=A9</SPAN></U></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: =
justify"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;=20
<B>L=E2=80=99assurance en cas d=E2=80=99invalidit=C3=A9 pour une =
p=C3=A9riode de plus de six (6) mois=20
garantit un revenu mensuel si le salari=C3=A9 est en =C3=A9tat =
&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; d=E2=80=99invalidit=C3=A9 totale.&nbsp; Une =
indemnit=C3=A9 mensuelle=20
maximale de 66 &nbsp;&nbsp; &nbsp;&nbsp; 2/3% du salaire r=C3=A9gulier =
du salari=C3=A9 est=20
pay=C3=A9e par l=E2=80=99assureur.&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp; Cette=20
assurance ne couvre pas l=E2=80=99invalidit=C3=A9 due =C3=A0 un accident =
&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; industriel, une maladie industrielle ou un accident couvert =
par=20
&nbsp;&nbsp; &nbsp;&nbsp; l=E2=80=99Assurance automobile du =
Qu=C3=A9bec.</B></SPAN></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;=20
Premier versement de l=E2=80=99indemnit=C3=A9.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;=20
L=E2=80=99indemnit=C3=A9 d=E2=80=99invalidit=C3=A9 totale de longue =
dur=C3=A9e est vers=C3=A9e =C3=A0 &nbsp;&nbsp;=20
&nbsp;&nbsp; l=E2=80=99expiration du d=C3=A9lai de six (6) mois de =
convalescence=20
continus.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;=20
Invalidit=C3=A9 totale</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp; On=20
entend par =C2=AB&nbsp;invalidit=C3=A9 totale&nbsp;=C2=BB, =
l=E2=80=99incapacit=C3=A9 de remplir toute=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; fonction relative =
=C3=A0=20
l=E2=80=99occupation.&nbsp; Il n=E2=80=99est pas n=C3=A9cessaire que le =
&nbsp;&nbsp; &nbsp;&nbsp;=20
salari=C3=A9 soit alit=C3=A9, mais il doit recevoir les soins =
d=E2=80=99un m=C3=A9decin &nbsp;&nbsp;=20
&nbsp; d=E2=80=99une fa=C3=A7on r=C3=A9guli=C3=A8re.&nbsp; En outre, =
pour continuer =C3=A0 avoir droit aux=20
&nbsp; indemnit=C3=A9s d=E2=80=99invalidit=C3=A9 apr=C3=A8s =
qu=E2=80=99elles sont vers=C3=A9es pendant &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; vingt-quatre (24) mois, le salari=C3=A9 doit =
se trouver=20
dans l=E2=80=99incapacit=C3=A9 &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp; d=E2=80=99exercer toute=20
occupation r=C3=A9mun=C3=A9ratrice pour laquelle son &nbsp;&nbsp; =
&nbsp;&nbsp; &nbsp;=20
instruction, sa formation ou son exp=C3=A9rience l=E2=80=99aurait =
&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; convenablement pr=C3=A9par=C3=A9.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;=20
Lorsque le salari=C3=A9 exerce une fonction r=C3=A9mun=C3=A9ratrice, =
l=E2=80=99=C3=A9tat &nbsp;&nbsp;=20
&nbsp;&nbsp; d=E2=80=99invalidit=C3=A9 totale n=E2=80=99est pas =
cens=C3=A9 exister, et l=E2=80=99indemnit=C3=A9 est=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
r=C3=A9=C3=A9valu=C3=A9e.&nbsp; Les primes=20
pour cette assurance sont d=C3=A9fray=C3=A9es par &nbsp;&nbsp; &nbsp;=20
l=E2=80=99employeur.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 54pt; TEXT-INDENT: 2.7pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">d)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Assurance en cas =
d=E2=80=99invalidit=C3=A9 de=20
courte dur=C3=A9e</SPAN></U></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 54pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; L=E2=80=99indemnit=C3=A9 repr=C3=A9sente soixante-dix =
pour-cent (70%) du salaire=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; r=C3=A9gulier =
hebdomadaire=20
et n=E2=80=99inclut pas les bonis ou primes pour &nbsp;&nbsp; =
&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; le =
temps=20
suppl=C3=A9mentaire ou le travail sur les =C3=A9quipes.&nbsp; Les =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; indemnit=C3=A9s sont vers=C3=A9es =
=C3=A0 compter du premier=20
(1<SUP>er</SUP>) jour&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
d=E2=80=99invalidit=C3=A9 caus=C3=A9e=20
par un accident non industriel et =C3=A0 compter &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; du quatri=C3=A8me (4<SUP>e</SUP>) jour =
de son=20
invalidit=C3=A9 caus=C3=A9e par une maladie.&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Aucune=20
invalidit=C3=A9 ne peut =C3=AAtre reconnue plus de trois (3) jours =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; avant la visite chez =
le=20
m=C3=A9decin par le salari=C3=A9 concern=C3=A9.&nbsp; Ces &nbsp; =
indemnit=C3=A9s sont vers=C3=A9es=20
pendant une p=C3=A9riode maximale de six &nbsp; (6) mois.&nbsp; Elles =
sont r=C3=A9duites=20
par un montant =C3=A9quivalent de &nbsp;&nbsp; prestations pay=C3=A9es =
par la R=C3=A9gie de=20
l=E2=80=99assurance automobile le &nbsp;&nbsp; &nbsp;&nbsp; cas =
=C3=A9ch=C3=A9ant.&nbsp; Le co=C3=BBt=20
total est d=C3=A9ray=C3=A9 par l=E2=80=99employeur.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;=20
L=E2=80=99indemnit=C3=A9 de courte dur=C3=A9e est vers=C3=A9e =C3=A0 un =
salari=C3=A9 qui souffre &nbsp;=20
d=E2=80=99alcoolisme ou de toxicomanie et qui suit une cure de =
&nbsp;&nbsp; &nbsp;&nbsp;=20
d=C3=A9sintoxication attest=C3=A9e par un m=C3=A9decin et ce, =C3=A0 la =
condition que &nbsp;&nbsp;=20
&nbsp; cette cure soit suivie au complet.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 106.2pt; TEXT-INDENT: -49.5pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">e)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><U><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Soins=20
dentaires occasionn=C3=A9s par un accident</SPAN></U></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;=20
S=E2=80=99ils sont dispens=C3=A9s au cours de douze (12) mois qui =
suivent un &nbsp; accident,=20
les soins dentaires suivants seront remboursables&nbsp;:&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; soins dispens=C3=A9s par un praticien, un dentiste ou un=20
chirurgien-&nbsp;&nbsp; &nbsp;&nbsp; dentiste pour les blessures aux =
dents=20
naturelles, y compris leur &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; =
remplacement, le=20
traitement d=E2=80=99une m=C3=A2choire fractur=C3=A9e, ainsi que =
&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; la radiographie n=C3=A9cessaire dans ce cas.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 81pt; TEXT-INDENT: -18pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">f)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;=20
</SPAN></SPAN></B><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">L=E2=80=99employeur =
convient d=E2=80=99ajouter au=20
R=C3=A9gime d=E2=80=99assurance-groupe un plan de soins dentaires.&nbsp; =
La prime aff=C3=A9rente =C3=A0=20
ce plan de soins dentaires, incluant la taxe applicable, est =
partag=C3=A9e =C3=A0=20
cinquante pour-cent (50%) assum=C3=A9 par l=E2=80=99employeur et =
cinquante pour-cent (50%)=20
assum=C3=A9 par les salari=C3=A9s.</SPAN></B></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: =
justify"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: =
justify"><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 106.2pt; TEXT-INDENT: -49.5pt; =
TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">g)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
</SPAN></SPAN></B><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Exclusions=20
g=C3=A9n=C3=A9rales</SPAN></U></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><U><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp; Le=20
pr=C3=A9sent r=C3=A9gime ne garantit pas le =
remboursement&nbsp;:</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-INDENT: -36pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">I)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; </SPAN></SPAN></B><B><SPAN =

style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Des frais pour soins ou =
produits=20
dans la mesure o=C3=B9 ils sont assur=C3=A9s par un r=C3=A9gime =
provincial ou autre r=C3=A9gime=20
d=E2=80=99=C3=89tat, ou en vertu d=E2=80=99une loi, en raison desquels =
le salari=C3=A9s est ou pourrait=20
=C3=AAtre assur=C3=A9, ou dans la mesure o=C3=B9 des garanties =
d=E2=80=99assurance seraient procur=C3=A9es=20
si le salari=C3=A9 avait rempli les conditions requises pour faire =
assurer ces soins=20
ou produits en vertu d=E2=80=99un tel r=C3=A9gime ou d=E2=80=99une telle =
loi.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Des frais occasionn=C3=A9s =
par les soins=20
ou produits pour lesquels une garantie d=E2=80=99assurance est interdite =
par tout r=C3=A9gime=20
provincial ou autre r=C3=A9gime d=E2=80=99=C3=89tat ou en vertu =
d=E2=80=99une telle loi.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-INDENT: -36pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">II)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; </SPAN></SPAN></B><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">De certains frais dont la =
liste=20
para=C3=AEt dans la police collective et qu=E2=80=99entra=C3=AEnent les =
soins ou le traitement=20
dispens=C3=A9s par un organisme d=E2=80=99=C3=89tat.</SPAN></B></P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 92.7pt; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-INDENT: -36pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">III)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp; </SPAN></SPAN></B><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Des frais support=C3=A9s =
pour les soins=20
ou produits qui ne sont pas prescrits par un m=C3=A9decin, ou qui ne =
sont pas=20
vraiment n=C3=A9cessaires au traitement m=C3=A9dical, ou de la partie =
des frais qui=20
d=C3=A9passent le tarif raisonnable et ordinaire (le tarif =
r=C3=A9clam=C3=A9 habituellement=20
lorsqu=E2=80=99il n=E2=80=99y a pas d=E2=80=99assurance, =C3=A0 =
concurrence du tarif qui pr=C3=A9domine dans la=20
r=C3=A9gion pour des soins similaires dispens=C3=A9s par une personne =
ayant une m=C3=AAme=20
formation et exp=C3=A9rience, ou pour des produits =
similaires)</SPAN></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-INDENT: -36pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">IV)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp; </SPAN></SPAN></B><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Des frais support=C3=A9s =
pour les examens=20
pr=C3=A9ventifs sauf s=E2=80=99ils sont n=C3=A9cessaires pour le =
traitement d=E2=80=99une blessure, d=E2=80=99une=20
maladie ou d=E2=80=99une grossesse (y compris les soins pr=C3=A9natals =
et=20
post-natals)</SPAN></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-INDENT: -36pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">V)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; </SPAN></SPAN></B><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Des frais support=C3=A9s =
pour le=20
traitement d=E2=80=99une maladie p=C3=A9riodontique ou p=C3=A9riapicale =
ou de toute affection=20
concernant les dents, le tissu les entourant ou leur structure;&nbsp; =
toutefois,=20
cette exception ne s=E2=80=99applique pas aux frais dont il est question =
dans le=20
paragraphe intitul=C3=A9 =C2=AB&nbsp;SOINS DENTAIRES OCCASIONN=C3=89S =
PAR UN ACCIDENT&nbsp;=C2=BB,=20
sous le r=C3=A9gime majeur d=E2=80=99assurance-maladie.</SPAN></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 128.7pt; TEXT-INDENT: -36pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">VI)<SPAN=20
style=3D"FONT: 7pt 'Times New Roman'">&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp; </SPAN></SPAN></B><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Des frais support=C3=A9s =
pour l=E2=80=99examen=20
servant =C3=A0 d=C3=A9terminer le besoin ou le degr=C3=A9 =
d=E2=80=99ajustement de=20
verres&nbsp;=C2=BB.</SPAN></B></P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; <B>MOTIFS ET D=C3=89CISION</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[18]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; L=E2=80=99employeur a-t-il contrevenu =C3=A0 la convention =
collective en faisant=20
supporter au salari=C3=A9 mis =C3=A0 pied, le co=C3=BBt des primes =
d=E2=80=99assurance m=C3=A9dicaments et=20
en d=C3=A9duisant le montant du dernier ch=C3=A8que de paie du =
salari=C3=A9?</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[19]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Les faits sont admis.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[20]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; La convention collective, dans le cadre du pr=C3=A9sent =
grief, est=20
compl=C3=A9t=C3=A9e par la police d=E2=80=99assurance ma=C3=AEtresse, =
laquelle est implicitement=20
incluse dans la convention collective qui ne fait =
qu=E2=80=99=C3=A9num=C3=A9rer les b=C3=A9n=C3=A9fices=20
assur=C3=A9s en y pr=C3=A9cisant =C3=A9galement qui est responsable du =
paiement des=20
primes.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[21]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; La mise =C3=A0 pied d=E2=80=99un salari=C3=A9 emporte la =
suspension de tous les=20
b=C3=A9n=C3=A9fices d=C3=A9coulant de la convention collective sauf =
lorsque cette derni=C3=A8re le=20
pr=C3=A9voit express=C3=A9ment.&nbsp; Tel est le principe qui se =
d=C3=A9gage des autorit=C3=A9s=20
jurisprudentielles et auquel le soussign=C3=A9 adh=C3=A8re.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[22]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Il importe, dans un premier temps, de rechercher dans la =
convention=20
collective et, accessoirement, dans la police ma=C3=AEtresse, une =
exception au=20
principe g=C3=A9n=C3=A9ral.&nbsp; Subsidiairement, la Loi sur =
l=E2=80=99assurance m=C3=A9dicaments=20
pourra permettre d=E2=80=99en d=C3=A9gager une r=C3=A9ponse.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[23]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; La convention pr=C3=A9cise, pour un certain nombres de =
b=C3=A9n=C3=A9fices, des=20
r=C3=A8gles particuli=C3=A8res que l=E2=80=99on peut qualifier =
d=E2=80=99exceptions lorsqu=E2=80=99il s=E2=80=99agit d=E2=80=99un=20
salari=C3=A9 mis =C3=A0 pied.&nbsp; C=E2=80=99est le cas pour =
l=E2=80=99assurance-vie (17.01 a) alors=20
qu=E2=80=99on y pr=C3=A9cise que l=E2=80=99employeur continue =C3=A0 =
payer sa part de la prime=20
</SPAN><B><SPAN style=3D"FONT-SIZE: 11pt; FONT-FAMILY: =
Arial">=C2=AB&nbsp;jusqu=E2=80=99au=20
dernier jours du mois qui suit le mois de la mise =C3=A0 pied du =
salari=C3=A9=20
concern=C3=A9&nbsp;=C2=BB</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[24]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Toutefois, la police ma=C3=AEtresse (S-4) pr=C3=A9cise, =
=C3=A0 la page=20
F-2&nbsp;:</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal=20
style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">=C2=AB&nbsp;L=E2=80=99assurance du membre prend=20
fin =C3=A0 la date o=C3=B9 commence un arr=C3=AAt de travail, sauf si =
nous avons convenu avant=20
l=E2=80=99arr=C3=AAt de travail que la totalit=C3=A9 ou une partie de =
l=E2=80=99assurance serait maintenue=20
en vigueur&nbsp;=C2=BB.</SPAN></B><SPAN style=3D"FONT-FAMILY: Arial"> =
</SPAN></P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: =
justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"MARGIN: 0cm 42.5pt 0pt 2cm; TEXT-ALIGN: =
justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[25]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Ce texte pr=C3=A9c=C3=A8de l=E2=80=99extrait de la page F-3 =
cit=C3=A9 pr=C3=A9c=C3=A9demment et=20
concerne toutes les assurances sauf l=E2=80=99assurance =
d=E2=80=99invalidit=C3=A9 de longue=20
dur=C3=A9e.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[26]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; Ces textes sont le reflet du principe g=C3=A9n=C3=A9ral =
mentionn=C3=A9=20
pr=C3=A9c=C3=A9demment voulant que les b=C3=A9n=C3=A9fices de la =
convention collective ne sont=20
accord=C3=A9s qu=E2=80=99aux salari=C3=A9s en contrepartie d=E2=80=99une =
prestation de travail sauf=20
exception mentionn=C3=A9e express=C3=A9ment.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[27]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; L=E2=80=99assurance m=C3=A9dicaments fait partie du =
r=C3=A9gime d=E2=80=99assurance-maladie=20
compl=C3=A9mentaire. &nbsp;Les primes sont d=C3=A9fray=C3=A9es par =
l=E2=80=99employeur.&nbsp; La=20
convention n=E2=80=99apporte pas de pr=C3=A9cisions pour le salari=C3=A9 =
mis =C3=A0 pied de sorte que=20
le principe g=C3=A9n=C3=A9ral devrait recevoir application.&nbsp; =
Toutefois, la police=20
ma=C3=AEtresse permet =C3=A0 l=E2=80=99employeur et <U>=C3=A0 son =
choix</U>&nbsp;&nbsp; de prolonger=20
ces assurances jusqu=E2=80=99=C3=A0 la fin du troisi=C3=A8me mois au =
cours duquel la mise =C3=A0 pied=20
temporaire ou le cong=C3=A9 a d=C3=A9but=C3=A9.&nbsp; Or, la police est =
muette sur l=E2=80=99identit=C3=A9=20
du payeur.&nbsp; Le simple fait de prolonger cette protection pendant =
les trois=20
premiers mois d=E2=80=99une mise =C3=A0 pied fait-il en sorte que =
l=E2=80=99employeur continue de=20
d=C3=A9frayer le co=C3=BBt de cette assurance comme si le salari=C3=A9 =
=C3=A9tait au travail?&nbsp;=20
Le tribunal ne le croit pas puisque les exceptions au principe =
g=C3=A9n=C3=A9ral se=20
trouvent explicitement =C3=A9nonc=C3=A9es =C3=A0 la convention =
collective.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">[28]&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; D=E2=80=99autre part, cette prolongation ne fait que =
respecter la Loi sur=20
l=E2=80=99assurance m=C3=A9dicaments qui pr=C3=A9voit que le =
salari=C3=A9 doit continuer de participer=20
au r=C3=A9gime priv=C3=A9 de son employeur lorsque celui-ci continue de =
le lui=20
offrir.&nbsp; Cette Loi est totalement muette sur =
l=E2=80=99identit=C3=A9 du payeur lorsqu=E2=80=99il=20
s=E2=80=99agit d=E2=80=99un r=C3=A9gime priv=C3=A9.&nbsp; Ainsi, =
l=E2=80=99employeur qui continue, =C3=A0 son choix,=20
d=E2=80=99offrir cette couverture pendant les trois premiers mois de la =
mise =C3=A0 pied et=20
qui pr=C3=A9tend ne pas avoir =C3=A0 en d=C3=A9frayer le co=C3=BBt =
n=E2=80=99a pas =C3=A0 en faire les frais=20
puisqu=E2=80=99il n=E2=80=99aurait qu=E2=80=99=C3=A0 faire le choix =
contraire pour ne pas avoir =C3=A0 en payer la=20
note.&nbsp; L=E2=80=99obligation faite par la Loi n=E2=80=99est pas =
=C3=A0 l=E2=80=99employeur mais au=20
salari=C3=A9 lorsque l=E2=80=99employeur continue =C3=A0 offrir cette =
couverture.&nbsp; C=E2=80=99est donc=20
au salari=C3=A9 mis =C3=A0 pied qu=E2=80=99il incombe de d=C3=A9frayer =
les primes de l=E2=80=99assurance=20
maladie compl=C3=A9mentaire.</SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; <B>POUR CES MOTIFS, =
L=E2=80=99ARBITRE&nbsp;:</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; REJETTE </SPAN></B><SPAN style=3D"FONT-FAMILY: =
Arial">le=20
grief.&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; </SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"MARGIN-RIGHT: 42.5pt; TEXT-ALIGN: =
justify"><B><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><U><SPAN=20
style=3D"FONT-FAMILY: Arial"><SPAN=20
style=3D"TEXT-DECORATION: none"></SPAN></SPAN></U></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp; <U>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp; </U></SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp; Me Marcel Morin</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial">&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Arbitre =
de=20
griefs C.A.Q.</SPAN></B></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><B><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN></B>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">Pour le syndicat&nbsp;:&nbsp;&nbsp; &nbsp;=20
&nbsp;&nbsp; &nbsp;&nbsp; <B>Monsieur Claude =
L=C3=A9vesque</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">Pour l=E2=80=99employeur&nbsp;:&nbsp;&nbsp; =
&nbsp;&nbsp;=20
&nbsp;&nbsp; <B>&nbsp;Me Bernard H=C3=A9on</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial">Date(s) =
d=E2=80=99audience&nbsp;:&nbsp;&nbsp; &nbsp;&nbsp;=20
<B>23 avril 2008</B></SPAN></P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P>
<P class=3DMsoNormal style=3D"TEXT-ALIGN: justify"><SPAN=20
style=3D"FONT-FAMILY: Arial"></SPAN>&nbsp;</P></DIV></DIV></DIV><!-- =
/originalDocument --><!-- /content --><!-- reopening the two divs =
because the footer closes them -->
<DIV class=3Dbody>
<DIV class=3DmainContent_noMenu></DIV><!-- /mainContent -->
<DIV id=3Dfooter>
<UL>
  <LI class=3Dfirst><A class=3Dcanlii=20
  href=3D"http://www.iijcan.org/fr/collections.html">Port=C3=A9e des =
collections</A>=20
  <LI><A class=3Dcanlii href=3D"http://www.iijcan.org/fr/rss.html">Fils =
RSS</A>=20
  <LI><A class=3Dcanlii=20
  href=3D"http://www.iijcan.org/fr/info/conditions.html">Conditions=20
  d'utilisation</A>=20
  <LI><A class=3Dcanlii =
href=3D"http://www.iijcan.org/fr/info/vie_privee.html">Vie=20
  priv=C3=A9e</A>=20
  <LI><A class=3Dcanlii =
href=3D"http://www.iijcan.org/fr/info/aide.html">Aide</A>=20
  <LI><A class=3Dcanlii=20
  href=3D"http://www.iijcan.org/fr/info/contact.html">Contactez-nous</A> =

  <LI><A class=3Dcanlii =
href=3D"http://www.iijcan.org/fr/info/a_propos.html">=C3=80=20
  propos</A> </LI></UL>
<DIV id=3Dby>
<DIV><SPAN>par</SPAN></DIV>
<DIV class=3Dlexum><SPAN><A class=3Dcanlii title=3DLexUM=20
href=3D"http://www.lexum.umontreal.ca/"><IMG alt=3DLexum=20
src=3D"http://www.iijcan.org/images/lexum.gif"></A></SPAN></DIV>
<DIV><SPAN>pour la</SPAN></DIV>
<DIV class=3Dflsc><SPAN><A class=3Dcanlii =
href=3D"http://www.flsc.ca/"><IMG class=3Dflsc=20
alt=3D"" src=3D"http://www.iijcan.org/images/flsc.gif"></A></SPAN></DIV>
<DIV><SPAN><A class=3Dcanlii =
href=3D"http://www.flsc.ca/">F=C3=A9d=C3=A9ration des ordres=20
professionnels de juristes du Canada</A></SPAN></DIV></DIV></DIV><!-- =
/footer --></DIV><!-- /body -->
<SCRIPT language=3DJavaScript src=3D"" type=3Dtext/javascript></SCRIPT>
</BODY></HTML>

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.iijcan.org/images/canliiLogo.gif

R0lGODlhtAA3APcAAK3U6c3l8rDV6jaUyZnJ5BWDwPL4/OmrqjCTyIW/3hGAvvr9/vTW1WKt1YjA
385EQu72+2Wt1e27usMZF8De7g1+vZ7M5d7u9iCKwz6Yy//+/tx7eur0+R+Jwvnl5eWbmiiNxSWM
xdXp9Ha32ozD4NZjYrwBADmWyrja7KXQ55jJ4/zz86PP5ny73IrB3+OVlC+Rx/X6/NBLSajR6ABo
sv319djr9YC53Mni8V6q1MXh8PDFxeHw97bZ7LoAAFqo0/bc25bI43O12crj8fH4+3m4274KCEyh
z+by+Mw7OgF6u9rs9VWl0ZDE4Wmx1wV7vFKk0Lrb7d6BgeGNjMgtLEGbzNt0c/D3+xOCv70GBNPo
87XY6xiFwdNVU/j8/YC42+z1+pLG4svk8cPg7wh8vNlubC+NxVmn0tRaWQN5ulCi0MARDqrS6Q2A
vv/6+gV5u3m520Odzb0EAuXx+G+y2Nvs9mGr1PPR0Qp7vABstKfQ6L4IBkaezY/E4SWKxMcrKhiG
weCIhwButWiv1wp+vQh+vUCZyxqEwcUkIgp9vb8ODAJ6uwBzuABxt5TH4oG93QBytwF5uwB4ur8N
CwB0uNDm8gB2uW2y2ABztwB1uAB3uQB1uQB3ugB5uwB5uoC83bzc7QJ7u93t9vf7/b8MCgBxtvb6
/YC93f78/L3c7ajS5wF4upzL5AB0ub7d7S+LxAF5utLn84O+3gBwt2yy2Ad9vH+83fT5/L/e7m+0
2JXH4tHn8+32+vvv74K93bTX65HF4RuGweXy+JXH4wByuCuQxgBvtoK+3Xy620mfzgh7vPj7/QB4
u7YAAL3d7iOKwyOMxNfq9OKQjwBrs4G83anS6AN7u/3+///+/O/Av/rs6zKVzhyIwqXP5sYoJgp+
vuekpOinpqzT6XGz2W6z2ESbzL3d7ckwL+Dv99Dm8/zx8fLOzQB2uPnp6TOTyE6i0Pn8/ePw+BiD
wJnM5/fh4QF3udNYV/b7/Z/N5aHO5u+5t8k0Mujz+b8MCzqXyv///yH5BAAAAAAALAAAAAC0ADcA
AAj/AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWKNcKhusixo8ePICkykPCP3oMJ6kKqXMmyJcON
BD9kKUPFxxogLnPq3Nkxm5V/DAL9k+LDxJ5Jcg7808CzqdOnB8P5KJFkTa8SJiZpJTWBilKoYMPm
DGTCRBYTH2TI0TpJkY9z2sTKnduRwUkjWvf8QYRXqxFS6+gKXggGlAM7cRAoRlAlh6xfSKD2SuJD
EVsjfSeRkiNNnZQdg0MLXPDrDBdLkDBR2sR6EyVMkDZhUTPjllMgE7Kw3T1J7wZEPkB3dPAKgRlV
E1WZQfBKxUHlzJ27BDBgEyROShYpkaTJkndJnbRL/2JECcQweE3BmSDFm+0aOXuM2CszBWbFQXk2
CQI2EZigTXm0cJB/AArIkihqUEJJdp1kAoklbWAQQgjQFOAJI4xIoh1qA+jQVAk+tNeeCT58ZdEl
kCzCiCMTOcLIIo08cpCLMMq40haHQBLJIp5gEok/p4ByARGjmBKDMGIQwEQBmFiyyCKUKBMGTyvs
o5uIbJkgRUcoqsiiRDTGOOOLYqrEyhtOQvnGDx4uhEQTz0DiSSicMFLETnf8cSWWpPhgBVMXdbli
i2TaWFCYhn5kgSWcLNIJJBm06RAvI6RhSSieQAJHTh48YMRZ7LFFylk+yDHBA+1wJOiXESE6Zo0h
of/whiaLSJLJCAtM1MMhmfAICX8tobICEBJIk5sJf63hTReBSODBUqqmOCiYhb5apkcXyLNJrfUE
YZEIHWxiySay8MSAEQ9s0I8P9qyg0qqEwmqQqx+9k2IklPTBkRYKKCBAU134IM0/OyTxwErwUivv
odV6JAAlO0LSgEc6aCGRKAKQ8MknvrCigwEM7RDfHQK5oQ82CNmgRwIbA0MByA0l3GrDDC980QLu
ULKIJc9cARYRKmRQgYONFE2JJB0MEgtBKhQHwxL/oNHMOW4INM82CMAwxEBe4JMBGZRAUjQmmjxD
DQQMyQwRvTVfexEKliihBCUpgJWPH5Ac3Ykk3jH/6glqZNBBhEAt5NEKIwEAtcELAxXeCiRRCITD
AHlLwol3mnQSiSWNgDDGQmo/xDZBo1tkR4rsFIOeUzHYwci2kmCySRvQTIgFapxIUoo7NvxzSiOR
SFLJQY8Ar4kr/+CDx9FNFjAhN5FgoiElFUSeUOgOlS6Q9hPdggGtmLjw1BV8lCI3I23kAAA6MRQ5
RxS0cIFJJ4x0wAMJwAtPvPFDpMAoJWTIQQ+EYYpR8AIHQqjAJkIhmzpcT1qsWhvNSDfBioghEp3o
xBMs1hRTlK9Wm/hB7xDCj3Fook7+oAXE9GeQ4kXiCeQgRJ1OsLWDVAIEmQgFJKDwQC/Fy20D4Z5E
/yygM0uozilOKEWt3uAthlSjApqQRC0WEbzhtbARi7CGJGLHhBgoRAQKkAQs0iAGhGCvIdwTYkRa
IC0eNuUXm4jE5vLxkB4oAzxUZGFBivckJTCiCstgyCdSpCkzQvCHiQpiBSkyCEIKoSmjQIDOIPFI
iACDEdmp4v6exAksXKAhoiCEJCiRAUP6UGFA3N4iJ/IDMh2jKQBYkCVAYJuIVEFnmrzikyDxiYec
YBOc6IDPDHJGhqRxlRI5A5l80RQoYGIRmGDFROCmhFzuEYuSaAM6HtKADBHCgcQ8JCoTqUqbVaQB
z2xEL3cCAUBwghNcAMNE4AECTViTIHykRBUggv8M4HGihgUp5kKOaU6KjICQl+DJEFYRPSbcR0d6
xCcWIZELiDhAR5pIxUEEqhCCpnIiYXgRJZLBkxlkQgmQSEBFhsGIvVnxmosgBgkgogtGbO5f4Tzl
zAr6DzVChJqcwIAXdRIETFKCBRURRyZcuklK4EOCkciEHjYqzp1+1KcPiUcbwLMKSbkkpFFlQ0W2
YAlPRHQgxVNCJmYA1bVSVacS5ClWH5KBSVYyJ6xYECUIUBGTMvWKSrBED9rK1pxOy6rk7CkyJUKC
FHECEPLMCVlRelfGEuOeaDWeOQj71sPG9aqLjcgFRLkISNhCJzaoBTM24Y+K/MBHZxWICzUBCs7/
GjaColvlXLmZolVUgIMtgUcxNgGLJyxNIlcIBicwK1vj1Ta3US1sQKv62cTu1iE2SMT0BlDLiyBD
XwfJRYowMbEhYpK5/5jtc7NnU7feFpHWSmxFWoDF0kJhdRVxASYwEYHIEqQSb1gFLJRRRogYIARO
Qq96bTtduOZWrqGVyD0G8EyUdrEiCciEJ5SQhxwc5AeQCAUl3AEzh0QgRXl8qUQjQVsGE4SjCfGo
fCsSDXn0Cpr+EIFEIOA6TywiEwVInEGWoABO6BAKo3CILCAWHgU718UDgTFCZKwSXCjwSYxQgAtK
zBAAgAAS2dlEBXCREBYcrbRVgJpCIBABSnSC/xNTdDKL14vG9kr3xdLi6zjjuxJnyOOZi+AEJkLg
ADUjhAPdMARrnoSJYHxOIWz0MSMK4AAOHOQKrPADJlB6BCGsUMWZnTOUBdKlVsChEqhOtapTHQv8
KhbCPO2ICAbQCA3tDBKEOAE5dPELV6QiFSmQxTu4oKDscAIShgDnQmwhLjoxAhA5CEIUXBEFAjSg
A4ywRCdKUQ4DuCB/oG6uqKHr3gY7aovoTje6LVEIUVAQ1h/1yD2QUYFaP8lWkMi2JvbtIEpgJ9CQ
wIILcuUQFhTA3oJmxL418ZrMUcIStEjy7+TcYnLfOcoorqYcN85xOXLiG+5WJLxn7BERRAAL+d7O
nNw0Hgm5dUITmGAEF0bAg4tFIBF544Qndm5W61giAygYCBxoMAtjCLkgQ5+FIIL+EBJMYxZ5oKNB
GkCDoln96lhvhDE4oex/OL0RNNiUQb4e9p3MgQBq6MAiNoGJq2OiVx1gAj4sTeMEGCIYT9hiJ7AA
AydolCAU+MLG+HGQwG/skw8Zwg0+cQPgEqQHN3iE5CdP+cp/IgFoG4jiH/EFChxk8513yhV2AYAw
POIUj/hEH8SRjsF9BAwiQPUu4nEN0dj+9rjPve53z/ve+/73wA++8IdP/OIb//gfCQgAOw==

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.iijcan.org/images/canliiText_fr.gif

R0lGODlhIgEUAMQAAJmam8jJydfY2S4uLx8fH+fo6GxsbQ8PEF1dXU1NToqLi6mqqnt8fD4+Pri5
ugAAAPb3+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAAiARQAAAX/ICSOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8jkrBCAAQQQQQMK
YbCeytNTSt1hq1CuCtCwEgUAEcNMWyRca5TVnS05GrCGIzoVPVh6dSV6YjyBEA97hSgPC3tEd2ps
M3QtcSd/lYIQkS+HJH8rn5ujho+lKaFFnZugrSSRALIEDwkFIgYPBAsQDQcDaXgBDQ8NTXgjsr2/
aSULAw+1TSILtASyaQEGAdAD0xDDDwfbBiMMBw8Dd3vIEArWzRDkB+Ny6OqHCLe9Ig0FCbqaEWtQ
DkI1cWa0MWhkwAECXQsKPCTwCILEaLbwABhwQGOzi8WmaeOW7psIbf1I/ygzsBHYx4e1BPxBqebe
SAjKRrR7F9BGJAYD9MlDAI5AAQFWHAxQAOVPAQeJbqmqknRpFxEAdll8d2ujogQDkhLoU+3kNYtA
kSFIAEUpRUQiFKgDB6zfUosN4o1Y23bAW3AjQhVTdKBtoiZe+RB1UK+XVgAHEvBiLKJA2K7Eosjd
E8cyg1vvmjgYC6UsLGRT4zQgAKXzZZzQOKllK/vtJT9x53LTG+MngREFDhTd1++RquMkLqE6YHJf
YRIEkj7o4g1CAr0IhP0eIXNPqOeVtzcgSu0NiQDbRXQ3ITieAQW4RTAHTiAA5X4FIQzIP1cBeayh
dBKHAubF9QZU1JnUSf9qVjQAH1Xu/IfTH5GgR8J6t8EFAXgWpSfDT5OEgoBWxcWn4YkQ9lKRCKyc
VkIcLQYylWwp6uQdJ8U0oKMv7FTUYo0lliBYcmYE2I4krHyiZI9CsoiMaivCFeOKCxKpoiRXugLi
IJyFiOOOOh4Q5QtbBjaCUgUdgpyJKZai1AlvWjklIsTRyEB+JVKojgN88nnLJz/eySV7bF5i5IsM
JFnRkr3w4gqNEJZC4ZGjVGlOg4+o5qiZP+F5ZYZ69tlnnTCUyWYBoahppgis7SXQmPMBJ59J0UFa
YgIPipDdcNwlouEBdb565pG8qudrkygaOgKHENSnqI3QEqjSoRD6p9L/gZRSiUyrugaTqRXSJjNp
sVH4CsB/AmwHrEo1mApXAPBlFeSaVQwABWT7oAIZLwVwBdtXtc6JXhoFMDCWrrS5daM79kaRAHmA
EgsBX5z4NeaQl5qYmAAP28poiZ51FRukrn2GU322ZumkGg3jm2XJIo87ccIc7REcfFKYIVcYHdOA
Uk4p/aPLNNukZDQuNo1QtAnPYNTFQbsoQxMuIhFzAANTnxNS0TtZw8bS4Hha09YmGX1kTkcedPVJ
+YHt9jQg6YMMTTmBZAzbJIBtqwFJyzNN3TDJHbY596xzEjSNxeX1K4w37jgkEvuAyuOUV255DwEw
EHkPk1/u+eegs7BAF+c8fBH66ainrvrqrLfu+uuwxy67ESEAADs=

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.iijcan.org/images/pdficon_small.gif

R0lGODlhEQARANUjAOR8gd3Q0uCsr+lARuKUmN+4u/JVW3t8fJ2DhPDw8N7ExuVwdbEVG+FES9s+
RDc3N1NGR4UPFOsoLzsHCc8YH+dYXqeNj3YOElgKDXI+QG9iY+OIjOZkaehMUqWlpm5ub+0cJMDA
wNzd3v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACMALAAAAAARABEAAAaGwNEo
ESoajyGhMnTwOJ/OQwQhBFmvWFDHw6AgEtnwFnOZhMLZjmj9CRkMDUdn3pEMOou1qC0MefQiAAKA
e0kjfoAcg4B8h396ioSNiJAEkoaUIgFzAYyYj4EEBR0KepOPARUFABwDIAMcp5ocgnoKGx0anwR4
hKaYFne+v30QGR/IycoPIUEAOw==

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.iijcan.org/images/lexum.gif

R0lGODlhPAAYAMQAAHBwcHl5eYKCgouLi5SUlJycnKCgoKampqysrK+vr7Kysri4uL6+vsHBwcTE
xMrKytDQ0NLS0tbW1tzc3OLi4uXl5ejo6O7u7vPz8/f39/n5+f///wAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAA8ABgAAAX/4CaOZGme6ISurJlNcNauUQWr2xuLN77dFBYEQPTNSJmFgggQSZgqC7O5
eRIFrCURczQpLIarjMHkkqEbwhT1sKiJ3RJEkREQCRtNgRjIDaYQFVNUJQ4SG38AAzIjD3YABhgV
CpRcGxQGFxtMCDKPBBkZgwhhayUTCxsYnCMapUwBGA4FBQkaFwYTGkNFGqtEChpnTI+mIxUHMr8A
nSIPRAUUC8AYCbQLBg4aGw5QGoJE2q+DxnkGFnm8AId5jwgKCEQDtwa0yXkHTBrCTBeiV4MSEdqg
4MG2Dc96iSAnT8YEWgUqiEg0gMurC+qGEWnAZISEAwc1xJNHYABHIhAg/zSYgGEbGIiRMgiEMO1O
hnxELhQ7kJAKBgNBRghkoqAUAQUBAFCgd64BrQQZxk1pkCGpIgxaAEyg0HFDAwVIijGRYMEqp4eZ
fCG4ZmWQgRdMGGToBinDhY4VIpZQkACBX78VQjU4MAABhFnnDmKA8ADChQoGrApY0JICPARLL8Cj
kEGDhJQbGIAlsS+U6X15TGMtkKnEttIYYmPo/DoUag20RaDGUMAI6TwnINdq2WIf6jjOChzsMpcW
VeTQRSQIFofCAVoQlkePU2D0DM1P0W2PzprRCgxOaRkcv905Cg0TFEBUYIl99OsFDkioYIE/TYjd
LWXfeA8BaCAtDEg0oA591h1owAIStKTdgtCFAAA7

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.iijcan.org/images/flsc.gif

R0lGODlhGgAaAOYAANPT1rzd7NPo7/X6+cTExdvs8svLzLu7vSuRygV+wofB36mprPz8+ny63Gmy
2eTx9eDu8r6+wbKytIvB3vr8/HG22s3m7vP49TGVyyOOyMfG0uXl5s3k8Pr8+u319p3N5Pr6+7a2
u/n798bi7pTJ5N7e3jma0FSm0oC+3f37+Q6Cw7Xa66amq12s1d7d48nl7/Hy8jyazvX29vj6+O3t
7Orq6fj6+qXQ5hSGxq7U5qOipIODi9nZ2+n09vr8+Pf8+Ofx9vD4+uz2+ZGRnBuIxXW53ODg49Xq
8fj4+crj6/j8+EKdz8Dd64+OlbTX5pqanPL29/Lz8x6LyM/Q0vn7+fr7++vr7OPk47HX6Pv6+P39
/f39/vz9/fz8/fz9/P39/Pz8/P38/f79/v37/f3+/v3+/Pf8+93d28jIyfP5/OTn6Pf7+/7+/M/P
z/79/Kysr6vU6Lm4uOfm5fTz8Emh0mGu1pDH4srj7uHj356go/v9+tvb3Nzb2v7+/v7+/////yH5
BAAAAAAALAAAAAAaABoAAAf/gGNbf4R+fX1bMAASBAsRAFNRfX6UlX5bfoR9f1oleVMGZzQlJVME
TQdWk4SEYpt/fTASAHJOBQxhDF9VJHNTEWiDrIewNCxXQBUYSxVCHSQtKhVYNGhTWqyZfldDNX9u
JAkJdlxePVIJCBdcYHEhmX+ZSE1nVWUUJxgxJxQMOfoILHzpAkYHH3hdQhjQ42XEgx8P1pgZgGVN
hwcdZrzwwgDGAm9/9kjQMgDFEjoNoFCY0IJIESZZAjRwmYMLDQKZwsCoUiWJuA8pKEBQkcBEFTY+
TiTIEISLmC5b+miAWqUBAgwtfKT4gAEDAgheHujLcMdLGCsukIShxGEABBEz/xjcGSDUxgALA6iY
YQDhwZcwXQ6g4RAgQw4LVQLcQMDEApIVXJkI6LHCgYMAQFjEmSJW3AoRAYhmeBt6KQQqRcSd+LHg
DRoPCMQxoXCHqBQPVUaIDlJFgbg6InYcIADBwogCAmZYOHInCQQZLwpYSPLABpMCL5jMaIImQgou
en7cuEFFTxUlPVrY0MNAiY8JHZR84RJlAYwdWvxQqYADR4wHWTSADgJONIRBOjfMJwcafzyxwRYM
PCCOAuUFgUNRHeiRQgtLUaCFFhKU8IcRBlRBxQcoFFHBD1Xk0EAFDgjAVwUoVDACGVbEwcAfILwB
ABhgrAHFDCQcQQUDzniAgo0PZvzARRkyvHEFKzO88aAWR8SgghQnBEHFBBkkgAEcY3CiQxuvwMLN
HuVMIE4OXlBwwYAdUIAECwekqUkNTxCQhmUoKNAFA1hUACMHagBwwBesNNoHCO7IwRsZXYjBgBce
MICHDlM26iknG0jwhARtlMADDxE0gacMn3KyiiZajGJACBJEEMEZWbT6RyAAOw==

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.iijcan.org/eliisa/css/fixed4all.css

.term0 {
	BACKGROUND-COLOR: #ffb4b4
}
.term1 {
	BACKGROUND-COLOR: #fff6b4
}
.term2 {
	BACKGROUND-COLOR: #c4ffb4
}
.term3 {
	BACKGROUND-COLOR: #b4ffe7
}
.term4 {
	BACKGROUND-COLOR: #b4d3ff
}
.term5 {
	BACKGROUND-COLOR: #d8b4ff
}
.term6 {
	BACKGROUND-COLOR: #ffb4e2
}
.term7 {
	BACKGROUND-COLOR: #ffc9b4
}
.term8 {
	BACKGROUND-COLOR: #f1ffb4
}
.term9 {
	BACKGROUND-COLOR: #b4ffba
}
.term10 {
	BACKGROUND-COLOR: #b4fffe
}
.term11 {
	BACKGROUND-COLOR: #b4bdff
}
.term12 {
	BACKGROUND-COLOR: #efb4ff
}
.term13 {
	BACKGROUND-COLOR: #ffb4cc
}
.term14 {
	BACKGROUND-COLOR: #ffe0b4
}
.term15 {
	BACKGROUND-COLOR: #dbffb4
}
.term16 {
	BACKGROUND-COLOR: #b4ffd1
}
.term17 {
	BACKGROUND-COLOR: #b4eaff
}
.term18 {
	BACKGROUND-COLOR: #c2b4ff
}
.term19 {
	BACKGROUND-COLOR: #ffb4f9
}
.term20 {
	BACKGROUND-COLOR: #ffb4b4
}
.term21 {
	BACKGROUND-COLOR: #fff6b4
}
.term22 {
	BACKGROUND-COLOR: #c4ffb4
}
.term23 {
	BACKGROUND-COLOR: #b4ffe7
}
.term24 {
	BACKGROUND-COLOR: #b4d3ff
}
.term25 {
	BACKGROUND-COLOR: #d8b4ff
}
.term26 {
	BACKGROUND-COLOR: #ffb4e2
}
.term27 {
	BACKGROUND-COLOR: #ffc9b4
}
.term28 {
	BACKGROUND-COLOR: #f1ffb4
}
.term29 {
	BACKGROUND-COLOR: #b4ffba
}
.term30 {
	BACKGROUND-COLOR: #b4fffe
}
.term31 {
	BACKGROUND-COLOR: #b4bdff
}
.term32 {
	BACKGROUND-COLOR: #efb4ff
}
.term33 {
	BACKGROUND-COLOR: #ffb4cc
}
.term34 {
	BACKGROUND-COLOR: #ffe0b4
}
.term35 {
	BACKGROUND-COLOR: #dbffb4
}
.term36 {
	BACKGROUND-COLOR: #b4ffd1
}
.term37 {
	BACKGROUND-COLOR: #b4eaff
}
.term38 {
	BACKGROUND-COLOR: #c2b4ff
}
.term39 {
	BACKGROUND-COLOR: #ffb4f9
}
.term40 {
	BACKGROUND-COLOR: #ffb4b4
}
.term41 {
	BACKGROUND-COLOR: #fff6b4
}
.term42 {
	BACKGROUND-COLOR: #c4ffb4
}
.term43 {
	BACKGROUND-COLOR: #b4ffe7
}
.term44 {
	BACKGROUND-COLOR: #b4d3ff
}
.term45 {
	BACKGROUND-COLOR: #d8b4ff
}
.term46 {
	BACKGROUND-COLOR: #ffb4e2
}
.term47 {
	BACKGROUND-COLOR: #ffc9b4
}
.term48 {
	BACKGROUND-COLOR: #f1ffb4
}
.term49 {
	BACKGROUND-COLOR: #b4ffba
}
.term50 {
	BACKGROUND-COLOR: #b4fffe
}
.term51 {
	BACKGROUND-COLOR: #b4bdff
}
.term52 {
	BACKGROUND-COLOR: #efb4ff
}
.term53 {
	BACKGROUND-COLOR: #ffb4cc
}
.term54 {
	BACKGROUND-COLOR: #ffe0b4
}
.term55 {
	BACKGROUND-COLOR: #dbffb4
}
.term56 {
	BACKGROUND-COLOR: #b4ffd1
}
.term57 {
	BACKGROUND-COLOR: #b4eaff
}
.term58 {
	BACKGROUND-COLOR: #c2b4ff
}
.term59 {
	BACKGROUND-COLOR: #ffb4f9
}
.term60 {
	BACKGROUND-COLOR: #ffb4b4
}
.term61 {
	BACKGROUND-COLOR: #fff6b4
}
.term62 {
	BACKGROUND-COLOR: #c4ffb4
}
.term63 {
	BACKGROUND-COLOR: #b4ffe7
}
.term64 {
	BACKGROUND-COLOR: #b4d3ff
}
.term65 {
	BACKGROUND-COLOR: #d8b4ff
}
.term66 {
	BACKGROUND-COLOR: #ffb4e2
}
.term67 {
	BACKGROUND-COLOR: #ffc9b4
}
.term68 {
	BACKGROUND-COLOR: #f1ffb4
}
.term69 {
	BACKGROUND-COLOR: #b4ffba
}
.term70 {
	BACKGROUND-COLOR: #b4fffe
}
.term71 {
	BACKGROUND-COLOR: #b4bdff
}
.term72 {
	BACKGROUND-COLOR: #efb4ff
}
.term73 {
	BACKGROUND-COLOR: #ffb4cc
}
.term74 {
	BACKGROUND-COLOR: #ffe0b4
}
.term75 {
	BACKGROUND-COLOR: #dbffb4
}
.term76 {
	BACKGROUND-COLOR: #b4ffd1
}
.term77 {
	BACKGROUND-COLOR: #b4eaff
}
.term78 {
	BACKGROUND-COLOR: #c2b4ff
}
.term79 {
	BACKGROUND-COLOR: #ffb4f9
}
.lmrp {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}
.lmp {
	PADDING-RIGHT: 0px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.mp {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.mrp {
	PADDING-RIGHT: 2px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.highlightOff {
	BACKGROUND-COLOR: white
}
.currentHighlightLeftMiddleRight {
	BORDER-RIGHT: red 2px dotted; PADDING-RIGHT: 0px; BORDER-TOP: red 2px =
dotted; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: red 2px =
dotted; PADDING-TOP: 0px; BORDER-BOTTOM: red 2px dotted
}
.currentHighlightLeftMiddle {
	BORDER-RIGHT: white 0px dotted; PADDING-RIGHT: 0px; BORDER-TOP: red 2px =
dotted; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: red 2px =
dotted; PADDING-TOP: 0px; BORDER-BOTTOM: red 2px dotted
}
.currentHighlightMiddleRight {
	BORDER-RIGHT: red 2px dotted; PADDING-RIGHT: 0px; BORDER-TOP: red 2px =
dotted; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: white 0px =
dotted; PADDING-TOP: 0px; BORDER-BOTTOM: red 2px dotted
}
.currentHighlightMiddle {
	BORDER-RIGHT: white 0px dotted; PADDING-RIGHT: 0px; BORDER-TOP: red 2px =
dotted; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: white 0px =
dotted; PADDING-TOP: 0px; BORDER-BOTTOM: red 2px dotted
}
DIV#toggleHighlighter {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bolder; FONT-SIZE: =
0.7em; RIGHT: 0px; PADDING-BOTTOM: 0pt; BORDER-LEFT: #000000 1px solid; =
CURSOR: pointer; COLOR: #000000; PADDING-TOP: 0pt; BORDER-BOTTOM: =
#000000 1px solid; POSITION: absolute; TOP: 0pt; BACKGROUND-COLOR: =
transparent
}
#highlightHeader {
	BORDER-RIGHT: #000 2px solid; PADDING-RIGHT: 1.5em; BORDER-TOP: #000 =
2px solid; MARGIN-TOP: 75px; PADDING-LEFT: 0.5em; Z-INDEX: 10; RIGHT: =
10px; PADDING-BOTTOM: 0.5em; BORDER-LEFT: #000 2px solid; COLOR: #000; =
PADDING-TOP: 0.5em; BORDER-BOTTOM: #000 2px solid; FONT-FAMILY: "Lucida =
Console", "Courier New", Courier, monospace; POSITION: absolute; =
BACKGROUND-COLOR: #fffdee
}
#nextTooltip {
	DISPLAY: none; FONT-SIZE: 12px; COLOR: #9f9f9f; POSITION: absolute; =
BACKGROUND-COLOR: #fffdee
}
#prevTooltip {
	DISPLAY: none; FONT-SIZE: 12px; COLOR: #9f9f9f; POSITION: absolute; =
BACKGROUND-COLOR: #fffdee
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 1em; BACKGROUND: =
#fff; PADDING-BOTTOM: 0px; MARGIN: 3em 0px 0px; COLOR: #000; =
PADDING-TOP: 0px
}
DIV#content {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; =
PADDING-TOP: 1em
}

@media Screen   =20
{
BODY > DIV#highlightHeader {
	POSITION: fixed
}

}

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.iijcan.org/eliisa/css/fixed4ie7.css

#highlightHeader {
	
}

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.iijcan.org/css/canlii.css

BODY {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: =
0px; PADDING-TOP: 5px
}
DIV#body {
	FONT-SIZE: 12px; COLOR: #000; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif
}
DIV.body {
	FONT-SIZE: 12px; COLOR: #000; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif
}
DIV#splashBody {
	FONT-SIZE: 12px; COLOR: #000; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif
}
DIV#body_noNothing {
	FONT-SIZE: 12px; COLOR: #000; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif
}
DIV#body {
	MIN-WIDTH: 770px; MAX-WIDTH: 1000px
}
DIV.body {
	MIN-WIDTH: 770px; MAX-WIDTH: 1000px
}
DIV#originalDocument {
	PADDING-RIGHT: 8px; MIN-WIDTH: 745px; PADDING-LEFT: 17px; MAX-WIDTH: =
975px; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt
}
DIV.originalDocument {
	PADDING-RIGHT: 8px; MIN-WIDTH: 745px; PADDING-LEFT: 17px; MAX-WIDTH: =
975px; PADDING-BOTTOM: 0pt; PADDING-TOP: 0pt
}
H1.canlii {
	COLOR: #000; TEXT-INDENT: 0px; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif! important; LETTER-SPACING: 0px; TEXT-ALIGN: =
left; TEXT-DECORATION: none
}
H2.canlii {
	COLOR: #000; TEXT-INDENT: 0px; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif! important; LETTER-SPACING: 0px; TEXT-ALIGN: =
left; TEXT-DECORATION: none
}
H2.number {
	COLOR: #000; TEXT-INDENT: 0px; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif! important; LETTER-SPACING: 0px; TEXT-ALIGN: =
left; TEXT-DECORATION: none
}
H3.canlii {
	COLOR: #000; TEXT-INDENT: 0px; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif! important; LETTER-SPACING: 0px; TEXT-ALIGN: =
left; TEXT-DECORATION: none
}
H4.canlii {
	COLOR: #000; TEXT-INDENT: 0px; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif! important; LETTER-SPACING: 0px; TEXT-ALIGN: =
left; TEXT-DECORATION: none
}
H5.canlii {
	COLOR: #000; TEXT-INDENT: 0px; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif! important; LETTER-SPACING: 0px; TEXT-ALIGN: =
left; TEXT-DECORATION: none
}
H6.canlii {
	COLOR: #000; TEXT-INDENT: 0px; FONT-STYLE: normal; FONT-FAMILY: "Myriad =
Web", Verdana, sans-serif! important; LETTER-SPACING: 0px; TEXT-ALIGN: =
left; TEXT-DECORATION: none
}
H1.canlii {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
24px! important; PADDING-BOTTOM: 0px; MARGIN: 0.5em 0px; PADDING-TOP: =
0px
}
H2.canlii {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
24px! important; PADDING-BOTTOM: 0px; MARGIN: 0.5em 0px; PADDING-TOP: =
0px
}
H1.decision {
	MARGIN-TOP: 1em
}
H2.canlii {
=09
}
H2.number {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: left top; PADDING-LEFT: 0px; =
FONT-WEIGHT: normal; FONT-SIZE: 24px; LEFT: 0px; BACKGROUND-IMAGE: =
url(../images/searchStepDot.gif); PADDING-BOTTOM: 3px; MARGIN: 0px; =
WIDTH: 40px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat; POSITION: =
absolute; TOP: 0px; HEIGHT: 40px; TEXT-ALIGN: center
}
H2.databasesScope {
	FONT-WEIGHT: normal; FONT-SIZE: 16px
}
H3.canlii {
	MARGIN-TOP: 1.5em; FONT-WEIGHT: bold; FONT-SIZE: 1em; MARGIN-BOTTOM: =
0px
}
H4.canlii {
	FONT-WEIGHT: bold; FONT-SIZE: 1em; MARGIN: 0px 0px 0.5em
}
H3.searchTermTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
1em; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
H3.searchSectionTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
15px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #808080; LINE-HEIGHT: =
22px; PADDING-TOP: 0px; BACKGROUND-COLOR: #e0e2e2; TEXT-ALIGN: center
}
H3.advancedSearchDatabasesSelection {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; FONT-SIZE: =
15px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; TEXT-ALIGN: =
center
}
A.reflex-statute {
	WHITE-SPACE: nowrap
}
A.reflex-caselaw {
	WHITE-SPACE: nowrap
}
A:link {
	COLOR: #027abb; TEXT-DECORATION: none
}
A.canlii:link {
	COLOR: #027abb; TEXT-DECORATION: none
}
A.falseLink {
	COLOR: #027abb; TEXT-DECORATION: none
}
A:visited {
	COLOR: #027abb; TEXT-DECORATION: none
}
A.canlii:visited {
	COLOR: #027abb; TEXT-DECORATION: none
}
A:hover:link {
	COLOR: #027abb; TEXT-DECORATION: underline
}
A.canlii:hover:link {
	COLOR: #027abb; TEXT-DECORATION: underline
}
A:hover:visited {
	COLOR: #027abb; TEXT-DECORATION: underline
}
A.canlii:hover:visited {
	COLOR: #027abb; TEXT-DECORATION: underline
}
A.falseLink:hover {
	COLOR: #027abb; TEXT-DECORATION: underline
}
A.reflex-parallel-citations {
	BACKGROUND-POSITION: left center; PADDING-LEFT: 20px; BACKGROUND-IMAGE: =
url(../images/reflex_small.gif); BACKGROUND-REPEAT: no-repeat
}
A.reflex-parallel-citations IMG {
	DISPLAY: none
}
DFN {
	PADDING-RIGHT: 13px; BACKGROUND-POSITION: right top; BACKGROUND-IMAGE: =
url(../images/interrogation_square.gif); CURSOR: help; BORDER-BOTTOM: =
#007bbe 1px dashed; BACKGROUND-REPEAT: no-repeat; FONT-STYLE: normal; =
BACKGROUND-COLOR: #fff
}
DIV.decisionsListing A.canlii:visited {
	COLOR: #a0522d
}
DIV.decisionsListing A:visited {
	COLOR: #a0522d
}
DIV#searchResults A.canlii:visited {
	COLOR: #a0522d
}
DIV#searchResults A:visited {
	COLOR: #a0522d
}
DIV#statutesListing A.canlii:visited {
	COLOR: #a0522d
}
DIV#statutesListing A:visited {
	COLOR: #a0522d
}
A.reflexLink {
	WHITE-SPACE: nowrap
}
A.reflex-parallel-citations:link IMG {
	MARGIN-RIGHT: 5px
}
IMG {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
H1.canlii IMG {
	MARGIN-BOTTOM: -2px
}
H2.canlii IMG {
	MARGIN-BOTTOM: -2px
}
SPAN.canliiCitation {
	WHITE-SPACE: nowrap
}
SPAN.nowrap {
	WHITE-SPACE: nowrap
}
SPAN.italic {
	FONT-STYLE: italic
}
LI .selected {
	FONT-WEIGHT: bold; COLOR: #000
}
TD .selected {
	FONT-WEIGHT: bold; COLOR: #000
}
.formButton {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; CURSOR: pointer; COLOR: #fff; BORDER-TOP-STYLE: =
none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; POSITION: absolute; HEIGHT: 20px; BACKGROUND-COLOR: #027abb; =
BORDER-BOTTOM-STYLE: none
}
DIV#header {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; POSITION: relative; HEIGHT: 55px
}
DIV#canliiLogo {
	PADDING-RIGHT: 20px; BACKGROUND-POSITION: left 50%; PADDING-LEFT: 0px; =
FLOAT: left; BACKGROUND-IMAGE: url(../images/canliiLogo.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 180px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 55px; BACKGROUND-COLOR: #fff
}
DIV#canliiBanner {
	BACKGROUND-POSITION: right 50%; BACKGROUND-REPEAT: no-repeat; HEIGHT: =
20px; BACKGROUND-COLOR: #f6f7f8; TEXT-ALIGN: right
}
DIV#canliiBanner SPAN.betaNotice {
	FONT-WEIGHT: bold; LEFT: 200px; FLOAT: left; COLOR: #bf0d0b; POSITION: =
absolute; TOP: 1px
}
DIV#canliiBanner IMG {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
P#breadcrumbs {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV#languageSwitch {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: =
0px; MARGIN: 15px 0px 0px; PADDING-TOP: 0px; POSITION: relative
}
DIV#languageSwitch UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV#languageSwitch UL LI {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 5px; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 0px 4px; BORDER-LEFT: #000 1px solid; PADDING-TOP: =
0px
}
DIV#languageSwitch UL LI.first {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
DIV#languageSwitch SPAN.notSupported {
	COLOR: #808080
}
DIV#sidePanel {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px 20px 4em 0px; WIDTH: 180px; PADDING-TOP: 0px
}
DIV#sidePanel DIV {
	BORDER-TOP: #000 2px solid
}
DIV#sidePanel UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV#sidePanel LI {
	MARGIN: 5px 0px
}
DIV#jurisdictionLogo {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: center 50%; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 180px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 55px; BACKGROUND-COLOR: #fff
}
DIV#menu {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 1em; PADDING-TOP: 0px
}
DIV#menu LI.international {
	BORDER-TOP: #c0c2c2 2px solid; MARGIN: 15px 0px 5px; PADDING-TOP: 10px
}
DIV#mainContent {
	PADDING-RIGHT: 0px; BORDER-TOP: #000 2px solid; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 200px; PADDING-TOP: 0px
}
DIV#mainContent_noMenu {
	PADDING-RIGHT: 0px; BORDER-TOP: #000 2px solid; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 200px; PADDING-TOP: 0px
}
DIV#mainContent_noMenu {
	PADDING-RIGHT: 8px; PADDING-LEFT: 17px; PADDING-BOTTOM: 0px; =
MARGIN-LEFT: 0px; PADDING-TOP: 0px
}
DIV.mainContent_noMenu {
	PADDING-RIGHT: 8px; PADDING-LEFT: 17px; PADDING-BOTTOM: 0px; =
MARGIN-LEFT: 0px; PADDING-TOP: 0px
}
DIV#mainContent P {
=09
}
DIV#mainContent_noMenu P {
=09
}
DIV.mainContent_noMenu P {
=09
}
P.legislationInformation {
	MARGIN-TOP: 0px
}
SPAN.yearsExplained {
	FONT-SIZE: 12px; COLOR: #808080
}
DIV.accessBox TABLE {
	COLOR: #808080; BORDER-COLLAPSE: collapse; empty-cells: show
}
DIV.accessBoxTop TABLE {
	COLOR: #808080; BORDER-COLLAPSE: collapse; empty-cells: show
}
DIV.accessBoxBottom TABLE {
	COLOR: #808080; BORDER-COLLAPSE: collapse; empty-cells: show
}
DIV.accessBox TABLE TD {
	WIDTH: 7ex; TEXT-ALIGN: center
}
DIV.accessBoxTop TABLE TD {
	WIDTH: 7ex; TEXT-ALIGN: center
}
DIV.accessBoxBottom TABLE TD {
	WIDTH: 7ex; TEXT-ALIGN: center
}
DIV.accessBox TABLE TD.empty {
	BORDER-RIGHT: #fff 2px solid; BORDER-TOP: #fff 2px solid; BORDER-LEFT: =
#fff 2px solid; COLOR: #f6f7f8; BORDER-BOTTOM: #fff 2px solid; =
BACKGROUND-COLOR: #f6f7f8
}
DIV.accessBoxTop TABLE TD.empty {
	BORDER-RIGHT: #fff 2px solid; BORDER-TOP: #fff 2px solid; BORDER-LEFT: =
#fff 2px solid; COLOR: #f6f7f8; BORDER-BOTTOM: #fff 2px solid; =
BACKGROUND-COLOR: #f6f7f8
}
DIV.accessBoxBottom TABLE TD.empty {
	BORDER-RIGHT: #fff 2px solid; BORDER-TOP: #fff 2px solid; BORDER-LEFT: =
#fff 2px solid; COLOR: #f6f7f8; BORDER-BOTTOM: #fff 2px solid; =
BACKGROUND-COLOR: #f6f7f8
}
DIV#courtPractices LI {
	LINE-HEIGHT: 1.5em
}
SPAN.collectionScopeLink {
	FONT-SIZE: 12px
}
TABLE.databasesList {
	MARGIN-BOTTOM: 2em; MARGIN-LEFT: 2em; WIDTH: 40%
}
DIV#decisionReflexRecord {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2em =
0px; WIDTH: 745px; PADDING-TOP: 0px; BORDER-BOTTOM: #000 1px solid
}
DIV#decisionReflexRecord DIV#reflexRecordHeader {
	MIN-HEIGHT: 20px; PADDING-BOTTOM: 0.3em
}
DIV#reflexRecordHeader BUTTON {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bolder; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 120px; CURSOR: pointer; COLOR: =
#fff; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; POSITION: absolute; HEIGHT: 20px; =
BACKGROUND-COLOR: #027abb; TEXT-ALIGN: center; BORDER-BOTTOM-STYLE: none
}
DIV#decisionReflexRecord H3.reflexRecord {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; FLOAT: left; PADDING-BOTTOM: =
0.5em; MARGIN: 0px 1em 0px 0px; COLOR: #fff; PADDING-TOP: 0.5em; =
BACKGROUND-COLOR: #808080
}
DIV#decisionReflexRecord DIV#controlBox {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0.5em
}
DIV#decisionReflexRecord DIV#controlBox A {
	CURSOR: pointer; COLOR: #027abb
}
DIV#decisionReflexRecordContent {
	PADDING-RIGHT: 0px; BORDER-TOP: #000 1px solid; DISPLAY: none; =
PADDING-LEFT: 1.5em; PADDING-BOTTOM: 1em; MARGIN: 0px; PADDING-TOP: 0px
}
DIV#noteup {
	MARGIN: 2em 0px; COLOR: #808080
}
DIV#noteup P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
P.versionWarning {
	COLOR: #bf0d0b
}
FORM#searchForm {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV#searchBox {
	BORDER-RIGHT: #000 2px solid; PADDING-RIGHT: 12px; BORDER-TOP: #000 2px =
solid; PADDING-LEFT: 12px; PADDING-BOTTOM: 12px; MARGIN: 0px 0px 2em; =
BORDER-LEFT: #000 2px solid; PADDING-TOP: 12px; BORDER-BOTTOM: #000 2px =
solid; POSITION: relative
}
DIV#advancedSearchBox {
	BORDER-RIGHT: #000 2px solid; PADDING-RIGHT: 12px; BORDER-TOP: #000 2px =
solid; PADDING-LEFT: 12px; PADDING-BOTTOM: 12px; MARGIN: 0px 0px 2em; =
BORDER-LEFT: #000 2px solid; PADDING-TOP: 12px; BORDER-BOTTOM: #000 2px =
solid; POSITION: relative
}
DIV#searchBox {
	WIDTH: 530px
}
DIV#advancedSearchBox {
	WIDTH: 718px
}
DIV#searchBox DIV.searchStep {
	PADDING-RIGHT: 0px; PADDING-LEFT: 45px; MIN-HEIGHT: 48px; =
PADDING-BOTTOM: 0px; MARGIN: 5px 0px; PADDING-TOP: 0px; POSITION: =
relative
}
DIV#advancedSearchBox DIV.searchStep {
	PADDING-RIGHT: 0px; PADDING-LEFT: 45px; MIN-HEIGHT: 48px; =
PADDING-BOTTOM: 0px; MARGIN: 5px 0px; PADDING-TOP: 0px; POSITION: =
relative
}
#searchBox .syntaxHelper {
	BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #000 1px =
solid; PADDING-LEFT: 5px; Z-INDEX: 50; RIGHT: 2.5em; PADDING-BOTTOM: =
0px; BORDER-LEFT: #000 1px solid; COLOR: #000; PADDING-TOP: 0px; =
BORDER-BOTTOM: #000 1px solid; POSITION: absolute; BACKGROUND-COLOR: =
#ffffe0; TEXT-ALIGN: center
}
#advancedSearchBox .syntaxHelper {
	BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #000 1px =
solid; PADDING-LEFT: 5px; Z-INDEX: 50; RIGHT: 2.5em; PADDING-BOTTOM: =
0px; BORDER-LEFT: #000 1px solid; COLOR: #000; PADDING-TOP: 0px; =
BORDER-BOTTOM: #000 1px solid; POSITION: absolute; BACKGROUND-COLOR: =
#ffffe0; TEXT-ALIGN: center
}
.syntaxHelper P {
	MARGIN: 2px
}
DIV.searchStep DIV.searchTerm {
	VERTICAL-ALIGN: top; COLOR: #808080; LINE-HEIGHT: 16px; POSITION: =
relative
}
DIV.searchStep DIV.termInput {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MIN-HEIGHT: 23px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; POSITION: relative
}
DIV#searchBox INPUT.textInput {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
14px; PADDING-BOTTOM: 2px; MARGIN: 3px 0px 5px; WIDTH: 100%; =
BORDER-TOP-STYLE: none; PADDING-TOP: 2px; FONT-FAMILY: "Lucida Console", =
"Courier New", Courier, monospace; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #e0e2e2; BORDER-BOTTOM-STYLE: =
none
}
DIV#searchBox INPUT.dateInput {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
14px; PADDING-BOTTOM: 2px; MARGIN: 3px 0px 5px; WIDTH: 100%; =
BORDER-TOP-STYLE: none; PADDING-TOP: 2px; FONT-FAMILY: "Lucida Console", =
"Courier New", Courier, monospace; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #e0e2e2; BORDER-BOTTOM-STYLE: =
none
}
DIV#advancedSearchBox INPUT.textInput {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
14px; PADDING-BOTTOM: 2px; MARGIN: 3px 0px 5px; WIDTH: 100%; =
BORDER-TOP-STYLE: none; PADDING-TOP: 2px; FONT-FAMILY: "Lucida Console", =
"Courier New", Courier, monospace; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #e0e2e2; BORDER-BOTTOM-STYLE: =
none
}
DIV#advancedSearchBox INPUT.dateInput {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
14px; PADDING-BOTTOM: 2px; MARGIN: 3px 0px 5px; WIDTH: 100%; =
BORDER-TOP-STYLE: none; PADDING-TOP: 2px; FONT-FAMILY: "Lucida Console", =
"Courier New", Courier, monospace; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #e0e2e2; BORDER-BOTTOM-STYLE: =
none
}
DIV#searchBox INPUT.dateInput {
	WIDTH: 13.5ex
}
DIV#advancedSearchBox INPUT.dateInput {
	WIDTH: 13.5ex
}
DIV#searchBox EM {
	FONT-WEIGHT: bold; FONT-STYLE: normal
}
DIV#advancedSearchBox EM {
	FONT-WEIGHT: bold; FONT-STYLE: normal
}
DIV#searchBox EM.upper {
	text-transformation: uppercase
}
DIV#advancedSearchBox EM.upper {
	text-transformation: uppercase
}
DIV#advancedSearchParts {
	WIDTH: 718px; POSITION: relative
}
DIV.searchTerm SPAN.selector {
	FONT-SIZE: 0.9em
}
DIV.searchTerm SPAN.selector A {
	WHITE-SPACE: nowrap
}
#collectionsListing {
	MARGIN-TOP: 3px; MARGIN-BOTTOM: 0.5em
}
#collectionsListing TABLE {
	WIDTH: 100%; BORDER-COLLAPSE: collapse
}
#collectionsListing TABLE TD {
	PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: top; PADDING-TOP: 0px
}
DIV.advancedSearchJurisdictionContainer {
	MARGIN: 0.2em 0px; POSITION: relative; BACKGROUND-COLOR: #e0e2e2
}
H3.advancedSearchJurisdiction {
	PADDING-RIGHT: 1.5em; PADDING-LEFT: 1.5em; FONT-WEIGHT: normal; =
FONT-SIZE: 15px; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 80%; CURSOR: =
pointer; COLOR: #808080; LINE-HEIGHT: 22px; PADDING-TOP: 0px; POSITION: =
relative; TEXT-ALIGN: left
}
H3.advancedSearchJurisdiction SPAN.databaseCounter {
	FONT-SIZE: 0.9em; RIGHT: 0px; POSITION: absolute; TOP: 0px
}
H3.advancedSearchJurisdiction SPAN.expander {
	LEFT: 0.35em; WIDTH: 1em; POSITION: absolute; TEXT-ALIGN: center
}
SPAN.databaseCounter SPAN.databaseCount {
	FONT-WEIGHT: bold
}
DIV.advancedSearchJurisdictionContainer SPAN.selector {
	RIGHT: 1em; POSITION: absolute; TOP: 0.3em
}
H3.searchTermTitle SPAN.selector {
	RIGHT: 1em; POSITION: absolute; TOP: 0.3em
}
DIV.searchOptions LI.legislationSelector {
	COLOR: #f7931e
}
DIV.searchOptions LI.ruleSelector {
	COLOR: #f7931e
}
DIV.searchOptions LI.tribunals {
	COLOR: #0071bc
}
DIV.searchOptions LI.courts {
	COLOR: #8cc63f! important
}
DIV#searchButtons {
	BOTTOM: -22px; POSITION: relative; HEIGHT: 20px; BACKGROUND-COLOR: =
transparent
}
DIV#advancedSearchButtons {
	CLEAR: both; BOTTOM: -22px; POSITION: relative; HEIGHT: 20px
}
DIV#searchButtons .left {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-WEIGHT: bolder; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 158px; CURSOR: pointer; COLOR: =
#fff; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; POSITION: absolute; HEIGHT: 20px; =
BACKGROUND-COLOR: #027abb; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
DIV#searchButtons .middle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-WEIGHT: bolder; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 158px; CURSOR: pointer; COLOR: =
#fff; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; POSITION: absolute; HEIGHT: 20px; =
BACKGROUND-COLOR: #027abb; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
DIV#searchButtons .right {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-WEIGHT: bolder; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 158px; CURSOR: pointer; COLOR: =
#fff; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; POSITION: absolute; HEIGHT: 20px; =
BACKGROUND-COLOR: #027abb; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
DIV#advancedSearchButtons .left {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-WEIGHT: bolder; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 158px; CURSOR: pointer; COLOR: =
#fff; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; POSITION: absolute; HEIGHT: 20px; =
BACKGROUND-COLOR: #027abb; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
DIV#advancedSearchButtons .middle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-WEIGHT: bolder; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 158px; CURSOR: pointer; COLOR: =
#fff; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; POSITION: absolute; HEIGHT: 20px; =
BACKGROUND-COLOR: #027abb; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
DIV#advancedSearchButtons .right {
	PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-WEIGHT: bolder; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 158px; CURSOR: pointer; COLOR: =
#fff; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: =
none; BORDER-LEFT-STYLE: none; POSITION: absolute; HEIGHT: 20px; =
BACKGROUND-COLOR: #027abb; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none
}
DIV#searchButtons .left {
	LEFT: 8px
}
DIV#advancedSearchButtons .left {
	LEFT: 100px
}
DIV#searchButtons .middle {
	LEFT: 186px
}
DIV#advancedSearchButtons .middle {
	LEFT: 280px
}
DIV#searchButtons .right {
	RIGHT: 8px
}
DIV#advancedSearchButtons .right {
	RIGHT: 100px
}
DIV#advancedSearchBox SPAN.selector INPUT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 1em; PADDING-BOTTOM: =
0px; MARGIN: 0px; CURSOR: pointer; COLOR: #027abb; BORDER-TOP-STYLE: =
none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BACKGROUND-COLOR: transparent; BORDER-BOTTOM-STYLE: none
}
DIV#advancedSearchBox SPAN.selector INPUT:hover {
	TEXT-DECORATION: underline
}
DIV#searchTips {
	BORDER-RIGHT: #027abb 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: =
#027abb 1px solid; DISPLAY: none; PADDING-LEFT: 0.5em; FONT-SIZE: 0.9em; =
PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #027abb 1px solid; =
PADDING-TOP: 0.5em; BORDER-BOTTOM: #027abb 1px solid; BACKGROUND-COLOR: =
#e8f2fe
}
DIV#searchTips TABLE {
	WIDTH: 100%; BORDER-COLLAPSE: collapse
}
DIV#searchTips .odd {
	BACKGROUND-COLOR: #d3e7f8
}
DIV#searchTips TH {
	BORDER-BOTTOM: #000 1px solid
}
DIV#searchTips .find {
	WIDTH: 45%; TEXT-ALIGN: left
}
DIV#searchTips .operator {
	TEXT-ALIGN: center
}
DIV#searchTips .example {
	WHITE-SPACE: nowrap; TEXT-ALIGN: right
}
DIV#searchTips P#fullHelp {
	TEXT-ALIGN: right
}
SPAN.helpLink {
	FLOAT: right; POSITION: relative
}
DIV#searchResults DIV.resultsInfo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; HEIGHT: 1.5em
}
DIV#searchResults DIV.topInfo {
	MARGIN: 1em 0px 0px
}
DIV#searchResults DIV.bottomInfo {
	MARGIN: 0px 0px 1em
}
DIV#searchResults DIV.resultsInfo SPAN.size {
	FLOAT: left; MARGIN-RIGHT: 2em
}
DIV#searchResults DIV.resultsInfo SPAN.ordering {
	FLOAT: right
}
DIV#searchResults DIV.resultsInfo UL.pager {
	MARGIN: 0px; TEXT-TRANSFORM: uppercase
}
DIV#searchResults DIV.items {
	PADDING-RIGHT: 0px; BORDER-TOP: #000 2px solid; PADDING-LEFT: 0px; =
MAX-WIDTH: 100%; PADDING-BOTTOM: 1em; MARGIN: 0em 0px; PADDING-TOP: 1em; =
BORDER-BOTTOM: #000 2px solid
}
DIV#searchResults DIV.items SPAN.reference {
	WHITE-SPACE: nowrap
}
DIV#searchResults DIV.items SPAN.date {
	WHITE-SPACE: nowrap
}
DIV#searchResults DIV.items UL UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 3em; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV#searchResults DIV.items UL {
	WIDTH: auto
}
DIV#searchResults DIV.items LI {
	BORDER-RIGHT: transparent 1px solid; BORDER-TOP: transparent 1px solid; =
MARGIN: 0px 0px 2em; BORDER-LEFT: transparent 1px solid; BORDER-BOTTOM: =
transparent 1px solid; POSITION: relative
}
DIV#searchResults DIV.items UL UL LI {
	MARGIN: 0px
}
DIV#searchResults DIV.items DIV.searchResult {
	MARGIN: 0pt 0pt 0pt 6ex
}
DIV#searchResults DIV.searchResult DIV.keywords {
=09
}
DIV#searchResults DIV.searchResult DIV.keywords SPAN {
	FONT-STYLE: italic; WHITE-SPACE: nowrap
}
DIV#searchResults DIV.index {
	FONT-SIZE: 1.3em; LEFT: 0px; MARGIN: 0px 1ex 0px 0px; WIDTH: 4ex; =
POSITION: absolute; TOP: 0px; TEXT-ALIGN: left
}
DIV#advancedErrorBox {
	BACKGROUND-POSITION: 1px 1px; BACKGROUND-IMAGE: =
url(../images/exclamation.gif); MARGIN: 1em 0px; COLOR: #bf0d0b; =
BACKGROUND-REPEAT: no-repeat
}
DIV#errorBox {
	BACKGROUND-POSITION: 1px 1px; BACKGROUND-IMAGE: =
url(../images/exclamation.gif); MARGIN: 1em 0px; COLOR: #bf0d0b; =
BACKGROUND-REPEAT: no-repeat
}
DIV#errorBox DIV.items {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; =
MARGIN-LEFT: 20px; BORDER-LEFT: #bf0d0b 1px solid; PADDING-TOP: 0px
}
DIV#advancedErrorBox DIV.items {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; =
MARGIN-LEFT: 20px; BORDER-LEFT: #bf0d0b 1px solid; PADDING-TOP: 0px
}
DIV#errorBox DIV.items LI {
	PADDING-BOTTOM: 10px
}
DIV#advancedErrorBox DIV.items LI {
	PADDING-BOTTOM: 10px
}
DIV#errorBox DIV.items LI.last {
	PADDING-BOTTOM: 0px
}
DIV#advancedErrorBox DIV.items LI.last {
	PADDING-BOTTOM: 0px
}
DIV#errorBox {
	WIDTH: 555px
}
DIV#advancedErrorBox {
	WIDTH: 765px
}
DIV#news {
=09
}
DIV#databases {
=09
}
DIV#frequentlyConsulted {
=09
}
DIV#externalLinks {
=09
}
DIV#news P.newsMessage {
	MARGIN: 0px 0px 1.75em
}
DIV#news TABLE TD.newsTitle {
	WIDTH: 100%
}
DIV#news TABLE TD.newsContent {
=09
}
DIV#infoCanLII {
	MARGIN: 1.5em 0px 0px
}
DIV#newsHeader {
	MARGIN-BOTTOM: 4em
}
DIV#newsGreetings P.greetings {
	MARGIN-BOTTOM: 1em
}
DIV#newsSalutations P.salutations {
	PADDING-LEFT: 2em
}
DIV.newsItem {
=09
}
DIV.newsItem LI {
	MARGIN: 0.5em 0px; LINE-HEIGHT: 1.7em
}
DIV.newsItem P.newsParagraph {
	LINE-HEIGHT: 1.7em
}
DIV#international {
=09
}
DIV#international TR {
	HEIGHT: 5em
}
DIV#international LI.last {
=09
}
DIV#international TD.logo {
	VERTICAL-ALIGN: middle; WIDTH: 8em; TEXT-ALIGN: center
}
DIV#international TD.name {
	VERTICAL-ALIGN: middle
}
DIV.items UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV.accessBox UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV.accessBoxTop UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV.accessBoxBottom UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV#statuteVersions UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV#searchResults UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 1em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV.accessBox UL {
	MARGIN: 0.5em 0px; COLOR: #808080
}
DIV.accessBoxTop UL {
	MARGIN: 0.5em 0px; COLOR: #808080
}
DIV.accessBoxBottom UL {
	MARGIN: 0.5em 0px; COLOR: #808080
}
DIV.accessBoxTop UL.monthNavigationList {
	MARGIN: 2em 0px 0.5em
}
DIV.accessBoxBottom UL.monthNavigationList {
	MARGIN: 0.5em 0px 2em
}
DIV.items UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px =
0px; PADDING-TOP: 0px; POSITION: relative
}
DIV.accessBox UL LI {
	DISPLAY: inline; MARGIN-RIGHT: 5px
}
DIV.accessBoxTop UL LI {
	DISPLAY: inline; MARGIN-RIGHT: 5px
}
DIV.accessBoxBottom UL LI {
	DISPLAY: inline; MARGIN-RIGHT: 5px
}
DIV.accessBoxTop {
	MARGIN: 0.5em 0px 1em; BORDER-BOTTOM: #000 2px solid
}
DIV.accessBoxBottom {
	CLEAR: both; BORDER-TOP: #000 2px solid; MARGIN: 1em 0px 0.5em
}
DIV#searchResults UL.pager LI {
	DISPLAY: inline
}
UL.checkBoxList {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
UL.radioList {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
UL.checkBoxListBlock {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
UL.radioListBlock {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.checkBoxList INPUT {
	MARGIN: 0px 0px 0px -15px
}
.radioList INPUT {
	MARGIN: 0px 0px 0px -15px
}
.checkBoxListBlock INPUT {
	MARGIN: 0px 0px 0px -15px
}
.radioListBlock INPUT {
	MARGIN: 0px 0px 0px -15px
}
UL.checkBoxList LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: 1px =
0px; PADDING-TOP: 0px
}
UL.radioList LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: 1px =
0px; PADDING-TOP: 0px
}
UL.checkBoxListBlock LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: 1px =
0px; PADDING-TOP: 0px
}
UL.radioListBlock LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: 1px =
0px; PADDING-TOP: 0px
}
UL.checkBoxList LI {
	HEIGHT: 20px
}
UL.radioList LI {
	HEIGHT: 20px
}
DIV#searchBox UL.checkBoxList LI INPUT.dateInput {
	MARGIN: 0px 0.5em; HEIGHT: 15px
}
DIV#searchBox UL.radioList LI INPUT.dateInput {
	MARGIN: 0px 0.5em; HEIGHT: 15px
}
UL.checkBoxList LI {
	MIN-WIDTH: 25px; MARGIN-RIGHT: 10px
}
UL.checkBoxListBlock LI {
	MIN-WIDTH: 25px; MARGIN-RIGHT: 10px
}
UL.checkBoxListBlock LI {
=09
}
UL.radioListBlock LI {
=09
}
UL.checkBoxList LI {
	FLOAT: left
}
.checkBoxList LABEL {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: -20px top; PADDING-LEFT: 25px; =
MIN-HEIGHT: 20px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat; WHITE-SPACE: nowrap; BACKGROUND-COLOR: =
transparent
}
.radioList LABEL {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: -20px top; PADDING-LEFT: 25px; =
MIN-HEIGHT: 20px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat; WHITE-SPACE: nowrap; BACKGROUND-COLOR: =
transparent
}
.checkBoxListBlock LABEL {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: -20px top; PADDING-LEFT: 25px; =
MIN-HEIGHT: 20px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat; WHITE-SPACE: nowrap; BACKGROUND-COLOR: =
transparent
}
.radioListBlock LABEL {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: -20px top; PADDING-LEFT: 25px; =
MIN-HEIGHT: 20px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat; WHITE-SPACE: nowrap; BACKGROUND-COLOR: =
transparent
}
.checkBoxList LABEL {
	FLOAT: left
}
.radioList LABEL {
	FLOAT: left
}
.checkBoxListBlock LABEL {
	DISPLAY: block; WHITE-SPACE: normal
}
.radioListBlock LABEL {
	DISPLAY: block; WHITE-SPACE: normal
}
DIV#advancedSearchParts UL.checkBoxList LI {
	FLOAT: left; MARGIN: 0px; WIDTH: 45px
}
DIV#statuteVersions UL {
=09
}
P.statuteLinks {
	MARGIN-TOP: -0.5em; MARGIN-BOTTOM: 0.75em
}
P.regulationLinks {
	MARGIN-TOP: -0.5em; MARGIN-BOTTOM: 0.75em
}
P.lastUpdate {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1em
}
DIV#enabledRegulations {
	CLEAR: both
}
DIV#statuteVersions DIV.years {
	MARGIN-TOP: 1em
}
DIV#statuteVersions P {
	MARGIN: 0px
}
DIV#enabledRegulations P {
	MARGIN: 0px
}
DIV#conditionsOfUse {
=09
}
DIV#updatesOnCanlii {
=09
}
DIV#statuteVersions {
=09
}
DIV#statuteVersions UL LI.versionYear {
	FONT-WEIGHT: bold
}
DIV#statuteVersions DIV.years UL {
	FLOAT: left; WIDTH: 15ex
}
DIV#statuteTableOfContents {
=09
}
DIV#statuteTableOfContents UL {
	MARGIN: 0px
}
DIV#statuteTableOfContents UL LI {
	MARGIN: 0px
}
DIV#statuteTableOfContents UL LI UL {
	MARGIN: 0px 0px 0px 2.5em
}
DIV#statuteTableOfContents LI.title {
	TEXT-TRANSFORM: uppercase
}
DIV#statuteTableOfContents LI.subTitle {
	MARGIN: 0px 0px 0px -1.5em
}
DIV#headings {
	MARGIN: 2em 1em
}
DIV#headings H1.canlii {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN: 0px
}
DIV#headings H2.canlii {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN: 0px 0px 0px 1em; =
TEXT-TRANSFORM: uppercase
}
DIV#headings H3.canlii {
	FONT-SIZE: 15px; MARGIN: 0px 0px 0px 2em
}
DIV#statuteText {
=09
}
DIV#statuteText DIV.paragraph {
	MARGIN: 1em 0px
}
DIV#statuteText DIV.paragraph P.marginText {
	CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.9em; =
FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 150px; =
PADDING-TOP: 0px
}
DIV#statuteText DIV.paragraph DIV.mainText {
	MARGIN-LEFT: 180px
}
DIV#statuteText DIV.paragraph DIV.mainText P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV#statuteText DIV.paragraph DIV.mainText P.mainText {
	TEXT-INDENT: 2em
}
DIV#statuteText DIV.paragraph DIV.mainText P.history {
	FONT-SIZE: 0.9em
}
DIV#statuteText UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0.5em 0px 0.5em 2em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
DIV#associatedRegulations {
	PADDING-RIGHT: 2em; PADDING-LEFT: 2em; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
DIV.items TABLE {
	BORDER-COLLAPSE: collapse
}
DIV.decisionsListing TABLE {
	BORDER-COLLAPSE: collapse
}
DIV.items TABLE TD {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 2px; =
VERTICAL-ALIGN: top; PADDING-TOP: 2px
}
DIV.decisionsListing TABLE TD {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 2px; =
VERTICAL-ALIGN: top; PADDING-TOP: 2px
}
DIV.items TABLE TD.label {
	PADDING-RIGHT: 0.75em; WHITE-SPACE: nowrap
}
DIV.decisionsListing TABLE TD.decisionDate {
	PADDING-RIGHT: 0.75em; WHITE-SPACE: nowrap
}
DIV.items TABLE TD.labelPrint {
	PADDING-RIGHT: 0.75em; WHITE-SPACE: nowrap
}
DIV.items TABLE TD.label {
	COLOR: #808080
}
DIV.items TABLE TD.labelPrint {
	COLOR: #808080
}
DIV.items TABLE TD.labelPrint {
	VERTICAL-ALIGN: bottom
}
DIV#statutesListing DIV.items TABLE {
	WIDTH: 98%; empty-cells: show
}
DIV#regulationsListing DIV.items TABLE {
	WIDTH: 98%; empty-cells: show
}
DIV#statutesListing DIV.items TR.odd TD {
	BACKGROUND-COLOR: #f4f4f4
}
DIV#regulationsListing DIV.items TR.odd TD {
	BACKGROUND-COLOR: #f4f4f4
}
DIV#statutesListing DIV.items TR.even TD {
	BACKGROUND-COLOR: #fff
}
DIV#regulationsListing DIV.items TR.even TD {
	BACKGROUND-COLOR: #fff
}
DIV#statutesListing DIV.items TD.left {
	WIDTH: 50%
}
DIV#regulationsListing DIV.items TD.left {
	WIDTH: 50%
}
DIV#statutesListing DIV.items TD.right {
	WIDTH: 45%
}
DIV#regulationsListing DIV.items TD.right {
	WIDTH: 45%
}
DIV#statuteVersions DIV.items TABLE TD {
	PADDING-RIGHT: 1em; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
DIV#jurisdictions DIV.items TABLE {
	WIDTH: 100%
}
DIV#jurisdictions DIV.items TABLE TR.odd {
	BACKGROUND-COLOR: transparent
}
DIV#jurisdictions DIV.items TABLE TR.odd {
	BACKGROUND-COLOR: #f6f7f8
}
DIV#jurisdictions DIV.items TABLE TD {
	PADDING-RIGHT: 0.5em
}
DIV#jurisdictions DIV.items TABLE THEAD TD {
	FONT-WEIGHT: normal; COLOR: #808080; TEXT-ALIGN: left
}
DIV#jurisdictions DIV.items TABLE TD.date {
	WIDTH: 140px; WHITE-SPACE: nowrap; TEXT-ALIGN: center
}
DIV#jurisdictions DIV.items TABLE THEAD TD.date {
	WIDTH: 140px; WHITE-SPACE: nowrap; TEXT-ALIGN: center
}
DIV#documentHeader {
=09
}
DIV#documentMeta {
	MARGIN: 2em 0px
}
DIV#documentMeta SPAN.label {
	COLOR: #808080
}
P.noteSoquij {
	MARGIN-TOP: 4em; FONT-STYLE: italic
}
SPAN.annotation {
	FONT-WEIGHT: bolder; COLOR: #bf0e08
}
TABLE#navigationTable {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 0.8em; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-COLLAPSE: collapse; BORDER-RIGHT-WIDTH: =
0px; border-spacing: 0
}
TABLE#navigationTable P {
	MARGIN: 0px
}
TABLE#navigationTable TD {
	VERTICAL-ALIGN: top
}
TABLE#navigationTable TD.pointer {
	WIDTH: 24px; TEXT-ALIGN: right
}
TABLE#navigationTable H4 {
	WHITE-SPACE: nowrap
}
DIV#footer {
	CLEAR: both; PADDING-RIGHT: 0px; BORDER-TOP: #000 2px solid; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 4em 0px; PADDING-TOP: =
0px; POSITION: relative
}
DIV#footer UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; RIGHT: 0.5em; PADDING-BOTTOM: =
0px; MARGIN: -1em 0px 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; =
POSITION: absolute; TOP: -0.5em
}
DIV#footer UL LI {
	PADDING-RIGHT: 3px; DISPLAY: inline; PADDING-LEFT: 5px; PADDING-BOTTOM: =
0px; MARGIN: 0px; BORDER-LEFT: #000 1px solid; PADDING-TOP: 0px
}
DIV#footer UL LI.first {
	BORDER-LEFT-STYLE: none
}
DIV#footer DIV#by {
	MARGIN: 7px 2px 2px
}
DIV#footer DIV#by DIV {
	FLOAT: left; MARGIN: 0px 0.4em 0px 0px; POSITION: relative
}
DIV#by DIV.flsc {
	TOP: -5px
}
DIV#footer P#by IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
DIV#footer P#by IMG.flsc {
	MARGIN-TOP: -4px
}
DIV#footer P#by SPAN {
	VERTICAL-ALIGN: top; COLOR: #808080
}
DIV#englishHtmlError {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1em; FLOAT: left; PADDING-BOTTOM: =
1em; MARGIN: 1em 0px 4.5em; WIDTH: 300px; PADDING-TOP: 0px
}
DIV#frenchHtmlError {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1em; FLOAT: left; PADDING-BOTTOM: =
1em; MARGIN: 1em 0px 4.5em; WIDTH: 300px; PADDING-TOP: 0px
}
DIV#englishHtmlError UL {
	PADDING-LEFT: 1em
}
DIV#frenchHtmlError UL {
	PADDING-LEFT: 1em
}
DIV#englishHtmlError P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
DIV#frenchHtmlError P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
DIV#englishHtmlError {
	BORDER-LEFT: #000 2px solid
}
DIV#frenchHtmlError {
=09
}
DIV#commentForm {
=09
}
DIV#commentForm INPUT.securityField {
	DISPLAY: none
}
DIV#commentForm TABLE TD.label {
	WIDTH: 13em; WHITE-SPACE: normal; TEXT-ALIGN: right
}
DIV#commentForm UL.checkBoxList {
	MARGIN-LEFT: -35px
}
DIV#commentForm UL.checkBoxList LABEL {
	PADDING-LEFT: 40px
}
DIV.doctrine {
	TEXT-ALIGN: justify
}
DIV.doctrine H1.canlii {
	TEXT-ALIGN: center
}
DIV.doctrine P.sousmenu {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; FONT-SIZE: 1.5em; =
PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #000 1px solid; TEXT-ALIGN: center
}
DIV.doctrine DIV.sousmenu {
	FONT-WEIGHT: bold; TEXT-ALIGN: center
}
DIV.doctrine DIV.sousmenu A.sousmenu {
	PADDING-RIGHT: 0.3em; PADDING-LEFT: 0.3em; FONT-SIZE: 0.9em; =
PADDING-BOTTOM: 0px; COLOR: #000; PADDING-TOP: 0px; BACKGROUND-COLOR: =
#e0e2e2
}
DIV.doctrine DIV.sousmenu A.sousmenu:hover {
	BACKGROUND-COLOR: #c0dcea; TEXT-DECORATION: none
}
DIV.doctrine DIV.sectionCitation {
	BORDER-RIGHT: #000 2px solid; PADDING-RIGHT: 1.5em; BORDER-TOP: #000 =
2px solid; PADDING-LEFT: 1.5em; FONT-WEIGHT: bold; PADDING-BOTTOM: 1em; =
MARGIN: 1em 5em; BORDER-LEFT: #000 2px solid; PADDING-TOP: 1em; =
BORDER-BOTTOM: #000 2px solid
}
DIV.doctrine DIV.sectionCitation P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV.doctrine P.update {
	FONT-WEIGHT: bold; FONT-SIZE: 0.9em; COLOR: #808080
}
DIV.doctrine SPAN.emph {
	FONT-STYLE: italic
}
DIV.doctrine A.reflex-caselaw {
	COLOR: #000; BORDER-BOTTOM: #027abb 1px dotted; BACKGROUND-COLOR: =
#e0e2e2
}
DIV.doctrine A.reflex-caselaw:hover {
	BACKGROUND-COLOR: #c0dcea; TEXT-DECORATION: none
}
DIV.doctrine P.Toc1 {
	MARGIN: 0px
}
DIV.doctrine P.Toc2 {
	MARGIN: 0px
}
DIV.doctrine P.Toc2 {
	PADDING-LEFT: 1.5em
}
DIV.doctrine P.par {
	LINE-HEIGHT: 1.6em
}
DIV.doctrine P.statute {
	FONT-SIZE: 1.5em
}
DIV.doctrine TABLE {
=09
}
DIV.doctrine TABLE TR {
=09
}
DIV.doctrine TABLE TR TD {
	VERTICAL-ALIGN: top
}
DIV.doctrine TABLE TD P {
	MARGIN: 0.2em
}
A.satalPart {
	MARGIN-LEFT: 2em
}
DIV#splashBody {
=09
}
DIV#splash {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 4em =
auto 0px; WIDTH: 750px; PADDING-TOP: 0px; BORDER-BOTTOM: #000 1px solid; =
POSITION: relative
}
DIV#splash DIV#logo {
	BACKGROUND-POSITION: 50% 0%; FONT-SIZE: 2em; BACKGROUND-IMAGE: =
url(../images/canliiSplash.gif); MARGIN: 0px auto; PADDING-TOP: 222px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 32px; TEXT-ALIGN: center
}
DIV#logo DIV#frenchText {
	DISPLAY: none; COLOR: #007bbe
}
DIV#logo DIV#englishText {
	DISPLAY: none; COLOR: #007bbe
}
DIV#splash DIV#languageSelection {
	FONT-SIZE: 2.5em; MARGIN: 0px auto 2em; TEXT-ALIGN: center
}
DIV#languageSelection TABLE {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
auto; WIDTH: 70%; PADDING-TOP: 0px; BORDER-COLLAPSE: collapse; =
border-spacing: 0
}
DIV#languageSelection TABLE TD {
	PADDING-RIGHT: 0.75em; PADDING-LEFT: 0.75em; PADDING-BOTTOM: 0px; =
MARGIN: 0px; WIDTH: 50%; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none
}
DIV#languageSelection TABLE TD.french {
	BORDER-RIGHT: #000 2px solid; TEXT-ALIGN: right
}
DIV#languageSelection TABLE TD.english {
	BORDER-LEFT: #000 2px solid; TEXT-ALIGN: left
}
DIV#splashFooter DIV#remember {
	MARGIN: 5px 0px 0px; WIDTH: 50%
}
DIV#remember UL.checkBoxList LI {
	DISPLAY: block; FLOAT: none
}
DIV#remember UL.checkBoxList LABEL {
	DISPLAY: block; PADDING-LEFT: 2em; FLOAT: none
}
DIV#splashFooter DIV#terms {
	RIGHT: 0px; MARGIN: -20px 0px 0px; POSITION: absolute
}
DIV#terms TABLE {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; BORDER-COLLAPSE: collapse; TEXT-ALIGN: center; =
border-spacing: 0
}
DIV#terms TABLE TD {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; MARGIN: =
0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; =
WHITE-SPACE: nowrap; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
DIV#terms TABLE TD.french {
	BORDER-RIGHT: #000 1px solid
}
DIV#terms TABLE TD.english {
	BORDER-LEFT: #000 1px solid
}
DIV#splashFooter {
	MARGIN: 0px auto; WIDTH: 750px; POSITION: relative
}
.tab-wrapper {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
1em; MARGIN: 0px; PADDING-TOP: 1em
}
.tab-menu {
	PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; TEXT-ALIGN: right
}
.tab-menu LI {
	PADDING-RIGHT: 1em; DISPLAY: inline; PADDING-LEFT: 1em; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 0px 0.5em; PADDING-TOP: 0px
}
.tab-menu LI A {
	FONT-WEIGHT: bold
}
.tab-menu LI A:hover {
=09
}
.tab-menu LI A:focus {
=09
}
.tab-menu LI.tab-selected A {
	CURSOR: default; COLOR: #808080; TEXT-DECORATION: none
}

@media Print   =20
{
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 90%; =
PADDING-TOP: 0px
}
UL.checkBoxList INPUT {
	VISIBILITY: visible
}
UL.radioList INPUT {
	VISIBILITY: visible
}
DIV#mainContent_noMenu {
	MARGIN: 0px
}
DIV.mainContent_noMenu {
	MARGIN: 0px
}
DIV#highlightHeader {
	DISPLAY: none
}
DIV#mainContent * {
	WIDTH: auto
}
DIV#mainContent_noMenu * {
	WIDTH: auto
}
DIV.mainContent_noMenu * {
	WIDTH: auto
}

}

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.iijcan.org/css/canlii-ie.css

DIV#jurisdictionBox LABEL {
	PADDING-LEFT: 18px
}
H3.advancedSearchJurisdiction {
	FONT-SIZE: 1.2em; MARGIN: 0px; LINE-HEIGHT: 1.7
}
DIV.advancedSearchJurisdictionContainer SPAN.selector {
	FONT-SIZE: 0.85em
}
H3.advancedSearchJurisdiction SPAN.expander {
	TOP: -0.1em
}

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.iijcan.org/css/canlii-ie7.css

DIV#body {
	MIN-WIDTH: 760px; MAX-WIDTH: 1000px
}
DIV.body {
	MIN-WIDTH: 760px; MAX-WIDTH: 1000px
}
DIV#originalDocument {
	MIN-WIDTH: 730px; MAX-WIDTH: 975px
}
DIV.originalDocument {
	MIN-WIDTH: 730px; MAX-WIDTH: 975px
}
DIV#decisionReflexRecord {
	WIDTH: 730px
}
DIV#advancedSearchBox {
	MARGIN-LEFT: -10px
}
DIV#advancedSearchParts DIV#boardsBox {
	POSITION: absolute
}

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.iijcan.org/eliisa/javascript/highlight.js

var oldWindowOnload_1223 =3D window.onload;=0A=
=0A=
var currentScrollPosition =3D 0;=0A=
var currentButton;=0A=
var cssOnColors =3D new Array(80);=0A=
cssOnColors[0] =3D  ".term0  { background-color: #FFB4B4; padding: =
2px;}";=0A=
cssOnColors[1] =3D  ".term1  { background-color: #FFF6B4; padding: =
2px;}";=0A=
cssOnColors[2] =3D  ".term2  { background-color: #C4FFB4; padding: =
2px;}";=0A=
cssOnColors[3] =3D  ".term3  { background-color: #B4FFE7; padding: =
2px;}";=0A=
cssOnColors[4] =3D  ".term4  { background-color: #B4D3FF; padding: =
2px;}";=0A=
cssOnColors[5] =3D  ".term5  { background-color: #D8B4FF; padding: =
2px;}";=0A=
cssOnColors[6] =3D  ".term6  { background-color: #FFB4E2; padding: =
2px;}";=0A=
cssOnColors[7] =3D  ".term7  { background-color: #FFC9B4; padding: =
2px;}";=0A=
cssOnColors[8] =3D  ".term8  { background-color: #F1FFB4; padding: =
2px;}";=0A=
cssOnColors[9] =3D  ".term9  { background-color: #B4FFBA; padding: =
2px;}";=0A=
cssOnColors[10] =3D ".term10 { background-color: #B4FFFE; padding: =
2px;}";=0A=
cssOnColors[11] =3D ".term11 { background-color: #B4BDFF; padding: =
2px;}";=0A=
cssOnColors[12] =3D ".term12 { background-color: #EFB4FF; padding: =
2px;}";=0A=
cssOnColors[13] =3D ".term13 { background-color: #FFB4CC; padding: =
2px;}";=0A=
cssOnColors[14] =3D ".term14 { background-color: #FFE0B4; padding: =
2px;}";=0A=
cssOnColors[15] =3D ".term15 { background-color: #DBFFB4; padding: =
2px;}";=0A=
cssOnColors[16] =3D ".term16 { background-color: #B4FFD1; padding: =
2px;}";=0A=
cssOnColors[17] =3D ".term17 { background-color: #B4EAFF; padding: =
2px;}";=0A=
cssOnColors[18] =3D ".term18 { background-color: #C2B4FF; padding: =
2px;}";=0A=
cssOnColors[19] =3D ".term19 { background-color: #FFB4F9; padding: =
2px;}";=0A=
cssOnColors[20] =3D  ".term20  { background-color: #FFB4B4; padding: =
2px;}";=0A=
cssOnColors[21] =3D  ".term21  { background-color: #FFF6B4; padding: =
2px;}";=0A=
cssOnColors[22] =3D  ".term22  { background-color: #C4FFB4; padding: =
2px;}";=0A=
cssOnColors[23] =3D  ".term23  { background-color: #B4FFE7; padding: =
2px;}";=0A=
cssOnColors[24] =3D  ".term24  { background-color: #B4D3FF; padding: =
2px;}";=0A=
cssOnColors[25] =3D  ".term25  { background-color: #D8B4FF; padding: =
2px;}";=0A=
cssOnColors[26] =3D  ".term26  { background-color: #FFB4E2; padding: =
2px;}";=0A=
cssOnColors[27] =3D  ".term27  { background-color: #FFC9B4; padding: =
2px;}";=0A=
cssOnColors[28] =3D  ".term28  { background-color: #F1FFB4; padding: =
2px;}";=0A=
cssOnColors[29] =3D  ".term29  { background-color: #B4FFBA; padding: =
2px;}";=0A=
cssOnColors[30] =3D ".term30 { background-color: #B4FFFE; padding: =
2px;}";=0A=
cssOnColors[31] =3D ".term31 { background-color: #B4BDFF; padding: =
2px;}";=0A=
cssOnColors[32] =3D ".term32 { background-color: #EFB4FF; padding: =
2px;}";=0A=
cssOnColors[33] =3D ".term33 { background-color: #FFB4CC; padding: =
2px;}";=0A=
cssOnColors[34] =3D ".term34 { background-color: #FFE0B4; padding: =
2px;}";=0A=
cssOnColors[35] =3D ".term35 { background-color: #DBFFB4; padding: =
2px;}";=0A=
cssOnColors[36] =3D ".term36 { background-color: #B4FFD1; padding: =
2px;}";=0A=
cssOnColors[37] =3D ".term37 { background-color: #B4EAFF; padding: =
2px;}";=0A=
cssOnColors[38] =3D ".term38 { background-color: #C2B4FF; padding: =
2px;}";=0A=
cssOnColors[39] =3D ".term39 { background-color: #FFB4F9; padding: =
2px;}";=0A=
cssOnColors[40] =3D  ".term40  { background-color: #FFB4B4; padding: =
2px;}";=0A=
cssOnColors[41] =3D  ".term41  { background-color: #FFF6B4; padding: =
2px;}";=0A=
cssOnColors[42] =3D  ".term42  { background-color: #C4FFB4; padding: =
2px;}";=0A=
cssOnColors[43] =3D  ".term43  { background-color: #B4FFE7; padding: =
2px;}";=0A=
cssOnColors[44] =3D  ".term44  { background-color: #B4D3FF; padding: =
2px;}";=0A=
cssOnColors[45] =3D  ".term45  { background-color: #D8B4FF; padding: =
2px;}";=0A=
cssOnColors[46] =3D  ".term46  { background-color: #FFB4E2; padding: =
2px;}";=0A=
cssOnColors[47] =3D  ".term47  { background-color: #FFC9B4; padding: =
2px;}";=0A=
cssOnColors[48] =3D  ".term48  { background-color: #F1FFB4; padding: =
2px;}";=0A=
cssOnColors[49] =3D  ".term49  { background-color: #B4FFBA; padding: =
2px;}";=0A=
cssOnColors[50] =3D ".term50 { background-color: #B4FFFE; padding: =
2px;}";=0A=
cssOnColors[51] =3D ".term51 { background-color: #B4BDFF; padding: =
2px;}";=0A=
cssOnColors[52] =3D ".term52 { background-color: #EFB4FF; padding: =
2px;}";=0A=
cssOnColors[53] =3D ".term53 { background-color: #FFB4CC; padding: =
2px;}";=0A=
cssOnColors[54] =3D ".term54 { background-color: #FFE0B4; padding: =
2px;}";=0A=
cssOnColors[55] =3D ".term55 { background-color: #DBFFB4; padding: =
2px;}";=0A=
cssOnColors[56] =3D ".term56 { background-color: #B4FFD1; padding: =
2px;}";=0A=
cssOnColors[57] =3D ".term57 { background-color: #B4EAFF; padding: =
2px;}";=0A=
cssOnColors[58] =3D ".term58 { background-color: #C2B4FF; padding: =
2px;}";=0A=
cssOnColors[59] =3D ".term59 { background-color: #FFB4F9; padding: =
2px;}";=0A=
cssOnColors[60] =3D  ".term60  { background-color: #FFB4B4; padding: =
2px;}";=0A=
cssOnColors[61] =3D  ".term61  { background-color: #FFF6B4; padding: =
2px;}";=0A=
cssOnColors[62] =3D  ".term62  { background-color: #C4FFB4; padding: =
2px;}";=0A=
cssOnColors[63] =3D  ".term63  { background-color: #B4FFE7; padding: =
2px;}";=0A=
cssOnColors[64] =3D  ".term64  { background-color: #B4D3FF; padding: =
2px;}";=0A=
cssOnColors[65] =3D  ".term65  { background-color: #D8B4FF; padding: =
2px;}";=0A=
cssOnColors[66] =3D  ".term66  { background-color: #FFB4E2; padding: =
2px;}";=0A=
cssOnColors[67] =3D  ".term67  { background-color: #FFC9B4; padding: =
2px;}";=0A=
cssOnColors[68] =3D  ".term68  { background-color: #F1FFB4; padding: =
2px;}";=0A=
cssOnColors[69] =3D  ".term69  { background-color: #B4FFBA; padding: =
2px;}";=0A=
cssOnColors[70] =3D ".term70 { background-color: #B4FFFE; padding: =
2px;}";=0A=
cssOnColors[71] =3D ".term71 { background-color: #B4BDFF; padding: =
2px;}";=0A=
cssOnColors[72] =3D ".term72 { background-color: #EFB4FF; padding: =
2px;}";=0A=
cssOnColors[73] =3D ".term73 { background-color: #FFB4CC; padding: =
2px;}";=0A=
cssOnColors[74] =3D ".term74 { background-color: #FFE0B4; padding: =
2px;}";=0A=
cssOnColors[75] =3D ".term75 { background-color: #DBFFB4; padding: =
2px;}";=0A=
cssOnColors[76] =3D ".term76 { background-color: #B4FFD1; padding: =
2px;}";=0A=
cssOnColors[77] =3D ".term77 { background-color: #B4EAFF; padding: =
2px;}";=0A=
cssOnColors[78] =3D ".term78 { background-color: #C2B4FF; padding: =
2px;}";=0A=
cssOnColors[79] =3D ".term79 { background-color: #FFB4F9; padding: =
2px;}";=0A=
=0A=
var cssOffColors =3D new Array(80);=0A=
cssOffColors[0]  =3D ".term0  { background-color: white; padding: 2px;}";=0A=
cssOffColors[1]  =3D ".term1  { background-color: white; padding: 2px;}";=0A=
cssOffColors[2]  =3D ".term2  { background-color: white; padding: 2px;}";=0A=
cssOffColors[3]  =3D ".term3  { background-color: white; padding: 2px;}";=0A=
cssOffColors[4]  =3D ".term4  { background-color: white; padding: 2px;}";=0A=
cssOffColors[5]  =3D ".term5  { background-color: white; padding: 2px;}";=0A=
cssOffColors[6]  =3D ".term6  { background-color: white; padding: 2px;}";=0A=
cssOffColors[7]  =3D ".term7  { background-color: white; padding: 2px;}";=0A=
cssOffColors[8]  =3D ".term8  { background-color: white; padding: 2px;}";=0A=
cssOffColors[9]  =3D ".term9  { background-color: white; padding: 2px;}";=0A=
cssOffColors[10] =3D ".term10 { background-color: white; padding: 2px;}";=0A=
cssOffColors[11] =3D ".term11 { background-color: white; padding: 2px;}";=0A=
cssOffColors[12] =3D ".term12 { background-color: white; padding: 2px;}";=0A=
cssOffColors[13] =3D ".term13 { background-color: white; padding: 2px;}";=0A=
cssOffColors[14] =3D ".term14 { background-color: white; padding: 2px;}";=0A=
cssOffColors[15] =3D ".term15 { background-color: white; padding: 2px;}";=0A=
cssOffColors[16] =3D ".term16 { background-color: white; padding: 2px;}";=0A=
cssOffColors[17] =3D ".term17 { background-color: white; padding: 2px;}";=0A=
cssOffColors[18] =3D ".term18 { background-color: white; padding: 2px;}";=0A=
cssOffColors[19] =3D ".term19 { background-color: white; padding: 2px;}";=0A=
cssOffColors[20]  =3D ".term20  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[21]  =3D ".term21  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[22]  =3D ".term22  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[23]  =3D ".term23  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[24]  =3D ".term24  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[25]  =3D ".term25  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[26]  =3D ".term26  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[27]  =3D ".term27  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[28]  =3D ".term28  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[29]  =3D ".term29  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[30] =3D ".term30 { background-color: white; padding: 2px;}";=0A=
cssOffColors[31] =3D ".term31 { background-color: white; padding: 2px;}";=0A=
cssOffColors[32] =3D ".term32 { background-color: white; padding: 2px;}";=0A=
cssOffColors[33] =3D ".term33 { background-color: white; padding: 2px;}";=0A=
cssOffColors[34] =3D ".term34 { background-color: white; padding: 2px;}";=0A=
cssOffColors[35] =3D ".term35 { background-color: white; padding: 2px;}";=0A=
cssOffColors[36] =3D ".term36 { background-color: white; padding: 2px;}";=0A=
cssOffColors[37] =3D ".term37 { background-color: white; padding: 2px;}";=0A=
cssOffColors[38] =3D ".term38 { background-color: white; padding: 2px;}";=0A=
cssOffColors[39] =3D ".term39 { background-color: white; padding: 2px;}";=0A=
cssOffColors[40]  =3D ".term40  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[41]  =3D ".term41  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[42]  =3D ".term42  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[43]  =3D ".term43  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[44]  =3D ".term44  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[45]  =3D ".term45  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[46]  =3D ".term46  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[47]  =3D ".term47  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[48]  =3D ".term48  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[49]  =3D ".term49  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[50] =3D ".term50 { background-color: white; padding: 2px;}";=0A=
cssOffColors[51] =3D ".term51 { background-color: white; padding: 2px;}";=0A=
cssOffColors[52] =3D ".term52 { background-color: white; padding: 2px;}";=0A=
cssOffColors[53] =3D ".term53 { background-color: white; padding: 2px;}";=0A=
cssOffColors[54] =3D ".term54 { background-color: white; padding: 2px;}";=0A=
cssOffColors[55] =3D ".term55 { background-color: white; padding: 2px;}";=0A=
cssOffColors[56] =3D ".term56 { background-color: white; padding: 2px;}";=0A=
cssOffColors[57] =3D ".term57 { background-color: white; padding: 2px;}";=0A=
cssOffColors[58] =3D ".term58 { background-color: white; padding: 2px;}";=0A=
cssOffColors[59] =3D ".term59 { background-color: white; padding: 2px;}";=0A=
cssOffColors[60]  =3D ".term60  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[61]  =3D ".term61  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[62]  =3D ".term62  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[63]  =3D ".term63  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[64]  =3D ".term64  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[65]  =3D ".term65  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[66]  =3D ".term66  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[67]  =3D ".term67  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[68]  =3D ".term68  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[69]  =3D ".term69  { background-color: white; padding: =
2px;}";=0A=
cssOffColors[70] =3D ".term70 { background-color: white; padding: 2px;}";=0A=
cssOffColors[71] =3D ".term71 { background-color: white; padding: 2px;}";=0A=
cssOffColors[72] =3D ".term72 { background-color: white; padding: 2px;}";=0A=
cssOffColors[73] =3D ".term73 { background-color: white; padding: 2px;}";=0A=
cssOffColors[74] =3D ".term74 { background-color: white; padding: 2px;}";=0A=
cssOffColors[75] =3D ".term75 { background-color: white; padding: 2px;}";=0A=
cssOffColors[76] =3D ".term76 { background-color: white; padding: 2px;}";=0A=
cssOffColors[77] =3D ".term77 { background-color: white; padding: 2px;}";=0A=
cssOffColors[78] =3D ".term78 { background-color: white; padding: 2px;}";=0A=
cssOffColors[79] =3D ".term79 { background-color: white; padding: 2px;}";=0A=
=0A=
function loadCss(file) {=0A=
    var fileref=3Ddocument.createElement("link");=0A=
    fileref.setAttribute("rel", "stylesheet");=0A=
    fileref.setAttribute("type", "text/css");=0A=
    fileref.setAttribute("href", file);=0A=
    document.getElementsByTagName("head").item(0).appendChild(fileref)=0A=
}=0A=
=0A=
function scrollToHit(element, selectedWindow) {=0A=
	smoothScroll(element, 0);=0A=
}=0A=
=0A=
function scrollToHit2(element, selectedWindow) {=0A=
	var y =3D 0;=0A=
	var e =3D element;=0A=
	while(e) {=0A=
		y +=3D e.offsetTop;	=0A=
		e =3D e.offsetParent;=0A=
	}=0A=
		=0A=
	alert(y);=0A=
	window.scrollTo(0, y);=0A=
}=0A=
=0A=
function toggle(n, updateNavButtons) {=0A=
	if (arrayOfTermCheckboxes[n].checked =3D=3D true) {=0A=
	   var str =3D cssOnColors[n];=0A=
	   str =3D str.replace("{", "");=0A=
	   str =3D str.replace("}", "");=0A=
	   var label =3D str.substring(0, 8);=0A=
	   var text =3D str.substring(9);=0A=
	   	   =0A=
	   try {=0A=
	     document.styleSheets[0].removeRule(n);=0A=
	     document.styleSheets[0].addRule(label, text, n);=0A=
	   }=0A=
	   catch(err) {=0A=
	     document.styleSheets[0].deleteRule(n);=0A=
	     document.styleSheets[0].insertRule(cssOnColors[n], n);=0A=
	   }=0A=
	}=0A=
	else {=0A=
	   var str =3D cssOffColors[n];=0A=
	   str =3D str.replace("{", "");=0A=
	   str =3D str.replace("}", "");=0A=
	   var label =3D str.substring(0, 8);=0A=
	   var text =3D str.substring(9);=0A=
	   =0A=
	   try {=0A=
	     document.styleSheets[0].removeRule(n);=0A=
	     document.styleSheets[0].addRule(label, text, n);=0A=
	   }=0A=
	   catch(err) {=0A=
		   try {=0A=
			   document.styleSheets[0].deleteRule(n);=0A=
			   document.styleSheets[0].insertRule(cssOffColors[n], n);=0A=
		   } catch(err) {=0A=
			   var bobo =3D "bobo";=0A=
		   }=0A=
	   }=0A=
	}=0A=
	=0A=
	if (updateNavButtons =3D=3D true) {=0A=
	   updateNavigationButtons();=0A=
	}=0A=
}=0A=
=0A=
function getNextCursorPosition() {=0A=
	var nextPosition =3D currentCursorPosition + 1;=0A=
	for(;nextPosition < hitCount; nextPosition =3D nextPosition + 1) {=0A=
		if =
(arrayOfTermCheckboxes[arrayOfAllTermsByTermId[nextPosition]].checked =
=3D=3D true) {=0A=
			return nextPosition;=0A=
		}=0A=
	}=0A=
	return -1;=0A=
}=0A=
=0A=
function getPreviousCursorPosition() {=0A=
	var nextPosition =3D currentCursorPosition - 1;=0A=
	for(;nextPosition >=3D 0; nextPosition =3D nextPosition - 1) {=0A=
 		if =
(arrayOfTermCheckboxes[arrayOfAllTermsByTermId[nextPosition]].checked =
=3D=3D true) {=0A=
			return nextPosition;=0A=
		}=0A=
	}=0A=
	return -1;=0A=
}=0A=
=0A=
function getNextCursorPositionForCurrentTerm() {=0A=
	var nextPosition =3D currentCursorPosition + 1;=0A=
	for(;nextPosition < hitCount; nextPosition =3D nextPosition + 1) {=0A=
		if (arrayOfAllTermsByTermId[nextPosition] =3D=3D =
arrayOfAllTermsByTermId[currentCursorPosition] && =
arrayOfTermCheckboxes[arrayOfAllTermsByTermId[nextPosition]].checked =
=3D=3D true) {=0A=
			return nextPosition;=0A=
		}=0A=
	}=0A=
	return -1;=0A=
}=0A=
=0A=
function getPreviousCursorPositionForCurrentTerm() {=0A=
	var nextPosition =3D currentCursorPosition - 1;=0A=
	for(;nextPosition >=3D 0; nextPosition =3D nextPosition - 1) {=0A=
 		if (arrayOfAllTermsByTermId[nextPosition] =3D=3D =
arrayOfAllTermsByTermId[currentCursorPosition] && =
arrayOfTermCheckboxes[arrayOfAllTermsByTermId[nextPosition]].checked =
=3D=3D true) {=0A=
			return nextPosition;=0A=
		}=0A=
	}=0A=
	return -1;=0A=
}=0A=
=0A=
function updateNavigationButtons() {=0A=
	if (getNextCursorPosition() =3D=3D -1) {=0A=
		nextButton.disabled =3D true;=0A=
	}=0A=
	else {=0A=
		nextButton.disabled =3D false;=0A=
	}=0A=
	=0A=
	if (getPreviousCursorPosition() =3D=3D -1) {=0A=
		previousButton.disabled =3D true;=0A=
	}=0A=
	else {=0A=
		previousButton.disabled =3D false;=0A=
	}=0A=
}=0A=
=0A=
function toggleOffSelectedTerm(position) {=0A=
	if (position =3D=3D -1) {=0A=
		return;=0A=
	}=0A=
	=0A=
	var subElement =3D 0;	=0A=
	while(true) {=0A=
		var element =3D document.getElementById("g" + position + "-" + =
subElement);=0A=
		if (element =3D=3D null) {=0A=
			break;=0A=
		}=0A=
				=0A=
		element.className =3D element.className.replace(" =
currentHighlightLeftMiddleRight", "");=0A=
		element.className =3D element.className.replace(" =
currentHighlightLeftMiddle", "");=0A=
		element.className =3D element.className.replace(" =
currentHighlightMiddleRight", "");=0A=
		element.className =3D element.className.replace(" =
currentHighlightMiddle", "");=0A=
		=0A=
		subElement++;=0A=
	}		=0A=
}=0A=
=0A=
function toggleOnSelectedTerm(position) {=0A=
	if (position =3D=3D -1) {=0A=
		return;=0A=
	}=0A=
	=0A=
	var highlightElements =3D new Array();=0A=
	var subElement =3D 0;=0A=
	while(true) {=0A=
		var element =3D document.getElementById("g" + position + "-" + =
subElement);=0A=
				=0A=
		if (element =3D=3D null) {=0A=
			break;=0A=
		}=0A=
		=0A=
		highlightElements[subElement] =3D element;=0A=
		subElement++;=0A=
	}=0A=
	=0A=
	for(var i =3D 0; i < subElement; i++) {=0A=
		element =3D highlightElements[i];=0A=
		=0A=
		if (i =3D=3D 0) {=0A=
			if (subElement =3D=3D 1) {				=0A=
				element.className =3D element.className + " =
currentHighlightLeftMiddleRight";=0A=
			}=0A=
			else {=0A=
				element.className =3D element.className + " =
currentHighlightLeftMiddle";=0A=
			}=0A=
		}=0A=
		else if (i =3D=3D subElement - 1) {=0A=
			element.className =3D element.className + " =
currentHighlightMiddleRight";=0A=
		}=0A=
		else {=0A=
			element.className =3D element.className + " currentHighlightMiddle";=0A=
		}=0A=
	}=0A=
=0A=
}=0A=
=0A=
function updateSelectedTerm(nextCursorPosition) { =0A=
	if (nextCursorPosition =3D=3D -1) {=0A=
		return;=0A=
	}=0A=
	=0A=
	scrollToHit(document.getElementById("g" + nextCursorPosition + "-0"), =
window);=0A=
	toggleOffSelectedTerm(currentCursorPosition);=0A=
	toggleOnSelectedTerm(nextCursorPosition);=0A=
	currentCursorPosition =3D nextCursorPosition;=0A=
}=0A=
=0A=
function updateSelectedTermNoScroll(nextCursorPosition) {=0A=
	if (nextCursorPosition =3D=3D -1) {=0A=
		return;=0A=
	}=0A=
	=0A=
	toggleOnSelectedTerm(nextCursorPosition);=0A=
	currentCursorPosition =3D nextCursorPosition;=0A=
}=0A=
=0A=
function next() {=0A=
	STOP =3D 1;=0A=
	currentButton =3D nextButton;=0A=
	updateSelectedTerm(getNextCursorPosition());		=0A=
}=0A=
=0A=
function previous() {=0A=
	STOP =3D 1;=0A=
	currentButton =3D previousButton;=0A=
	updateSelectedTerm(getPreviousCursorPosition());	=0A=
}=0A=
=0A=
function nextSelectedTerm() {=0A=
	STOP =3D 1;=0A=
	currentButton =3D nextButton;=0A=
	updateSelectedTerm(getNextCursorPositionForCurrentTerm());	=0A=
}=0A=
=0A=
function previousSelectedTerm() {=0A=
	STOP =3D 1;=0A=
	currentButton =3D previousButton;=0A=
	updateSelectedTerm(getPreviousCursorPositionForCurrentTerm());	=0A=
}=0A=
=0A=
function upKey(e) {=0A=
    if(window.event) // IE=0A=
    {=0A=
        keynum =3D e.keyCode;=0A=
    }=0A=
    else if(e.which) // Netscape/Firefox/Opera=0A=
    {=0A=
        keynum =3D e.which;=0A=
    }=0A=
    =0A=
    if (keynum =3D=3D 17) {=0A=
        shift =3D false;=0A=
    }=0A=
    =0A=
    return false;=0A=
}=0A=
=0A=
function downKey(e)=0A=
{=0A=
    var keynum;=0A=
    var keychar;=0A=
    var numcheck;=0A=
    =0A=
    if(window.event) // IE=0A=
    {=0A=
        keynum =3D e.keyCode;=0A=
    }=0A=
    else if(e.which) // Netscape/Firefox/Opera=0A=
    {=0A=
        keynum =3D e.which;=0A=
    }=0A=
=0A=
    if (keynum =3D=3D 39 && getNextCursorPosition() !=3D -1) {=0A=
        next();=0A=
    }    =0A=
    else if (keynum =3D=3D 37 && getPreviousCursorPosition() !=3D -1) {=0A=
        previous();=0A=
    }=0A=
    else if (keynum =3D=3D 88 && =
getPreviousCursorPositionForCurrentTerm() !=3D -1) {=0A=
        previousSelectedTerm();=0A=
    }=0A=
    else if (keynum =3D=3D 90 && getNextCursorPositionForCurrentTerm() =
!=3D -1) {=0A=
        nextSelectedTerm();=0A=
    }=0A=
    else if (keynum =3D=3D 38 && =
getPreviousCursorPositionForCurrentTerm() !=3D -1 && shift =3D=3D true) {=0A=
        previousSelectedTerm();=0A=
    }=0A=
    else if (keynum =3D=3D 40 && getNextCursorPositionForCurrentTerm() =
!=3D -1 && shift =3D=3D true) {=0A=
        nextSelectedTerm();=0A=
    }=0A=
    else if (keynum =3D=3D 17) {=0A=
        shift =3D true;=0A=
    }=0A=
    =0A=
    return false;=0A=
}=0A=
=0A=
function mouseCoords(ev){=0A=
	if(ev.pageX || ev.pageY){=0A=
		return {x:ev.pageX, y:ev.pageY};=0A=
	}=0A=
	return {=0A=
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,=0A=
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop=0A=
	};=0A=
}=0A=
=0A=
function getMouseOffset(target, ev){=0A=
	ev =3D ev || window.event;=0A=
=0A=
	var docPos    =3D getPosition(target);=0A=
	var mousePos  =3D mouseCoords(ev);=0A=
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};=0A=
}=0A=
=0A=
function getPosition(e){=0A=
	var left =3D 0;=0A=
	var top  =3D 0;=0A=
=0A=
	while (e.offsetParent){=0A=
		left +=3D e.offsetLeft;=0A=
		top  +=3D e.offsetTop;=0A=
		e     =3D e.offsetParent;=0A=
	}=0A=
=0A=
	left +=3D e.offsetLeft;=0A=
	top  +=3D e.offsetTop;=0A=
=0A=
	return {x:left, y:top};=0A=
}=0A=
=0A=
function mouseMove(ev){=0A=
	ev           =3D ev || window.event;=0A=
	var mousePos =3D mouseCoords(ev);=0A=
=0A=
	if(dragObject){=0A=
		dragObject.style.position =3D 'absolute';=0A=
		dragObject.style.top      =3D mousePos.y - mouseOffset.y;=0A=
		dragObject.style.left     =3D mousePos.x - mouseOffset.x;=0A=
=0A=
		return false;=0A=
	}=0A=
}=0A=
=0A=
function showNextTooltip(event) {=0A=
    event           =3D event || window.event;=0A=
	var mousePos    =3D mouseCoords(event);=0A=
    var nextTooltip =3D document.getElementById("nextTooltip");=0A=
    =0A=
    nextTooltip.style.display =3D "block";=0A=
    nextTooltip.style.top =3D mousePos.y - =
nextTooltip.parentNode.offsetTop + 10;=0A=
    nextTooltip.style.left =3D mousePos.x - =
nextTooltip.parentNode.offsetLeft + 10;=0A=
}=0A=
=0A=
function moveNextTooltip(event) {=0A=
    event           =3D event || window.event;=0A=
	var mousePos    =3D mouseCoords(event);=0A=
    var nextTooltip =3D document.getElementById("nextTooltip");=0A=
        =0A=
    nextTooltip.style.top =3D mousePos.y - =
nextTooltip.parentNode.offsetTop + 10;=0A=
    nextTooltip.style.left =3D mousePos.x - =
nextTooltip.parentNode.offsetLeft + 10;=0A=
}=0A=
=0A=
function showPrevTooltip(event) {=0A=
    event           =3D event || window.event;=0A=
	var mousePos    =3D mouseCoords(event);=0A=
    var nextTooltip =3D document.getElementById("prevTooltip");=0A=
    =0A=
    nextTooltip.style.display =3D "block";=0A=
    nextTooltip.style.top =3D mousePos.y - =
nextTooltip.parentNode.offsetTop + 10;=0A=
    nextTooltip.style.left =3D mousePos.x - =
nextTooltip.parentNode.offsetLeft + 10;=0A=
}=0A=
=0A=
function movePrevTooltip(event) {=0A=
    event           =3D event || window.event;=0A=
	var mousePos    =3D mouseCoords(event);=0A=
    var nextTooltip =3D document.getElementById("prevTooltip");=0A=
        =0A=
    nextTooltip.style.top =3D mousePos.y - =
nextTooltip.parentNode.offsetTop + 10;=0A=
    nextTooltip.style.left =3D mousePos.x - =
nextTooltip.parentNode.offsetLeft + 10;=0A=
}=0A=
=0A=
function hidePrevTooltip() {=0A=
    var nextTooltip =3D document.getElementById("prevTooltip");=0A=
    nextTooltip.style.display =3D "none";=0A=
}=0A=
=0A=
function hideNextTooltip() {=0A=
    var nextTooltip =3D document.getElementById("nextTooltip");=0A=
    nextTooltip.style.display =3D "none";=0A=
}=0A=
=0A=
var shift =3D false;=0A=
var currentCursorPosition =3D -1;=0A=
var arrayOfAllTerms  =3D new Array();			=0A=
var arrayOfTermsById =3D new Array();=0A=
var arrayOfTermCheckboxes =3D new Array();=0A=
var nextButton;=0A=
var previousButton;=0A=
=0A=
function initialize() {	=0A=
	nextButton =3D document.getElementById("next");=0A=
	previousButton =3D document.getElementById("previous");=0A=
	previousButton.disabled =3D true;=0A=
	=0A=
	for(var i =3D 0; i < numberOfQueryTerms; i =3D i + 1) {=0A=
		arrayOfTermsById[i] =3D new Array();=0A=
		arrayOfTermCheckboxes[i] =3D document.getElementById("checkBoxTerm" + =
i);=0A=
		=0A=
		if (arrayOfTermCheckboxes[i].checked =3D=3D false) {=0A=
		  toggle(i, false);=0A=
		}=0A=
	}=0A=
		=0A=
	updateNavigationButtons();	=0A=
}=0A=
=0A=
//window.onload =3D initialize;
------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.iijcan.org/eliisa/javascript/smoothscroll.js

/* Smooth scrolling=0A=
   Changes links that link to other parts of this page to scroll=0A=
   smoothly to those links rather than jump to them directly, which=0A=
   can be a little disorienting.=0A=
   =0A=
   sil, http://www.kryogenix.org/=0A=
   =0A=
   v1.0 2003-11-11=0A=
   v1.1 2005-06-16 wrap it up in an object=0A=
*/=0A=
=0A=
var INTERVAL;=0A=
var STEPS    =3D 25;=0A=
var SCROLL_TIME =3D 400; //0.5 second per scroll=0A=
var averageScrollTime =3D 20;=0A=
var nbScrollStatistics =3D 1;=0A=
var currentStep =3D 0;=0A=
var currentTime;=0A=
var endTime;=0A=
var scramount;=0A=
var desty;=0A=
var STOP =3D 0;=0A=
var status =3D 0;=0A=
=0A=
var userScrolled =3D false;=0A=
var scrollByJs =3D false;=0A=
=0A=
function scrollEventHandler() {=0A=
  if (!scrollByJs) {=0A=
    userScrolled =3D true;=0A=
    /*window.alert("scroll");*/=0A=
  }=0A=
  scrollByJs =3D false;=0A=
}=0A=
=0A=
function smoothScroll(e, jumpTime) {=0A=
    //SCROLL_TIME =3D jumpTime=0A=
    =0A=
    // Find the destination's position=0A=
    desty =3D e.offsetTop;=0A=
    var thisNode =3D e;=0A=
    while (thisNode.offsetParent) {=0A=
      thisNode =3D thisNode.offsetParent;=0A=
      desty +=3D thisNode.offsetTop;=0A=
    }=0A=
  	=0A=
  	if (window.innerHeight) {=0A=
  		desty -=3D window.innerHeight/2;=0A=
  	}=0A=
  	else {=0A=
  		desty -=3D document.documentElement.offsetHeight/2;=0A=
  	}=0A=
  =0A=
    var cypos =3D getCurrentYPos();=0A=
  =0A=
  	STEPS =3D SCROLL_TIME / averageScrollTime;=0A=
  	=0A=
    scramount =3D parseInt((desty-cypos)/STEPS);=0A=
    //alert("avg: " + averageScrollTime + "a: " + (desty-cypos) + " b: " =
+ STEPS + "c: " + scramount);=0A=
    currentTime =3D new Date().getTime();=0A=
    currentStep =3D 0;=0A=
    endTime =3D currentTime + SCROLL_TIME;=0A=
    setTimeout('launchScroll()', 0);=0A=
  }=0A=
=0A=
  function launchScroll() {=0A=
  	if (status =3D=3D 0) {=0A=
  		STOP =3D 0;=0A=
  		status =3D 1;=0A=
  		//currentButton.disabled =3D true;=0A=
  		setTimeout('scrollWindow()', 0);=0A=
  	}=0A=
  	else {=0A=
  		STOP =3D 1;=0A=
  		setTimeout('launchScroll()', 0);=0A=
  	}=0A=
  }=0A=
  =0A=
  function d(s) {=0A=
    document.getElementById("t").value =3D s;=0A=
  }=0A=
  =0A=
  function updateAverageScrollTime() {=0A=
  	averageScrollTime =3D (new Date().getTime() - =
currentTime)/currentStep;=0A=
  }=0A=
  =0A=
  function updateRemainingSteps(currentPos) {=0A=
  	var remainingTime =3D endTime - new Date().getTime();=0A=
  	var remainingLines =3D desty - currentPos;=0A=
  	=0A=
  	var steps =3D (remainingTime/averageScrollTime);=0A=
  	if (steps < 1) {=0A=
  		scramount =3D remainingLines;=0A=
  	}=0A=
  	else {=0A=
  		scramount =3D parseInt(remainingLines/steps);=0A=
  	}=0A=
  }=0A=
  =0A=
  function scrollWindow() {=0A=
  	currentStep =3D currentStep + 1;=0A=
    var currentPosition =3D getCurrentYPos();=0A=
    var newPosition =3D currentPosition + scramount;=0A=
    =0A=
    /*=0A=
    if (userScrolled =3D=3D true) {=0A=
        userScrolled =3D false;=0A=
        alert("ggg");=0A=
        STOP =3D 1;=0A=
    	updateNavigationButtons();=0A=
    	return;=0A=
    }=0A=
    */=0A=
    =0A=
    if (scramount =3D=3D 0 || endTime < new Date().getTime()) {=0A=
        scrollByJs =3D true;=0A=
    	window.scrollTo(0,desty);=0A=
    	status =3D 0;=0A=
    	updateNavigationButtons();=0A=
    	return;=0A=
    }=0A=
    else if ((scramount < 1 && scramount > -1) || (scramount > 0 && =
newPosition >=3D desty) || (scramount < 0 && newPosition <=3D desty)) {=0A=
        scrollByJs =3D true;=0A=
    	window.scrollTo(0,desty);=0A=
    	updateAverageScrollTime(currentTime);=0A=
    	status =3D 0;=0A=
    	updateNavigationButtons();=0A=
    	return;=0A=
    }=0A=
    =0A=
    scrollByJs =3D true;=0A=
    window.scrollTo(0,newPosition);=0A=
    updateRemainingSteps(newPosition);=0A=
    updateAverageScrollTime(currentTime);=0A=
    =0A=
  	if (STOP =3D=3D 1) {=0A=
  		status =3D 0;=0A=
  		STOP =3D 0;=0A=
  		updateNavigationButtons();=0A=
  	}=0A=
  	else {=0A=
  		setTimeout('scrollWindow()', 0);=0A=
  	}=0A=
  }=0A=
=0A=
  function getCurrentYPos() {=0A=
    if (document.body && document.body.scrollTop) {=0A=
      return document.body.scrollTop;=0A=
    }=0A=
    if (document.documentElement && document.documentElement.scrollTop) {=0A=
      return document.documentElement.scrollTop;=0A=
    }=0A=
    if (window.pageYOffset) {=0A=
      return window.pageYOffset;=0A=
    }=0A=
    return 0;=0A=
  }=0A=

------=_NextPart_000_0000_01CA4C03.F5BD57C0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.iijcan.org/javascript/canlii.js

=0A=
/* The initialization function, where everything gets set */=0A=
function init() {=0A=
	languageManagement();=0A=
	formInitialization();=0A=
	buttonInitialization();=0A=
}=0A=
=0A=
// Dynamically load javascript files to remove clutter in the html head =
tag.=0A=
// This function is called directly from the head tag.=0A=
function loadJavascript() {=0A=
/*=0A=
	var head =3D document.getElementsByTagName('head').item(0);=0A=
	var mootools1 =3D document.createElement('script');=0A=
	var mootools2 =3D document.createElement('script');=0A=
	var lexumClasses=3D document.createElement('script');=0A=
	var canliiAdv =3D document.createElement('script');=0A=
	=0A=
	mootools1.type =3D 'text/javascript';=0A=
	mootools2.type =3D 'text/javascript';=0A=
	lexumClasses.type =3D 'text/javascript';=0A=
	canliiAdv.type =3D 'text/javascript';=0A=
	=0A=
	mootools1.src =3D '/javascript/mootools-1.2-core-nc.js';=0A=
	mootools2.src =3D '/javascript/mootools-1.2-more.js';=0A=
	lexumClasses.src =3D '/javascript/lexum-classes.js';=0A=
	canliiAdv.src =3D '/javascript/canlii-advanced.js';=0A=
	=0A=
	head.appendChild(mootools1);=0A=
	head.appendChild(mootools2);=0A=
	head.appendChild(lexumClasses);=0A=
	head.appendChild(canliiAdv);=0A=
*/=0A=
=0A=
/*=0A=
	var head =3D document.getElementsByTagName('head').item(0);=0A=
	var mootools1 =3D document.createElement('script');=0A=
	mootools1.type =3D 'text/javascript';=0A=
	mootools1.src =3D '/javascript/launchDateConcatenation.js';=0A=
	head.appendChild(mootools1);=0A=
*/=0A=
}=0A=
=0A=
=0A=
function languageManagement() {=0A=
	var rootPath =3D "/";=0A=
	var language =3D readCookie('canliiLanguage');=0A=
	=0A=
	if (language !=3D null) {=0A=
		setCookie('canliiLanguage', language, 30);=0A=
		=0A=
		if (location.pathname =3D=3D rootPath) {=0A=
			window.location.replace(rootPath + language + "/");=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function checkChoice(language) {=0A=
	var theChoice =3D getObj('rememberLanguage');=0A=
	=0A=
	if (theChoice.checked) {=0A=
		setCookie('canliiLanguage', language, 30);=0A=
	}=0A=
}=0A=
=0A=
function removeLanguageChoice() {=0A=
	eraseCookie('canliiLanguage');=0A=
}=0A=
=0A=
=0A=
function readCookie(cookieName) {=0A=
	var nameLookup =3D cookieName + "=3D";=0A=
	var cookies =3D document.cookie.split(";");=0A=
	=0A=
	for (var i=3D0; i < cookies.length; i++) {=0A=
		cookie =3D cookies[i];=0A=
		while (cookie.charAt(0)=3D=3D' ') cookie =3D cookie.substring(1, =
cookie.length);=0A=
		if (cookie.indexOf(nameLookup) =3D=3D 0) {=0A=
			return cookie.substring(nameLookup.length, cookie.length);=0A=
		}=0A=
	}=0A=
	=0A=
	return null;=0A=
}=0A=
=0A=
function setCookie(cookieName, value, duration) {=0A=
	if (duration) {=0A=
		var endTime =3D new Date();=0A=
		endTime.setTime(endTime.getTime()+(duration*24*3600*1000));=0A=
		var expiration =3D "; expires=3D" + endTime.toGMTString();=0A=
	} else {=0A=
		var expiration =3D "";=0A=
	}=0A=
	=0A=
	document.cookie =3D cookieName + "=3D" + value + expiration + "; =
path=3D/";=0A=
}=0A=
=0A=
function eraseCookie(cookieName) {=0A=
	setCookie(cookieName, '', -1);=0A=
}=0A=
=0A=
=0A=
/*This function checks if we can do dhtml*/=0A=
function dhtml() {=0A=
	return (document.getElementById || document.all || document.layers);=0A=
}=0A=
=0A=
//This function simply gets the element which has the id "objName"=0A=
//Made to work with the most popular browsers.=0A=
function getObj(objName) {=0A=
	if (!dhtml()) return;=0A=
	=0A=
	var element;=0A=
	if (document.getElementById) {=0A=
		element =3D document.getElementById(objName);//Mozilla et IE=0A=
	} else if (document.all) {=0A=
		element =3D document.all[objName]; //IE=0A=
	} else if (document.layers) {=0A=
		element =3D document.layers[objName];=0A=
	}=0A=
	=0A=
	return element;=0A=
}=0A=
=0A=
function changeFormAction(obj) {=0A=
	// This function is made to be called from the SUBMIT button of a FORM=0A=
	// Furthermore, this function is made for FORMs which have a SELECT =
object as its first form element=0A=
	// So we first need the Form object of the submit button=0A=
	var theForm =3D obj.form;=0A=
	=0A=
	// Then we need the first element, which is the SELECT object=0A=
	var selectOption =3D obj.elements[0];=0A=
	=0A=
	// Then, the index of the OPTION selected=0A=
	var optionIndex =3D selectOption.selectedIndex;=0A=
	=0A=
	// Finaly, the ACTION attribute of the FORM is set to the value of the =
selected object=0A=
	obj.action=3DselectOption.options[optionIndex].value;=0A=
	=0A=
	return true;=0A=
}=0A=
=0A=
=0A=
function toggleReflexRecord(obj, buttonLabel) {=0A=
	var theDiv =3D getObj(obj);=0A=
	var caller =3D getObj("reflexRecordToggler");=0A=
	var nextLabel =3D caller.innerHTML;=0A=
		=0A=
	if (theDiv.style.display =3D=3D 'none' || theDiv.style.display =3D=3D =
'') {=0A=
		show(obj, "block");=0A=
	} else {=0A=
		hide(obj, "none");=0A=
	}=0A=
	caller.innerHTML =3D buttonLabel;	=0A=
	caller.href =3D "javascript:toggleReflexRecord('" + obj + "', '" + =
nextLabel + "');";=0A=
}=0A=
=0A=
function openQuickHelp(caller, button, element, text) {=0A=
	var obj =3D getObj(button);=0A=
	var nextLabel =3D obj.value;=0A=
	caller.onclick =3D new Function("openQuickHelp(this, '" + button + "', =
'" + element + "', '" + nextLabel + "');");=0A=
	toggleVisibilityLabel(obj, element, text);=0A=
	return false;=0A=
}=0A=
=0A=
function toggleVisibilityLabel(caller, obj, buttonLabel) {=0A=
	var theDiv =3D getObj(obj);=0A=
	var nextLabel =3D caller.value;=0A=
		=0A=
	if (theDiv.style.display =3D=3D 'none' || theDiv.style.display =3D=3D =
'') {=0A=
		show(obj, "block");=0A=
	} else {=0A=
		hide(obj, "none");=0A=
	}=0A=
	caller.value =3D buttonLabel;	=0A=
	caller.onclick =3D new Function("toggleVisibilityLabel(this, '" + obj + =
"', '" + nextLabel + "');");=0A=
}=0A=
=0A=
function toggleVisibility(caller, obj, visibility) {=0A=
	var theDiv =3D getObj(obj);=0A=
	=0A=
	if (theDiv.style.display =3D=3D 'none' || theDiv.style.display =3D=3D =
'') {=0A=
		show(obj, visibility);=0A=
		caller.innerHTML =3D "Hide";=0A=
	} else {=0A=
		hide(obj, "none");=0A=
		caller.innerHTML =3D "Show";=0A=
	}=0A=
	=0A=
	return true;=0A=
}=0A=
=0A=
function toggleVisibilitySearchParts(caller, obj) {=0A=
	var theDiv =3D getObj(obj);=0A=
	=0A=
	if (theDiv.style.display =3D=3D 'none' || theDiv.style.display =3D=3D =
'') {=0A=
		show(obj, "block");=0A=
		caller.style.backgroundPosition =3D "left top";=0A=
	} else {=0A=
		hide(obj, "none");=0A=
		caller.style.backgroundPosition =3D "left bottom";=0A=
	}=0A=
	=0A=
	return true;=0A=
}=0A=
=0A=
function show(obj, visibility) {=0A=
	var theDiv =3D getObj(obj);=0A=
	=0A=
	if (visibility =3D=3D 'visible') {=0A=
		theDiv.style.visibility =3D visibility;=0A=
	} else {=0A=
		theDiv.style.display =3D visibility;=0A=
	}=0A=
}=0A=
=0A=
function hide(obj, visibility) {=0A=
	var theDiv =3D getObj(obj);=0A=
	=0A=
	if (visibility =3D=3D 'hidden') {=0A=
		theDiv.style.visibility =3D visibility;=0A=
	} else {=0A=
		theDiv.style.display =3D 'none';=0A=
	}=0A=
}=0A=
=0A=
function showHelper(caller, helper) {=0A=
	var helperObj =3D getObj(helper);=0A=
	helperObj.style.top =3D -caller.offsetHeight + "px";=0A=
	show(helper, 'block');=0A=
}=0A=
=0A=
function hideHelper(caller, helper) {=0A=
	hide(helper, 'none');=0A=
}=0A=
=0A=
function buttonInitialization() {=0A=
	var inputs =3D document.getElementsByTagName('input');=0A=
	var buttons =3D document.getElementsByTagName('button');=0A=
	=0A=
	for (var i =3D 0; i < inputs.length; i++) {=0A=
		var input =3D inputs[i];=0A=
		if (input.type =3D=3D "reset" || input.type =3D=3D "submit" || =
input.type =3D=3D "button") {=0A=
			input.onmouseout =3D new Function("return =
setButtonTextDecoration(this, \"none\");");=0A=
			input.onmouseover =3D new Function("return =
setButtonTextDecoration(this, \"underline\");");=0A=
			=0A=
			if (input.type =3D=3D "reset") {=0A=
				input.onclick =3D new Function("return resetForm(this.form);");=0A=
			}=0A=
		}=0A=
	}=0A=
	=0A=
	for (var i =3D 0; i < buttons.length; i++) {=0A=
		var button =3D buttons[i];=0A=
		button.onmouseout =3D new Function("return =
setButtonTextDecoration(this, \"none\");");=0A=
		button.onmouseover =3D new Function("return =
setButtonTextDecoration(this, \"underline\");");=0A=
	}=0A=
	=0A=
}=0A=
=0A=
function setButtonBackground(button, color) {=0A=
	button.style.backgroundColor =3D color;=0A=
	return true;=0A=
}=0A=
=0A=
function setButtonTextDecoration(button, attributes) {=0A=
	button.style.textDecoration =3D attributes;=0A=
}=0A=
=0A=
function resetForm(form) {=0A=
	form.reset();=0A=
	formInitialization();=0A=
}=0A=
=0A=
=0A=
// This function is called when the page is loaded. Its purpose is to=0A=
// manage the checkboxes and the radio buttons so that they appear as =0A=
// nice images instead of the usual and ordinary boxes.=0A=
function formInitialization() {=0A=
	// Every checkbox or radio button is nested in a label element=0A=
	// which is the element displaying the replacement image, so let's =
fetch all the labels=0A=
	var labels =3D document.getElementsByTagName("label");=0A=
=0A=
	for (var i =3D 0; i < labels.length; i++) {=0A=
		var label =3D labels[i];=0A=
		// We need to take all elements contained within the label to get the =
input.=0A=
		var elements =3D label.childNodes;=0A=
=0A=
		for (var j =3D 0; j < elements.length; j++) {=0A=
			var element =3D elements[j];=0A=
			=0A=
			// The only elements we are interested in are those of type checkbox =
or radio, of course=0A=
			if (element.type =3D=3D 'checkbox' || element.type =3D=3D 'radio') {=0A=
				// Firstly, we hide the bland, unoriginal checkbox.=0A=
				element.style.visibility =3D 'hidden';=0A=
				=0A=
				if (element.type =3D=3D 'checkbox') {=0A=
					label.style.backgroundImage =3D "url(/images/checkBoxes.gif)";=0A=
				} else {=0A=
					label.style.backgroundImage =3D "url(/images/radioButtons.gif)";=0A=
				}=0A=
				=0A=
				=0A=
				// Then, set the onclick attribute to the function needed to toggle=0A=
				// the checkbox or radio button.=0A=
				label.onclick =3D new Function("return optionToggle(this);");=0A=
				=0A=
				// From the CSS, every checkbox and radio button is set to the =
"unchecked" image=0A=
				// But it is possible that by default, a checkbox or radio button is =
already checked=0A=
				// and thus we need to switch the image=0A=
				if (element.checked) {						=0A=
					checkElement(label, element);=0A=
				} else {=0A=
					uncheckElement(label, element);=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
	=0A=
	// give focus to the first input of the form on form initialization=0A=
	var theForm =3D document.getElementById("searchForm");=0A=
	if (theForm !=3D null) {=0A=
	//	giveFocusToInput(theForm);=0A=
	}=0A=
}=0A=
=0A=
function advancedFormInitialization() {=0A=
	var searchform =3D getObj("searchForm");=0A=
	//initializeHelpTipsSlider();=0A=
	formInitialization();=0A=
}=0A=
=0A=
function databaseFormInitialization() {=0A=
	var searchform =3D getObj("searchForm");=0A=
	//initializeHelpTipsSlider();=0A=
	initializeJurisdictionsSliders();=0A=
	formInitialization();=0A=
}=0A=
=0A=
function giveFocusToInput(form) {=0A=
	for (var i =3D 0; i < form.elements.length; i++) {=0A=
		var element =3D form.elements[i];=0A=
		if (element.type !=3D "hidden" && !element.disabled) {=0A=
			element.focus();=0A=
			break;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function checkSiblingElement(object) {=0A=
	var parent =3D object.parentNode;=0A=
	var sibling =3D parent.getElementsByTagName('label');=0A=
	var label =3D sibling[0];=0A=
	var inputs =3D label.getElementsByTagName('input');=0A=
	var input =3D inputs[0];=0A=
	=0A=
	if (!input.checked) {=0A=
		checkElement(label, input);=0A=
	}=0A=
	=0A=
	return true;=0A=
}=0A=
=0A=
function optionToggle(label) {=0A=
=0A=
	var inputChilds =3D label.getElementsByTagName('input');=0A=
	=0A=
	// In theory, there should be one and only one input within a label =
element=0A=
	var input =3D inputChilds[0];=0A=
	if (input.type =3D=3D 'checkbox') {=0A=
		if (input.checked) {=0A=
			uncheckElement(label, input);=0A=
		} else {=0A=
			checkElement(label, input);=0A=
		}=0A=
	} else if (input.type =3D=3D'radio') {=0A=
		if (!input.checked) {=0A=
			checkElement(label, input);=0A=
		}=0A=
	} else {=0A=
		return false;=0A=
	}=0A=
	=0A=
	return true;=0A=
}=0A=
=0A=
function checkElement(label, input) {=0A=
	// In the case of a radio button, we need to=0A=
	// toggle the image of the other button that=0A=
	// was selected within the same group=0A=
	if (input.type =3D=3D 'radio') {=0A=
		checkRadioElement(label, input)=0A=
	} else {=0A=
		input.checked =3D true;=0A=
		label.style.backgroundPosition =3D "left -20px";=0A=
		=0A=
		//$(input).fireEvent('change');=0A=
		if (document.createEvent) {=0A=
			var eventObj =3D document.createEvent('HTMLEvents');=0A=
			eventObj.initEvent('change', false, false);=0A=
			input.dispatchEvent(eventObj);=0A=
		} else if (document.createEventObject) {=0A=
			try {=0A=
				input.fireEvent('change');=0A=
			} catch (e) {=0A=
				input.fireEvent('onchange');=0A=
			}=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function uncheckElement(label, input) {=0A=
	input.checked =3D false;=0A=
	label.style.backgroundPosition =3D "-20px top";=0A=
	//$(input).fireEvent('change');=0A=
	=0A=
	if (document.createEvent) {=0A=
		var eventObj =3D document.createEvent('HTMLEvents');=0A=
		eventObj.initEvent('change', false, false);=0A=
		input.dispatchEvent(eventObj);=0A=
	} else if (document.createEventObject) {=0A=
		try {=0A=
			input.fireEvent('change');=0A=
		} catch (e) {=0A=
			input.fireEvent('onchange');=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function checkRadioElement(label, input) {=0A=
	disableOtherRadio(input);=0A=
	input.checked =3D true;=0A=
	label.style.backgroundPosition =3D "left -20px";=0A=
	//$(input).fireEvent('change');=0A=
	=0A=
	if (document.createEvent) {=0A=
		var eventObj =3D document.createEvent('HTMLEvents');=0A=
		eventObj.initEvent('change', false, false);=0A=
		input.dispatchEvent(eventObj);=0A=
	} else if (document.createEventObject) {=0A=
		try {=0A=
			input.fireEvent('change');=0A=
		} catch (e) {=0A=
			input.fireEvent('onchange');=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function getSameRadioGroup(groupName) {=0A=
	var inputs =3D document.getElementsByTagName('input');=0A=
	var group =3D new Array();=0A=
	=0A=
	for (var i =3D 0; i < inputs.length; i++) {=0A=
		var input =3D inputs[i];=0A=
		if (input.name =3D=3D groupName) {=0A=
			group.push(input);=0A=
		}=0A=
	}=0A=
	=0A=
	return group;=0A=
}=0A=
=0A=
function disableOtherRadio(currentRadio) {=0A=
	var group =3D getSameRadioGroup(currentRadio.name);=0A=
	for (var i=3D0; i < group.length; i++) {=0A=
		var input =3D group[i];=0A=
		var inputLabel =3D input.parentNode;=0A=
		if (input.checked && input !=3D currentRadio) {=0A=
			uncheckElement(inputLabel, input)=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
/* DEPRECATED */=0A=
function selectAllJurisdictions() {=0A=
	selectAllCheckboxes('jurisdictionBox', '');=0A=
	//console.log("Calling a deprecated function, =
selectAllJurisdictions()");=0A=
}=0A=
=0A=
=0A=
/* DEPRECATED */=0A=
function unselectAllJurisdictions() {=0A=
	unselectAllCheckboxes('jurisdictionBox');=0A=
	//console.log("Calling a deprecated function, =
unselectAllJurisdictions()");=0A=
}=0A=
=0A=
=0A=
/*=0A=
	Select all the checkboxes within the given obj=0A=
	The section is a div of class section, to limit to the checkboxes=0A=
	of the section only. It is optional.=0A=
	The parentClass is optional. If given, it will=0A=
	check that the parent node has the given class=0A=
	attribute before doing anything to the checkbox.=0A=
*/=0A=
function selectAllCheckboxes(obj, section, parentClass) {=0A=
	var theElement =3D getObj(obj);=0A=
	var labels =3D getAllLabels(theElement, section);=0A=
=0A=
	for (var i =3D 0; i < labels.length; i++) {=0A=
		var label =3D $(labels[i]);=0A=
		var input =3D label.getFirst();=0A=
		var parent =3D label.getParent();=0A=
		var valid =3D parentClass !=3D null ? =
parent.className.indexOf(parentClass) >=3D 0 : true;=0A=
		=0A=
		if (valid && !input.checked) {=0A=
			checkElement(label, input);=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
/*=0A=
	Deselect all the checkboxes within the given obj=0A=
*/=0A=
function unselectAllCheckboxes(obj, section) {=0A=
	var theElement =3D getObj(obj);=0A=
	var labels =3D getAllLabels(theElement, section);=0A=
=0A=
	for (var i =3D 0; i < labels.length; i++) {=0A=
		var label =3D $(labels[i]);=0A=
		var input =3D label.getFirst();=0A=
		if (input.checked) {=0A=
			uncheckElement(label, input);=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
/*=0A=
	Get the labels from one or more div of class "section"=0A=
*/=0A=
function getAllLabels(theElement, section) {=0A=
	var labels =3D new Array();=0A=
	=0A=
	if (section !=3D null && section !=3D '') {=0A=
		var sections =3D theElement.getElementsByTagName('div');=0A=
		for (var i =3D 0; i < sections.length; i++) {=0A=
			if (sections[i].className =3D=3D section) {=0A=
				labels =3D concat(labels, sections[i].getElementsByTagName('label'));=0A=
			}=0A=
		}=0A=
	} else {=0A=
		labels =3D theElement.getElementsByTagName('label');=0A=
	}=0A=
=0A=
	return labels;=0A=
}=0A=
=0A=
=0A=
function concat(arrayA, arrayB) {=0A=
	for (var i =3D 0; i < arrayB.length; i++) {=0A=
		arrayA.push(arrayB[i]);=0A=
	}=0A=
	=0A=
	return arrayA;=0A=
}=0A=
=0A=
/* For the comments to validate the feedback form */=0A=
function validateFeedback(form, redirectURL) {=0A=
	var theForm =3D form;=0A=
	var language =3D theForm['language'].value;=0A=
	var message =3D theForm['message'].value;=0A=
=0A=
	if (message.replace(/\s/g, '') =3D=3D '') {=0A=
		if (language =3D=3D 'en') {=0A=
			alert("Please enter a message before submitting your request.");=0A=
		} else {=0A=
			alert("S'il-vous-pla=C3=AEt, veuillez entrer un message avant de =
soumettre votre requ=C3=AAte.");=0A=
		}=0A=
		return false;=0A=
	} =0A=
	=0A=
	theForm.action =3D redirectURL;=0A=
	theForm.submit();=0A=
	return true;=0A=
}=0A=
=0A=
=0A=
=0A=
/* For the splash page */=0A=
function showText(textBox, otherBox) {=0A=
	hide(otherBox, 'none');=0A=
	show(textBox, 'block');=0A=
	return;	=0A=
}=0A=
=0A=
=0A=
=0A=
function getLanguage() {=0A=
	var pathname =3D window.location.pathname;=0A=
	=0A=
	if (pathname.indexOf("/fr/") !=3D -1) {=0A=
		return "fr";=0A=
	} else {=0A=
		return "en";=0A=
	}=0A=
}=0A=
=0A=
function openWindow(link) {=0A=
	window.open(link, "_blank", "toolbar=3Dno, location=3Dno, =
directories=3Dno, status=3Dno, menubar=3Dno, scrollbars=3Dyes, =
resizable=3Dyes, copyhistory=3Dno, width=3D450, height=3D500");=0A=
}=0A=
=0A=
window.onload =3D init;=0A=
=0A=
/*=0A=
Script: Core.js=0A=
	MooTools - My Object Oriented JavaScript Tools.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
=0A=
Copyright:=0A=
	Copyright (c) 2006-2007 [Valerio Proietti](http://mad4milk.net/).=0A=
=0A=
Code & Documentation:=0A=
	[The MooTools production team](http://mootools.net/developers/).=0A=
=0A=
Inspiration:=0A=
	- Class implementation inspired by =
[Base.js](http://dean.edwards.name/weblog/2006/03/base/) Copyright (c) =
2006 Dean Edwards, [GNU Lesser General Public =
License](http://opensource.org/licenses/lgpl-license.php)=0A=
	- Some functionality inspired by [Prototype.js](http://prototypejs.org) =
Copyright (c) 2005-2007 Sam Stephenson, [MIT =
License](http://opensource.org/licenses/mit-license.php)=0A=
*/=0A=
=0A=
var MooTools =3D {=0A=
	'version': '1.2.0',=0A=
	'build': ''=0A=
};=0A=
      =0A=
var Native =3D function(options){=0A=
	options =3D options || {};=0A=
=0A=
	var afterImplement =3D options.afterImplement || function(){};=0A=
	var generics =3D options.generics;=0A=
	generics =3D (generics !=3D=3D false);=0A=
	var legacy =3D options.legacy;=0A=
	var initialize =3D options.initialize;=0A=
	var protect =3D options.protect;=0A=
	var name =3D options.name;=0A=
=0A=
	var object =3D initialize || legacy;=0A=
=0A=
	object.constructor =3D Native;=0A=
	object.$family =3D {name: 'native'};=0A=
	if (legacy && initialize) object.prototype =3D legacy.prototype;=0A=
	object.prototype.constructor =3D object;=0A=
=0A=
	if (name){=0A=
		var family =3D name.toLowerCase();=0A=
		object.prototype.$family =3D {name: family};=0A=
		Native.typize(object, family);=0A=
	}=0A=
=0A=
	var add =3D function(obj, name, method, force){=0A=
		if (!protect || force || !obj.prototype[name]) obj.prototype[name] =3D =
method;=0A=
		if (generics) Native.genericize(obj, name, protect);=0A=
		afterImplement.call(obj, name, method);=0A=
		return obj;=0A=
	};=0A=
	=0A=
	object.implement =3D function(a1, a2, a3){=0A=
		if (typeof a1 =3D=3D 'string') return add(this, a1, a2, a3);=0A=
		for (var p in a1) add(this, p, a1[p], a2);=0A=
		return this;=0A=
	};=0A=
	=0A=
	object.alias =3D function(a1, a2, a3){=0A=
		if (typeof a1 =3D=3D 'string'){=0A=
			a1 =3D this.prototype[a1];=0A=
			if (a1) add(this, a2, a1, a3);=0A=
		} else {=0A=
			for (var a in a1) this.alias(a, a1[a], a2);=0A=
		}=0A=
		return this;=0A=
	};=0A=
=0A=
	return object;=0A=
};=0A=
=0A=
Native.implement =3D function(objects, properties){=0A=
	for (var i =3D 0, l =3D objects.length; i < l; i++) =
objects[i].implement(properties);=0A=
};=0A=
=0A=
Native.genericize =3D function(object, property, check){=0A=
	if ((!check || !object[property]) && typeof object.prototype[property] =
=3D=3D 'function') object[property] =3D function(){=0A=
		var args =3D Array.prototype.slice.call(arguments);=0A=
		return object.prototype[property].apply(args.shift(), args);=0A=
	};=0A=
};=0A=
=0A=
Native.typize =3D function(object, family){=0A=
	if (!object.type) object.type =3D function(item){=0A=
		return ($type(item) =3D=3D=3D family);=0A=
	};=0A=
};=0A=
=0A=
Native.alias =3D function(objects, a1, a2, a3){=0A=
	for (var i =3D 0, j =3D objects.length; i < j; i++) =
objects[i].alias(a1, a2, a3);=0A=
};=0A=
=0A=
(function(objects){=0A=
	for (var name in objects) Native.typize(objects[name], name);=0A=
})({'boolean': Boolean, 'native': Native, 'object': Object});=0A=
=0A=
(function(objects){=0A=
	for (var name in objects) new Native({name: name, initialize: =
objects[name], protect: true});=0A=
})({'String': String, 'Function': Function, 'Number': Number, 'Array': =
Array, 'RegExp': RegExp, 'Date': Date});=0A=
=0A=
(function(object, methods){=0A=
	for (var i =3D methods.length; i--; i) Native.genericize(object, =
methods[i], true);=0A=
	return arguments.callee;=0A=
})=0A=
(Array, ['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', =
'concat', 'join', 'slice', 'toString', 'valueOf', 'indexOf', =
'lastIndexOf'])=0A=
(String, ['charAt', 'charCodeAt', 'concat', 'indexOf', 'lastIndexOf', =
'match', 'replace', 'search', 'slice', 'split', 'substr', 'substring', =
'toLowerCase', 'toUpperCase', 'valueOf']);=0A=
=0A=
function $chk(obj){=0A=
	return !!(obj || obj =3D=3D=3D 0);=0A=
};=0A=
=0A=
function $clear(timer){=0A=
	clearTimeout(timer);=0A=
	clearInterval(timer);=0A=
	return null;=0A=
};=0A=
=0A=
function $defined(obj){=0A=
	return (obj !=3D undefined);=0A=
};=0A=
=0A=
function $empty(){};=0A=
=0A=
function $arguments(i){=0A=
	return function(){=0A=
		return arguments[i];=0A=
	};=0A=
};=0A=
=0A=
function $lambda(value){=0A=
	return (typeof value =3D=3D 'function') ? value : function(){=0A=
		return value;=0A=
	};=0A=
};=0A=
=0A=
function $extend(original, extended){=0A=
	for (var key in (extended || {})) original[key] =3D extended[key];=0A=
	return original;=0A=
};=0A=
=0A=
function $unlink(object){=0A=
	var unlinked;=0A=
	=0A=
	switch ($type(object)){=0A=
		case 'object':=0A=
			unlinked =3D {};=0A=
			for (var p in object) unlinked[p] =3D $unlink(object[p]);=0A=
		break;=0A=
		case 'hash':=0A=
			unlinked =3D $unlink(object.getClean());=0A=
		break;=0A=
		case 'array':=0A=
			unlinked =3D [];=0A=
			for (var i =3D 0, l =3D object.length; i < l; i++) unlinked[i] =3D =
$unlink(object[i]);=0A=
		break;=0A=
		default: return object;=0A=
	}=0A=
	=0A=
	return unlinked;=0A=
};=0A=
=0A=
function $merge(){=0A=
	var mix =3D {};=0A=
	for (var i =3D 0, l =3D arguments.length; i < l; i++){=0A=
		var object =3D arguments[i];=0A=
		if ($type(object) !=3D 'object') continue;=0A=
		for (var key in object){=0A=
			var op =3D object[key], mp =3D mix[key];=0A=
			mix[key] =3D (mp && $type(op) =3D=3D 'object' && $type(mp) =3D=3D =
'object') ? $merge(mp, op) : $unlink(op);=0A=
		}=0A=
	}=0A=
	return mix;=0A=
};=0A=
=0A=
function $pick(){=0A=
	for (var i =3D 0, l =3D arguments.length; i < l; i++){=0A=
		if (arguments[i] !=3D undefined) return arguments[i];=0A=
	}=0A=
	return null;=0A=
};=0A=
=0A=
function $random(min, max){=0A=
	return Math.floor(Math.random() * (max - min + 1) + min);=0A=
};=0A=
=0A=
function $splat(obj){=0A=
	var type =3D $type(obj);=0A=
	return (type) ? ((type !=3D 'array' && type !=3D 'arguments') ? [obj] : =
obj) : [];=0A=
};=0A=
=0A=
var $time =3D Date.now || function(){=0A=
	return new Date().getTime();=0A=
};=0A=
=0A=
function $try(){=0A=
	for (var i =3D 0, l =3D arguments.length; i < l; i++){=0A=
		try {=0A=
			return arguments[i]();=0A=
		} catch(e){}=0A=
	}=0A=
	return null;=0A=
};=0A=
=0A=
function $type(obj){=0A=
	if (obj =3D=3D undefined) return false;=0A=
	if (obj.$family) return (obj.$family.name =3D=3D 'number' && =
!isFinite(obj)) ? false : obj.$family.name;=0A=
	if (obj.nodeName){=0A=
		switch (obj.nodeType){=0A=
			case 1: return 'element';=0A=
			case 3: return (/\S/).test(obj.nodeValue) ? 'textnode' : 'whitespace';=0A=
		}=0A=
	} else if (typeof obj.length =3D=3D 'number'){=0A=
		if (obj.callee) return 'arguments';=0A=
		else if (obj.item) return 'collection';=0A=
	}=0A=
	return typeof obj;=0A=
};=0A=
=0A=
var Hash =3D new Native({=0A=
=0A=
	name: 'Hash',=0A=
=0A=
	initialize: function(object){=0A=
		if ($type(object) =3D=3D 'hash') object =3D $unlink(object.getClean());=0A=
		for (var key in object) this[key] =3D object[key];=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Hash.implement({=0A=
	=0A=
	getLength: function(){=0A=
		var length =3D 0;=0A=
		for (var key in this){=0A=
			if (this.hasOwnProperty(key)) length++;=0A=
		}=0A=
		return length;=0A=
	},=0A=
=0A=
	forEach: function(fn, bind){=0A=
		for (var key in this){=0A=
			if (this.hasOwnProperty(key)) fn.call(bind, this[key], key, this);=0A=
		}=0A=
	},=0A=
	=0A=
	getClean: function(){=0A=
		var clean =3D {};=0A=
		for (var key in this){=0A=
			if (this.hasOwnProperty(key)) clean[key] =3D this[key];=0A=
		}=0A=
		return clean;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Hash.alias('forEach', 'each');=0A=
=0A=
function $H(object){=0A=
	return new Hash(object);=0A=
};=0A=
=0A=
Array.implement({=0A=
=0A=
	forEach: function(fn, bind){=0A=
		for (var i =3D 0, l =3D this.length; i < l; i++) fn.call(bind, =
this[i], i, this);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Array.alias('forEach', 'each');=0A=
=0A=
function $A(iterable){=0A=
	if (iterable.item){=0A=
		var array =3D [];=0A=
		for (var i =3D 0, l =3D iterable.length; i < l; i++) array[i] =3D =
iterable[i];=0A=
		return array;=0A=
	}=0A=
	return Array.prototype.slice.call(iterable);=0A=
};=0A=
=0A=
function $each(iterable, fn, bind){=0A=
	var type =3D $type(iterable);=0A=
	((type =3D=3D 'arguments' || type =3D=3D 'collection' || type =3D=3D =
'array') ? Array : Hash).each(iterable, fn, bind);=0A=
};=0A=
=0A=
=0A=
/*=0A=
Script: Browser.js=0A=
	The Browser Core. Contains Browser initialization, Window and Document, =
and the Browser Hash.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Browser =3D new Hash({=0A=
	Engine: {name: 'unknown', version: ''},=0A=
	Platform: {name: (navigator.platform.match(/mac|win|linux/i) || =
['other'])[0].toLowerCase()},=0A=
	Features: {xpath: !!(document.evaluate), air: !!(window.runtime)},=0A=
	Plugins: {}=0A=
});=0A=
=0A=
if (window.opera) Browser.Engine =3D {name: 'presto', version: =
(document.getElementsByClassName) ? 950 : 925};=0A=
else if (window.ActiveXObject) Browser.Engine =3D {name: 'trident', =
version: (window.XMLHttpRequest) ? 5 : 4};=0A=
else if (!navigator.taintEnabled) Browser.Engine =3D {name: 'webkit', =
version: (Browser.Features.xpath) ? 420 : 419};=0A=
else if (document.getBoxObjectFor !=3D null) Browser.Engine =3D {name: =
'gecko', version: (document.getElementsByClassName) ? 19 : 18};=0A=
Browser.Engine[Browser.Engine.name] =3D =
Browser.Engine[Browser.Engine.name + Browser.Engine.version] =3D true;=0A=
=0A=
if (window.orientation !=3D undefined) Browser.Platform.name =3D 'ipod';=0A=
=0A=
Browser.Platform[Browser.Platform.name] =3D true;=0A=
=0A=
Browser.Request =3D function(){=0A=
	return $try(function(){=0A=
		return new XMLHttpRequest();=0A=
	}, function(){=0A=
		return new ActiveXObject('MSXML2.XMLHTTP');=0A=
	});=0A=
};=0A=
=0A=
Browser.Features.xhr =3D !!(Browser.Request());=0A=
=0A=
Browser.Plugins.Flash =3D (function(){=0A=
	var version =3D ($try(function(){=0A=
		return navigator.plugins['Shockwave Flash'].description;=0A=
	}, function(){=0A=
		return new =
ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');=0A=
	}) || '0 r0').match(/\d+/g);=0A=
	return {version: parseInt(version[0] || 0 + '.' + version[1] || 0), =
build: parseInt(version[2] || 0)};=0A=
})();=0A=
=0A=
function $exec(text){=0A=
	if (!text) return text;=0A=
	if (window.execScript){=0A=
		window.execScript(text);=0A=
	} else {=0A=
		var script =3D document.createElement('script');=0A=
		script.setAttribute('type', 'text/javascript');=0A=
		script.text =3D text;=0A=
		document.head.appendChild(script);=0A=
		document.head.removeChild(script);=0A=
	}=0A=
	return text;=0A=
};=0A=
=0A=
Native.UID =3D 1;=0A=
=0A=
var $uid =3D (Browser.Engine.trident) ? function(item){=0A=
	return (item.uid || (item.uid =3D [Native.UID++]))[0];=0A=
} : function(item){=0A=
	return item.uid || (item.uid =3D Native.UID++);=0A=
};=0A=
=0A=
var Window =3D new Native({=0A=
=0A=
	name: 'Window',=0A=
=0A=
	legacy: (Browser.Engine.trident) ? null: window.Window,=0A=
=0A=
	initialize: function(win){=0A=
		$uid(win);=0A=
		if (!win.Element){=0A=
			win.Element =3D $empty;=0A=
			if (Browser.Engine.webkit) win.document.createElement("iframe"); =
//fixes safari 2=0A=
			win.Element.prototype =3D (Browser.Engine.webkit) ? =
window["[[DOMElement.prototype]]"] : {};=0A=
		}=0A=
		return $extend(win, Window.Prototype);=0A=
	},=0A=
=0A=
	afterImplement: function(property, value){=0A=
		window[property] =3D Window.Prototype[property] =3D value;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Window.Prototype =3D {$family: {name: 'window'}};=0A=
=0A=
new Window(window);=0A=
=0A=
var Document =3D new Native({=0A=
=0A=
	name: 'Document',=0A=
=0A=
	legacy: (Browser.Engine.trident) ? null: window.Document,=0A=
=0A=
	initialize: function(doc){=0A=
		$uid(doc);=0A=
		doc.head =3D doc.getElementsByTagName('head')[0];=0A=
		doc.html =3D doc.getElementsByTagName('html')[0];=0A=
		doc.window =3D doc.defaultView || doc.parentWindow;=0A=
		if (Browser.Engine.trident4) $try(function(){=0A=
			doc.execCommand("BackgroundImageCache", false, true);=0A=
		});=0A=
		return $extend(doc, Document.Prototype);=0A=
	},=0A=
=0A=
	afterImplement: function(property, value){=0A=
		document[property] =3D Document.Prototype[property] =3D value;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Document.Prototype =3D {$family: {name: 'document'}};=0A=
=0A=
new Document(document);=0A=
=0A=
/*=0A=
Script: Array.js=0A=
	Contains Array Prototypes like copy, each, contains, and remove.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Array.implement({=0A=
=0A=
	every: function(fn, bind){=0A=
		for (var i =3D 0, l =3D this.length; i < l; i++){=0A=
			if (!fn.call(bind, this[i], i, this)) return false;=0A=
		}=0A=
		return true;=0A=
	},=0A=
=0A=
	filter: function(fn, bind){=0A=
		var results =3D [];=0A=
		for (var i =3D 0, l =3D this.length; i < l; i++){=0A=
			if (fn.call(bind, this[i], i, this)) results.push(this[i]);=0A=
		}=0A=
		return results;=0A=
	},=0A=
	=0A=
	clean: function() {=0A=
		return this.filter($defined);=0A=
	},=0A=
=0A=
	indexOf: function(item, from){=0A=
		var len =3D this.length;=0A=
		for (var i =3D (from < 0) ? Math.max(0, len + from) : from || 0; i < =
len; i++){=0A=
			if (this[i] =3D=3D=3D item) return i;=0A=
		}=0A=
		return -1;=0A=
	},=0A=
=0A=
	map: function(fn, bind){=0A=
		var results =3D [];=0A=
		for (var i =3D 0, l =3D this.length; i < l; i++) results[i] =3D =
fn.call(bind, this[i], i, this);=0A=
		return results;=0A=
	},=0A=
=0A=
	some: function(fn, bind){=0A=
		for (var i =3D 0, l =3D this.length; i < l; i++){=0A=
			if (fn.call(bind, this[i], i, this)) return true;=0A=
		}=0A=
		return false;=0A=
	},=0A=
=0A=
	associate: function(keys){=0A=
		var obj =3D {}, length =3D Math.min(this.length, keys.length);=0A=
		for (var i =3D 0; i < length; i++) obj[keys[i]] =3D this[i];=0A=
		return obj;=0A=
	},=0A=
=0A=
	link: function(object){=0A=
		var result =3D {};=0A=
		for (var i =3D 0, l =3D this.length; i < l; i++){=0A=
			for (var key in object){=0A=
				if (object[key](this[i])){=0A=
					result[key] =3D this[i];=0A=
					delete object[key];=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
		return result;=0A=
	},=0A=
=0A=
	contains: function(item, from){=0A=
		return this.indexOf(item, from) !=3D -1;=0A=
	},=0A=
=0A=
	extend: function(array){=0A=
		for (var i =3D 0, j =3D array.length; i < j; i++) this.push(array[i]);=0A=
		return this;=0A=
	},=0A=
=0A=
	getLast: function(){=0A=
		return (this.length) ? this[this.length - 1] : null;=0A=
	},=0A=
=0A=
	getRandom: function(){=0A=
		return (this.length) ? this[$random(0, this.length - 1)] : null;=0A=
	},=0A=
=0A=
	include: function(item){=0A=
		if (!this.contains(item)) this.push(item);=0A=
		return this;=0A=
	},=0A=
=0A=
	combine: function(array){=0A=
		for (var i =3D 0, l =3D array.length; i < l; i++) =
this.include(array[i]);=0A=
		return this;=0A=
	},=0A=
=0A=
	erase: function(item){=0A=
		for (var i =3D this.length; i--; i){=0A=
			if (this[i] =3D=3D=3D item) this.splice(i, 1);=0A=
		}=0A=
		return this;=0A=
	},=0A=
=0A=
	empty: function(){=0A=
		this.length =3D 0;=0A=
		return this;=0A=
	},=0A=
=0A=
	flatten: function(){=0A=
		var array =3D [];=0A=
		for (var i =3D 0, l =3D this.length; i < l; i++){=0A=
			var type =3D $type(this[i]);=0A=
			if (!type) continue;=0A=
			array =3D array.concat((type =3D=3D 'array' || type =3D=3D =
'collection' || type =3D=3D 'arguments') ? Array.flatten(this[i]) : =
this[i]);=0A=
		}=0A=
		return array;=0A=
	},=0A=
=0A=
	hexToRgb: function(array){=0A=
		if (this.length !=3D 3) return null;=0A=
		var rgb =3D this.map(function(value){=0A=
			if (value.length =3D=3D 1) value +=3D value;=0A=
			return value.toInt(16);=0A=
		});=0A=
		return (array) ? rgb : 'rgb(' + rgb + ')';=0A=
	},=0A=
=0A=
	rgbToHex: function(array){=0A=
		if (this.length < 3) return null;=0A=
		if (this.length =3D=3D 4 && this[3] =3D=3D 0 && !array) return =
'transparent';=0A=
		var hex =3D [];=0A=
		for (var i =3D 0; i < 3; i++){=0A=
			var bit =3D (this[i] - 0).toString(16);=0A=
			hex.push((bit.length =3D=3D 1) ? '0' + bit : bit);=0A=
		}=0A=
		return (array) ? hex : '#' + hex.join('');=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*
Script: Function.js
	Contains Function Prototypes like create, bind, pass, and delay.

License:
	MIT-style license.
*/

Function.implement({

	extend: function(properties){
		for (var property in properties) this[property] =3D =
properties[property];
		return this;
	},

	create: function(options){
		var self =3D this;
		options =3D options || {};
		return function(event){
			var args =3D options.arguments;
			args =3D (args !=3D undefined) ? $splat(args) : =
Array.slice(arguments, (options.event) ? 1 : 0);
			if (options.event) args =3D [event || window.event].extend(args);
			var returns =3D function(){
				return self.apply(options.bind || null, args);
			};
			if (options.delay) return setTimeout(returns, options.delay);
			if (options.periodical) return setInterval(returns, =
options.periodical);
			if (options.attempt) return $try(returns);
			return returns();
		};
	},

	pass: function(args, bind){
		return this.create({arguments: args, bind: bind});
	},

	attempt: function(args, bind){
		return this.create({arguments: args, bind: bind, attempt: true})();
	},

	bind: function(bind, args){
		return this.create({bind: bind, arguments: args});
	},

	bindWithEvent: function(bind, args){
		return this.create({bind: bind, event: true, arguments: args});
	},

	delay: function(delay, bind, args){
		return this.create({delay: delay, bind: bind, arguments: args})();
	},

	periodical: function(interval, bind, args){
		return this.create({periodical: interval, bind: bind, arguments: =
args})();
	},

	run: function(args, bind){
		return this.apply(bind, $splat(args));
	}

});=0A=
=0A=
/*=0A=
Script: Number.js=0A=
	Contains Number Prototypes like limit, round, times, and ceil.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Number.implement({=0A=
=0A=
	limit: function(min, max){=0A=
		return Math.min(max, Math.max(min, this));=0A=
	},=0A=
=0A=
	round: function(precision){=0A=
		precision =3D Math.pow(10, precision || 0);=0A=
		return Math.round(this * precision) / precision;=0A=
	},=0A=
=0A=
	times: function(fn, bind){=0A=
		for (var i =3D 0; i < this; i++) fn.call(bind, i, this);=0A=
	},=0A=
=0A=
	toFloat: function(){=0A=
		return parseFloat(this);=0A=
	},=0A=
=0A=
	toInt: function(base){=0A=
		return parseInt(this, base || 10);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Number.alias('times', 'each');=0A=
=0A=
(function(math){=0A=
	var methods =3D {};=0A=
	math.each(function(name){=0A=
		if (!Number[name]) methods[name] =3D function(){=0A=
			return Math[name].apply(null, [this].concat($A(arguments)));=0A=
		};=0A=
	});=0A=
	Number.implement(methods);=0A=
})(['abs', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'exp', =
'floor', 'log', 'max', 'min', 'pow', 'sin', 'sqrt', 'tan']);=0A=
=0A=
/*=0A=
Script: String.js=0A=
	Contains String Prototypes like camelCase, capitalize, test, and toInt.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
String.implement({=0A=
=0A=
	test: function(regex, params){=0A=
		return ((typeof regex =3D=3D 'string') ? new RegExp(regex, params) : =
regex).test(this);=0A=
	},=0A=
=0A=
	contains: function(string, separator){=0A=
		return (separator) ? (separator + this + separator).indexOf(separator =
+ string + separator) > -1 : this.indexOf(string) > -1;=0A=
	},=0A=
=0A=
	trim: function(){=0A=
		return this.replace(/^\s+|\s+$/g, '');=0A=
	},=0A=
=0A=
	clean: function(){=0A=
		return this.replace(/\s+/g, ' ').trim();=0A=
	},=0A=
=0A=
	camelCase: function(){=0A=
		return this.replace(/-\D/g, function(match){=0A=
			return match.charAt(1).toUpperCase();=0A=
		});=0A=
	},=0A=
=0A=
	hyphenate: function(){=0A=
		return this.replace(/[A-Z]/g, function(match){=0A=
			return ('-' + match.charAt(0).toLowerCase());=0A=
		});=0A=
	},=0A=
=0A=
	capitalize: function(){=0A=
		return this.replace(/\b[a-z]/g, function(match){=0A=
			return match.toUpperCase();=0A=
		});=0A=
	},=0A=
=0A=
	escapeRegExp: function(){=0A=
		return this.replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1');=0A=
	},=0A=
=0A=
	toInt: function(base){=0A=
		return parseInt(this, base || 10);=0A=
	},=0A=
=0A=
	toFloat: function(){=0A=
		return parseFloat(this);=0A=
	},=0A=
=0A=
	hexToRgb: function(array){=0A=
		var hex =3D this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);=0A=
		return (hex) ? hex.slice(1).hexToRgb(array) : null;=0A=
	},=0A=
=0A=
	rgbToHex: function(array){=0A=
		var rgb =3D this.match(/\d{1,3}/g);=0A=
		return (rgb) ? rgb.rgbToHex(array) : null;=0A=
	},=0A=
=0A=
	stripScripts: function(option){=0A=
		var scripts =3D '';=0A=
		var text =3D this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, =
function(){=0A=
			scripts +=3D arguments[1] + '\n';=0A=
			return '';=0A=
		});=0A=
		if (option =3D=3D=3D true) $exec(scripts);=0A=
		else if ($type(option) =3D=3D 'function') option(scripts, text);=0A=
		return text;=0A=
	},=0A=
=0A=
	substitute: function(object, regexp){=0A=
		return this.replace(regexp || (/\\?\{([^}]+)\}/g), function(match, =
name){=0A=
			if (match.charAt(0) =3D=3D '\\') return match.slice(1);=0A=
			return (object[name] !=3D undefined) ? object[name] : '';=0A=
		});=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Hash.js=0A=
	Contains Hash Prototypes. Provides a means for overcoming the =
JavaScript practical impossibility of extending native Objects.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Hash.implement({=0A=
=0A=
	has: Object.prototype.hasOwnProperty,=0A=
=0A=
	keyOf: function(value){=0A=
		for (var key in this){=0A=
			if (this.hasOwnProperty(key) && this[key] =3D=3D=3D value) return key;=0A=
		}=0A=
		return null;=0A=
	},=0A=
=0A=
	hasValue: function(value){=0A=
		return (Hash.keyOf(this, value) !=3D=3D null);=0A=
	},=0A=
=0A=
	extend: function(properties){=0A=
		Hash.each(properties, function(value, key){=0A=
			Hash.set(this, key, value);=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	combine: function(properties){=0A=
		Hash.each(properties, function(value, key){=0A=
			Hash.include(this, key, value);=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	erase: function(key){=0A=
		if (this.hasOwnProperty(key)) delete this[key];=0A=
		return this;=0A=
	},=0A=
=0A=
	get: function(key){=0A=
		return (this.hasOwnProperty(key)) ? this[key] : null;=0A=
	},=0A=
=0A=
	set: function(key, value){=0A=
		if (!this[key] || this.hasOwnProperty(key)) this[key] =3D value;=0A=
		return this;=0A=
	},=0A=
=0A=
	empty: function(){=0A=
		Hash.each(this, function(value, key){=0A=
			delete this[key];=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	include: function(key, value){=0A=
		var k =3D this[key];=0A=
		if (k =3D=3D undefined) this[key] =3D value;=0A=
		return this;=0A=
	},=0A=
=0A=
	map: function(fn, bind){=0A=
		var results =3D new Hash;=0A=
		Hash.each(this, function(value, key){=0A=
			results.set(key, fn.call(bind, value, key, this));=0A=
		}, this);=0A=
		return results;=0A=
	},=0A=
=0A=
	filter: function(fn, bind){=0A=
		var results =3D new Hash;=0A=
		Hash.each(this, function(value, key){=0A=
			if (fn.call(bind, value, key, this)) results.set(key, value);=0A=
		}, this);=0A=
		return results;=0A=
	},=0A=
=0A=
	every: function(fn, bind){=0A=
		for (var key in this){=0A=
			if (this.hasOwnProperty(key) && !fn.call(bind, this[key], key)) =
return false;=0A=
		}=0A=
		return true;=0A=
	},=0A=
=0A=
	some: function(fn, bind){=0A=
		for (var key in this){=0A=
			if (this.hasOwnProperty(key) && fn.call(bind, this[key], key)) return =
true;=0A=
		}=0A=
		return false;=0A=
	},=0A=
=0A=
	getKeys: function(){=0A=
		var keys =3D [];=0A=
		Hash.each(this, function(value, key){=0A=
			keys.push(key);=0A=
		});=0A=
		return keys;=0A=
	},=0A=
=0A=
	getValues: function(){=0A=
		var values =3D [];=0A=
		Hash.each(this, function(value){=0A=
			values.push(value);=0A=
		});=0A=
		return values;=0A=
	},=0A=
	=0A=
	toQueryString: function(base){=0A=
		var queryString =3D [];=0A=
		Hash.each(this, function(value, key){=0A=
			if (base) key =3D base + '[' + key + ']';=0A=
			var result;=0A=
			switch ($type(value)){=0A=
				case 'object': result =3D Hash.toQueryString(value, key); break;=0A=
				case 'array':=0A=
					var qs =3D {};=0A=
					value.each(function(val, i){=0A=
						qs[i] =3D val;=0A=
					});=0A=
					result =3D Hash.toQueryString(qs, key);=0A=
				break;=0A=
				default: result =3D key + '=3D' + encodeURIComponent(value);=0A=
			}=0A=
			if (value !=3D undefined) queryString.push(result);=0A=
		});=0A=
		=0A=
		return queryString.join('&');=0A=
	}=0A=
=0A=
});=0A=
=0A=
Hash.alias({keyOf: 'indexOf', hasValue: 'contains'});=0A=
=0A=
/*=0A=
Script: Event.js=0A=
	Contains the Event Native, to make the event object completely =
crossbrowser.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Event =3D new Native({=0A=
=0A=
	name: 'Event',=0A=
=0A=
	initialize: function(event, win){=0A=
		win =3D win || window;=0A=
		var doc =3D win.document;=0A=
		event =3D event || win.event;=0A=
		if (event.$extended) return event;=0A=
		this.$extended =3D true;=0A=
		var type =3D event.type;=0A=
		var target =3D event.target || event.srcElement;=0A=
		while (target && target.nodeType =3D=3D 3) target =3D =
target.parentNode;=0A=
		=0A=
		if (type.test(/key/)){=0A=
			var code =3D event.which || event.keyCode;=0A=
			var key =3D Event.Keys.keyOf(code);=0A=
			if (type =3D=3D 'keydown'){=0A=
				var fKey =3D code - 111;=0A=
				if (fKey > 0 && fKey < 13) key =3D 'f' + fKey;=0A=
			}=0A=
			key =3D key || String.fromCharCode(code).toLowerCase();=0A=
		} else if (type.match(/(click|mouse|menu)/i)){=0A=
			doc =3D (!doc.compatMode || doc.compatMode =3D=3D 'CSS1Compat') ? =
doc.html : doc.body;=0A=
			var page =3D {=0A=
				x: event.pageX || event.clientX + doc.scrollLeft,=0A=
				y: event.pageY || event.clientY + doc.scrollTop=0A=
			};=0A=
			var client =3D {=0A=
				x: (event.pageX) ? event.pageX - win.pageXOffset : event.clientX,=0A=
				y: (event.pageY) ? event.pageY - win.pageYOffset : event.clientY=0A=
			};=0A=
			if (type.match(/DOMMouseScroll|mousewheel/)){=0A=
				var wheel =3D (event.wheelDelta) ? event.wheelDelta / 120 : =
-(event.detail || 0) / 3;=0A=
			}=0A=
			var rightClick =3D (event.which =3D=3D 3) || (event.button =3D=3D 2);=0A=
			var related =3D null;=0A=
			if (type.match(/over|out/)){=0A=
				switch (type){=0A=
					case 'mouseover': related =3D event.relatedTarget || =
event.fromElement; break;=0A=
					case 'mouseout': related =3D event.relatedTarget || event.toElement;=0A=
				}=0A=
				if (!(function(){=0A=
					while (related && related.nodeType =3D=3D 3) related =3D =
related.parentNode;=0A=
					return true;=0A=
				}).create({attempt: Browser.Engine.gecko})()) related =3D false;=0A=
			}=0A=
		}=0A=
=0A=
		return $extend(this, {=0A=
			event: event,=0A=
			type: type,=0A=
			=0A=
			page: page,=0A=
			client: client,=0A=
			rightClick: rightClick,=0A=
			=0A=
			wheel: wheel,=0A=
			=0A=
			relatedTarget: related,=0A=
			target: target,=0A=
			=0A=
			code: code,=0A=
			key: key,=0A=
			=0A=
			shift: event.shiftKey,=0A=
			control: event.ctrlKey,=0A=
			alt: event.altKey,=0A=
			meta: event.metaKey=0A=
		});=0A=
	}=0A=
=0A=
});=0A=
=0A=
Event.Keys =3D new Hash({=0A=
	'enter': 13,=0A=
	'up': 38,=0A=
	'down': 40,=0A=
	'left': 37,=0A=
	'right': 39,=0A=
	'esc': 27,=0A=
	'space': 32,=0A=
	'backspace': 8,=0A=
	'tab': 9,=0A=
	'delete': 46=0A=
});=0A=
=0A=
Event.implement({=0A=
=0A=
	stop: function(){=0A=
		return this.stopPropagation().preventDefault();=0A=
	},=0A=
=0A=
	stopPropagation: function(){=0A=
		if (this.event.stopPropagation) this.event.stopPropagation();=0A=
		else this.event.cancelBubble =3D true;=0A=
		return this;=0A=
	},=0A=
=0A=
	preventDefault: function(){=0A=
		if (this.event.preventDefault) this.event.preventDefault();=0A=
		else this.event.returnValue =3D false;=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Class.js=0A=
	Contains the Class Function for easily creating, extending, and =
implementing reusable Classes.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Class =3D new Native({=0A=
=0A=
	name: 'Class',=0A=
=0A=
	initialize: function(properties){=0A=
		properties =3D properties || {};=0A=
		var klass =3D function(empty){=0A=
			for (var key in this) this[key] =3D $unlink(this[key]);=0A=
			for (var mutator in Class.Mutators){=0A=
				if (!this[mutator]) continue;=0A=
				Class.Mutators[mutator](this, this[mutator]);=0A=
				delete this[mutator];=0A=
			}=0A=
=0A=
			this.constructor =3D klass;=0A=
			if (empty =3D=3D=3D $empty) return this;=0A=
			=0A=
			var self =3D (this.initialize) ? this.initialize.apply(this, =
arguments) : this;=0A=
			if (this.options && this.options.initialize) =
this.options.initialize.call(this);=0A=
			return self;=0A=
		};=0A=
=0A=
		$extend(klass, this);=0A=
		klass.constructor =3D Class;=0A=
		klass.prototype =3D properties;=0A=
		return klass;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Class.implement({=0A=
=0A=
	implement: function(){=0A=
		Class.Mutators.Implements(this.prototype, Array.slice(arguments));=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Class.Mutators =3D {=0A=
  =0A=
  Implements: function(self, klasses){=0A=
  	$splat(klasses).each(function(klass){=0A=
  		$extend(self, ($type(klass) =3D=3D 'class') ? new klass($empty) : =
klass);=0A=
  	});=0A=
  },=0A=
  =0A=
  Extends: function(self, klass){=0A=
  	var instance =3D new klass($empty);=0A=
  	delete instance.parent;=0A=
  	delete instance.parentOf;=0A=
=0A=
  	for (var key in instance){=0A=
  		var current =3D self[key], previous =3D instance[key];=0A=
  		if (current =3D=3D undefined){=0A=
  			self[key] =3D previous;=0A=
  			continue;=0A=
  		}=0A=
=0A=
  		var ctype =3D $type(current), ptype =3D $type(previous);=0A=
  		if (ctype !=3D ptype) continue;=0A=
=0A=
  		switch (ctype){=0A=
  			case 'function': =0A=
  				// this code will be only executed if the current browser does not =
support function.caller (currently only opera).=0A=
  				// we replace the function code with brute force. Not pretty, but =
it will only be executed if function.caller is not supported.=0A=
=0A=
  				if (!arguments.callee.caller) self[key] =3D eval('(' + =
String(current).replace(/\bthis\.parent\(\s*(\))?/g, function(full, =
close){=0A=
  					return 'arguments.callee._parent_.call(this' + (close || ', ');=0A=
  				}) + ')');=0A=
=0A=
  				// end "opera" code=0A=
  				self[key]._parent_ =3D previous;=0A=
  			  break;=0A=
  			case 'object': self[key] =3D $merge(previous, current);=0A=
  		}=0A=
=0A=
  	}=0A=
=0A=
  	self.parent =3D function(){=0A=
  		return arguments.callee.caller._parent_.apply(this, arguments);=0A=
  	};=0A=
=0A=
  	self.parentOf =3D function(descendant){=0A=
  		return descendant._parent_.apply(this, Array.slice(arguments, 1));=0A=
  	};=0A=
  }=0A=
  =0A=
};=0A=
=0A=
=0A=
/*=0A=
Script: Class.Extras.js=0A=
	Contains Utility Classes that can be implemented into your own Classes =
to ease the execution of many common tasks.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Chain =3D new Class({=0A=
=0A=
	chain: function(){=0A=
		this.$chain =3D (this.$chain || []).extend(arguments);=0A=
		return this;=0A=
	},=0A=
=0A=
	callChain: function(){=0A=
		return (this.$chain && this.$chain.length) ? =
this.$chain.shift().apply(this, arguments) : false;=0A=
	},=0A=
=0A=
	clearChain: function(){=0A=
		if (this.$chain) this.$chain.empty();=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
var Events =3D new Class({=0A=
=0A=
	addEvent: function(type, fn, internal){=0A=
		type =3D Events.removeOn(type);=0A=
		if (fn !=3D $empty){=0A=
			this.$events =3D this.$events || {};=0A=
			this.$events[type] =3D this.$events[type] || [];=0A=
			this.$events[type].include(fn);=0A=
			if (internal) fn.internal =3D true;=0A=
		}=0A=
		return this;=0A=
	},=0A=
=0A=
	addEvents: function(events){=0A=
		for (var type in events) this.addEvent(type, events[type]);=0A=
		return this;=0A=
	},=0A=
=0A=
	fireEvent: function(type, args, delay){=0A=
		type =3D Events.removeOn(type);=0A=
		if (!this.$events || !this.$events[type]) return this;=0A=
		this.$events[type].each(function(fn){=0A=
			fn.create({'bind': this, 'delay': delay, 'arguments': args})();=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	removeEvent: function(type, fn){=0A=
		type =3D Events.removeOn(type);=0A=
		if (!this.$events || !this.$events[type]) return this;=0A=
		if (!fn.internal) this.$events[type].erase(fn);=0A=
		return this;=0A=
	},=0A=
=0A=
	removeEvents: function(type){=0A=
		for (var e in this.$events){=0A=
			if (type && type !=3D e) continue;=0A=
			var fns =3D this.$events[e];=0A=
			for (var i =3D fns.length; i--; i) this.removeEvent(e, fns[i]);=0A=
		}=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Events.removeOn =3D function(string){=0A=
	return string.replace(/^on([A-Z])/, function(full, first) {=0A=
		return first.toLowerCase();=0A=
	});=0A=
};=0A=
=0A=
var Options =3D new Class({=0A=
=0A=
	setOptions: function(){=0A=
		this.options =3D $merge.run([this.options].extend(arguments));=0A=
		if (!this.addEvent) return this;=0A=
		for (var option in this.options){=0A=
			if ($type(this.options[option]) !=3D 'function' || =
!(/^on[A-Z]/).test(option)) continue;=0A=
			this.addEvent(option, this.options[option]);=0A=
			delete this.options[option];=0A=
		}=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Element.js=0A=
	One of the most important items in MooTools. Contains the dollar =
function, the dollars function, and an handful of cross-browser,=0A=
	time-saver methods to let you easily work with HTML Elements.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Document.implement({=0A=
=0A=
	newElement: function(tag, props){=0A=
		if (Browser.Engine.trident && props){=0A=
			['name', 'type', 'checked'].each(function(attribute){=0A=
				if (!props[attribute]) return;=0A=
				tag +=3D ' ' + attribute + '=3D"' + props[attribute] + '"';=0A=
				if (attribute !=3D 'checked') delete props[attribute];=0A=
			});=0A=
			tag =3D '<' + tag + '>';=0A=
		}=0A=
		return $.element(this.createElement(tag)).set(props);=0A=
	},=0A=
=0A=
	newTextNode: function(text){=0A=
		return this.createTextNode(text);=0A=
	},=0A=
=0A=
	getDocument: function(){=0A=
		return this;=0A=
	},=0A=
=0A=
	getWindow: function(){=0A=
		return this.defaultView || this.parentWindow;=0A=
	},=0A=
=0A=
	purge: function(){=0A=
		var elements =3D this.getElementsByTagName('*');=0A=
		for (var i =3D 0, l =3D elements.length; i < l; i++) =
Browser.freeMem(elements[i]);=0A=
	}=0A=
=0A=
});=0A=
=0A=
var Element =3D new Native({=0A=
=0A=
	name: 'Element',=0A=
=0A=
	legacy: window.Element,=0A=
=0A=
	initialize: function(tag, props){=0A=
		var konstructor =3D Element.Constructors.get(tag);=0A=
		if (konstructor) return konstructor(props);=0A=
		if (typeof tag =3D=3D 'string') return document.newElement(tag, props);=0A=
		return $(tag).set(props);=0A=
	},=0A=
=0A=
	afterImplement: function(key, value){=0A=
		if (!Array[key]) Elements.implement(key, Elements.multi(key));=0A=
		Element.Prototype[key] =3D value;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.Prototype =3D {$family: {name: 'element'}};=0A=
=0A=
Element.Constructors =3D new Hash;=0A=
=0A=
var IFrame =3D new Native({=0A=
=0A=
	name: 'IFrame',=0A=
=0A=
	generics: false,=0A=
=0A=
	initialize: function(){=0A=
		var params =3D Array.link(arguments, {properties: Object.type, iframe: =
$defined});=0A=
		var props =3D params.properties || {};=0A=
		var iframe =3D $(params.iframe) || false;=0A=
		var onload =3D props.onload || $empty;=0A=
		delete props.onload;=0A=
		props.id =3D props.name =3D $pick(props.id, props.name, iframe.id, =
iframe.name, 'IFrame_' + $time());=0A=
		iframe =3D new Element(iframe || 'iframe', props);=0A=
		var onFrameLoad =3D function(){=0A=
			var host =3D $try(function(){=0A=
				return iframe.contentWindow.location.host;=0A=
			});=0A=
			if (host && host =3D=3D window.location.host){=0A=
				var win =3D new Window(iframe.contentWindow);=0A=
				var doc =3D new Document(iframe.contentWindow.document);=0A=
				$extend(win.Element.prototype, Element.Prototype);=0A=
			}=0A=
			onload.call(iframe.contentWindow, iframe.contentWindow.document);=0A=
		};=0A=
		(!window.frames[props.id]) ? iframe.addListener('load', onFrameLoad) : =
onFrameLoad();=0A=
		return iframe;=0A=
	}=0A=
=0A=
});=0A=
=0A=
var Elements =3D new Native({=0A=
=0A=
	initialize: function(elements, options){=0A=
		options =3D $extend({ddup: true, cash: true}, options);=0A=
		elements =3D elements || [];=0A=
		if (options.ddup || options.cash){=0A=
			var uniques =3D {}, returned =3D [];=0A=
			for (var i =3D 0, l =3D elements.length; i < l; i++){=0A=
				var el =3D $.element(elements[i], !options.cash);=0A=
				if (options.ddup){=0A=
					if (uniques[el.uid]) continue;=0A=
					uniques[el.uid] =3D true;=0A=
				}=0A=
				returned.push(el);=0A=
			}=0A=
			elements =3D returned;=0A=
		}=0A=
		return (options.cash) ? $extend(elements, this) : elements;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Elements.implement({=0A=
=0A=
	filter: function(filter, bind){=0A=
		if (!filter) return this;=0A=
		return new Elements(Array.filter(this, (typeof filter =3D=3D 'string') =
? function(item){=0A=
			return item.match(filter);=0A=
		} : filter, bind));=0A=
	}=0A=
=0A=
});=0A=
=0A=
Elements.multi =3D function(property){=0A=
	return function(){=0A=
		var items =3D [];=0A=
		var elements =3D true;=0A=
		for (var i =3D 0, j =3D this.length; i < j; i++){=0A=
			var returns =3D this[i][property].apply(this[i], arguments);=0A=
			items.push(returns);=0A=
			if (elements) elements =3D ($type(returns) =3D=3D 'element');=0A=
		}=0A=
		return (elements) ? new Elements(items) : items;=0A=
	};=0A=
};=0A=
=0A=
Window.implement({=0A=
=0A=
	$: function(el, nocash){=0A=
		if (el && el.$family && el.uid) return el;=0A=
		var type =3D $type(el);=0A=
		return ($[type]) ? $[type](el, nocash, this.document) : null;=0A=
	},=0A=
=0A=
	$$: function(selector){=0A=
		if (arguments.length =3D=3D 1 && typeof selector =3D=3D 'string') =
return this.document.getElements(selector);=0A=
		var elements =3D [];=0A=
		var args =3D Array.flatten(arguments);=0A=
		for (var i =3D 0, l =3D args.length; i < l; i++){=0A=
			var item =3D args[i];=0A=
			switch ($type(item)){=0A=
				case 'element': item =3D [item]; break;=0A=
				case 'string': item =3D this.document.getElements(item, true); break;=0A=
				default: item =3D false;=0A=
			}=0A=
			if (item) elements.extend(item);=0A=
		}=0A=
		return new Elements(elements);=0A=
	},=0A=
=0A=
	getDocument: function(){=0A=
		return this.document;=0A=
	},=0A=
=0A=
	getWindow: function(){=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
$.string =3D function(id, nocash, doc){=0A=
	id =3D doc.getElementById(id);=0A=
	return (id) ? $.element(id, nocash) : null;=0A=
};=0A=
=0A=
$.element =3D function(el, nocash){=0A=
	$uid(el);=0A=
	if (!nocash && !el.$family && !(/^object|embed$/i).test(el.tagName)){=0A=
		var proto =3D Element.Prototype;=0A=
		for (var p in proto) el[p] =3D proto[p];=0A=
	};=0A=
	return el;=0A=
};=0A=
=0A=
$.object =3D function(obj, nocash, doc){=0A=
	if (obj.toElement) return $.element(obj.toElement(doc), nocash);=0A=
	return null;=0A=
};=0A=
=0A=
$.textnode =3D $.whitespace =3D $.window =3D $.document =3D =
$arguments(0);=0A=
=0A=
Native.implement([Element, Document], {=0A=
=0A=
	getElement: function(selector, nocash){=0A=
		return $(this.getElements(selector, true)[0] || null, nocash);=0A=
	},=0A=
=0A=
	getElements: function(tags, nocash){=0A=
		tags =3D tags.split(',');=0A=
		var elements =3D [];=0A=
		var ddup =3D (tags.length > 1);=0A=
		tags.each(function(tag){=0A=
			var partial =3D this.getElementsByTagName(tag.trim());=0A=
			(ddup) ? elements.extend(partial) : elements =3D partial;=0A=
		}, this);=0A=
		return new Elements(elements, {ddup: ddup, cash: !nocash});=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.Storage =3D {=0A=
=0A=
	get: function(uid){=0A=
		return (this[uid] || (this[uid] =3D {}));=0A=
	}=0A=
=0A=
};=0A=
=0A=
Element.Inserters =3D new Hash({=0A=
=0A=
	before: function(context, element){=0A=
		if (element.parentNode) element.parentNode.insertBefore(context, =
element);=0A=
	},=0A=
=0A=
	after: function(context, element){=0A=
		if (!element.parentNode) return;=0A=
		var next =3D element.nextSibling;=0A=
		(next) ? element.parentNode.insertBefore(context, next) : =
element.parentNode.appendChild(context);=0A=
	},=0A=
=0A=
	bottom: function(context, element){=0A=
		element.appendChild(context);=0A=
	},=0A=
=0A=
	top: function(context, element){=0A=
		var first =3D element.firstChild;=0A=
		(first) ? element.insertBefore(context, first) : =
element.appendChild(context);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.Inserters.inside =3D Element.Inserters.bottom;=0A=
=0A=
Element.Inserters.each(function(value, key){=0A=
=0A=
	var Key =3D key.capitalize();=0A=
=0A=
	Element.implement('inject' + Key, function(el){=0A=
		value(this, $(el, true));=0A=
		return this;=0A=
	});=0A=
=0A=
	Element.implement('grab' + Key, function(el){=0A=
		value($(el, true), this);=0A=
		return this;=0A=
	});=0A=
=0A=
});=0A=
=0A=
Element.implement({=0A=
=0A=
	getDocument: function(){=0A=
		return this.ownerDocument;=0A=
	},=0A=
=0A=
	getWindow: function(){=0A=
		return this.ownerDocument.getWindow();=0A=
	},=0A=
=0A=
	getElementById: function(id, nocash){=0A=
		var el =3D this.ownerDocument.getElementById(id);=0A=
		if (!el) return null;=0A=
		for (var parent =3D el.parentNode; parent !=3D this; parent =3D =
parent.parentNode){=0A=
			if (!parent) return null;=0A=
		}=0A=
		return $.element(el, nocash);=0A=
	},=0A=
=0A=
	set: function(prop, value){=0A=
		switch ($type(prop)){=0A=
			case 'object':=0A=
				for (var p in prop) this.set(p, prop[p]);=0A=
				break;=0A=
			case 'string':=0A=
				var property =3D Element.Properties.get(prop);=0A=
				(property && property.set) ? property.set.apply(this, =
Array.slice(arguments, 1)) : this.setProperty(prop, value);=0A=
		}=0A=
		return this;=0A=
	},=0A=
=0A=
	get: function(prop){=0A=
		var property =3D Element.Properties.get(prop);=0A=
		return (property && property.get) ? property.get.apply(this, =
Array.slice(arguments, 1)) : this.getProperty(prop);=0A=
	},=0A=
=0A=
	erase: function(prop){=0A=
		var property =3D Element.Properties.get(prop);=0A=
		(property && property.erase) ? property.erase.apply(this, =
Array.slice(arguments, 1)) : this.removeProperty(prop);=0A=
		return this;=0A=
	},=0A=
=0A=
	match: function(tag){=0A=
		return (!tag || Element.get(this, 'tag') =3D=3D tag);=0A=
	},=0A=
=0A=
	inject: function(el, where){=0A=
		Element.Inserters.get(where || 'bottom')(this, $(el, true));=0A=
		return this;=0A=
	},=0A=
=0A=
	wraps: function(el, where){=0A=
		el =3D $(el, true);=0A=
		return this.replaces(el).grab(el, where);=0A=
	},=0A=
=0A=
	grab: function(el, where){=0A=
		Element.Inserters.get(where || 'bottom')($(el, true), this);=0A=
		return this;=0A=
	},=0A=
=0A=
	appendText: function(text, where){=0A=
		return this.grab(this.getDocument().newTextNode(text), where);=0A=
	},=0A=
=0A=
	adopt: function(){=0A=
		Array.flatten(arguments).each(function(element){=0A=
			element =3D $(element, true);=0A=
			if (element) this.appendChild(element);=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	dispose: function(){=0A=
		return (this.parentNode) ? this.parentNode.removeChild(this) : this;=0A=
	},=0A=
=0A=
	clone: function(contents, keepid){=0A=
		switch ($type(this)){=0A=
			case 'element':=0A=
				var attributes =3D {};=0A=
				for (var j =3D 0, l =3D this.attributes.length; j < l; j++){=0A=
					var attribute =3D this.attributes[j], key =3D =
attribute.nodeName.toLowerCase();=0A=
					if (Browser.Engine.trident && (/input/i).test(this.tagName) && =
(/width|height/).test(key)) continue;=0A=
					var value =3D (key =3D=3D 'style' && this.style) ? =
this.style.cssText : attribute.nodeValue;=0A=
					if (!$chk(value) || key =3D=3D 'uid' || (key =3D=3D 'id' && =
!keepid)) continue;=0A=
					if (value !=3D 'inherit' && ['string', =
'number'].contains($type(value))) attributes[key] =3D value;=0A=
				}=0A=
				var element =3D new Element(this.nodeName.toLowerCase(), attributes);=0A=
				if (contents !=3D=3D false){=0A=
					for (var i =3D 0, k =3D this.childNodes.length; i < k; i++){=0A=
						var child =3D Element.clone(this.childNodes[i], true, keepid);=0A=
						if (child) element.grab(child);=0A=
					}=0A=
				}=0A=
				return element;=0A=
			case 'textnode': return document.newTextNode(this.nodeValue);=0A=
		}=0A=
		return null;=0A=
	},=0A=
=0A=
	replaces: function(el){=0A=
		el =3D $(el, true);=0A=
		el.parentNode.replaceChild(this, el);=0A=
		return this;=0A=
	},=0A=
=0A=
	hasClass: function(className){=0A=
		return this.className.contains(className, ' ');=0A=
	},=0A=
=0A=
	addClass: function(className){=0A=
		if (!this.hasClass(className)) this.className =3D (this.className + ' =
' + className).clean();=0A=
		return this;=0A=
	},=0A=
=0A=
	removeClass: function(className){=0A=
		this.className =3D this.className.replace(new RegExp('(^|\\s)' + =
className + '(?:\\s|$)'), '$1').clean();=0A=
		return this;=0A=
	},=0A=
=0A=
	toggleClass: function(className){=0A=
		return this.hasClass(className) ? this.removeClass(className) : =
this.addClass(className);=0A=
	},=0A=
=0A=
	getComputedStyle: function(property){=0A=
		if (this.currentStyle) return this.currentStyle[property.camelCase()];=0A=
		var computed =3D this.getWindow().getComputedStyle(this, null);=0A=
		return (computed) ? computed.getPropertyValue([property.hyphenate()]) =
: null;=0A=
	},=0A=
=0A=
	empty: function(){=0A=
		$A(this.childNodes).each(function(node){=0A=
			Browser.freeMem(node);=0A=
			Element.empty(node);=0A=
			Element.dispose(node);=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	destroy: function(){=0A=
		Browser.freeMem(this.empty().dispose());=0A=
		return null;=0A=
	},=0A=
=0A=
	getSelected: function(){=0A=
		return new Elements($A(this.options).filter(function(option){=0A=
			return option.selected;=0A=
		}));=0A=
	},=0A=
=0A=
	toQueryString: function(){=0A=
		var queryString =3D [];=0A=
		this.getElements('input, select, textarea').each(function(el){=0A=
			if (!el.name || el.disabled) return;=0A=
			var value =3D (el.tagName.toLowerCase() =3D=3D 'select') ? =
Element.getSelected(el).map(function(opt){=0A=
				return opt.value;=0A=
			}) : ((el.type =3D=3D 'radio' || el.type =3D=3D 'checkbox') && =
!el.checked) ? null : el.value;=0A=
			$splat(value).each(function(val){=0A=
				if (val) queryString.push(el.name + '=3D' + encodeURIComponent(val));=0A=
			});=0A=
		});=0A=
		return queryString.join('&');=0A=
	},=0A=
=0A=
	getProperty: function(attribute){=0A=
		var EA =3D Element.Attributes, key =3D EA.Props[attribute];=0A=
		var value =3D (key) ? this[key] : this.getAttribute(attribute, 2);=0A=
		return (EA.Bools[attribute]) ? !!value : (key) ? value : value || null;=0A=
	},=0A=
=0A=
	getProperties: function(){=0A=
		var args =3D $A(arguments);=0A=
		return args.map(function(attr){=0A=
			return this.getProperty(attr);=0A=
		}, this).associate(args);=0A=
	},=0A=
=0A=
	setProperty: function(attribute, value){=0A=
		var EA =3D Element.Attributes, key =3D EA.Props[attribute], hasValue =
=3D $defined(value);=0A=
		if (key && EA.Bools[attribute]) value =3D (value || !hasValue) ? true =
: false;=0A=
		else if (!hasValue) return this.removeProperty(attribute);=0A=
		(key) ? this[key] =3D value : this.setAttribute(attribute, value);=0A=
		return this;=0A=
	},=0A=
=0A=
	setProperties: function(attributes){=0A=
		for (var attribute in attributes) this.setProperty(attribute, =
attributes[attribute]);=0A=
		return this;=0A=
	},=0A=
=0A=
	removeProperty: function(attribute){=0A=
		var EA =3D Element.Attributes, key =3D EA.Props[attribute], isBool =3D =
(key && EA.Bools[attribute]);=0A=
		(key) ? this[key] =3D (isBool) ? false : '' : =
this.removeAttribute(attribute);=0A=
		return this;=0A=
	},=0A=
=0A=
	removeProperties: function(){=0A=
		Array.each(arguments, this.removeProperty, this);=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
(function(){=0A=
=0A=
var walk =3D function(element, walk, start, match, all, nocash){=0A=
	var el =3D element[start || walk];=0A=
	var elements =3D [];=0A=
	while (el){=0A=
		if (el.nodeType =3D=3D 1 && (!match || Element.match(el, match))){=0A=
			elements.push(el);=0A=
			if (!all) break;=0A=
		}=0A=
		el =3D el[walk];=0A=
	}=0A=
	return (all) ? new Elements(elements, {ddup: false, cash: !nocash}) : =
$(elements[0], nocash);=0A=
};=0A=
=0A=
Element.implement({=0A=
=0A=
	getPrevious: function(match, nocash){=0A=
		return walk(this, 'previousSibling', null, match, false, nocash);=0A=
	},=0A=
=0A=
	getAllPrevious: function(match, nocash){=0A=
		return walk(this, 'previousSibling', null, match, true, nocash);=0A=
	},=0A=
=0A=
	getNext: function(match, nocash){=0A=
		return walk(this, 'nextSibling', null, match, false, nocash);=0A=
	},=0A=
=0A=
	getAllNext: function(match, nocash){=0A=
		return walk(this, 'nextSibling', null, match, true, nocash);=0A=
	},=0A=
=0A=
	getFirst: function(match, nocash){=0A=
		return walk(this, 'nextSibling', 'firstChild', match, false, nocash);=0A=
	},=0A=
=0A=
	getLast: function(match, nocash){=0A=
		return walk(this, 'previousSibling', 'lastChild', match, false, =
nocash);=0A=
	},=0A=
=0A=
	getParent: function(match, nocash){=0A=
		return walk(this, 'parentNode', null, match, false, nocash);=0A=
	},=0A=
=0A=
	getParents: function(match, nocash){=0A=
		return walk(this, 'parentNode', null, match, true, nocash);=0A=
	},=0A=
=0A=
	getChildren: function(match, nocash){=0A=
		return walk(this, 'nextSibling', 'firstChild', match, true, nocash);=0A=
	},=0A=
=0A=
	hasChild: function(el){=0A=
		el =3D $(el, true);=0A=
		return (!!el && =
$A(this.getElementsByTagName(el.tagName)).contains(el));=0A=
	}=0A=
=0A=
});=0A=
=0A=
})();=0A=
=0A=
Element.Properties =3D new Hash;=0A=
=0A=
Element.Properties.style =3D {=0A=
=0A=
	set: function(style){=0A=
		this.style.cssText =3D style;=0A=
	},=0A=
=0A=
	get: function(){=0A=
		return this.style.cssText;=0A=
	},=0A=
=0A=
	erase: function(){=0A=
		this.style.cssText =3D '';=0A=
	}=0A=
=0A=
};=0A=
=0A=
Element.Properties.tag =3D {get: function(){=0A=
	return this.tagName.toLowerCase();=0A=
}};=0A=
=0A=
Element.Properties.href =3D {get: function(){=0A=
	return (!this.href) ? null : this.href.replace(new RegExp('^' + =
document.location.protocol + '\/\/' + document.location.host), '');=0A=
}};=0A=
=0A=
Element.Properties.html =3D {set: function(){=0A=
	return this.innerHTML =3D Array.flatten(arguments).join('');=0A=
}};=0A=
=0A=
Native.implement([Element, Window, Document], {=0A=
=0A=
	addListener: function(type, fn){=0A=
		if (this.addEventListener) this.addEventListener(type, fn, false);=0A=
		else this.attachEvent('on' + type, fn);=0A=
		return this;=0A=
	},=0A=
=0A=
	removeListener: function(type, fn){=0A=
		if (this.removeEventListener) this.removeEventListener(type, fn, =
false);=0A=
		else this.detachEvent('on' + type, fn);=0A=
		return this;=0A=
	},=0A=
=0A=
	retrieve: function(property, dflt){=0A=
		var storage =3D Element.Storage.get(this.uid);=0A=
		var prop =3D storage[property];=0A=
		if ($defined(dflt) && !$defined(prop)) prop =3D storage[property] =3D =
dflt;=0A=
		return $pick(prop);=0A=
	},=0A=
=0A=
	store: function(property, value){=0A=
		var storage =3D Element.Storage.get(this.uid);=0A=
		storage[property] =3D value;=0A=
		return this;=0A=
	},=0A=
=0A=
	eliminate: function(property){=0A=
		var storage =3D Element.Storage.get(this.uid);=0A=
		delete storage[property];=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.Attributes =3D new Hash({=0A=
	Props: {'html': 'innerHTML', 'class': 'className', 'for': 'htmlFor', =
'text': (Browser.Engine.trident) ? 'innerText' : 'textContent'},=0A=
	Bools: ['compact', 'nowrap', 'ismap', 'declare', 'noshade', 'checked', =
'disabled', 'readonly', 'multiple', 'selected', 'noresize', 'defer'],=0A=
	Camels: ['value', 'accessKey', 'cellPadding', 'cellSpacing', 'colSpan', =
'frameBorder', 'maxLength', 'readOnly', 'rowSpan', 'tabIndex', 'useMap']=0A=
});=0A=
=0A=
Browser.freeMem =3D function(item){=0A=
	if (!item) return;=0A=
	if (Browser.Engine.trident && (/object/i).test(item.tagName)){=0A=
		for (var p in item){=0A=
			if (typeof item[p] =3D=3D 'function') item[p] =3D $empty;=0A=
		}=0A=
		Element.dispose(item);=0A=
	}=0A=
	if (item.uid && item.removeEvents) item.removeEvents();=0A=
};=0A=
=0A=
(function(EA){=0A=
=0A=
	var EAB =3D EA.Bools, EAC =3D EA.Camels;=0A=
	EA.Bools =3D EAB =3D EAB.associate(EAB);=0A=
	Hash.extend(Hash.combine(EA.Props, EAB), =
EAC.associate(EAC.map(function(v){=0A=
		return v.toLowerCase();=0A=
	})));=0A=
	EA.erase('Camels');=0A=
=0A=
})(Element.Attributes);=0A=
=0A=
window.addListener('unload', function(){=0A=
	window.removeListener('unload', arguments.callee);=0A=
	document.purge();=0A=
	if (Browser.Engine.trident) CollectGarbage();=0A=
});=0A=
=0A=
/*
Script: Element.Event.js
	Contains Element methods for dealing with events, and custom Events.

License:
	MIT-style license.
*/

Element.Properties.events =3D {set: function(events){
	this.addEvents(events);
}};

Native.implement([Element, Window, Document], {

	addEvent: function(type, fn){
		var events =3D this.retrieve('events', {});
		events[type] =3D events[type] || {'keys': [], 'values': []};
		if (events[type].keys.contains(fn)) return this;
		events[type].keys.push(fn);
		var realType =3D type, custom =3D Element.Events.get(type), condition =
=3D fn, self =3D this;
		if (custom){
			if (custom.onAdd) custom.onAdd.call(this, fn);
			if (custom.condition){
				condition =3D function(event){
					if (custom.condition.call(this, event)) return fn.call(this, =
event);
					return false;
				};
			}
			realType =3D custom.base || realType;
		}
		var defn =3D function(){
			return fn.call(self);
		};
		var nativeEvent =3D Element.NativeEvents[realType] || 0;
		if (nativeEvent){
			if (nativeEvent =3D=3D 2){
				defn =3D function(event){
					event =3D new Event(event, self.getWindow());
					if (condition.call(self, event) =3D=3D=3D false) event.stop();
				};
			}
			this.addListener(realType, defn);
		}
		events[type].values.push(defn);
		return this;
	},

	removeEvent: function(type, fn){
		var events =3D this.retrieve('events');
		if (!events || !events[type]) return this;
		var pos =3D events[type].keys.indexOf(fn);
		if (pos =3D=3D -1) return this;
		var key =3D events[type].keys.splice(pos, 1)[0];
		var value =3D events[type].values.splice(pos, 1)[0];
		var custom =3D Element.Events.get(type);
		if (custom){
			if (custom.onRemove) custom.onRemove.call(this, fn);
			type =3D custom.base || type;
		}
		return (Element.NativeEvents[type]) ? this.removeListener(type, value) =
: this;
	},

	addEvents: function(events){
		for (var event in events) this.addEvent(event, events[event]);
		return this;
	},

	removeEvents: function(type){
		var events =3D this.retrieve('events');
		if (!events) return this;
		if (!type){
			for (var evType in events) this.removeEvents(evType);
			events =3D null;
		} else if (events[type]){
			while (events[type].keys[0]) this.removeEvent(type, =
events[type].keys[0]);
			events[type] =3D null;
		}
		return this;
	},

	fireEvent: function(type, args, delay){
		var events =3D this.retrieve('events');
		if (!events || !events[type]) return this;
		events[type].keys.each(function(fn){
			fn.create({'bind': this, 'delay': delay, 'arguments': args})();
		}, this);
		return this;
	},

	cloneEvents: function(from, type){
		from =3D $(from);
		var fevents =3D from.retrieve('events');
		if (!fevents) return this;
		if (!type){
			for (var evType in fevents) this.cloneEvents(from, evType);
		} else if (fevents[type]){
			fevents[type].keys.each(function(fn){
				this.addEvent(type, fn);
			}, this);
		}
		return this;
	}

});

Element.NativeEvents =3D {
	click: 2, dblclick: 2, mouseup: 2, mousedown: 2, contextmenu: 2, =
//mouse buttons
	mousewheel: 2, DOMMouseScroll: 2, //mouse wheel
	mouseover: 2, mouseout: 2, mousemove: 2, selectstart: 2, selectend: 2, =
//mouse movement
	keydown: 2, keypress: 2, keyup: 2, //keyboard
	focus: 2, blur: 2, change: 2, reset: 2, select: 2, submit: 2, //form =
elements
	load: 1, unload: 1, beforeunload: 2, resize: 1, move: 1, =
DOMContentLoaded: 1, readystatechange: 1, //window
	error: 1, abort: 1, scroll: 1 //misc
};

(function(){

var $check =3D function(event){
	var related =3D event.relatedTarget;
	if (related =3D=3D undefined) return true;
	if (related =3D=3D=3D false) return false;
	return ($type(this) !=3D 'document' && related !=3D this && =
related.prefix !=3D 'xul' && !this.hasChild(related));
};

Element.Events =3D new Hash({

	mouseenter: {
		base: 'mouseover',
		condition: $check
	},

	mouseleave: {
		base: 'mouseout',
		condition: $check
	},

	mousewheel: {
		base: (Browser.Engine.gecko) ? 'DOMMouseScroll' : 'mousewheel'
	}

});

})();=0A=
=0A=
/*=0A=
Script: Element.Style.js=0A=
	Contains methods for interacting with the styles of Elements in a =
fashionable way.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Element.Properties.styles =3D {set: function(styles){=0A=
	this.setStyles(styles);=0A=
}};=0A=
=0A=
Element.Properties.opacity =3D {=0A=
=0A=
	set: function(opacity, novisibility){=0A=
		if (!novisibility){=0A=
			if (opacity =3D=3D 0){=0A=
				if (this.style.visibility !=3D 'hidden') this.style.visibility =3D =
'hidden';=0A=
			} else {=0A=
				if (this.style.visibility !=3D 'visible') this.style.visibility =3D =
'visible';=0A=
			}=0A=
		}=0A=
		if (!this.currentStyle || !this.currentStyle.hasLayout) =
this.style.zoom =3D 1;=0A=
		if (Browser.Engine.trident) this.style.filter =3D (opacity =3D=3D 1) ? =
'' : 'alpha(opacity=3D' + opacity * 100 + ')';=0A=
		this.style.opacity =3D opacity;=0A=
		this.store('opacity', opacity);=0A=
	},=0A=
=0A=
	get: function(){=0A=
		return this.retrieve('opacity', 1);=0A=
	}=0A=
=0A=
};=0A=
=0A=
Element.implement({=0A=
	=0A=
	setOpacity: function(value){=0A=
		return this.set('opacity', value, true);=0A=
	},=0A=
	=0A=
	getOpacity: function(){=0A=
		return this.get('opacity');=0A=
	},=0A=
=0A=
	setStyle: function(property, value){=0A=
		switch (property){=0A=
			case 'opacity': return this.set('opacity', parseFloat(value));=0A=
			case 'float': property =3D (Browser.Engine.trident) ? 'styleFloat' : =
'cssFloat';=0A=
		}=0A=
		property =3D property.camelCase();=0A=
		if ($type(value) !=3D 'string'){=0A=
			var map =3D (Element.Styles.get(property) || '@').split(' ');=0A=
			value =3D $splat(value).map(function(val, i){=0A=
				if (!map[i]) return '';=0A=
				return ($type(val) =3D=3D 'number') ? map[i].replace('@', =
Math.round(val)) : val;=0A=
			}).join(' ');=0A=
		} else if (value =3D=3D String(Number(value))){=0A=
			value =3D Math.round(value);=0A=
		}=0A=
		this.style[property] =3D value;=0A=
		return this;=0A=
	},=0A=
=0A=
	getStyle: function(property){=0A=
		switch (property){=0A=
			case 'opacity': return this.get('opacity');=0A=
			case 'float': property =3D (Browser.Engine.trident) ? 'styleFloat' : =
'cssFloat';=0A=
		}=0A=
		property =3D property.camelCase();=0A=
		var result =3D this.style[property];=0A=
		if (!$chk(result)){=0A=
			result =3D [];=0A=
			for (var style in Element.ShortStyles){=0A=
				if (property !=3D style) continue;=0A=
				for (var s in Element.ShortStyles[style]) =
result.push(this.getStyle(s));=0A=
				return result.join(' ');=0A=
			}=0A=
			result =3D this.getComputedStyle(property);=0A=
		}=0A=
		if (result){=0A=
			result =3D String(result);=0A=
			var color =3D result.match(/rgba?\([\d\s,]+\)/);=0A=
			if (color) result =3D result.replace(color[0], color[0].rgbToHex());=0A=
		}=0A=
		if (Browser.Engine.presto || (Browser.Engine.trident && =
!$chk(parseInt(result)))){=0A=
			if (property.test(/^(height|width)$/)){=0A=
				var values =3D (property =3D=3D 'width') ? ['left', 'right'] : =
['top', 'bottom'], size =3D 0;=0A=
				values.each(function(value){=0A=
					size +=3D this.getStyle('border-' + value + '-width').toInt() + =
this.getStyle('padding-' + value).toInt();=0A=
				}, this);=0A=
				return this['offset' + property.capitalize()] - size + 'px';=0A=
			}=0A=
			if (Browser.Engine.presto && String(result).test('px')) return result;=0A=
			if (property.test(/(border(.+)Width|margin|padding)/)) return '0px';=0A=
		}=0A=
		return result;=0A=
	},=0A=
=0A=
	setStyles: function(styles){=0A=
		for (var style in styles) this.setStyle(style, styles[style]);=0A=
		return this;=0A=
	},=0A=
=0A=
	getStyles: function(){=0A=
		var result =3D {};=0A=
		Array.each(arguments, function(key){=0A=
			result[key] =3D this.getStyle(key);=0A=
		}, this);=0A=
		return result;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.Styles =3D new Hash({=0A=
	left: '@px', top: '@px', bottom: '@px', right: '@px',=0A=
	width: '@px', height: '@px', maxWidth: '@px', maxHeight: '@px', =
minWidth: '@px', minHeight: '@px',=0A=
	backgroundColor: 'rgb(@, @, @)', backgroundPosition: '@px @px', color: =
'rgb(@, @, @)',=0A=
	fontSize: '@px', letterSpacing: '@px', lineHeight: '@px', clip: =
'rect(@px @px @px @px)',=0A=
	margin: '@px @px @px @px', padding: '@px @px @px @px', border: '@px @ =
rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)',=0A=
	borderWidth: '@px @px @px @px', borderStyle: '@ @ @ @', borderColor: =
'rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)',=0A=
	zIndex: '@', 'zoom': '@', fontWeight: '@', textIndent: '@px', opacity: =
'@'=0A=
});=0A=
=0A=
Element.ShortStyles =3D {margin: {}, padding: {}, border: {}, =
borderWidth: {}, borderStyle: {}, borderColor: {}};=0A=
=0A=
['Top', 'Right', 'Bottom', 'Left'].each(function(direction){=0A=
	var Short =3D Element.ShortStyles;=0A=
	var All =3D Element.Styles;=0A=
	['margin', 'padding'].each(function(style){=0A=
		var sd =3D style + direction;=0A=
		Short[style][sd] =3D All[sd] =3D '@px';=0A=
	});=0A=
	var bd =3D 'border' + direction;=0A=
	Short.border[bd] =3D All[bd] =3D '@px @ rgb(@, @, @)';=0A=
	var bdw =3D bd + 'Width', bds =3D bd + 'Style', bdc =3D bd + 'Color';=0A=
	Short[bd] =3D {};=0A=
	Short.borderWidth[bdw] =3D Short[bd][bdw] =3D All[bdw] =3D '@px';=0A=
	Short.borderStyle[bds] =3D Short[bd][bds] =3D All[bds] =3D '@';=0A=
	Short.borderColor[bdc] =3D Short[bd][bdc] =3D All[bdc] =3D 'rgb(@, @, =
@)';=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Element.Dimensions.js=0A=
	Contains methods to work with size, scroll, or positioning of Elements =
and the window object.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
=0A=
Credits:=0A=
	- Element positioning based on the [qooxdoo](http://qooxdoo.org/) code =
and smart browser fixes, [LGPL =
License](http://www.gnu.org/licenses/lgpl.html).=0A=
	- Viewport dimensions based on [YUI](http://developer.yahoo.com/yui/) =
code, [BSD License](http://developer.yahoo.com/yui/license.html).=0A=
*/=0A=
=0A=
(function(){=0A=
=0A=
Element.implement({=0A=
=0A=
	scrollTo: function(x, y){=0A=
		if (isBody(this)){=0A=
			this.getWindow().scrollTo(x, y);=0A=
		} else {=0A=
			this.scrollLeft =3D x;=0A=
			this.scrollTop =3D y;=0A=
		}=0A=
		return this;=0A=
	},=0A=
=0A=
	getSize: function(){=0A=
		if (isBody(this)) return this.getWindow().getSize();=0A=
		return {x: this.offsetWidth, y: this.offsetHeight};=0A=
	},=0A=
=0A=
	getScrollSize: function(){=0A=
		if (isBody(this)) return this.getWindow().getScrollSize();=0A=
		return {x: this.scrollWidth, y: this.scrollHeight};=0A=
	},=0A=
=0A=
	getScroll: function(){=0A=
		if (isBody(this)) return this.getWindow().getScroll();=0A=
		return {x: this.scrollLeft, y: this.scrollTop};=0A=
	},=0A=
=0A=
	getScrolls: function(){=0A=
		var element =3D this, position =3D {x: 0, y: 0};=0A=
		while (element && !isBody(element)){=0A=
			position.x +=3D element.scrollLeft;=0A=
			position.y +=3D element.scrollTop;=0A=
			element =3D element.parentNode;=0A=
		}=0A=
		return position;=0A=
	},=0A=
	=0A=
	getOffsetParent: function(){=0A=
		var element =3D this;=0A=
		if (isBody(element)) return null; =0A=
		if (!Browser.Engine.trident) return element.offsetParent;=0A=
		while ((element =3D element.parentNode) && !isBody(element)){ =0A=
			if (styleString(element, 'position') !=3D 'static') return element;=0A=
		} =0A=
		return null;=0A=
	},=0A=
=0A=
	getOffsets: function(){=0A=
		var element =3D this, position =3D {x: 0, y: 0};=0A=
		if (isBody(this)) return position;=0A=
=0A=
		while (element && !isBody(element)){=0A=
			position.x +=3D element.offsetLeft;=0A=
			position.y +=3D element.offsetTop;=0A=
=0A=
			if (Browser.Engine.gecko){=0A=
				if (!borderBox(element)){=0A=
					position.x +=3D leftBorder(element);=0A=
					position.y +=3D topBorder(element);=0A=
				}=0A=
				var parent =3D element.parentNode;=0A=
				if (parent && styleString(parent, 'overflow') !=3D 'visible'){=0A=
					position.x +=3D leftBorder(parent);=0A=
					position.y +=3D topBorder(parent);=0A=
				}=0A=
			} else if (element !=3D this && (Browser.Engine.trident || =
Browser.Engine.webkit)){=0A=
				position.x +=3D leftBorder(element);=0A=
				position.y +=3D topBorder(element);=0A=
			}=0A=
=0A=
			element =3D element.offsetParent;=0A=
			if (Browser.Engine.trident){=0A=
				while (element && !element.currentStyle.hasLayout) element =3D =
element.offsetParent;=0A=
			}=0A=
		}=0A=
		if (Browser.Engine.gecko && !borderBox(this)){=0A=
			position.x -=3D leftBorder(this);=0A=
			position.y -=3D topBorder(this);=0A=
		}=0A=
		return position;=0A=
	},=0A=
=0A=
	getPosition: function(relative){=0A=
		if (isBody(this)) return {x: 0, y: 0};=0A=
		var offset =3D this.getOffsets(), scroll =3D this.getScrolls();=0A=
		var position =3D {x: offset.x - scroll.x, y: offset.y - scroll.y};=0A=
		var relativePosition =3D (relative && (relative =3D $(relative))) ? =
relative.getPosition() : {x: 0, y: 0};=0A=
		return {x: position.x - relativePosition.x, y: position.y - =
relativePosition.y};=0A=
	},=0A=
=0A=
	getCoordinates: function(element){=0A=
		if (isBody(this)) return this.getWindow().getCoordinates();=0A=
		var position =3D this.getPosition(element), size =3D this.getSize();=0A=
		var obj =3D {left: position.x, top: position.y, width: size.x, height: =
size.y};=0A=
		obj.right =3D obj.left + obj.width;=0A=
		obj.bottom =3D obj.top + obj.height;=0A=
		return obj;=0A=
	},=0A=
=0A=
	computePosition: function(obj){=0A=
		return {left: obj.x - styleNumber(this, 'margin-left'), top: obj.y - =
styleNumber(this, 'margin-top')};=0A=
	},=0A=
=0A=
	position: function(obj){=0A=
		return this.setStyles(this.computePosition(obj));=0A=
	}=0A=
=0A=
});=0A=
=0A=
Native.implement([Document, Window], {=0A=
=0A=
	getSize: function(){=0A=
		var win =3D this.getWindow();=0A=
		if (Browser.Engine.presto || Browser.Engine.webkit) return {x: =
win.innerWidth, y: win.innerHeight};=0A=
		var doc =3D getCompatElement(this);=0A=
		return {x: doc.clientWidth, y: doc.clientHeight};=0A=
	},=0A=
=0A=
	getScroll: function(){=0A=
		var win =3D this.getWindow();=0A=
		var doc =3D getCompatElement(this);=0A=
		return {x: win.pageXOffset || doc.scrollLeft, y: win.pageYOffset || =
doc.scrollTop};=0A=
	},=0A=
=0A=
	getScrollSize: function(){=0A=
		var doc =3D getCompatElement(this);=0A=
		var min =3D this.getSize();=0A=
		return {x: Math.max(doc.scrollWidth, min.x), y: =
Math.max(doc.scrollHeight, min.y)};=0A=
	},=0A=
=0A=
	getPosition: function(){=0A=
		return {x: 0, y: 0};=0A=
	},=0A=
=0A=
	getCoordinates: function(){=0A=
		var size =3D this.getSize();=0A=
		return {top: 0, left: 0, bottom: size.y, right: size.x, height: =
size.y, width: size.x};=0A=
	}=0A=
=0A=
});=0A=
=0A=
// private methods=0A=
=0A=
var styleString =3D Element.getComputedStyle;=0A=
=0A=
function styleNumber(element, style){=0A=
	return styleString(element, style).toInt() || 0;=0A=
};=0A=
=0A=
function borderBox(element){=0A=
	return styleString(element, '-moz-box-sizing') =3D=3D 'border-box';=0A=
};=0A=
=0A=
function topBorder(element){=0A=
	return styleNumber(element, 'border-top-width');=0A=
};=0A=
=0A=
function leftBorder(element){=0A=
	return styleNumber(element, 'border-left-width');=0A=
};=0A=
=0A=
function isBody(element){=0A=
	return (/^(?:body|html)$/i).test(element.tagName);=0A=
};=0A=
=0A=
function getCompatElement(element){=0A=
	var doc =3D element.getDocument();=0A=
	return (!doc.compatMode || doc.compatMode =3D=3D 'CSS1Compat') ? =
doc.html : doc.body;=0A=
};=0A=
=0A=
})();=0A=
=0A=
//aliases=0A=
=0A=
Native.implement([Window, Document, Element], {=0A=
=0A=
	getHeight: function(){=0A=
		return this.getSize().y;=0A=
	},=0A=
=0A=
	getWidth: function(){=0A=
		return this.getSize().x;=0A=
	},=0A=
=0A=
	getScrollTop: function(){=0A=
		return this.getScroll().y;=0A=
	},=0A=
=0A=
	getScrollLeft: function(){=0A=
		return this.getScroll().x;=0A=
	},=0A=
=0A=
	getScrollHeight: function(){=0A=
		return this.getScrollSize().y;=0A=
	},=0A=
=0A=
	getScrollWidth: function(){=0A=
		return this.getScrollSize().x;=0A=
	},=0A=
=0A=
	getTop: function(){=0A=
		return this.getPosition().y;=0A=
	},=0A=
=0A=
	getLeft: function(){=0A=
		return this.getPosition().x;=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Selectors.js=0A=
	Adds advanced CSS Querying capabilities for targeting elements. Also =
includes pseudoselectors support.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Native.implement([Document, Element], {=0A=
	=0A=
	getElements: function(expression, nocash){=0A=
		expression =3D expression.split(',');=0A=
		var items, local =3D {};=0A=
		for (var i =3D 0, l =3D expression.length; i < l; i++){=0A=
			var selector =3D expression[i], elements =3D =
Selectors.Utils.search(this, selector, local);=0A=
			if (i !=3D 0 && elements.item) elements =3D $A(elements);=0A=
			items =3D (i =3D=3D 0) ? elements : (items.item) ? =
$A(items).concat(elements) : items.concat(elements);=0A=
		}=0A=
		return new Elements(items, {ddup: (expression.length > 1), cash: =
!nocash});=0A=
	}=0A=
	=0A=
});=0A=
=0A=
Element.implement({=0A=
	=0A=
	match: function(selector){=0A=
		if (!selector) return true;=0A=
		var tagid =3D Selectors.Utils.parseTagAndID(selector);=0A=
		var tag =3D tagid[0], id =3D tagid[1];=0A=
		if (!Selectors.Filters.byID(this, id) || =
!Selectors.Filters.byTag(this, tag)) return false;=0A=
		var parsed =3D Selectors.Utils.parseSelector(selector);=0A=
		return (parsed) ? Selectors.Utils.filter(this, parsed, {}) : true;=0A=
	}=0A=
	=0A=
});=0A=
=0A=
var Selectors =3D {Cache: {nth: {}, parsed: {}}};=0A=
=0A=
Selectors.RegExps =3D {=0A=
	id: (/#([\w-]+)/),=0A=
	tag: (/^(\w+|\*)/),=0A=
	quick: (/^(\w+|\*)$/),=0A=
	splitter: (/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),=0A=
	combined: =
(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=3D)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["=
']?(.*?)?["']?\)|$)/g)=0A=
};=0A=
=0A=
Selectors.Utils =3D {=0A=
	=0A=
	chk: function(item, uniques){=0A=
		if (!uniques) return true;=0A=
		var uid =3D $uid(item);=0A=
		if (!uniques[uid]) return uniques[uid] =3D true;=0A=
		return false;=0A=
	},=0A=
	=0A=
	parseNthArgument: function(argument){=0A=
		if (Selectors.Cache.nth[argument]) return =
Selectors.Cache.nth[argument];=0A=
		var parsed =3D argument.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);=0A=
		if (!parsed) return false;=0A=
		var inta =3D parseInt(parsed[1]);=0A=
		var a =3D (inta || inta =3D=3D=3D 0) ? inta : 1;=0A=
		var special =3D parsed[2] || false;=0A=
		var b =3D parseInt(parsed[3]) || 0;=0A=
		if (a !=3D 0){=0A=
			b--;=0A=
			while (b < 1) b +=3D a;=0A=
			while (b >=3D a) b -=3D a;=0A=
		} else {=0A=
			a =3D b;=0A=
			special =3D 'index';=0A=
		}=0A=
		switch (special){=0A=
			case 'n': parsed =3D {a: a, b: b, special: 'n'}; break;=0A=
			case 'odd': parsed =3D {a: 2, b: 0, special: 'n'}; break;=0A=
			case 'even': parsed =3D  {a: 2, b: 1, special: 'n'}; break;=0A=
			case 'first': parsed =3D {a: 0, special: 'index'}; break;=0A=
			case 'last': parsed =3D {special: 'last-child'}; break;=0A=
			case 'only': parsed =3D {special: 'only-child'}; break;=0A=
			default: parsed =3D {a: (a - 1), special: 'index'};=0A=
		}=0A=
		=0A=
		return Selectors.Cache.nth[argument] =3D parsed;=0A=
	},=0A=
	=0A=
	parseSelector: function(selector){=0A=
		if (Selectors.Cache.parsed[selector]) return =
Selectors.Cache.parsed[selector];=0A=
		var m, parsed =3D {classes: [], pseudos: [], attributes: []};=0A=
		while ((m =3D Selectors.RegExps.combined.exec(selector))){=0A=
			var cn =3D m[1], an =3D m[2], ao =3D m[3], av =3D m[4], pn =3D m[5], =
pa =3D m[6];=0A=
			if (cn){=0A=
				parsed.classes.push(cn);=0A=
			} else if (pn){=0A=
				var parser =3D Selectors.Pseudo.get(pn);=0A=
				if (parser) parsed.pseudos.push({parser: parser, argument: pa});=0A=
				else parsed.attributes.push({name: pn, operator: '=3D', value: pa});=0A=
			} else if (an){=0A=
				parsed.attributes.push({name: an, operator: ao, value: av});=0A=
			}=0A=
		}=0A=
		if (!parsed.classes.length) delete parsed.classes;=0A=
		if (!parsed.attributes.length) delete parsed.attributes;=0A=
		if (!parsed.pseudos.length) delete parsed.pseudos;=0A=
		if (!parsed.classes && !parsed.attributes && !parsed.pseudos) parsed =
=3D null;=0A=
		return Selectors.Cache.parsed[selector] =3D parsed;=0A=
	},=0A=
	=0A=
	parseTagAndID: function(selector){=0A=
		var tag =3D selector.match(Selectors.RegExps.tag);=0A=
		var id =3D selector.match(Selectors.RegExps.id);=0A=
		return [(tag) ? tag[1] : '*', (id) ? id[1] : false];=0A=
	},=0A=
	=0A=
	filter: function(item, parsed, local){=0A=
		var i;=0A=
		if (parsed.classes){=0A=
			for (i =3D parsed.classes.length; i--; i){=0A=
				var cn =3D parsed.classes[i];=0A=
				if (!Selectors.Filters.byClass(item, cn)) return false;=0A=
			}=0A=
		}=0A=
		if (parsed.attributes){=0A=
			for (i =3D parsed.attributes.length; i--; i){=0A=
				var att =3D parsed.attributes[i];=0A=
				if (!Selectors.Filters.byAttribute(item, att.name, att.operator, =
att.value)) return false;=0A=
			}=0A=
		}=0A=
		if (parsed.pseudos){=0A=
			for (i =3D parsed.pseudos.length; i--; i){=0A=
				var psd =3D parsed.pseudos[i];=0A=
				if (!Selectors.Filters.byPseudo(item, psd.parser, psd.argument, =
local)) return false;=0A=
			}=0A=
		}=0A=
		return true;=0A=
	},=0A=
	=0A=
	getByTagAndID: function(ctx, tag, id){=0A=
		if (id){=0A=
			var item =3D (ctx.getElementById) ? ctx.getElementById(id, true) : =
Element.getElementById(ctx, id, true);=0A=
			return (item && Selectors.Filters.byTag(item, tag)) ? [item] : [];=0A=
		} else {=0A=
			return ctx.getElementsByTagName(tag);=0A=
		}=0A=
	},=0A=
	=0A=
	search: function(self, expression, local){=0A=
		var splitters =3D [];=0A=
		=0A=
		var selectors =3D =
expression.trim().replace(Selectors.RegExps.splitter, function(m0, m1, =
m2){=0A=
			splitters.push(m1);=0A=
			return ':)' + m2;=0A=
		}).split(':)');=0A=
		=0A=
		var items, match, filtered, item;=0A=
		=0A=
		for (var i =3D 0, l =3D selectors.length; i < l; i++){=0A=
			=0A=
			var selector =3D selectors[i];=0A=
			=0A=
			if (i =3D=3D 0 && Selectors.RegExps.quick.test(selector)){=0A=
				items =3D self.getElementsByTagName(selector);=0A=
				continue;=0A=
			}=0A=
			=0A=
			var splitter =3D splitters[i - 1];=0A=
			=0A=
			var tagid =3D Selectors.Utils.parseTagAndID(selector);=0A=
			var tag =3D tagid[0], id =3D tagid[1];=0A=
=0A=
			if (i =3D=3D 0){=0A=
				items =3D Selectors.Utils.getByTagAndID(self, tag, id);=0A=
			} else {=0A=
				var uniques =3D {}, found =3D [];=0A=
				for (var j =3D 0, k =3D items.length; j < k; j++) found =3D =
Selectors.Getters[splitter](found, items[j], tag, id, uniques);=0A=
				items =3D found;=0A=
			}=0A=
			=0A=
			var parsed =3D Selectors.Utils.parseSelector(selector);=0A=
			=0A=
			if (parsed){=0A=
				filtered =3D [];=0A=
				for (var m =3D 0, n =3D items.length; m < n; m++){=0A=
					item =3D items[m];=0A=
					if (Selectors.Utils.filter(item, parsed, local)) =
filtered.push(item);=0A=
				}=0A=
				items =3D filtered;=0A=
			}=0A=
			=0A=
		}=0A=
		=0A=
		return items;=0A=
		=0A=
	}=0A=
	=0A=
};=0A=
=0A=
Selectors.Getters =3D {=0A=
	=0A=
	' ': function(found, self, tag, id, uniques){=0A=
		var items =3D Selectors.Utils.getByTagAndID(self, tag, id);=0A=
		for (var i =3D 0, l =3D items.length; i < l; i++){=0A=
			var item =3D items[i];=0A=
			if (Selectors.Utils.chk(item, uniques)) found.push(item);=0A=
		}=0A=
		return found;=0A=
	},=0A=
	=0A=
	'>': function(found, self, tag, id, uniques){=0A=
		var children =3D Selectors.Utils.getByTagAndID(self, tag, id);=0A=
		for (var i =3D 0, l =3D children.length; i < l; i++){=0A=
			var child =3D children[i];=0A=
			if (child.parentNode =3D=3D self && Selectors.Utils.chk(child, =
uniques)) found.push(child);=0A=
		}=0A=
		return found;=0A=
	},=0A=
	=0A=
	'+': function(found, self, tag, id, uniques){=0A=
		while ((self =3D self.nextSibling)){=0A=
			if (self.nodeType =3D=3D 1){=0A=
				if (Selectors.Utils.chk(self, uniques) && =
Selectors.Filters.byTag(self, tag) && Selectors.Filters.byID(self, id)) =
found.push(self);=0A=
				break;=0A=
			}=0A=
		}=0A=
		return found;=0A=
	},=0A=
	=0A=
	'~': function(found, self, tag, id, uniques){=0A=
		=0A=
		while ((self =3D self.nextSibling)){=0A=
			if (self.nodeType =3D=3D 1){=0A=
				if (!Selectors.Utils.chk(self, uniques)) break;=0A=
				if (Selectors.Filters.byTag(self, tag) && =
Selectors.Filters.byID(self, id)) found.push(self);=0A=
			} =0A=
		}=0A=
		return found;=0A=
	}=0A=
	=0A=
};=0A=
=0A=
Selectors.Filters =3D {=0A=
	=0A=
	byTag: function(self, tag){=0A=
		return (tag =3D=3D '*' || (self.tagName && self.tagName.toLowerCase() =
=3D=3D tag));=0A=
	},=0A=
	=0A=
	byID: function(self, id){=0A=
		return (!id || (self.id && self.id =3D=3D id));=0A=
	},=0A=
	=0A=
	byClass: function(self, klass){=0A=
		return (self.className && self.className.contains(klass, ' '));=0A=
	},=0A=
	=0A=
	byPseudo: function(self, parser, argument, local){=0A=
		return parser.call(self, argument, local);=0A=
	},=0A=
	=0A=
	byAttribute: function(self, name, operator, value){=0A=
		var result =3D Element.prototype.getProperty.call(self, name);=0A=
		if (!result) return false;=0A=
		if (!operator || value =3D=3D undefined) return true;=0A=
		switch (operator){=0A=
			case '=3D': return (result =3D=3D value);=0A=
			case '*=3D': return (result.contains(value));=0A=
			case '^=3D': return (result.substr(0, value.length) =3D=3D value);=0A=
			case '$=3D': return (result.substr(result.length - value.length) =
=3D=3D value);=0A=
			case '!=3D': return (result !=3D value);=0A=
			case '~=3D': return result.contains(value, ' ');=0A=
			case '|=3D': return result.contains(value, '-');=0A=
		}=0A=
		return false;=0A=
	}=0A=
	=0A=
};=0A=
=0A=
Selectors.Pseudo =3D new Hash({=0A=
	=0A=
	// w3c pseudo selectors=0A=
	=0A=
	empty: function(){=0A=
		return !(this.innerText || this.textContent || '').length;=0A=
	},=0A=
	=0A=
	not: function(selector){=0A=
		return !Element.match(this, selector);=0A=
	},=0A=
	=0A=
	contains: function(text){=0A=
		return (this.innerText || this.textContent || '').contains(text);=0A=
	},=0A=
	=0A=
	'first-child': function(){=0A=
		return Selectors.Pseudo.index.call(this, 0);=0A=
	},=0A=
	=0A=
	'last-child': function(){=0A=
		var element =3D this;=0A=
		while ((element =3D element.nextSibling)){=0A=
			if (element.nodeType =3D=3D 1) return false;=0A=
		}=0A=
		return true;=0A=
	},=0A=
	=0A=
	'only-child': function(){=0A=
		var prev =3D this;=0A=
		while ((prev =3D prev.previousSibling)){=0A=
			if (prev.nodeType =3D=3D 1) return false;=0A=
		}=0A=
		var next =3D this;=0A=
		while ((next =3D next.nextSibling)){=0A=
			if (next.nodeType =3D=3D 1) return false;=0A=
		}=0A=
		return true;=0A=
	},=0A=
	=0A=
	'nth-child': function(argument, local){=0A=
		argument =3D (argument =3D=3D undefined) ? 'n' : argument;=0A=
		var parsed =3D Selectors.Utils.parseNthArgument(argument);=0A=
		if (parsed.special !=3D 'n') return =
Selectors.Pseudo[parsed.special].call(this, parsed.a, local);=0A=
		var count =3D 0;=0A=
		local.positions =3D local.positions || {};=0A=
		var uid =3D $uid(this);=0A=
		if (!local.positions[uid]){=0A=
			var self =3D this;=0A=
			while ((self =3D self.previousSibling)){=0A=
				if (self.nodeType !=3D 1) continue;=0A=
				count ++;=0A=
				var position =3D local.positions[$uid(self)];=0A=
				if (position !=3D undefined){=0A=
					count =3D position + count;=0A=
					break;=0A=
				}=0A=
			}=0A=
			local.positions[uid] =3D count;=0A=
		}=0A=
		return (local.positions[uid] % parsed.a =3D=3D parsed.b);=0A=
	},=0A=
	=0A=
	// custom pseudo selectors=0A=
	=0A=
	index: function(index){=0A=
		var element =3D this, count =3D 0;=0A=
		while ((element =3D element.previousSibling)){=0A=
			if (element.nodeType =3D=3D 1 && ++count > index) return false;=0A=
		}=0A=
		return (count =3D=3D index);=0A=
	},=0A=
	=0A=
	even: function(argument, local){=0A=
		return Selectors.Pseudo['nth-child'].call(this, '2n+1', local);=0A=
	},=0A=
=0A=
	odd: function(argument, local){=0A=
		return Selectors.Pseudo['nth-child'].call(this, '2n', local);=0A=
	}=0A=
	=0A=
});=0A=
=0A=
/*=0A=
Script: Domready.js=0A=
	Contains the domready custom event.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Element.Events.domready =3D {=0A=
=0A=
	onAdd: function(fn){=0A=
		if (Browser.loaded) fn.call(this);=0A=
	}=0A=
=0A=
};=0A=
=0A=
(function(){=0A=
	=0A=
	var domready =3D function(){=0A=
		if (Browser.loaded) return;=0A=
		Browser.loaded =3D true;=0A=
		window.fireEvent('domready');=0A=
		document.fireEvent('domready');=0A=
	};=0A=
	=0A=
	switch (Browser.Engine.name){=0A=
=0A=
		case 'webkit': (function(){=0A=
			(['loaded', 'complete'].contains(document.readyState)) ? domready() : =
arguments.callee.delay(50);=0A=
		})(); break;=0A=
=0A=
		case 'trident':=0A=
			var temp =3D document.createElement('div');=0A=
			(function(){=0A=
				($try(function(){=0A=
					temp.doScroll('left');=0A=
					return $(temp).inject(document.body).set('html', 'temp').dispose();=0A=
				})) ? domready() : arguments.callee.delay(50);=0A=
			})();=0A=
		break;=0A=
		=0A=
		default:=0A=
			window.addEvent('load', domready);=0A=
			document.addEvent('DOMContentLoaded', domready);=0A=
=0A=
	}=0A=
	=0A=
})();=0A=
=0A=
/*=0A=
Script: JSON.js=0A=
	JSON encoder and decoder.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
=0A=
See Also:=0A=
	<http://www.json.org/>=0A=
*/=0A=
=0A=
var JSON =3D new Hash({=0A=
=0A=
	encode: function(obj){=0A=
		switch ($type(obj)){=0A=
			case 'string':=0A=
				return '"' + obj.replace(/[\x00-\x1f\\"]/g, JSON.$replaceChars) + =
'"';=0A=
			case 'array':=0A=
				return '[' + String(obj.map(JSON.encode).filter($defined)) + ']';=0A=
			case 'object': case 'hash':=0A=
				var string =3D [];=0A=
				Hash.each(obj, function(value, key){=0A=
					var json =3D JSON.encode(value);=0A=
					if (json) string.push(JSON.encode(key) + ':' + json);=0A=
				});=0A=
				return '{' + string + '}';=0A=
			case 'number': case 'boolean': return String(obj);=0A=
			case false: return 'null';=0A=
		}=0A=
		return null;=0A=
	},=0A=
=0A=
	$specialChars: {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', =
'\r': '\\r', '"' : '\\"', '\\': '\\\\'},=0A=
=0A=
	$replaceChars: function(chr){=0A=
		return JSON.$specialChars[chr] || '\\u00' + =
Math.floor(chr.charCodeAt() / 16).toString(16) + (chr.charCodeAt() % =
16).toString(16);=0A=
	},=0A=
=0A=
	decode: function(string, secure){=0A=
		if ($type(string) !=3D 'string' || !string.length) return null;=0A=
		if (secure && !(/^[,:{}\[\]0-9.\-+Eaeflnr-u =
\n\r\t]*$/).test(string.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, =
''))) return null;=0A=
		return eval('(' + string + ')');=0A=
	}=0A=
=0A=
});=0A=
=0A=
Native.implement([Hash, Array, String, Number], {=0A=
=0A=
	toJSON: function(){=0A=
		return JSON.encode(this);=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Cookie.js=0A=
	Class for creating, loading, and saving browser Cookies.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
=0A=
Credits:=0A=
	Based on the functions by Peter-Paul Koch (http://quirksmode.org).=0A=
*/=0A=
=0A=
var Cookie =3D new Class({=0A=
=0A=
	Implements: Options,=0A=
=0A=
	options: {=0A=
		path: false,=0A=
		domain: false,=0A=
		duration: false,=0A=
		secure: false,=0A=
		document: document=0A=
	},=0A=
=0A=
	initialize: function(key, options){=0A=
		this.key =3D key;=0A=
		this.setOptions(options);=0A=
	},=0A=
=0A=
	write: function(value){=0A=
		value =3D encodeURIComponent(value);=0A=
		if (this.options.domain) value +=3D '; domain=3D' + =
this.options.domain;=0A=
		if (this.options.path) value +=3D '; path=3D' + this.options.path;=0A=
		if (this.options.duration){=0A=
			var date =3D new Date();=0A=
			date.setTime(date.getTime() + this.options.duration * 24 * 60 * 60 * =
1000);=0A=
			value +=3D '; expires=3D' + date.toGMTString();=0A=
		}=0A=
		if (this.options.secure) value +=3D '; secure';=0A=
		this.options.document.cookie =3D this.key + '=3D' + value;=0A=
		return this;=0A=
	},=0A=
=0A=
	read: function(){=0A=
		var value =3D this.options.document.cookie.match('(?:^|;)\\s*' + =
this.key.escapeRegExp() + '=3D([^;]*)');=0A=
		return (value) ? decodeURIComponent(value[1]) : null;=0A=
	},=0A=
=0A=
	dispose: function(){=0A=
		new Cookie(this.key, $merge(this.options, {duration: -1})).write('');=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Cookie.write =3D function(key, value, options){=0A=
	return new Cookie(key, options).write(value);=0A=
};=0A=
=0A=
Cookie.read =3D function(key){=0A=
	return new Cookie(key).read();=0A=
};=0A=
=0A=
Cookie.dispose =3D function(key, options){=0A=
	return new Cookie(key, options).dispose();=0A=
};=0A=
=0A=
/*=0A=
Script: Swiff.js=0A=
	Wrapper for embedding SWF movies. Supports (and fixes) External =
Interface Communication.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
=0A=
Credits:=0A=
	Flash detection & Internet Explorer + Flash Player 9 fix inspired by =
SWFObject.=0A=
*/=0A=
=0A=
var Swiff =3D new Class({=0A=
=0A=
	Implements: [Options],=0A=
=0A=
	options: {=0A=
		id: null,=0A=
		height: 1,=0A=
		width: 1,=0A=
		container: null,=0A=
		properties: {},=0A=
		params: {=0A=
			quality: 'high',=0A=
			allowScriptAccess: 'always',=0A=
			wMode: 'transparent',=0A=
			swLiveConnect: true=0A=
		},=0A=
		callBacks: {},=0A=
		vars: {}=0A=
	},=0A=
=0A=
	toElement: function(){=0A=
		return this.object;=0A=
	},=0A=
=0A=
	initialize: function(path, options){=0A=
		this.instance =3D 'Swiff_' + $time();=0A=
=0A=
		this.setOptions(options);=0A=
		options =3D this.options;=0A=
		var id =3D this.id =3D options.id || this.instance;=0A=
		var container =3D $(options.container);=0A=
=0A=
		Swiff.CallBacks[this.instance] =3D {};=0A=
=0A=
		var params =3D options.params, vars =3D options.vars, callBacks =3D =
options.callBacks;=0A=
		var properties =3D $extend({height: options.height, width: =
options.width}, options.properties);=0A=
=0A=
		var self =3D this;=0A=
=0A=
		for (var callBack in callBacks){=0A=
			Swiff.CallBacks[this.instance][callBack] =3D (function(option){=0A=
				return function(){=0A=
					return option.apply(self.object, arguments);=0A=
				};=0A=
			})(callBacks[callBack]);=0A=
			vars[callBack] =3D 'Swiff.CallBacks.' + this.instance + '.' + =
callBack;=0A=
		}=0A=
=0A=
		params.flashVars =3D Hash.toQueryString(vars);=0A=
		if (Browser.Engine.trident){=0A=
			properties.classid =3D 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';=0A=
			params.movie =3D path;=0A=
		} else {=0A=
			properties.type =3D 'application/x-shockwave-flash';=0A=
			properties.data =3D path;=0A=
		}=0A=
		var build =3D '<object id=3D"' + id + '"';=0A=
		for (var property in properties) build +=3D ' ' + property + '=3D"' + =
properties[property] + '"';=0A=
		build +=3D '>';=0A=
		for (var param in params){=0A=
			if (params[param]) build +=3D '<param name=3D"' + param + '" =
value=3D"' + params[param] + '" />';=0A=
		}=0A=
		build +=3D '</object>';=0A=
		this.object =3D  ((container) ? container.empty() : new =
Element('div')).set('html', build).firstChild;=0A=
	},=0A=
=0A=
	replaces: function(element){=0A=
		element =3D $(element, true);=0A=
		element.parentNode.replaceChild(this.toElement(), element);=0A=
		return this;=0A=
	},=0A=
=0A=
	inject: function(element){=0A=
		$(element, true).appendChild(this.toElement());=0A=
		return this;=0A=
	},=0A=
=0A=
	remote: function(){=0A=
		return Swiff.remote.apply(Swiff, [this.toElement()].extend(arguments));=0A=
	}=0A=
=0A=
});=0A=
=0A=
Swiff.CallBacks =3D {};=0A=
=0A=
Swiff.remote =3D function(obj, fn){=0A=
	var rs =3D obj.CallFunction('<invoke name=3D"' + fn + '" =
returntype=3D"javascript">' + __flash__argumentsToXML(arguments, 2) + =
'</invoke>');=0A=
	return eval(rs);=0A=
};=0A=
=0A=
/*
Script: Fx.js
	Contains the basic animation logic to be extended by all other Fx =
Classes.

License:
	MIT-style license.
*/

var Fx =3D new Class({

	Implements: [Chain, Events, Options],

	options: {
		/*
		onStart: $empty,
		onCancel: $empty,
		onComplete: $empty,
		*/
		fps: 50,
		unit: false,
		duration: 500,
		link: 'ignore',
		transition: function(p){
			return -(Math.cos(Math.PI * p) - 1) / 2;
		}
	},

	initialize: function(options){
		this.subject =3D this.subject || this;
		this.setOptions(options);
		this.options.duration =3D Fx.Durations[this.options.duration] || =
this.options.duration.toInt();
		var wait =3D this.options.wait;
		if (wait =3D=3D=3D false) this.options.link =3D 'cancel';
	},

	step: function(){
		var time =3D $time();
		if (time < this.time + this.options.duration){
			var delta =3D this.options.transition((time - this.time) / =
this.options.duration);
			this.set(this.compute(this.from, this.to, delta));
		} else {
			this.set(this.compute(this.from, this.to, 1));
			this.complete();
		}
	},

	set: function(now){
		return now;
	},

	compute: function(from, to, delta){
		return Fx.compute(from, to, delta);
	},

	check: function(caller){
		if (!this.timer) return true;
		switch (this.options.link){
			case 'cancel': this.cancel(); return true;
			case 'chain': this.chain(caller.bind(this, Array.slice(arguments, =
1))); return false;
		}
		return false;
	},

	start: function(from, to){
		if (!this.check(arguments.callee, from, to)) return this;
		this.from =3D from;
		this.to =3D to;
		this.time =3D 0;
		this.startTimer();
		this.onStart();
		return this;
	},

	complete: function(){
		if (this.stopTimer()) this.onComplete();
		return this;
	},

	cancel: function(){
		if (this.stopTimer()) this.onCancel();
		return this;
	},

	onStart: function(){
		this.fireEvent('start', this.subject);
	},

	onComplete: function(){
		this.fireEvent('complete', this.subject);
		if (!this.callChain()) this.fireEvent('chainComplete', this.subject);
	},

	onCancel: function(){
		this.fireEvent('cancel', this.subject).clearChain();
	},

	pause: function(){
		this.stopTimer();
		return this;
	},

	resume: function(){
		this.startTimer();
		return this;
	},

	stopTimer: function(){
		if (!this.timer) return false;
		this.time =3D $time() - this.time;
		this.timer =3D $clear(this.timer);
		return true;
	},

	startTimer: function(){
		if (this.timer) return false;
		this.time =3D $time() - this.time;
		this.timer =3D this.step.periodical(Math.round(1000 / =
this.options.fps), this);
		return true;
	}

});

Fx.compute =3D function(from, to, delta){
	return (to - from) * delta + from;
};

Fx.Durations =3D {'short': 250, 'normal': 500, 'long': 1000};
=0A=
=0A=
/*=0A=
Script: Fx.CSS.js=0A=
	Contains the CSS animation logic. Used by Fx.Tween, Fx.Morph, =
Fx.Elements.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Fx.CSS =3D new Class({=0A=
=0A=
	Extends: Fx,=0A=
=0A=
	//prepares the base from/to object=0A=
=0A=
	prepare: function(element, property, values){=0A=
		values =3D $splat(values);=0A=
		var values1 =3D values[1];=0A=
		if (!$chk(values1)){=0A=
			values[1] =3D values[0];=0A=
			values[0] =3D element.getStyle(property);=0A=
		}=0A=
		var parsed =3D values.map(this.parse);=0A=
		return {from: parsed[0], to: parsed[1]};=0A=
	},=0A=
=0A=
	//parses a value into an array=0A=
=0A=
	parse: function(value){=0A=
		value =3D $lambda(value)();=0A=
		value =3D (typeof value =3D=3D 'string') ? value.split(' ') : =
$splat(value);=0A=
		return value.map(function(val){=0A=
			val =3D String(val);=0A=
			var found =3D false;=0A=
			Fx.CSS.Parsers.each(function(parser, key){=0A=
				if (found) return;=0A=
				var parsed =3D parser.parse(val);=0A=
				if ($chk(parsed)) found =3D {value: parsed, parser: parser};=0A=
			});=0A=
			found =3D found || {value: val, parser: Fx.CSS.Parsers.String};=0A=
			return found;=0A=
		});=0A=
	},=0A=
=0A=
	//computes by a from and to prepared objects, using their parsers.=0A=
=0A=
	compute: function(from, to, delta){=0A=
		var computed =3D [];=0A=
		(Math.min(from.length, to.length)).times(function(i){=0A=
			computed.push({value: from[i].parser.compute(from[i].value, =
to[i].value, delta), parser: from[i].parser});=0A=
		});=0A=
		computed.$family =3D {name: 'fx:css:value'};=0A=
		return computed;=0A=
	},=0A=
=0A=
	//serves the value as settable=0A=
=0A=
	serve: function(value, unit){=0A=
		if ($type(value) !=3D 'fx:css:value') value =3D this.parse(value);=0A=
		var returned =3D [];=0A=
		value.each(function(bit){=0A=
			returned =3D returned.concat(bit.parser.serve(bit.value, unit));=0A=
		});=0A=
		return returned;=0A=
	},=0A=
=0A=
	//renders the change to an element=0A=
=0A=
	render: function(element, property, value, unit){=0A=
		element.setStyle(property, this.serve(value, unit));=0A=
	},=0A=
=0A=
	//searches inside the page css to find the values for a selector=0A=
=0A=
	search: function(selector){=0A=
		if (Fx.CSS.Cache[selector]) return Fx.CSS.Cache[selector];=0A=
		var to =3D {};=0A=
		Array.each(document.styleSheets, function(sheet, j){=0A=
			var href =3D sheet.href;=0A=
			if (href && href.contains('://') && !href.contains(document.domain)) =
return;=0A=
			var rules =3D sheet.rules || sheet.cssRules;=0A=
			Array.each(rules, function(rule, i){=0A=
				if (!rule.style) return;=0A=
				var selectorText =3D (rule.selectorText) ? =
rule.selectorText.replace(/^\w+/, function(m){=0A=
					return m.toLowerCase();=0A=
				}) : null;=0A=
				if (!selectorText || !selectorText.test('^' + selector + '$')) =
return;=0A=
				Element.Styles.each(function(value, style){=0A=
					if (!rule.style[style] || Element.ShortStyles[style]) return;=0A=
					value =3D String(rule.style[style]);=0A=
					to[style] =3D (value.test(/^rgb/)) ? value.rgbToHex() : value;=0A=
				});=0A=
			});=0A=
		});=0A=
		return Fx.CSS.Cache[selector] =3D to;=0A=
	}=0A=
=0A=
});=0A=
=0A=
Fx.CSS.Cache =3D {};=0A=
=0A=
Fx.CSS.Parsers =3D new Hash({=0A=
=0A=
	Color: {=0A=
		parse: function(value){=0A=
			if (value.match(/^#[0-9a-f]{3,6}$/i)) return value.hexToRgb(true);=0A=
			return ((value =3D value.match(/(\d+),\s*(\d+),\s*(\d+)/))) ? =
[value[1], value[2], value[3]] : false;=0A=
		},=0A=
		compute: function(from, to, delta){=0A=
			return from.map(function(value, i){=0A=
				return Math.round(Fx.compute(from[i], to[i], delta));=0A=
			});=0A=
		},=0A=
		serve: function(value){=0A=
			return value.map(Number);=0A=
		}=0A=
	},=0A=
=0A=
	Number: {=0A=
		parse: parseFloat,=0A=
		compute: Fx.compute,=0A=
		serve: function(value, unit){=0A=
			return (unit) ? value + unit : value;=0A=
		}=0A=
	},=0A=
=0A=
	String: {=0A=
		parse: $lambda(false),=0A=
		compute: $arguments(1),=0A=
		serve: $arguments(0)=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Fx.Tween.js=0A=
	Formerly Fx.Style, effect to transition any CSS property for an element.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Fx.Tween =3D new Class({=0A=
=0A=
	Extends: Fx.CSS,=0A=
=0A=
	initialize: function(element, options){=0A=
		this.element =3D this.subject =3D $(element);=0A=
		this.parent(options);=0A=
	},=0A=
=0A=
	set: function(property, now){=0A=
		if (arguments.length =3D=3D 1){=0A=
			now =3D property;=0A=
			property =3D this.property || this.options.property;=0A=
		}=0A=
		this.render(this.element, property, now, this.options.unit);=0A=
		return this;=0A=
	},=0A=
=0A=
	start: function(property, from, to){=0A=
		if (!this.check(arguments.callee, property, from, to)) return this;=0A=
		var args =3D Array.flatten(arguments);=0A=
		this.property =3D this.options.property || args.shift();=0A=
		var parsed =3D this.prepare(this.element, this.property, args);=0A=
		return this.parent(parsed.from, parsed.to);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.Properties.tween =3D {=0A=
=0A=
	set: function(options){=0A=
		var tween =3D this.retrieve('tween');=0A=
		if (tween) tween.cancel();=0A=
		return this.eliminate('tween').store('tween:options', $extend({link: =
'cancel'}, options));=0A=
	},=0A=
=0A=
	get: function(options){=0A=
		if (options || !this.retrieve('tween')){=0A=
			if (options || !this.retrieve('tween:options')) this.set('tween', =
options);=0A=
			this.store('tween', new Fx.Tween(this, =
this.retrieve('tween:options')));=0A=
		}=0A=
		return this.retrieve('tween');=0A=
	}=0A=
=0A=
};=0A=
=0A=
Element.implement({=0A=
=0A=
	tween: function(property, from, to){=0A=
		this.get('tween').start(arguments);=0A=
		return this;=0A=
	},=0A=
=0A=
	fade: function(how){=0A=
		var fade =3D this.get('tween'), o =3D 'opacity', toggle;=0A=
		how =3D $pick(how, 'toggle');=0A=
		switch (how){=0A=
			case 'in': fade.start(o, 1); break;=0A=
			case 'out': fade.start(o, 0); break;=0A=
			case 'show': fade.set(o, 1); break;=0A=
			case 'hide': fade.set(o, 0); break;=0A=
			case 'toggle':=0A=
				var flag =3D this.retrieve('fade:flag', this.get('opacity') =3D=3D =
1);=0A=
				fade.start(o, (flag) ? 0 : 1);=0A=
				this.store('fade:flag', !flag);=0A=
				toggle =3D true;=0A=
			break;=0A=
			default: fade.start(o, arguments);=0A=
		}=0A=
		if (!toggle) this.eliminate('fade:flag');=0A=
		return this;=0A=
	},=0A=
=0A=
	highlight: function(start, end){=0A=
		if (!end){=0A=
			end =3D this.retrieve('highlight:original', =
this.getStyle('background-color'));=0A=
			end =3D (end =3D=3D 'transparent') ? '#fff' : end;=0A=
		}=0A=
		var tween =3D this.get('tween');=0A=
		tween.start('background-color', start || '#ffff88', =
end).chain(function(){=0A=
			this.setStyle('background-color', =
this.retrieve('highlight:original'));=0A=
			tween.callChain();=0A=
		}.bind(this));=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Fx.Morph.js=0A=
	Formerly Fx.Styles, effect to transition any number of CSS properties =
for an element using an object of rules, or CSS based selector rules.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Fx.Morph =3D new Class({=0A=
=0A=
	Extends: Fx.CSS,=0A=
=0A=
	initialize: function(element, options){=0A=
		this.element =3D this.subject =3D $(element);=0A=
		this.parent(options);=0A=
	},=0A=
=0A=
	set: function(now){=0A=
		if (typeof now =3D=3D 'string') now =3D this.search(now);=0A=
		for (var p in now) this.render(this.element, p, now[p], =
this.options.unit);=0A=
		return this;=0A=
	},=0A=
=0A=
	compute: function(from, to, delta){=0A=
		var now =3D {};=0A=
		for (var p in from) now[p] =3D this.parent(from[p], to[p], delta);=0A=
		return now;=0A=
	},=0A=
=0A=
	start: function(properties){=0A=
		if (!this.check(arguments.callee, properties)) return this;=0A=
		if (typeof properties =3D=3D 'string') properties =3D =
this.search(properties);=0A=
		var from =3D {}, to =3D {};=0A=
		for (var p in properties){=0A=
			var parsed =3D this.prepare(this.element, p, properties[p]);=0A=
			from[p] =3D parsed.from;=0A=
			to[p] =3D parsed.to;=0A=
		}=0A=
		return this.parent(from, to);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.Properties.morph =3D {=0A=
=0A=
	set: function(options){=0A=
		var morph =3D this.retrieve('morph');=0A=
		if (morph) morph.cancel();=0A=
		return this.eliminate('morph').store('morph:options', $extend({link: =
'cancel'}, options));=0A=
	},=0A=
=0A=
	get: function(options){=0A=
		if (options || !this.retrieve('morph')){=0A=
			if (options || !this.retrieve('morph:options')) this.set('morph', =
options);=0A=
			this.store('morph', new Fx.Morph(this, =
this.retrieve('morph:options')));=0A=
		}=0A=
		return this.retrieve('morph');=0A=
	}=0A=
=0A=
};=0A=
=0A=
Element.implement({=0A=
=0A=
	morph: function(props){=0A=
		this.get('morph').start(props);=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Fx.Transitions.js=0A=
	Contains a set of advanced transitions to be used with any of the Fx =
Classes.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
=0A=
Credits:=0A=
	Easing Equations by Robert Penner, =
<http://www.robertpenner.com/easing/>, modified and optimized to be used =
with MooTools.=0A=
*/=0A=
=0A=
(function(){=0A=
=0A=
	var old =3D Fx.prototype.initialize;=0A=
=0A=
	Fx.prototype.initialize =3D function(options){=0A=
		old.call(this, options);=0A=
		var trans =3D this.options.transition;=0A=
		if (typeof trans =3D=3D 'string' && (trans =3D trans.split(':'))){=0A=
			var base =3D Fx.Transitions;=0A=
			base =3D base[trans[0]] || base[trans[0].capitalize()];=0A=
			if (trans[1]) base =3D base['ease' + trans[1].capitalize() + =
(trans[2] ? trans[2].capitalize() : '')];=0A=
			this.options.transition =3D base;=0A=
		}=0A=
	};=0A=
=0A=
})();=0A=
=0A=
Fx.Transition =3D function(transition, params){=0A=
	params =3D $splat(params);=0A=
	return $extend(transition, {=0A=
		easeIn: function(pos){=0A=
			return transition(pos, params);=0A=
		},=0A=
		easeOut: function(pos){=0A=
			return 1 - transition(1 - pos, params);=0A=
		},=0A=
		easeInOut: function(pos){=0A=
			return (pos <=3D 0.5) ? transition(2 * pos, params) / 2 : (2 - =
transition(2 * (1 - pos), params)) / 2;=0A=
		}=0A=
	});=0A=
};=0A=
=0A=
Fx.Transitions =3D new Hash({=0A=
=0A=
	linear: $arguments(0)=0A=
=0A=
});=0A=
=0A=
Fx.Transitions.extend =3D function(transitions){=0A=
	for (var transition in transitions) Fx.Transitions[transition] =3D new =
Fx.Transition(transitions[transition]);=0A=
};=0A=
=0A=
Fx.Transitions.extend({=0A=
=0A=
	Pow: function(p, x){=0A=
		return Math.pow(p, x[0] || 6);=0A=
	},=0A=
=0A=
	Expo: function(p){=0A=
		return Math.pow(2, 8 * (p - 1));=0A=
	},=0A=
=0A=
	Circ: function(p){=0A=
		return 1 - Math.sin(Math.acos(p));=0A=
	},=0A=
=0A=
	Sine: function(p){=0A=
		return 1 - Math.sin((1 - p) * Math.PI / 2);=0A=
	},=0A=
=0A=
	Back: function(p, x){=0A=
		x =3D x[0] || 1.618;=0A=
		return Math.pow(p, 2) * ((x + 1) * p - x);=0A=
	},=0A=
=0A=
	Bounce: function(p){=0A=
		var value;=0A=
		for (var a =3D 0, b =3D 1; 1; a +=3D b, b /=3D 2){=0A=
			if (p >=3D (7 - 4 * a) / 11){=0A=
				value =3D - Math.pow((11 - 6 * a - 11 * p) / 4, 2) + b * b;=0A=
				break;=0A=
			}=0A=
		}=0A=
		return value;=0A=
	},=0A=
=0A=
	Elastic: function(p, x){=0A=
		return Math.pow(2, 10 * --p) * Math.cos(20 * p * Math.PI * (x[0] || 1) =
/ 3);=0A=
	}=0A=
=0A=
});=0A=
=0A=
['Quad', 'Cubic', 'Quart', 'Quint'].each(function(transition, i){=0A=
	Fx.Transitions[transition] =3D new Fx.Transition(function(p){=0A=
		return Math.pow(p, [i + 2]);=0A=
	});=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Request.js=0A=
	Powerful all purpose Request Class. Uses XMLHTTPRequest.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Request =3D new Class({=0A=
=0A=
	Implements: [Chain, Events, Options],=0A=
=0A=
	options: {=0A=
		/*onRequest: $empty,=0A=
		onSuccess: $empty,=0A=
		onFailure: $empty,=0A=
		onException: $empty,*/=0A=
		url: '',=0A=
		data: '',=0A=
		headers: {=0A=
			'X-Requested-With': 'XMLHttpRequest',=0A=
			'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'=0A=
		},=0A=
		async: true,=0A=
		format: false,=0A=
		method: 'post',=0A=
		link: 'ignore',=0A=
		isSuccess: null,=0A=
		emulation: true,=0A=
		urlEncoded: true,=0A=
		encoding: 'utf-8',=0A=
		evalScripts: false,=0A=
		evalResponse: false=0A=
	},=0A=
=0A=
	initialize: function(options){=0A=
		this.xhr =3D new Browser.Request();=0A=
		this.setOptions(options);=0A=
		this.options.isSuccess =3D this.options.isSuccess || this.isSuccess;=0A=
		this.headers =3D new Hash(this.options.headers);=0A=
	},=0A=
=0A=
	onStateChange: function(){=0A=
		if (this.xhr.readyState !=3D 4 || !this.running) return;=0A=
		this.running =3D false;=0A=
		this.status =3D 0;=0A=
		$try(function(){=0A=
			this.status =3D this.xhr.status;=0A=
		}.bind(this));=0A=
		if (this.options.isSuccess.call(this, this.status)){=0A=
			this.response =3D {text: this.xhr.responseText, xml: =
this.xhr.responseXML};=0A=
			this.success(this.response.text, this.response.xml);=0A=
		} else {=0A=
			this.response =3D {text: null, xml: null};=0A=
			this.failure();=0A=
		}=0A=
		this.xhr.onreadystatechange =3D $empty;=0A=
	},=0A=
=0A=
	isSuccess: function(){=0A=
		return ((this.status >=3D 200) && (this.status < 300));=0A=
	},=0A=
=0A=
	processScripts: function(text){=0A=
		if (this.options.evalResponse || =
(/(ecma|java)script/).test(this.getHeader('Content-type'))) return =
$exec(text);=0A=
		return text.stripScripts(this.options.evalScripts);=0A=
	},=0A=
=0A=
	success: function(text, xml){=0A=
		this.onSuccess(this.processScripts(text), xml);=0A=
	},=0A=
	=0A=
	onSuccess: function(){=0A=
		this.fireEvent('complete', arguments).fireEvent('success', =
arguments).callChain();=0A=
	},=0A=
	=0A=
	failure: function(){=0A=
		this.onFailure();=0A=
	},=0A=
=0A=
	onFailure: function(){=0A=
		this.fireEvent('complete').fireEvent('failure', this.xhr);=0A=
	},=0A=
=0A=
	setHeader: function(name, value){=0A=
		this.headers.set(name, value);=0A=
		return this;=0A=
	},=0A=
=0A=
	getHeader: function(name){=0A=
		return $try(function(){=0A=
			return this.xhr.getResponseHeader(name);=0A=
		}.bind(this));=0A=
	},=0A=
=0A=
	check: function(caller){=0A=
		if (!this.running) return true;=0A=
		switch (this.options.link){=0A=
			case 'cancel': this.cancel(); return true;=0A=
			case 'chain': this.chain(caller.bind(this, Array.slice(arguments, =
1))); return false;=0A=
		}=0A=
		return false;=0A=
	},=0A=
=0A=
	send: function(options){=0A=
		if (!this.check(arguments.callee, options)) return this;=0A=
		this.running =3D true;=0A=
=0A=
		var type =3D $type(options);=0A=
		if (type =3D=3D 'string' || type =3D=3D 'element') options =3D {data: =
options};=0A=
=0A=
		var old =3D this.options;=0A=
		options =3D $extend({data: old.data, url: old.url, method: =
old.method}, options);=0A=
		var data =3D options.data, url =3D options.url, method =3D =
options.method;=0A=
=0A=
		switch ($type(data)){=0A=
			case 'element': data =3D $(data).toQueryString(); break;=0A=
			case 'object': case 'hash': data =3D Hash.toQueryString(data);=0A=
		}=0A=
=0A=
		if (this.options.format){=0A=
			var format =3D 'format=3D' + this.options.format;=0A=
			data =3D (data) ? format + '&' + data : format;=0A=
		}=0A=
=0A=
		if (this.options.emulation && ['put', 'delete'].contains(method)){=0A=
			var _method =3D '_method=3D' + method;=0A=
			data =3D (data) ? _method + '&' + data : _method;=0A=
			method =3D 'post';=0A=
		}=0A=
=0A=
		if (this.options.urlEncoded && method =3D=3D 'post'){=0A=
			var encoding =3D (this.options.encoding) ? '; charset=3D' + =
this.options.encoding : '';=0A=
			this.headers.set('Content-type', 'application/x-www-form-urlencoded' =
+ encoding);=0A=
		}=0A=
=0A=
		if (data && method =3D=3D 'get'){=0A=
			url =3D url + (url.contains('?') ? '&' : '?') + data;=0A=
			data =3D null;=0A=
		}=0A=
=0A=
		this.xhr.open(method.toUpperCase(), url, this.options.async);=0A=
=0A=
		this.xhr.onreadystatechange =3D this.onStateChange.bind(this);=0A=
=0A=
		this.headers.each(function(value, key){=0A=
			if (!$try(function(){=0A=
				this.xhr.setRequestHeader(key, value);=0A=
				return true;=0A=
			}.bind(this))) this.fireEvent('exception', [key, value]);=0A=
		}, this);=0A=
=0A=
		this.fireEvent('request');=0A=
		this.xhr.send(data);=0A=
		if (!this.options.async) this.onStateChange();=0A=
		return this;=0A=
	},=0A=
=0A=
	cancel: function(){=0A=
		if (!this.running) return this;=0A=
		this.running =3D false;=0A=
		this.xhr.abort();=0A=
		this.xhr.onreadystatechange =3D $empty;=0A=
		this.xhr =3D new Browser.Request();=0A=
		this.fireEvent('cancel');=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
(function(){=0A=
=0A=
var methods =3D {};=0A=
['get', 'post', 'put', 'delete', 'GET', 'POST', 'PUT', =
'DELETE'].each(function(method){=0A=
	methods[method] =3D function(){=0A=
		var params =3D Array.link(arguments, {url: String.type, data: =
$defined});=0A=
		return this.send($extend(params, {method: method.toLowerCase()}));=0A=
	};=0A=
});=0A=
=0A=
Request.implement(methods);=0A=
=0A=
})();=0A=
=0A=
Element.Properties.send =3D {=0A=
	=0A=
	set: function(options){=0A=
		var send =3D this.retrieve('send');=0A=
		if (send) send.cancel();=0A=
		return this.eliminate('send').store('send:options', $extend({=0A=
			data: this, link: 'cancel', method: this.get('method') || 'post', =
url: this.get('action')=0A=
		}, options));=0A=
	},=0A=
=0A=
	get: function(options){=0A=
		if (options || !this.retrieve('send')){=0A=
			if (options || !this.retrieve('send:options')) this.set('send', =
options);=0A=
			this.store('send', new Request(this.retrieve('send:options')));=0A=
		}=0A=
		return this.retrieve('send');=0A=
	}=0A=
=0A=
};=0A=
=0A=
Element.implement({=0A=
=0A=
	send: function(url){=0A=
		var sender =3D this.get('send');=0A=
		sender.send({data: this, url: url || sender.options.url});=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Request.HTML.js=0A=
	Extends the basic Request Class with additional methods for interacting =
with HTML responses.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Request.HTML =3D new Class({=0A=
=0A=
	Extends: Request,=0A=
=0A=
	options: {=0A=
		update: false,=0A=
		evalScripts: true,=0A=
		filter: false=0A=
	},=0A=
=0A=
	processHTML: function(text){=0A=
		var match =3D text.match(/<body[^>]*>([\s\S]*?)<\/body>/i);=0A=
		text =3D (match) ? match[1] : text;=0A=
		=0A=
		var container =3D new Element('div');=0A=
		=0A=
		return $try(function(){=0A=
			var root =3D '<root>' + text + '</root>', doc;=0A=
			if (Browser.Engine.trident){=0A=
				doc =3D new ActiveXObject('Microsoft.XMLDOM');=0A=
				doc.async =3D false;=0A=
				doc.loadXML(root);=0A=
			} else {=0A=
				doc =3D new DOMParser().parseFromString(root, 'text/xml');=0A=
			}=0A=
			root =3D doc.getElementsByTagName('root')[0];=0A=
			for (var i =3D 0, k =3D root.childNodes.length; i < k; i++){=0A=
				var child =3D Element.clone(root.childNodes[i], true, true);=0A=
				if (child) container.grab(child);=0A=
			}=0A=
			return container;=0A=
		}) || container.set('html', text);=0A=
	},=0A=
=0A=
	success: function(text){=0A=
		var options =3D this.options, response =3D this.response;=0A=
		=0A=
		response.html =3D text.stripScripts(function(script){=0A=
			response.javascript =3D script;=0A=
		});=0A=
		=0A=
		var temp =3D this.processHTML(response.html);=0A=
		=0A=
		response.tree =3D temp.childNodes;=0A=
		response.elements =3D temp.getElements('*');=0A=
		=0A=
		if (options.filter) response.tree =3D =
response.elements.filter(options.filter);=0A=
		if (options.update) $(options.update).empty().adopt(response.tree);=0A=
		if (options.evalScripts) $exec(response.javascript);=0A=
		=0A=
		this.onSuccess(response.tree, response.elements, response.html, =
response.javascript);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.Properties.load =3D {=0A=
	=0A=
	set: function(options){=0A=
		var load =3D this.retrieve('load');=0A=
		if (load) send.cancel();=0A=
		return this.eliminate('load').store('load:options', $extend({data: =
this, link: 'cancel', update: this, method: 'get'}, options));=0A=
	},=0A=
=0A=
	get: function(options){=0A=
		if (options || ! this.retrieve('load')){=0A=
			if (options || !this.retrieve('load:options')) this.set('load', =
options);=0A=
			this.store('load', new Request.HTML(this.retrieve('load:options')));=0A=
		}=0A=
		return this.retrieve('load');=0A=
	}=0A=
=0A=
};=0A=
=0A=
Element.implement({=0A=
	=0A=
	load: function(){=0A=
		this.get('load').send(Array.link(arguments, {data: Object.type, url: =
String.type}));=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Request.JSON.js=0A=
	Extends the basic Request Class with additional methods for sending and =
receiving JSON data.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Request.JSON =3D new Class({=0A=
=0A=
	Extends: Request,=0A=
=0A=
	options: {=0A=
		secure: true=0A=
	},=0A=
=0A=
	initialize: function(options){=0A=
		this.parent(options);=0A=
		this.headers.extend({'Accept': 'application/json', 'X-Request': =
'JSON'});=0A=
	},=0A=
=0A=
	success: function(text){=0A=
		this.response.json =3D JSON.decode(text, this.options.secure);=0A=
		this.onSuccess(this.response.json, text);=0A=
	}=0A=
=0A=
});=0A=
=0A=
/////////////////////////////////////////////////////////////////////////=
/////////////////////////////////////////////////////////////////////////=
////////=0A=
=0A=
//MooTools More, <http://mootools.net/more>. Copyright (c) 2006-2008 =
Valerio Proietti, <http://mad4milk.net>, MIT Style License.=0A=
=0A=
/*
Script: Fx.Slide.js
	Effect to slide an element in and out of view.

License:
	MIT-style license.
*/

Fx.Slide =3D new Class({

	Extends: Fx,

	options: {
		mode: 'vertical'
	},

	initialize: function(element, options){
		this.addEvent('complete', function(){
			this.open =3D (this.wrapper['offset' + this.layout.capitalize()] !=3D =
0);
			if (this.open && Browser.Engine.webkit419) =
this.element.dispose().inject(this.wrapper);
		}, true);
		this.element =3D this.subject =3D $(element);
		this.parent(options);
		var wrapper =3D this.element.retrieve('wrapper');
		this.wrapper =3D wrapper || new Element('div', {
			styles: $extend(this.element.getStyles('margin', 'position'), =
{'overflow': 'hidden'})
		}).wraps(this.element);
		this.element.store('wrapper', this.wrapper).setStyle('margin', 0);
		this.now =3D [];
		this.open =3D true;
	},

	vertical: function(){
		this.margin =3D 'margin-top';
		this.layout =3D 'height';
		this.offset =3D this.element.offsetHeight;
	},

	horizontal: function(){
		this.margin =3D 'margin-left';
		this.layout =3D 'width';
		this.offset =3D this.element.offsetWidth;
	},

	set: function(now){
		this.element.setStyle(this.margin, now[0]);
		this.wrapper.setStyle(this.layout, now[1]);
		return this;
	},

	compute: function(from, to, delta){
		var now =3D [];
		var x =3D 2;
		x.times(function(i){
			now[i] =3D Fx.compute(from[i], to[i], delta);
		});
		return now;
	},

	start: function(how, mode){
		if (!this.check(arguments.callee, how, mode)) return this;
		this[mode || this.options.mode]();
		var margin =3D this.element.getStyle(this.margin).toInt();
		var layout =3D this.wrapper.getStyle(this.layout).toInt();
		var caseIn =3D [[margin, layout], [0, this.offset]];
		var caseOut =3D [[margin, layout], [-this.offset, 0]];
		var start;
		switch (how){
			case 'in': start =3D caseIn; break;
			case 'out': start =3D caseOut; break;
			case 'toggle': start =3D (this.wrapper['offset' + =
this.layout.capitalize()] =3D=3D 0) ? caseIn : caseOut;
		}
		return this.parent(start[0], start[1]);
	},

	slideIn: function(mode){
		return this.start('in', mode);
	},

	slideOut: function(mode){
		return this.start('out', mode);
	},

	hide: function(mode){
		this[mode || this.options.mode]();
		this.open =3D false;
		return this.set([-this.offset, 0]);
	},

	show: function(mode){
		this[mode || this.options.mode]();
		this.open =3D true;
		return this.set([0, this.offset]);
	},

	toggle: function(mode){
		return this.start('toggle', mode);
	}

});

Element.Properties.slide =3D {

	set: function(options){
		var slide =3D this.retrieve('slide');
		if (slide) slide.cancel();
		return this.eliminate('slide').store('slide:options', $extend({link: =
'cancel'}, options));
	},
=09
	get: function(options){
		if (options || !this.retrieve('slide')){
			if (options || !this.retrieve('slide:options')) this.set('slide', =
options);
			this.store('slide', new Fx.Slide(this, =
this.retrieve('slide:options')));
		}
		return this.retrieve('slide');
	}

};

Element.implement({

	slide: function(how, mode){
		how =3D how || 'toggle';
		var slide =3D this.get('slide'), toggle;
		switch (how){
			case 'hide': slide.hide(mode); break;
			case 'show': slide.show(mode); break;
			case 'toggle':
				var flag =3D this.retrieve('slide:flag', slide.open);
				slide[(flag) ? 'slideOut' : 'slideIn'](mode);
				this.store('slide:flag', !flag);
				toggle =3D true;
			break;
			default: slide.start(how, mode);
		}
		if (!toggle) this.eliminate('slide:flag');
		return this;
	}

});
=0A=
=0A=
/*=0A=
Script: Fx.Scroll.js=0A=
	Effect to smoothly scroll any element, including the window.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Fx.Scroll =3D new Class({=0A=
=0A=
	Extends: Fx,=0A=
=0A=
	options: {=0A=
		offset: {'x': 0, 'y': 0},=0A=
		wheelStops: true=0A=
	},=0A=
=0A=
	initialize: function(element, options){=0A=
		this.element =3D this.subject =3D $(element);=0A=
		this.parent(options);=0A=
		var cancel =3D this.cancel.bind(this, false);=0A=
=0A=
		if ($type(this.element) !=3D 'element') this.element =3D =
$(this.element.getDocument().body);=0A=
=0A=
		var stopper =3D this.element;=0A=
=0A=
		if (this.options.wheelStops){=0A=
			this.addEvent('start', function(){=0A=
				stopper.addEvent('mousewheel', cancel);=0A=
			}, true);=0A=
			this.addEvent('complete', function(){=0A=
				stopper.removeEvent('mousewheel', cancel);=0A=
			}, true);=0A=
		}=0A=
	},=0A=
=0A=
	set: function(){=0A=
		var now =3D Array.flatten(arguments);=0A=
		this.element.scrollTo(now[0], now[1]);=0A=
	},=0A=
=0A=
	compute: function(from, to, delta){=0A=
		var now =3D [];=0A=
		var x =3D 2;=0A=
		x.times(function(i){=0A=
			now.push(Fx.compute(from[i], to[i], delta));=0A=
		});=0A=
		return now;=0A=
	},=0A=
=0A=
	start: function(x, y){=0A=
		if (!this.check(arguments.callee, x, y)) return this;=0A=
		var offsetSize =3D this.element.getSize(), scrollSize =3D =
this.element.getScrollSize();=0A=
		var scroll =3D this.element.getScroll(), values =3D {x: x, y: y};=0A=
		for (var z in values){=0A=
			var max =3D scrollSize[z] - offsetSize[z];=0A=
			if ($chk(values[z])) values[z] =3D ($type(values[z]) =3D=3D 'number') =
? values[z].limit(0, max) : max;=0A=
			else values[z] =3D scroll[z];=0A=
			values[z] +=3D this.options.offset[z];=0A=
		}=0A=
		return this.parent([scroll.x, scroll.y], [values.x, values.y]);=0A=
	},=0A=
=0A=
	toTop: function(){=0A=
		return this.start(false, 0);=0A=
	},=0A=
=0A=
	toLeft: function(){=0A=
		return this.start(0, false);=0A=
	},=0A=
=0A=
	toRight: function(){=0A=
		return this.start('right', false);=0A=
	},=0A=
=0A=
	toBottom: function(){=0A=
		return this.start(false, 'bottom');=0A=
	},=0A=
=0A=
	toElement: function(el){=0A=
		var position =3D $(el).getPosition(this.element);=0A=
		return this.start(position.x, position.y);=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Fx.Elements.js=0A=
	Effect to change any number of CSS properties of any number of Elements.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Fx.Elements =3D new Class({=0A=
=0A=
	Extends: Fx.CSS,=0A=
=0A=
	initialize: function(elements, options){=0A=
		this.elements =3D this.subject =3D $$(elements);=0A=
		this.parent(options);=0A=
	},=0A=
=0A=
	compute: function(from, to, delta){=0A=
		var now =3D {};=0A=
		for (var i in from){=0A=
			var iFrom =3D from[i], iTo =3D to[i], iNow =3D now[i] =3D {};=0A=
			for (var p in iFrom) iNow[p] =3D this.parent(iFrom[p], iTo[p], delta);=0A=
		}=0A=
		return now;=0A=
	},=0A=
=0A=
	set: function(now){=0A=
		for (var i in now){=0A=
			var iNow =3D now[i];=0A=
			for (var p in iNow) this.render(this.elements[i], p, iNow[p], =
this.options.unit);=0A=
		}=0A=
		return this;=0A=
	},=0A=
=0A=
	start: function(obj){=0A=
		if (!this.check(arguments.callee, obj)) return this;=0A=
		var from =3D {}, to =3D {};=0A=
		for (var i in obj){=0A=
			var iProps =3D obj[i], iFrom =3D from[i] =3D {}, iTo =3D to[i] =3D {};=0A=
			for (var p in iProps){=0A=
				var parsed =3D this.prepare(this.elements[i], p, iProps[p]);=0A=
				iFrom[p] =3D parsed.from;=0A=
				iTo[p] =3D parsed.to;=0A=
			}=0A=
		}=0A=
		return this.parent(from, to);=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Drag.js=0A=
	The base Drag Class. Can be used to drag and resize Elements using =
mouse events.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Drag =3D new Class({=0A=
=0A=
	Implements: [Events, Options],=0A=
=0A=
	options: {/*=0A=
		onBeforeStart: $empty,=0A=
		onStart: $empty,=0A=
		onDrag: $empty,=0A=
		onCancel: $empty,=0A=
		onComplete: $empty,*/=0A=
		snap: 6,=0A=
		unit: 'px',=0A=
		grid: false,=0A=
		style: true,=0A=
		limit: false,=0A=
		handle: false,=0A=
		invert: false,=0A=
		preventDefault: false,=0A=
		modifiers: {x: 'left', y: 'top'}=0A=
	},=0A=
=0A=
	initialize: function(){=0A=
		var params =3D Array.link(arguments, {'options': Object.type, =
'element': $defined});=0A=
		this.element =3D $(params.element);=0A=
		this.document =3D this.element.getDocument();=0A=
		this.setOptions(params.options || {});=0A=
		var htype =3D $type(this.options.handle);=0A=
		this.handles =3D (htype =3D=3D 'array' || htype =3D=3D 'collection') ? =
$$(this.options.handle) : $(this.options.handle) || this.element;=0A=
		this.mouse =3D {'now': {}, 'pos': {}};=0A=
		this.value =3D {'start': {}, 'now': {}};=0A=
		=0A=
		this.selection =3D (Browser.Engine.trident) ? 'selectstart' : =
'mousedown';=0A=
		=0A=
		this.bound =3D {=0A=
			start: this.start.bind(this),=0A=
			check: this.check.bind(this),=0A=
			drag: this.drag.bind(this),=0A=
			stop: this.stop.bind(this),=0A=
			cancel: this.cancel.bind(this),=0A=
			eventStop: $lambda(false)=0A=
		};=0A=
		this.attach();=0A=
	},=0A=
=0A=
	attach: function(){=0A=
		this.handles.addEvent('mousedown', this.bound.start);=0A=
		return this;=0A=
	},=0A=
=0A=
	detach: function(){=0A=
		this.handles.removeEvent('mousedown', this.bound.start);=0A=
		return this;=0A=
	},=0A=
=0A=
	start: function(event){=0A=
		if (this.options.preventDefault) event.preventDefault();=0A=
		this.fireEvent('beforeStart', this.element);=0A=
		this.mouse.start =3D event.page;=0A=
		var limit =3D this.options.limit;=0A=
		this.limit =3D {'x': [], 'y': []};=0A=
		for (var z in this.options.modifiers){=0A=
			if (!this.options.modifiers[z]) continue;=0A=
			if (this.options.style) this.value.now[z] =3D =
this.element.getStyle(this.options.modifiers[z]).toInt();=0A=
			else this.value.now[z] =3D this.element[this.options.modifiers[z]];=0A=
			if (this.options.invert) this.value.now[z] *=3D -1;=0A=
			this.mouse.pos[z] =3D event.page[z] - this.value.now[z];=0A=
			if (limit && limit[z]){=0A=
				for (var i =3D 2; i--; i){=0A=
					if ($chk(limit[z][i])) this.limit[z][i] =3D $lambda(limit[z][i])();=0A=
				}=0A=
			}=0A=
		}=0A=
		if ($type(this.options.grid) =3D=3D 'number') this.options.grid =3D =
{'x': this.options.grid, 'y': this.options.grid};=0A=
		this.document.addEvents({mousemove: this.bound.check, mouseup: =
this.bound.cancel});=0A=
		this.document.addEvent(this.selection, this.bound.eventStop);=0A=
	},=0A=
=0A=
	check: function(event){=0A=
		if (this.options.preventDefault) event.preventDefault();=0A=
		var distance =3D Math.round(Math.sqrt(Math.pow(event.page.x - =
this.mouse.start.x, 2) + Math.pow(event.page.y - this.mouse.start.y, =
2)));=0A=
		if (distance > this.options.snap){=0A=
			this.cancel();=0A=
			this.document.addEvents({=0A=
				mousemove: this.bound.drag,=0A=
				mouseup: this.bound.stop=0A=
			});=0A=
			this.fireEvent('start', this.element).fireEvent('snap', this.element);=0A=
		}=0A=
	},=0A=
=0A=
	drag: function(event){=0A=
		if (this.options.preventDefault) event.preventDefault();=0A=
		this.mouse.now =3D event.page;=0A=
		for (var z in this.options.modifiers){=0A=
			if (!this.options.modifiers[z]) continue;=0A=
			this.value.now[z] =3D this.mouse.now[z] - this.mouse.pos[z];=0A=
			if (this.options.invert) this.value.now[z] *=3D -1;=0A=
			if (this.options.limit && this.limit[z]){=0A=
				if ($chk(this.limit[z][1]) && (this.value.now[z] > =
this.limit[z][1])){=0A=
					this.value.now[z] =3D this.limit[z][1];=0A=
				} else if ($chk(this.limit[z][0]) && (this.value.now[z] < =
this.limit[z][0])){=0A=
					this.value.now[z] =3D this.limit[z][0];=0A=
				}=0A=
			}=0A=
			if (this.options.grid[z]) this.value.now[z] -=3D (this.value.now[z] % =
this.options.grid[z]);=0A=
			if (this.options.style) =
this.element.setStyle(this.options.modifiers[z], this.value.now[z] + =
this.options.unit);=0A=
			else this.element[this.options.modifiers[z]] =3D this.value.now[z];=0A=
		}=0A=
		this.fireEvent('drag', this.element);=0A=
	},=0A=
=0A=
	cancel: function(event){=0A=
		this.document.removeEvent('mousemove', this.bound.check);=0A=
		this.document.removeEvent('mouseup', this.bound.cancel);=0A=
		if (event){=0A=
			this.document.removeEvent(this.selection, this.bound.eventStop);=0A=
			this.fireEvent('cancel', this.element);=0A=
		}=0A=
	},=0A=
=0A=
	stop: function(event){=0A=
		this.document.removeEvent(this.selection, this.bound.eventStop);=0A=
		this.document.removeEvent('mousemove', this.bound.drag);=0A=
		this.document.removeEvent('mouseup', this.bound.stop);=0A=
		if (event) this.fireEvent('complete', this.element);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.implement({=0A=
	=0A=
	makeResizable: function(options){=0A=
		return new Drag(this, $merge({modifiers: {'x': 'width', 'y': =
'height'}}, options));=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Drag.Move.js=0A=
	A Drag extension that provides support for the constraining of =
draggables to containers and droppables.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
Drag.Move =3D new Class({=0A=
=0A=
	Extends: Drag,=0A=
=0A=
	options: {=0A=
		droppables: [],=0A=
		container: false=0A=
	},=0A=
=0A=
	initialize: function(element, options){=0A=
		this.parent(element, options);=0A=
		this.droppables =3D $$(this.options.droppables);=0A=
		this.container =3D $(this.options.container);=0A=
		if (this.container && $type(this.container) !=3D 'element') =
this.container =3D $(this.container.getDocument().body);=0A=
		element =3D this.element;=0A=
		=0A=
		var current =3D element.getStyle('position');=0A=
		var position =3D (current !=3D 'static') ? current : 'absolute';=0A=
		if (element.getStyle('left') =3D=3D 'auto' || element.getStyle('top') =
=3D=3D 'auto') =
element.position(element.getPosition(element.offsetParent));=0A=
		=0A=
		element.setStyle('position', position);=0A=
		=0A=
		this.addEvent('start', function(){=0A=
			this.checkDroppables();=0A=
		}, true);=0A=
	},=0A=
=0A=
	start: function(event){=0A=
		if (this.container){=0A=
			var el =3D this.element, cont =3D this.container, ccoo =3D =
cont.getCoordinates(el.offsetParent), cps =3D {}, ems =3D {};=0A=
=0A=
			['top', 'right', 'bottom', 'left'].each(function(pad){=0A=
				cps[pad] =3D cont.getStyle('padding-' + pad).toInt();=0A=
				ems[pad] =3D el.getStyle('margin-' + pad).toInt();=0A=
			}, this);=0A=
=0A=
			var width =3D el.offsetWidth + ems.left + ems.right, height =3D =
el.offsetHeight + ems.top + ems.bottom;=0A=
			var x =3D [ccoo.left + cps.left, ccoo.right - cps.right - width];=0A=
			var y =3D [ccoo.top + cps.top, ccoo.bottom - cps.bottom - height];=0A=
=0A=
			this.options.limit =3D {x: x, y: y};=0A=
		}=0A=
		this.parent(event);=0A=
	},=0A=
=0A=
	checkAgainst: function(el){=0A=
		el =3D el.getCoordinates();=0A=
		var now =3D this.mouse.now;=0A=
		return (now.x > el.left && now.x < el.right && now.y < el.bottom && =
now.y > el.top);=0A=
	},=0A=
=0A=
	checkDroppables: function(){=0A=
		var overed =3D this.droppables.filter(this.checkAgainst, =
this).getLast();=0A=
		if (this.overed !=3D overed){=0A=
			if (this.overed) this.fireEvent('leave', [this.element, this.overed]);=0A=
			if (overed){=0A=
				this.overed =3D overed;=0A=
				this.fireEvent('enter', [this.element, overed]);=0A=
			} else {=0A=
				this.overed =3D null;=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	drag: function(event){=0A=
		this.parent(event);=0A=
		if (this.droppables.length) this.checkDroppables();=0A=
	},=0A=
=0A=
	stop: function(event){=0A=
		this.checkDroppables();=0A=
		this.fireEvent('drop', [this.element, this.overed]);=0A=
		this.overed =3D null;=0A=
		return this.parent(event);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Element.implement({=0A=
=0A=
	makeDraggable: function(options){=0A=
		return new Drag.Move(this, options);=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*
Script: Hash.Cookie.js
	Class for creating, reading, and deleting Cookies in JSON format.

License:
	MIT-style license.
*/

Hash.Cookie =3D new Class({

	Extends: Cookie,

	options: {
		autoSave: true
	},

	initialize: function(name, options){
		this.parent(name, options);
		this.load();
	},

	save: function(){
		var value =3D JSON.encode(this.hash);
		if (!value || value.length > 4096) return false; //cookie would be =
truncated!
		if (value =3D=3D '{}') this.dispose();
		else this.write(value);
		return true;
	},

	load: function(){
		this.hash =3D new Hash(JSON.decode(this.read(), true));
		return this;
	}

});

Hash.Cookie.implement((function(){
=09
	var methods =3D {};
=09
	Hash.each(Hash.prototype, function(method, name){
		methods[name] =3D function(){
			var value =3D method.apply(this.hash, arguments);
			if (this.options.autoSave) this.save();
			return value;
		};
	});
=09
	return methods;
=09
})());=0A=
=0A=
/*=0A=
Script: Color.js=0A=
	Class for creating and manipulating colors in JavaScript. Supports HSB =
-> RGB Conversions and vice versa.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Color =3D new Native({=0A=
  =0A=
	initialize: function(color, type){=0A=
		if (arguments.length >=3D 3){=0A=
			type =3D "rgb"; color =3D Array.slice(arguments, 0, 3);=0A=
		} else if (typeof color =3D=3D 'string'){=0A=
			if (color.match(/rgb/)) color =3D color.rgbToHex().hexToRgb(true);=0A=
			else if (color.match(/hsb/)) color =3D color.hsbToRgb();=0A=
			else color =3D color.hexToRgb(true);=0A=
		}=0A=
		type =3D type || 'rgb';=0A=
		switch (type){=0A=
			case 'hsb':=0A=
				var old =3D color;=0A=
				color =3D color.hsbToRgb();=0A=
				color.hsb =3D old;=0A=
			break;=0A=
			case 'hex': color =3D color.hexToRgb(true); break;=0A=
		}=0A=
		color.rgb =3D color.slice(0, 3);=0A=
		color.hsb =3D color.hsb || color.rgbToHsb();=0A=
		color.hex =3D color.rgbToHex();=0A=
		return $extend(color, this);=0A=
	}=0A=
=0A=
});=0A=
=0A=
Color.implement({=0A=
=0A=
	mix: function(){=0A=
		var colors =3D Array.slice(arguments);=0A=
		var alpha =3D ($type(colors.getLast()) =3D=3D 'number') ? colors.pop() =
: 50;=0A=
		var rgb =3D this.slice();=0A=
		colors.each(function(color){=0A=
			color =3D new Color(color);=0A=
			for (var i =3D 0; i < 3; i++) rgb[i] =3D Math.round((rgb[i] / 100 * =
(100 - alpha)) + (color[i] / 100 * alpha));=0A=
		});=0A=
		return new Color(rgb, 'rgb');=0A=
	},=0A=
=0A=
	invert: function(){=0A=
		return new Color(this.map(function(value){=0A=
			return 255 - value;=0A=
		}));=0A=
	},=0A=
=0A=
	setHue: function(value){=0A=
		return new Color([value, this.hsb[1], this.hsb[2]], 'hsb');=0A=
	},=0A=
=0A=
	setSaturation: function(percent){=0A=
		return new Color([this.hsb[0], percent, this.hsb[2]], 'hsb');=0A=
	},=0A=
=0A=
	setBrightness: function(percent){=0A=
		return new Color([this.hsb[0], this.hsb[1], percent], 'hsb');=0A=
	}=0A=
=0A=
});=0A=
=0A=
function $RGB(r, g, b){=0A=
	return new Color([r, g, b], 'rgb');=0A=
};=0A=
=0A=
function $HSB(h, s, b){=0A=
	return new Color([h, s, b], 'hsb');=0A=
};=0A=
=0A=
function $HEX(hex){=0A=
	return new Color(hex, 'hex');=0A=
};=0A=
=0A=
Array.implement({=0A=
=0A=
	rgbToHsb: function(){=0A=
		var red =3D this[0], green =3D this[1], blue =3D this[2];=0A=
		var hue, saturation, brightness;=0A=
		var max =3D Math.max(red, green, blue), min =3D Math.min(red, green, =
blue);=0A=
		var delta =3D max - min;=0A=
		brightness =3D max / 255;=0A=
		saturation =3D (max !=3D 0) ? delta / max : 0;=0A=
		if (saturation =3D=3D 0){=0A=
			hue =3D 0;=0A=
		} else {=0A=
			var rr =3D (max - red) / delta;=0A=
			var gr =3D (max - green) / delta;=0A=
			var br =3D (max - blue) / delta;=0A=
			if (red =3D=3D max) hue =3D br - gr;=0A=
			else if (green =3D=3D max) hue =3D 2 + rr - br;=0A=
			else hue =3D 4 + gr - rr;=0A=
			hue /=3D 6;=0A=
			if (hue < 0) hue++;=0A=
		}=0A=
		return [Math.round(hue * 360), Math.round(saturation * 100), =
Math.round(brightness * 100)];=0A=
	},=0A=
=0A=
	hsbToRgb: function(){=0A=
		var br =3D Math.round(this[2] / 100 * 255);=0A=
		if (this[1] =3D=3D 0){=0A=
			return [br, br, br];=0A=
		} else {=0A=
			var hue =3D this[0] % 360;=0A=
			var f =3D hue % 60;=0A=
			var p =3D Math.round((this[2] * (100 - this[1])) / 10000 * 255);=0A=
			var q =3D Math.round((this[2] * (6000 - this[1] * f)) / 600000 * 255);=0A=
			var t =3D Math.round((this[2] * (6000 - this[1] * (60 - f))) / 600000 =
* 255);=0A=
			switch (Math.floor(hue / 60)){=0A=
				case 0: return [br, t, p];=0A=
				case 1: return [q, br, p];=0A=
				case 2: return [p, br, t];=0A=
				case 3: return [p, q, br];=0A=
				case 4: return [t, p, br];=0A=
				case 5: return [br, p, q];=0A=
			}=0A=
		}=0A=
		return false;=0A=
	}=0A=
=0A=
});=0A=
=0A=
String.implement({=0A=
=0A=
	rgbToHsb: function(){=0A=
		var rgb =3D this.match(/\d{1,3}/g);=0A=
		return (rgb) ? hsb.rgbToHsb() : null;=0A=
	},=0A=
	=0A=
	hsbToRgb: function(){=0A=
		var hsb =3D this.match(/\d{1,3}/g);=0A=
		return (hsb) ? hsb.hsbToRgb() : null;=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Group.js=0A=
	Class for monitoring collections of events=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Group =3D new Class({=0A=
=0A=
	initialize: function(){=0A=
		this.instances =3D Array.flatten(arguments);=0A=
		this.events =3D {};=0A=
		this.checker =3D {};=0A=
	},=0A=
=0A=
	addEvent: function(type, fn){=0A=
		this.checker[type] =3D this.checker[type] || {};=0A=
		this.events[type] =3D this.events[type] || [];=0A=
		if (this.events[type].contains(fn)) return false;=0A=
		else this.events[type].push(fn);=0A=
		this.instances.each(function(instance, i){=0A=
			instance.addEvent(type, this.check.bind(this, [type, instance, i]));=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	check: function(type, instance, i){=0A=
		this.checker[type][i] =3D true;=0A=
		var every =3D this.instances.every(function(current, j){=0A=
			return this.checker[type][j] || false;=0A=
		}, this);=0A=
		if (!every) return;=0A=
		this.checker[type] =3D {};=0A=
		this.events[type].each(function(event){=0A=
			event.call(this, this.instances, instance);=0A=
		}, this);=0A=
	}=0A=
=0A=
});=0A=
=0A=
=0A=
/*=0A=
Script: Assets.js=0A=
	Provides methods to dynamically load JavaScript, CSS, and Image files =
into the document.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Asset =3D new Hash({=0A=
=0A=
	javascript: function(source, properties){=0A=
		properties =3D $extend({=0A=
			onload: $empty,=0A=
			document: document,=0A=
			check: $lambda(true)=0A=
		}, properties);=0A=
		=0A=
		var script =3D new Element('script', {'src': source, 'type': =
'text/javascript'});=0A=
		=0A=
		var load =3D properties.onload.bind(script), check =3D =
properties.check, doc =3D properties.document;=0A=
		delete properties.onload; delete properties.check; delete =
properties.document;=0A=
		=0A=
		script.addEvents({=0A=
			load: load,=0A=
			readystatechange: function(){=0A=
				if (['loaded', 'complete'].contains(this.readyState)) load();=0A=
			}=0A=
		}).setProperties(properties);=0A=
		=0A=
		=0A=
		if (Browser.Engine.webkit419) var checker =3D (function(){=0A=
			if (!$try(check)) return;=0A=
			$clear(checker);=0A=
			load();=0A=
		}).periodical(50);=0A=
		=0A=
		return script.inject(doc.head);=0A=
	},=0A=
=0A=
	css: function(source, properties){=0A=
		return new Element('link', $merge({=0A=
			'rel': 'stylesheet', 'media': 'screen', 'type': 'text/css', 'href': =
source=0A=
		}, properties)).inject(document.head);=0A=
	},=0A=
=0A=
	image: function(source, properties){=0A=
		properties =3D $merge({=0A=
			'onload': $empty,=0A=
			'onabort': $empty,=0A=
			'onerror': $empty=0A=
		}, properties);=0A=
		var image =3D new Image();=0A=
		var element =3D $(image) || new Element('img');=0A=
		['load', 'abort', 'error'].each(function(name){=0A=
			var type =3D 'on' + name;=0A=
			var event =3D properties[type];=0A=
			delete properties[type];=0A=
			image[type] =3D function(){=0A=
				if (!image) return;=0A=
				if (!element.parentNode){=0A=
					element.width =3D image.width;=0A=
					element.height =3D image.height;=0A=
				}=0A=
				image =3D image.onload =3D image.onabort =3D image.onerror =3D null;=0A=
				event.delay(1, element, element);=0A=
				element.fireEvent(name, element, 1);=0A=
			};=0A=
		});=0A=
		image.src =3D element.src =3D source;=0A=
		if (image && image.complete) image.onload.delay(1);=0A=
		return element.setProperties(properties);=0A=
	},=0A=
=0A=
	images: function(sources, options){=0A=
		options =3D $merge({=0A=
			onComplete: $empty,=0A=
			onProgress: $empty=0A=
		}, options);=0A=
		if (!sources.push) sources =3D [sources];=0A=
		var images =3D [];=0A=
		var counter =3D 0;=0A=
		sources.each(function(source){=0A=
			var img =3D new Asset.image(source, {=0A=
				'onload': function(){=0A=
					options.onProgress.call(this, counter, sources.indexOf(source));=0A=
					counter++;=0A=
					if (counter =3D=3D sources.length) options.onComplete();=0A=
				}=0A=
			});=0A=
			images.push(img);=0A=
		});=0A=
		return new Elements(images);=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Sortables.js=0A=
	Class for creating a drag and drop sorting interface for lists of items.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Sortables =3D new Class({=0A=
=0A=
	Implements: [Events, Options],=0A=
=0A=
	options: {/*=0A=
		onSort: $empty,=0A=
		onStart: $empty,=0A=
		onComplete: $empty,*/=0A=
		snap: 4,=0A=
		opacity: 1,=0A=
		clone: false,=0A=
		revert: false,=0A=
		handle: false,=0A=
		constrain: false=0A=
	},=0A=
=0A=
	initialize: function(lists, options){=0A=
		this.setOptions(options);=0A=
		this.elements =3D [];=0A=
		this.lists =3D [];=0A=
		this.idle =3D true;=0A=
		=0A=
		this.addLists($$($(lists) || lists));=0A=
		if (!this.options.clone) this.options.revert =3D false;=0A=
		if (this.options.revert) this.effect =3D new Fx.Morph(null, =
$merge({duration: 250, link: 'cancel'}, this.options.revert));=0A=
	},=0A=
=0A=
	attach: function(){=0A=
		this.addLists(this.lists);=0A=
		return this;=0A=
	},=0A=
=0A=
	detach: function(){=0A=
		this.lists =3D this.removeLists(this.lists);=0A=
		return this;=0A=
	},=0A=
=0A=
	addItems: function(){=0A=
		Array.flatten(arguments).each(function(element){=0A=
			this.elements.push(element);=0A=
			var start =3D element.retrieve('sortables:start', =
this.start.bindWithEvent(this, element));=0A=
			(this.options.handle ? element.getElement(this.options.handle) || =
element : element).addEvent('mousedown', start);=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	addLists: function(){=0A=
		Array.flatten(arguments).each(function(list){=0A=
			this.lists.push(list);=0A=
			this.addItems(list.getChildren());=0A=
		}, this);=0A=
		return this;=0A=
	},=0A=
=0A=
	removeItems: function(){=0A=
		var elements =3D [];=0A=
		Array.flatten(arguments).each(function(element){=0A=
			elements.push(element);=0A=
			this.elements.erase(element);=0A=
			var start =3D element.retrieve('sortables:start');=0A=
			(this.options.handle ? element.getElement(this.options.handle) || =
element : element).removeEvent('mousedown', start);=0A=
		}, this);=0A=
		return $$(elements);=0A=
	},=0A=
=0A=
	removeLists: function(){=0A=
		var lists =3D [];=0A=
		Array.flatten(arguments).each(function(list){=0A=
			lists.push(list);=0A=
			this.lists.erase(list);=0A=
			this.removeItems(list.getChildren());=0A=
		}, this);=0A=
		return $$(lists);=0A=
	},=0A=
=0A=
	getClone: function(event, element){=0A=
		if (!this.options.clone) return new =
Element('div').inject(document.body);=0A=
		if ($type(this.options.clone) =3D=3D 'function') return =
this.options.clone.call(this, event, element, this.list);=0A=
		return element.clone(true).setStyles({=0A=
			'margin': '0px',=0A=
			'position': 'absolute',=0A=
			'visibility': 'hidden',=0A=
			'width': element.getStyle('width')=0A=
		=
}).inject(this.list).position(element.getPosition(element.getOffsetParent=
()));=0A=
	},=0A=
=0A=
	getDroppables: function(){=0A=
		var droppables =3D this.list.getChildren();=0A=
		if (!this.options.constrain) droppables =3D =
this.lists.concat(droppables).erase(this.list);=0A=
		return droppables.erase(this.clone).erase(this.element);=0A=
	},=0A=
=0A=
	insert: function(dragging, element){=0A=
		var where =3D 'inside';=0A=
		if (this.lists.contains(element)){=0A=
			this.list =3D element;=0A=
			this.drag.droppables =3D this.getDroppables();=0A=
		} else {=0A=
			where =3D this.element.getAllPrevious().contains(element) ? 'before' =
: 'after';=0A=
		}=0A=
		this.element.inject(element, where);=0A=
		this.fireEvent('sort', [this.element, this.clone]);=0A=
	},=0A=
=0A=
	start: function(event, element){=0A=
		if (!this.idle) return;=0A=
		this.idle =3D false;=0A=
		this.element =3D element;=0A=
		this.opacity =3D element.get('opacity');=0A=
		this.list =3D element.getParent();=0A=
		this.clone =3D this.getClone(event, element);=0A=
		=0A=
		this.drag =3D new Drag.Move(this.clone, {=0A=
			snap: this.options.snap,=0A=
			container: this.options.constrain && this.element.getParent(),=0A=
			droppables: this.getDroppables(),=0A=
			onSnap: function(){=0A=
				event.stop();=0A=
				this.clone.setStyle('visibility', 'visible');=0A=
				this.element.set('opacity', this.options.opacity || 0);=0A=
				this.fireEvent('start', [this.element, this.clone]);=0A=
			}.bind(this),=0A=
			onEnter: this.insert.bind(this),=0A=
			onCancel: this.reset.bind(this),=0A=
			onComplete: this.end.bind(this)=0A=
		});=0A=
		=0A=
		this.clone.inject(this.element, 'before');=0A=
		this.drag.start(event);=0A=
	},=0A=
=0A=
	end: function(){=0A=
		this.drag.detach();=0A=
		this.element.set('opacity', this.opacity);=0A=
		if (this.effect){=0A=
			var dim =3D this.element.getStyles('width', 'height');=0A=
			var pos =3D =
this.clone.computePosition(this.element.getPosition(this.clone.offsetPare=
nt));=0A=
			this.effect.element =3D this.clone;=0A=
			this.effect.start({=0A=
				top: pos.top,=0A=
				left: pos.left,=0A=
				width: dim.width,=0A=
				height: dim.height,=0A=
				opacity: 0.25=0A=
			}).chain(this.reset.bind(this));=0A=
		} else {=0A=
			this.reset();=0A=
		}=0A=
	},=0A=
=0A=
	reset: function(){=0A=
		this.idle =3D true;=0A=
		this.clone.destroy();=0A=
		this.fireEvent('complete', this.element);=0A=
	},=0A=
=0A=
	serialize: function(){=0A=
		var params =3D Array.link(arguments, {modifier: Function.type, index: =
$defined});=0A=
		var serial =3D this.lists.map(function(list){=0A=
			return list.getChildren().map(params.modifier || function(element){=0A=
				return element.get('id');=0A=
			}, this);=0A=
		}, this);=0A=
		=0A=
		var index =3D params.index;=0A=
		if (this.lists.length =3D=3D 1) index =3D 0;=0A=
		return $chk(index) && index >=3D 0 && index < this.lists.length ? =
serial[index] : serial;=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*
Script: Tips.js
	Class for creating nice tips that follow the mouse cursor when hovering =
an element.

License:
	MIT-style license.
*/

var Tips =3D new Class({

	Implements: [Events, Options],

	options: {
		onShow: function(tip){
			tip.setStyle('visibility', 'visible');
		},
		onHide: function(tip){
			tip.setStyle('visibility', 'hidden');
		},
		showDelay: 100,
		hideDelay: 100,
		className: null,
		offsets: {x: 16, y: 16},
		fixed: false
	},

	initialize: function(){
		var params =3D Array.link(arguments, {options: Object.type, elements: =
$defined});
		this.setOptions(params.options || null);
	=09
		this.tip =3D new Element('div').inject(document.body);
	=09
		if (this.options.className) this.tip.addClass(this.options.className);
	=09
		var top =3D new Element('div', {'class': 'tip-top'}).inject(this.tip);
		this.container =3D new Element('div', {'class': =
'tip'}).inject(this.tip);
		var bottom =3D new Element('div', {'class': =
'tip-bottom'}).inject(this.tip);

		this.tip.setStyles({position: 'absolute', top: 0, left: 0, visibility: =
'hidden'});
	=09
		if (params.elements) this.attach(params.elements);
	},
=09
	attach: function(elements){
		$$(elements).each(function(element){
			var title =3D element.retrieve('tip:title', element.get('title'));
			var text =3D element.retrieve('tip:text', element.get('rel') || =
element.get('href'));
			var enter =3D element.retrieve('tip:enter', =
this.elementEnter.bindWithEvent(this, element));
			var leave =3D element.retrieve('tip:leave', =
this.elementLeave.bindWithEvent(this, element));
			element.addEvents({mouseenter: enter, mouseleave: leave});
			if (!this.options.fixed){
				var move =3D element.retrieve('tip:move', =
this.elementMove.bindWithEvent(this, element));
				element.addEvent('mousemove', move);
			}
			element.store('tip:native', element.get('title'));
			element.erase('title');
		}, this);
		return this;
	},
=09
	detach: function(elements){
		$$(elements).each(function(element){
			element.removeEvent('mouseenter', element.retrieve('tip:enter') || =
$empty);
			element.removeEvent('mouseleave', element.retrieve('tip:leave') || =
$empty);
			element.removeEvent('mousemove', element.retrieve('tip:move') || =
$empty);
			=
element.eliminate('tip:enter').eliminate('tip:leave').eliminate('tip:move=
');
			var original =3D element.retrieve('tip:native');
			if (original) element.set('title', original);
		});
		return this;
	},
=09
	elementEnter: function(event, element){
	=09
		$A(this.container.childNodes).each(Element.dispose);
	=09
		var title =3D element.retrieve('tip:title');
	=09
		if (title){
			this.titleElement =3D new Element('div', {'class': =
'tip-title'}).inject(this.container);
			this.fill(this.titleElement, title);
		}
	=09
		var text =3D element.retrieve('tip:text');
		if (text){
			this.textElement =3D new Element('div', {'class': =
'tip-text'}).inject(this.container);
			this.fill(this.textElement, text);
		}
	=09
		this.timer =3D $clear(this.timer);
		this.timer =3D this.show.delay(this.options.showDelay, this);

		this.position((!this.options.fixed) ? event : {page: =
element.getPosition()});
	},
=09
	elementLeave: function(event){
		$clear(this.timer);
		this.timer =3D this.hide.delay(this.options.hideDelay, this);
	},
=09
	elementMove: function(event){
		this.position(event);
	},
=09
	position: function(event){
		var size =3D window.getSize(), scroll =3D window.getScroll();
		var tip =3D {x: this.tip.offsetWidth, y: this.tip.offsetHeight};
		var props =3D {x: 'left', y: 'top'};
		for (var z in props){
			var pos =3D event.page[z] + this.options.offsets[z];
			if ((pos + tip[z] - scroll[z]) > size[z]) pos =3D event.page[z] - =
this.options.offsets[z] - tip[z];
			this.tip.setStyle(props[z], pos);
		}
	},
=09
	fill: function(element, contents){
		(typeof contents =3D=3D 'string') ? element.set('html', contents) : =
element.adopt(contents);
	},

	show: function(){
		this.fireEvent('show', this.tip);
	},

	hide: function(){
		this.fireEvent('hide', this.tip);
	}

});=0A=
=0A=
/*
Script: SmoothScroll.js
	Class for creating a smooth scrolling effect to all internal links on =
the page.

License:
	MIT-style license.
*/

var SmoothScroll =3D new Class({

	Extends: Fx.Scroll,

	initialize: function(options, context){
		context =3D context || document;
		var doc =3D context.getDocument(), win =3D context.getWindow();
		this.parent(doc, options);
		this.links =3D (this.options.links) ? $$(this.options.links) : =
$$(doc.links);
		var location =3D win.location.href.match(/^[^#]*/)[0] + '#';
		this.links.each(function(link){
			if (link.href.indexOf(location) !=3D 0) return;
			var anchor =3D link.href.substr(location.length);
			if (anchor && $(anchor)) this.useLink(link, anchor);
		}, this);
		if (!Browser.Engine.webkit419) this.addEvent('complete', function(){
			win.location.hash =3D this.anchor;
		}, true);
	},

	useLink: function(link, anchor){
		link.addEvent('click', function(event){
			this.anchor =3D anchor;
			this.toElement(anchor);
			event.stop();
		}.bind(this));
	}

});=0A=
=0A=
/*=0A=
Script: Slider.js=0A=
	Class for creating horizontal and vertical slider controls.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Slider =3D new Class({=0A=
=0A=
	Implements: [Events, Options],=0A=
=0A=
	options: {/*=0A=
		onChange: $empty,=0A=
		onComplete: $empty,*/=0A=
		onTick: function(position){=0A=
			if(this.options.snap) position =3D this.toPosition(this.step);=0A=
			this.knob.setStyle(this.property, position);=0A=
		},=0A=
		snap: false,=0A=
		offset: 0,=0A=
		range: false,=0A=
		wheel: false,=0A=
		steps: 100,=0A=
		mode: 'horizontal'=0A=
	},=0A=
=0A=
	initialize: function(element, knob, options){=0A=
		this.setOptions(options);=0A=
		this.element =3D $(element);=0A=
		this.knob =3D $(knob);=0A=
		this.previousChange =3D this.previousEnd =3D this.step =3D -1;=0A=
		this.element.addEvent('mousedown', this.clickedElement.bind(this));=0A=
		if (this.options.wheel) this.element.addEvent('mousewheel', =
this.scrolledElement.bindWithEvent(this));=0A=
		var offset, limit =3D {}, modifiers =3D {'x': false, 'y': false};=0A=
		switch (this.options.mode){=0A=
			case 'vertical':=0A=
				this.axis =3D 'y';=0A=
				this.property =3D 'top';=0A=
				offset =3D 'offsetHeight';=0A=
				break;=0A=
			case 'horizontal':=0A=
				this.axis =3D 'x';=0A=
				this.property =3D 'left';=0A=
				offset =3D 'offsetWidth';=0A=
		}=0A=
		this.half =3D this.knob[offset] / 2;=0A=
		this.full =3D this.element[offset] - this.knob[offset] + =
(this.options.offset * 2);=0A=
		this.min =3D $chk(this.options.range[0]) ? this.options.range[0] : 0;=0A=
		this.max =3D $chk(this.options.range[1]) ? this.options.range[1] : =
this.options.steps;=0A=
		this.range =3D this.max - this.min;=0A=
		this.steps =3D this.options.steps || this.full;=0A=
		this.stepSize =3D Math.abs(this.range) / this.steps;=0A=
		this.stepWidth =3D this.stepSize * this.full / Math.abs(this.range) ;=0A=
		=0A=
		this.knob.setStyle('position', 'relative').setStyle(this.property, - =
this.options.offset);=0A=
		modifiers[this.axis] =3D this.property;=0A=
		limit[this.axis] =3D [- this.options.offset, this.full - =
this.options.offset];=0A=
		this.drag =3D new Drag(this.knob, {=0A=
			snap: 0,=0A=
			limit: limit,=0A=
			modifiers: modifiers,=0A=
			onDrag: this.draggedKnob.bind(this),=0A=
			onStart: this.draggedKnob.bind(this),=0A=
			onComplete: function(){=0A=
				this.draggedKnob();=0A=
				this.end();=0A=
			}.bind(this)=0A=
		});=0A=
		if (this.options.snap) {=0A=
			this.drag.options.grid =3D Math.ceil(this.stepWidth);=0A=
			this.drag.options.limit[this.axis][1] =3D this.full;=0A=
		}=0A=
	},=0A=
=0A=
	set: function(step){=0A=
		if (!((this.range > 0) ^ (step < this.min))) step =3D this.min;=0A=
		if (!((this.range > 0) ^ (step > this.max))) step =3D this.max;=0A=
		=0A=
		this.step =3D Math.round(step);=0A=
		this.checkStep();=0A=
		this.end();=0A=
		this.fireEvent('tick', this.toPosition(this.step));=0A=
		return this;=0A=
	},=0A=
=0A=
	clickedElement: function(event){=0A=
		var dir =3D this.range < 0 ? -1 : 1;=0A=
		var position =3D event.page[this.axis] - =
this.element.getPosition()[this.axis] - this.half;=0A=
		position =3D position.limit(-this.options.offset, this.full =
-this.options.offset);=0A=
		=0A=
		this.step =3D Math.round(this.min + dir * this.toStep(position));=0A=
		this.checkStep();=0A=
		this.end();=0A=
		this.fireEvent('tick', position);=0A=
	},=0A=
	=0A=
	scrolledElement: function(event){=0A=
		var mode =3D (this.options.mode =3D=3D 'horizontal') ? (event.wheel < =
0) : (event.wheel > 0);=0A=
		this.set(mode ? this.step - this.stepSize : this.step + this.stepSize);=0A=
		event.stop();=0A=
	},=0A=
=0A=
	draggedKnob: function(){=0A=
		var dir =3D this.range < 0 ? -1 : 1;=0A=
		var position =3D this.drag.value.now[this.axis];=0A=
		position =3D position.limit(-this.options.offset, this.full =
-this.options.offset);=0A=
		this.step =3D Math.round(this.min + dir * this.toStep(position));=0A=
		this.checkStep();=0A=
	},=0A=
=0A=
	checkStep: function(){=0A=
		if (this.previousChange !=3D this.step){=0A=
			this.previousChange =3D this.step;=0A=
			this.fireEvent('change', this.step);=0A=
		}=0A=
	},=0A=
=0A=
	end: function(){=0A=
		if (this.previousEnd !=3D=3D this.step){=0A=
			this.previousEnd =3D this.step;=0A=
			this.fireEvent('complete', this.step + '');=0A=
		}=0A=
	},=0A=
=0A=
	toStep: function(position){=0A=
		var step =3D (position + this.options.offset) * this.stepSize / =
this.full * this.steps;=0A=
		return this.options.steps ? Math.round(step -=3D step % this.stepSize) =
: step;=0A=
	},=0A=
=0A=
	toPosition: function(step){=0A=
		return (this.full * Math.abs(this.min - step)) / (this.steps * =
this.stepSize) - this.options.offset;=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*=0A=
Script: Scroller.js=0A=
	Class which scrolls the contents of any Element (including the window) =
when the mouse reaches the Element's boundaries.=0A=
=0A=
License:=0A=
	MIT-style license.=0A=
*/=0A=
=0A=
var Scroller =3D new Class({=0A=
=0A=
	Implements: [Events, Options],=0A=
=0A=
	options: {=0A=
		area: 20,=0A=
		velocity: 1,=0A=
		onChange: function(x, y){=0A=
			this.element.scrollTo(x, y);=0A=
		}=0A=
	},=0A=
=0A=
	initialize: function(element, options){=0A=
		this.setOptions(options);=0A=
		this.element =3D $(element);=0A=
		this.listener =3D ($type(this.element) !=3D 'element') ? =
$(this.element.getDocument().body) : this.element;=0A=
		this.timer =3D null;=0A=
		this.coord =3D this.getCoords.bind(this);=0A=
	},=0A=
=0A=
	start: function(){=0A=
		this.listener.addEvent('mousemove', this.coord);=0A=
	},=0A=
=0A=
	stop: function(){=0A=
		this.listener.removeEvent('mousemove', this.coord);=0A=
		this.timer =3D $clear(this.timer);=0A=
	},=0A=
=0A=
	getCoords: function(event){=0A=
		this.page =3D (this.listener.get('tag') =3D=3D 'body') ? event.client =
: event.page;=0A=
		if (!this.timer) this.timer =3D this.scroll.periodical(50, this);=0A=
	},=0A=
=0A=
	scroll: function(){=0A=
		var size =3D this.element.getSize(), scroll =3D =
this.element.getScroll(), pos =3D this.element.getPosition(), change =3D =
{'x': 0, 'y': 0};=0A=
		for (var z in this.page){=0A=
			if (this.page[z] < (this.options.area + pos[z]) && scroll[z] !=3D 0)=0A=
				change[z] =3D (this.page[z] - this.options.area - pos[z]) * =
this.options.velocity;=0A=
			else if (this.page[z] + this.options.area > (size[z] + pos[z]) && =
size[z] + size[z] !=3D scroll[z])=0A=
				change[z] =3D (this.page[z] - size[z] + this.options.area - pos[z]) =
* this.options.velocity;=0A=
		}=0A=
		if (change.y || change.x) this.fireEvent('change', [scroll.x + =
change.x, scroll.y + change.y]);=0A=
	}=0A=
=0A=
});=0A=
=0A=
/*
Script: Accordion.js
	An Fx.Elements extension which allows you to easily create accordion =
type controls.

License:
	MIT-style license.
*/

var Accordion =3D new Class({

	Extends: Fx.Elements,

	options: {/*
		onActive: $empty,
		onBackground: $empty,*/
		display: 0,
		show: false,
		height: true,
		width: false,
		opacity: true,
		fixedHeight: false,
		fixedWidth: false,
		wait: false,
		alwaysHide: false
	},

	initialize: function(){
		var params =3D Array.link(arguments, {'container': Element.type, =
'options': Object.type, 'togglers': $defined, 'elements': $defined});
		this.parent(params.elements, params.options);
		this.togglers =3D $$(params.togglers);
		this.container =3D $(params.container);
		this.previous =3D -1;
		if (this.options.alwaysHide) this.options.wait =3D true;
		if ($chk(this.options.show)){
			this.options.display =3D false;
			this.previous =3D this.options.show;
		}
		if (this.options.start){
			this.options.display =3D false;
			this.options.show =3D false;
		}
		this.effects =3D {};
		if (this.options.opacity) this.effects.opacity =3D 'fullOpacity';
		if (this.options.width) this.effects.width =3D this.options.fixedWidth =
? 'fullWidth' : 'offsetWidth';
		if (this.options.height) this.effects.height =3D =
this.options.fixedHeight ? 'fullHeight' : 'scrollHeight';
		for (var i =3D 0, l =3D this.togglers.length; i < l; i++) =
this.addSection(this.togglers[i], this.elements[i]);
		this.elements.each(function(el, i){
			if (this.options.show =3D=3D=3D i){
				this.fireEvent('active', [this.togglers[i], el]);
			} else {
				for (var fx in this.effects) el.setStyle(fx, 0);
			}
		}, this);
		if ($chk(this.options.display)) this.display(this.options.display);
	},

	addSection: function(toggler, element, pos){
		toggler =3D $(toggler);
		element =3D $(element);
		var test =3D this.togglers.contains(toggler);
		var len =3D this.togglers.length;
		this.togglers.include(toggler);
		this.elements.include(element);
		if (len && (!test || pos)){
			pos =3D $pick(pos, len - 1);
			toggler.inject(this.togglers[pos], 'before');
			element.inject(toggler, 'after');
		} else if (this.container && !test){
			toggler.inject(this.container);
			element.inject(this.container);
		}
		var idx =3D this.togglers.indexOf(toggler);
		toggler.addEvent('click', this.display.bind(this, idx));
		if (this.options.height) element.setStyles({'padding-top': 0, =
'border-top': 'none', 'padding-bottom': 0, 'border-bottom': 'none'});
		if (this.options.width) element.setStyles({'padding-left': 0, =
'border-left': 'none', 'padding-right': 0, 'border-right': 'none'});
		element.fullOpacity =3D 1;
		if (this.options.fixedWidth) element.fullWidth =3D =
this.options.fixedWidth;
		if (this.options.fixedHeight) element.fullHeight =3D =
this.options.fixedHeight;
		element.setStyle('overflow', 'hidden');
		if (!test){
			for (var fx in this.effects) element.setStyle(fx, 0);
		}
		return this;
	},

	display: function(index){
		index =3D ($type(index) =3D=3D 'element') ? =
this.elements.indexOf(index) : index;
		if ((this.timer && this.options.wait) || (index =3D=3D=3D =
this.previous && !this.options.alwaysHide)) return this;
		this.previous =3D index;
		var obj =3D {};
		this.elements.each(function(el, i){
			obj[i] =3D {};
			var hide =3D (i !=3D index) || (this.options.alwaysHide && =
(el.offsetHeight > 0));
			this.fireEvent(hide ? 'background' : 'active', [this.togglers[i], =
el]);
			for (var fx in this.effects) obj[i][fx] =3D hide ? 0 : =
el[this.effects[fx]];
		}, this);
		return this.start(obj);
	}

});=0A=
=0A=
/////////////////////////////////////////////////////////////////////////=
/////////////////////////////////////////////////////////////////////////=
/////////////=0A=
/* *************************************=0A=
 * Filename:      lexum-classes.js=0A=
 * Version:       1.0=0A=
 * Author:        Benoit Giroux=0A=
 *                girouxb@lexum.umontreal.ca=0A=
 * Last updated:  2009-02-25, 9h30=0A=
 *=0A=
 ************************************* */=0A=
var IE6 =3D Browser.Engine.trident && Browser.Engine.version =3D=3D 4;=0A=
var IE7 =3D Browser.Engine.trident && Browser.Engine.version =3D=3D 5;=0A=
=0A=
$defined =3D function(element) {=0A=
	return (typeof element !=3D 'undefined');=0A=
}=0A=
=0A=
$notDefined =3D function(element) {=0A=
	return !$defined(element);=0A=
}=0A=
=0A=
$null =3D function(element) {=0A=
	return (element =3D=3D null);=0A=
}=0A=
=0A=
$notNull =3D function(element) {=0A=
	return !$null(element);=0A=
}=0A=
=0A=
$clearInlineEvents =3D function(element) {=0A=
	element.removeProperty('onclick');=0A=
	element.removeProperty('ondblclick');=0A=
	element.removeProperty('onmousedown');=0A=
	element.removeProperty('onmousemove');=0A=
	element.removeProperty('onmouseout');=0A=
	element.removeProperty('onmouseover');=0A=
	element.removeProperty('onmouseup');=0A=
	element.removeProperty('onchange');=0A=
	element.removeProperty('onsubmit');=0A=
	element.removeProperty('onreset');=0A=
	element.removeProperty('onselect');=0A=
	element.removeProperty('onblur');=0A=
	element.removeProperty('onfocus');=0A=
	element.removeProperty('onkeydown');=0A=
	element.removeProperty('onkeypress');=0A=
	element.removeProperty('onkeyup');=0A=
	element.removeProperty('onload');=0A=
	element.removeProperty('onunload');=0A=
}=0A=
=0A=
/** ********************************************* =0A=
  * The Toggler and Togglee classes.=0A=
  * Made for easy toggling of the visibility of an=0A=
  * element (the Togglee) by clicking another=0A=
  * element (the Toggler).=0A=
  *=0A=
  * The idea is to create a Togglee first:=0A=
  * var togglee =3D new Togglee(element, false, options);=0A=
  *=0A=
  * The first parameter is the html element that will be toggled=0A=
  * The second parameter is whether or not the element will be initially =
visible=0A=
  * The third parameter are the Fx options to be applied when the =
element is toggled=0A=
  *=0A=
  * Then you need to create at least one Toggler:=0A=
  * var toggler =3D new Toggler(toggler, togglee, options);=0A=
  *=0A=
  * The first parameter is the html element that will be the toggler=0A=
  * The second parameter is the Togglee created first=0A=
  * The third parameter are the options for the Toggler.=0A=
  *=0A=
  * Then the magic operates and you have a toggler/togglee on your page.=0A=
  *=0A=
  *********************************************** */=0A=
=0A=
var Toggler =3D new Class({=0A=
	Implements: Options,=0A=
	=0A=
	// Default options=0A=
	options: {=0A=
		collapsedText: null,     // The (optional) text to display when the =
Togglee is collapsed (hidden)=0A=
		expandedText: null,      // The (optional) text to display when the =
Togglee is expanded (visible)=0A=
		append: false,           // Whether the collapsed and expanded text is =
appended to the text already present for the toggler.=0A=
		input: false,            // Whether the toggler is an input of type =
"button" (<input type=3D"button"/>)=0A=
		expandedImage: null,     // The path to the (optional) image to =
display in front of the toggler when the Togglee is expanded (visible) =
(often a 'minus' sign)=0A=
		collapsedImage: null,    // The path to the (optional) image to =
display in front of the toggler when the Togglee is collapsed (hidden) =
(often a 'plus' sign)=0A=
		imagePosition: 'inside', // The position of the image. Can be "inside" =
or "outside".=0A=
		collapsedClass: null     // The (optional) class to apply to the =
toggler when the Togglee is collapsed (hidden)=0A=
	},=0A=
	=0A=
	initialize: function(toggler, togglee, options) {=0A=
		this.toggler =3D $(toggler);=0A=
		this.togglee =3D togglee;=0A=
		this.togglee.addToggler(this);=0A=
		this.setOptions(options);=0A=
=0A=
		// Add the toggle event on the toggler=0A=
		this.addEvents();=0A=
		this.toggler.setStyle('cursor', 'pointer');=0A=
		=0A=
		// If the toggler element is staticly positioned, change it to =
relative so that=0A=
		// the prepended images will be absolutely positioned relatively to =
the toggler.=0A=
		if (this.toggler.getStyle('position') =3D=3D 'static') {=0A=
			this.toggler.setStyle('position', 'relative');=0A=
		}=0A=
		=0A=
		// Initializing the toggler now that everything is set, to put it=0A=
		// in sync with the state of its Togglee.=0A=
		this.update(this.togglee.isVisible());=0A=
		=0A=
	},=0A=
	=0A=
	addEvents: function() {=0A=
		var myself =3D this;=0A=
		this.toggler.addEvent('click', function(_e) {myself.toggle(_e);});=0A=
		this.toggler.addEvent('focus', function() {myself.toggler.blur();});=0A=
		$clearInlineEvents(this.toggler);=0A=
=0A=
		// Since a lot of time, togglers were once links, check if the toggler=0A=
		// has a link as child. If so, remove any potential inline events=0A=
		// and as a bonus, cancel the onfocus effect (which will put a dotted=0A=
		// border all around the link) by bluring it.=0A=
		// This should not cause any problem with the link being=0A=
		$each(this.toggler.getElements('a'), function(link) {=0A=
			$clearInlineEvents(link);=0A=
			link.addEvent('focus', function(){=0A=
				link.blur();=0A=
			});=0A=
		});=0A=
	},=0A=
	=0A=
	show: function() {=0A=
		this.togglee.show();=0A=
	},=0A=
	=0A=
	hide: function() {=0A=
		this.togglee.hide();=0A=
	},=0A=
	=0A=
	toggle: function(_e) {=0A=
		_e.preventDefault(); // Prevent the default behavior of the event.=0A=
		if (this.togglee.isVisible()) {=0A=
			this.hide();=0A=
		} else {=0A=
			this.show();=0A=
		}=0A=
		=0A=
		return false;=0A=
	},=0A=
	=0A=
	// Except for the constructor, this function is only called by the =
Togglee.=0A=
	update: function(toggleeIsVisible) {=0A=
		if (toggleeIsVisible) {=0A=
			this.setText(this.options.expandedText);=0A=
			this.setImg(this.options.expandedImage);=0A=
			if ($notNull(this.options.collapsedClass) && =
this.toggler.hasClass(this.options.collapsedClass)) {=0A=
				this.toggler.removeClass(this.options.collapsedClass);=0A=
			}=0A=
		} else {=0A=
			this.setText(this.options.collapsedText);=0A=
			this.setImg(this.options.collapsedImage);=0A=
			if ($notNull(this.options.collapsedClass)) {=0A=
				this.toggler.addClass(this.options.collapsedClass);=0A=
			}=0A=
		}=0A=
	},=0A=
	=0A=
	// Set optional context relative text on the Toggler.=0A=
	// (i.e. 'open' when closed, and 'close' when opened). =0A=
	setText: function(text) {=0A=
		if ($notNull(text)) {=0A=
			// There are three possibilities on where to put the text=0A=
			if (this.options.append) {=0A=
				// If the text is appended to the original text=0A=
				var span =3D this.toggler.getElement('span.togglerText');=0A=
			=0A=
				if ($null(span)) {=0A=
					span =3D new Element('span', {=0A=
						'class': 'togglerText',=0A=
						'styles': {=0A=
							'cursor': 'pointer',=0A=
							'font-size': '.65em',=0A=
							'margin': '0 1em',=0A=
							'vertical-align': '.2em'=0A=
						}=0A=
					});=0A=
				=0A=
					this.toggler.grab(span);=0A=
				}=0A=
			=0A=
				span.set('text', text);=0A=
			} else if (this.options.input) {=0A=
				// if the text is applied to an input (i.e. an <input =
type=3D"button"> element)=0A=
				this.toggler.set('value', text);=0A=
			} else {=0A=
				// else, the text simply replaces whatever was already present=0A=
				this.toggler.set('text', text);=0A=
			}=0A=
		}=0A=
	},=0A=
	=0A=
	// Set optional context relative image on the Toggler.=0A=
	// (i.e. a '+' image to expand a collapsed Togglee and a '-' image to =
collapse an expanded Togglee)=0A=
	setImg: function(imgSrc) {=0A=
		if ($notNull(imgSrc)) {=0A=
			var img =3D this.toggler.getElement('img.togglerImage');=0A=
		=0A=
			if ($null(img)) {=0A=
				img =3D new Element('img', {=0A=
					'class': 'togglerImage',=0A=
					'styles': {=0A=
						'cursor': 'pointer',=0A=
						'position': 'absolute'=0A=
					}=0A=
				});=0A=
			=0A=
				this.toggler.grab(img, 'top');=0A=
			}=0A=
		=0A=
			img.set('src', imgSrc);=0A=
			img.setStyle('left', -1.5* img.getSize().x);=0A=
			img.setStyle('bottom', this.toggler.getSize().y /2 - =
img.getSize().y/2);=0A=
			if (this.options.imagePosition =3D=3D 'inside') {=0A=
				img.setStyle('left', 0);=0A=
				this.toggler.setStyle('paddingLeft', 1.5* img.getSize().x);=0A=
			}=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
var Togglee =3D new Class({=0A=
	Implements: Options,=0A=
	=0A=
	// Default Fx options=0A=
	options: {=0A=
		duration: 0,             // Default time in milliseconds for the =
transition. Defaults to zero, which means instant show/hide.=0A=
		mode: 'vertical',=0A=
		transition: 'sine:in:out'=0A=
	},=0A=
	=0A=
	initialize: function(target, visible, effectOptions) {=0A=
		this.target =3D $(target);=0A=
		this.visible =3D visible;=0A=
		this.togglers =3D [];=0A=
		this.setOptions(effectOptions);=0A=
		this.options.link =3D 'ignore'; // Overriding whatever it could have =
been set to.=0A=
		this.effect =3D new Fx.Slide(this.target, this.options);=0A=
		=0A=
		// Add an event to change state only once the transition is completed.=0A=
		var myself =3D this;=0A=
		this.effect.addEvent('complete', function() {myself.toggleState();});=0A=
		=0A=
		// If the Togglee is initially hidden, it needs to be set=0A=
		// by bypassing the real hide method to prevent toggling the display=0A=
		if (!visible) {=0A=
			// Thus, the target is explicitly hidden with its slide option=0A=
			this.target.get('slide').hide(this.options.mode);=0A=
		}=0A=
	},=0A=
	=0A=
	// This function will always be called once the transition is done=0A=
	toggleState: function() {=0A=
		this.visible =3D !this.visible;=0A=
		this.updateTogglers();=0A=
	},=0A=
	=0A=
	show: function() {=0A=
		this.effect.slideIn();=0A=
	},=0A=
	=0A=
	hide: function() {=0A=
		this.effect.slideOut();=0A=
	},=0A=
	=0A=
	// Whether this Togglee is visible or not.=0A=
	isVisible: function() {=0A=
		return this.visible;=0A=
	},=0A=
	=0A=
	// Adds a Toggler to the list of Togglers acting on this Togglee.=0A=
	addToggler: function(toggler) {=0A=
		this.togglers.push(toggler);=0A=
	},=0A=
	=0A=
	// Update all Togglers so that they are always all in sync=0A=
	// with the state of this Togglee on which they act on.=0A=
	updateTogglers: function() {=0A=
		var myself =3D this;=0A=
		=0A=
		this.togglers.each(function(toggler) {=0A=
			toggler.update(myself.isVisible());=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
=0A=
/** ********************************************* =0A=
  * The Bubbler class.=0A=
  * =0A=
  *=0A=
  *********************************************** */=0A=
var Bubbler =3D new Class({=0A=
	Implements: Options,=0A=
	=0A=
	mandatoryOptions: {=0A=
		opacity: '0',=0A=
		position: 'absolute'=0A=
	},=0A=
	=0A=
	options: {=0A=
		// Default styling options for the bubble=0A=
		styles: {=0A=
			backgroundColor: '#ffed7a',=0A=
			border: '1px solid #ffdc00',=0A=
			color: '#000',=0A=
			fontFamily: 'inherit',=0A=
			fontSize: '.8em',=0A=
			padding: '.25em',=0A=
			textAlign: 'justify',=0A=
			maxWidth: '40%'=0A=
		},=0A=
		=0A=
		// Default styling options for the bubble, when configured as footnote.=0A=
		footnoteStyles: {=0A=
			backgroundColor: '#ffed7a',=0A=
			border: '1px solid #ffdc00',=0A=
			bottom: 0,=0A=
			color: '#000',=0A=
			fontFamily: 'inherit',=0A=
			fontSize: '.8em',=0A=
			left: 0,=0A=
			padding: '.25em',=0A=
			right: 0=0A=
		},=0A=
=0A=
		// The text of the bubble. Optional, as the text could also come from =
the 'title' attribute of the bubbler element, in which case no text has =
to be given.=0A=
		bubbleText: null,=0A=
		// The element containing the bubble. If null, the container is the =
body of the page and the offset will serve for placing the bubble =
relative to the container=0A=
		container: null,=0A=
		// Optional CSS class to style the bubble. If specified, the default =
styling options (footnote or not) won't apply.=0A=
		cssClass: null,=0A=
		// If set to true, the offset options will be ignored. The bubble will =
appear as a box at the bottom of the window.=0A=
		footnote: false,=0A=
		// Maximum opacity for the fade in of the bubble (between 0 and 1, 0 =
being completely transparent and 1 being completely opaque).=0A=
		maxOpacity: 1,=0A=
		// Default offset of the bubble relative to the mouse cursor or the =
container (if the container is specified).=0A=
		offset: {x: 15, y: 12},=0A=
		// Reference of the offset, in CSS terms. It also determines its =
direction. Accepted terms are 'left' and 'right' for x and 'top' and =
'bottom' for y.=0A=
		offsetReference: {x: 'left', y: 'bottom'}=0A=
	},=0A=
	=0A=
	initialize: function(originalElement, options) {=0A=
		this.bubbler =3D $(originalElement);=0A=
		this.setOptions(options);=0A=
		this.bubble =3D this.createBubble();=0A=
		=0A=
		if ($null(this.options.container)) {=0A=
			this.container =3D $(document.body);=0A=
		} else {=0A=
			this.container =3D $(this.options.container);=0A=
			=0A=
			if (this.container.getStyle('position') =3D=3D 'static') {=0A=
				this.container.setStyle('position', 'relative');=0A=
			}=0A=
		}=0A=
		=0A=
		if (this.bubble.get('html') !=3D '') {=0A=
			this.addEvents();=0A=
		}=0A=
	},=0A=
=0A=
	addEvents: function() {=0A=
			var myself =3D this;=0A=
			this.bubbler.addEvent('mouseenter', function(event) {=0A=
				myself.showBubble(event);=0A=
			});=0A=
		=0A=
			this.bubbler.addEvent('mouseleave', function(event) {=0A=
				myself.hideBubble();=0A=
			});=0A=
=0A=
	},=0A=
	=0A=
	createBubble: function() {=0A=
		var div =3D new Element('div');=0A=
		// If a class was given in the options, use the class to style the=0A=
		// bubble instead of default styling options.=0A=
		if ($notNull(this.options.cssClass)) {=0A=
			div.setProperty('class', this.options.cssClass);=0A=
		} else {=0A=
			if (this.options.footnote) {=0A=
				div.setStyles(this.options.footnoteStyles);=0A=
			} else {=0A=
				div.setStyles(this.options.styles);=0A=
			}=0A=
		}=0A=
		=0A=
		// Mandatory options for the bubble, to ensure correct behavior of the =
bubble.=0A=
		div.setStyles(this.mandatoryOptions);=0A=
		if ($null(this.options.bubbleText)) {=0A=
			div.set('html', this.bubbler.getProperty('title'));=0A=
		} else {=0A=
			div.set('html', this.options.bubbleText);=0A=
		}=0A=
		=0A=
		// Precaution, to make sure nothing else pops-up than our bubble =0A=
		this.bubbler.removeProperty('title');=0A=
		=0A=
		return div;=0A=
	},=0A=
	=0A=
	/*=0A=
	 * Make the bubble appear.=0A=
	 */=0A=
	showBubble: function(event) {=0A=
		// Put the bubble in the DOM first, then we'll be able to calculate =
its position=0A=
		// and ajust it.=0A=
		this.bubble.inject(this.container, 'bottom');=0A=
		=0A=
		if (!this.options.footnote) {=0A=
			if ($null(this.options.container)) {=0A=
				// Calculates coordinates from the mouse pointer=0A=
				var newCoordinates =3D this.getUpdatedMouseCoordinates(event);=0A=
				this.bubble.setStyle('position', 'fixed');=0A=
				this.bubble.setStyle('left', newCoordinates.x);=0A=
				this.bubble.setStyle('top', newCoordinates.y);=0A=
			} else {=0A=
				// Calculates coordinates from the specified container, which is by =
default the normal cartesian origin: bottom left corner =0A=
				var newCoordinates =3D this.getUpdatedCoordinates();=0A=
				this.bubble.setStyle(this.options.offsetReference.x, =
newCoordinates.x);=0A=
				this.bubble.setStyle(this.options.offsetReference.y, =
newCoordinates.y);=0A=
			}=0A=
		=0A=
			=0A=
		}=0A=
		=0A=
		this.bubble.fade(this.options.maxOpacity);=0A=
	},=0A=
	=0A=
	/*=0A=
	 * Make the bubble disappear.=0A=
	 */=0A=
	hideBubble: function() {=0A=
		// Fade the bubble out and remove it from the DOM.=0A=
		var bubble =3D this.bubble;=0A=
		this.bubble.fade(0).get('tween').chain(function() {=0A=
			bubble.dispose();=0A=
		});=0A=
	},=0A=
	=0A=
	/*=0A=
	 * Get the coordinates of the position where the bubble needs to be in =
relation to the mouse position.=0A=
	 */=0A=
	getUpdatedMouseCoordinates: function(event) {=0A=
		// This is the position of the right-side of the bubble=0A=
		var calculatedX =0A=
			=3D event.client.x          // the x position of the mouse pointer=0A=
			+ this.options.offset.x    // the horizontal distance from the bubble =
to the mouse pointer=0A=
			+ this.bubble.getSize().x // the width of the bubble=0A=
			=0A=
		// This is the position of the top-side of the bubble=0A=
		var calculatedY=0A=
			=3D event.client.y          // the y position of the mouse pointer=0A=
			- this.options.offset.y    // the vertical distance from the bubble =
to the mouse pointer=0A=
			- this.bubble.getSize().y // the height of the bubble=0A=
		=0A=
		// Check whether or not the bubble's right side will go beyond the =
right of the document=0A=
		var correctedX =3D calculatedX > $(document).getSize().x ?=0A=
			event.client.x - this.options.offset.x - this.bubble.getSize().x :=0A=
			event.client.x + this.options.offset.x;=0A=
		=0A=
		// Check whether or not the bubble's top side will go beyond the top =
of the document=0A=
		var correctedY =3D calculatedY < 0 ?=0A=
			event.client.y + this.options.offset.y :=0A=
			event.client.y - this.options.offset.y - this.bubble.getSize().y;=0A=
			=0A=
		return {x: correctedX, y: correctedY};=0A=
	},=0A=
	=0A=
	getUpdatedCoordinates: function() {=0A=
		return {x: this.options.offset.x, y: this.options.offset.y};=0A=
	}=0A=
});=0A=
=0A=
/** ********************************************* =0A=
  * The Logger class.=0A=
  * Not the be-all-end-all logger, but at least=0A=
  * allows for debug messages a lot less obstrusive=0A=
  * than traditionnal 'alert()' calls, and it works=0A=
  * for all browsers.=0A=
  *=0A=
  * The logger will work if the website is in debug=0A=
  * mode, that is, by passing 'true' to the constructor.=0A=
  * Else, no debug will occur except in Firebug's=0A=
  * console, if present.=0A=
  *********************************************** */=0A=
var Logger =3D new Class({=0A=
		initialize: function(isDebug) {=0A=
			this.debug =3D isDebug;=0A=
		},=0A=
		=0A=
		log: function(text) {=0A=
			// Always log if Firebug is present, since it is subtle and =
non-obstrusive and quite useful.=0A=
			if ($defined(console) && $defined(console.log)) {=0A=
				console.log(text);=0A=
			}=0A=
			=0A=
			// Only use the logger if in debug mode.=0A=
			if (this.debug) {=0A=
				var logArea =3D $('logArea');=0A=
				var logAreaLi =3D new Element('li');=0A=
				var logAreaLiPre =3D new Element('pre', {=0A=
					'styles': {=0A=
						'margin': '0'=0A=
					}=0A=
				});=0A=
				logAreaLiPre.set('text', text);=0A=
				logAreaLi.grab(logAreaLiPre);=0A=
				=0A=
				=0A=
				if ($null(logArea)) {=0A=
					logArea =3D new Element('div', {=0A=
						'id': 'logArea',=0A=
						'styles': {=0A=
							'background-color': '#c6453f',=0A=
							'bottom': '0',=0A=
							'color': '#fff',=0A=
							'font-family': 'monospace',=0A=
							'font-size': '',=0A=
							'height': '60px',=0A=
							'left': '0',=0A=
							'overflow': 'auto',=0A=
							'padding': '12px 256px 12px 12px',=0A=
							'position': 'fixed',=0A=
							'right': '0',=0A=
							'z-index': '1000'=0A=
						}=0A=
					});=0A=
					=0A=
					logAreaTitle =3D new Element('h1', {=0A=
						'styles': {=0A=
							'color': '#fff',=0A=
							'bottom:': '30px',=0A=
							'font-size': '24px',=0A=
							'font-weight': 'bold',=0A=
							'position': 'fixed',=0A=
							'right': '36px'=0A=
						}=0A=
					});=0A=
					logAreaTitle.set('text', 'DEBUG CONSOLE');=0A=
					=0A=
					logArea.addEvent('click', function() {=0A=
						this.destroy();=0A=
					});=0A=
					=0A=
					var logAreaUl =3D new Element('ul', {=0A=
						'styles': {=0A=
							'margin': '0 .5em',=0A=
							'padding': '0 .5em'=0A=
						}=0A=
					});=0A=
					=0A=
					logAreaUl.grab(logAreaLi);=0A=
					logArea.grab(logAreaTitle);=0A=
					logArea.grab(logAreaUl);=0A=
					=0A=
					$(document.body).grab(logArea);=0A=
				} else {=0A=
					logArea.getElement('ul').grab(logAreaLi);=0A=
				}=0A=
				=0A=
			}=0A=
		}=0A=
	}=0A=
);=0A=
/////////////////////////////////////////////////////////////////////////=
////////////////////////////////////////////////=0A=
var JURISDICTIONS =3D new Array('ca', 'bc', 'ab', 'sk', 'mb', 'on', =
'qc', 'nb', 'ns', 'pe', 'nl', 'yk', 'nt', 'nu');=0A=
var _language =3D $$('html')[0].getProperty('lang');=0A=
=0A=
window.addEvent('domready', function() {=0A=
	if (typeof window.canliiBeta !=3D undefined && window.canliiBeta =3D=3D =
true ||=0A=
			location.href.search('beta') !=3D -1 ||=0A=
			location.href.search('www-canlii-devel') !=3D -1) {=0A=
		publishBetaLink(location.href);=0A=
	}=0A=
	=0A=
	// One way to detect if the page is using the new javascript classes is =
to check for the presence of=0A=
	// the $null() function=0A=
	if (typeof $null !=3D "undefined") {=0A=
		prepareTipsLinks();=0A=
		prepareSearchHelpers();=0A=
		=0A=
		// Specific databases scope page scripts.=0A=
		if ($defined(window._pageSection) && window._pageSection =3D=3D =
"databasesScope") {=0A=
			preparePitDefinitions();=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
function initializeHelpTipsSlider() {=0A=
	var tipsSlide =3D new Fx.Slide("searchTips");=0A=
	var tipsButton =3D $("quickHelpButton");=0A=
	var tipsLinks =3D $$("span.helpLink");=0A=
	var tipsBox =3D $("searchTips");=0A=
	tipsBox.setStyle('display', 'block');=0A=
	tipsBox.setProperty('style', 'display: block;');=0A=
	=0A=
	tipsButton.addEvent(=0A=
		'click',=0A=
		function(e) {=0A=
			e.stop();=0A=
			tipsSlide.toggle();=0A=
			if (tipsBox.getParent().getSize().y > 0) {=0A=
				//tipsSlide.slideOut();=0A=
				if (_language =3D=3D "en") {=0A=
					tipsButton.setProperty('value', "TIPS");=0A=
				} else {=0A=
					tipsButton.setProperty('value', "AIDE");=0A=
				}=0A=
			} else {=0A=
				//tipsSlide.slideIn();=0A=
				if (_language =3D=3D "en") {=0A=
					tipsButton.setProperty('value', "CLOSE TIPS");=0A=
				} else {=0A=
					tipsButton.setProperty('value', "FERMER L'AIDE");=0A=
				}=0A=
			}=0A=
		}=0A=
	);=0A=
	=0A=
	for (var i =3D 0; i < tipsLinks.length; i++) {=0A=
		var link =3D tipsLinks[i].getElement('a');=0A=
		link.removeProperty('onclick');=0A=
		link.addEvent(=0A=
			'click',=0A=
			function(e) {=0A=
				e.stop();=0A=
				tipsSlide.toggle();=0A=
				if (tipsBox.getParent().getSize().y > 0) {=0A=
					//tipsSlide.slideOut();=0A=
					if (_language =3D=3D "en") {=0A=
						tipsButton.setProperty('value', "TIPS");=0A=
					} else {=0A=
						tipsButton.setProperty('value', "AIDE");=0A=
					}=0A=
				} else {=0A=
					//tipsSlide.slideIn();=0A=
					if (_language =3D=3D "en") {=0A=
						tipsButton.setProperty('value', "CLOSE TIPS");=0A=
					} else {=0A=
						tipsButton.setProperty('value', "FERMER L'AIDE");=0A=
					}=0A=
				}=0A=
			}=0A=
		);=0A=
	}=0A=
	=0A=
	tipsSlide.hide();=0A=
}=0A=
=0A=
function initializeJurisdictionsSliders() {=0A=
	for (var i =3D 0; i < JURISDICTIONS.length; i++) {=0A=
		//buildSlider(JURISDICTIONS[i]);=0A=
		initializeCount(JURISDICTIONS[i]);=0A=
	}=0A=
}=0A=
=0A=
function initializeCount(jurisdiction) {=0A=
	var title =3D $('toggle_' + jurisdiction);=0A=
	var content =3D $('searchOptions-' + jurisdiction);=0A=
	var options =3D content.getElements('input');=0A=
	=0A=
	var counter =3D new Element(=0A=
		'span',=0A=
		{=0A=
			'id': 'counter_' + jurisdiction,=0A=
			'class': 'databaseCounter'=0A=
		}=0A=
	);=0A=
	=0A=
	var count =3D new Element(=0A=
		'span',=0A=
		{=0A=
			'id': 'count_' + jurisdiction,=0A=
			'class': 'databaseCount'=0A=
		}=0A=
	);=0A=
	=0A=
	count.inject(counter);=0A=
	counter.inject(title, 'bottom');=0A=
	counter.appendText('/' + options.length);=0A=
	=0A=
	var inputs =3D content.getElements('input');=0A=
	for (var i =3D 0; i < inputs.length; i++) {=0A=
		$(inputs[i]).addEvent(=0A=
			'change',=0A=
			function() {=0A=
				updateCount(jurisdiction);=0A=
				//return false;=0A=
			}=0A=
		);=0A=
	}=0A=
	=0A=
	updateCount(jurisdiction);=0A=
}=0A=
=0A=
function updateCount(jurisdiction) {=0A=
	var count =3D $('count_' + jurisdiction);=0A=
	var options =3D $('searchOptions-' + jurisdiction).getElements('input');=0A=
	=0A=
	var optionsChecked =3D 0;=0A=
	for (var i =3D 0; i < options.length; i++) {=0A=
		if ($(options[i]).getProperty('checked') !=3D "") {=0A=
			++optionsChecked;=0A=
		}=0A=
	}=0A=
	=0A=
	count.set('text', optionsChecked);=0A=
}=0A=
=0A=
function buildSlider(jurisdiction) {=0A=
	var jurisSlide =3D new Fx.Slide('searchOptions-' + jurisdiction);=0A=
	var juris =3D jurisdiction + '';=0A=
	$('toggle_' + jurisdiction).addEvent(=0A=
		'click',=0A=
		function(e) {=0A=
			e.stop();=0A=
			toggleSlider(jurisSlide, juris);=0A=
		}=0A=
	);=0A=
	=0A=
	jurisSlide.hide();=0A=
}=0A=
=0A=
function toggleSlider(slider, jurisdiction) {=0A=
	var element =3D $('searchOptions-' + jurisdiction);=0A=
	=0A=
	if (element.getParent().getSize().y > 0) {=0A=
		slider.slideOut().chain(=0A=
			morphTitle(jurisdiction, 'close'),=0A=
			morphTitleAnchors(jurisdiction, 'close')=0A=
		);=0A=
	} else {=0A=
		slider.slideIn().chain(=0A=
			morphTitle(jurisdiction, 'open'),=0A=
			morphTitleAnchors(jurisdiction, 'open')=0A=
		);=0A=
	}=0A=
}=0A=
=0A=
function morphTitle(jurisdiction, action) {=0A=
	var toggler =3D $('toggle_' + jurisdiction);=0A=
	=0A=
	if (action =3D=3D 'open') {=0A=
		toggler.morph(=0A=
			{=0A=
				color: '#fff'=0A=
			}=0A=
		);=0A=
		toggler.getParent().morph(=0A=
			{=0A=
				backgroundColor: '#808080'=0A=
			}=0A=
		)=0A=
		toggler.getElement('span').set('text', '-');=0A=
	} else {=0A=
		toggler.morph(=0A=
			{=0A=
				color: '#808080'=0A=
			}=0A=
		);=0A=
		toggler.getParent().morph(=0A=
			{=0A=
				backgroundColor: '#e0e2e2'=0A=
			}=0A=
		)=0A=
		=0A=
		toggler.getElement('span').set('text', '+');=0A=
	}=0A=
}=0A=
=0A=
function morphTitleAnchors(jurisdiction, action) {=0A=
	var toggler =3D $('toggle_' + jurisdiction);=0A=
	var anchorsSpan =3D toggler.getParent().getElement('span');=0A=
	var anchors =3D toggler.getParent().getElements('a');=0A=
	=0A=
	if (action =3D=3D 'open') {=0A=
		for (var i =3D 0; i < anchors.length; i++) {=0A=
			$(anchors[i]).morph(=0A=
				{=0A=
					color: '#fff',=0A=
					textDecoration: 'underline'=0A=
				}=0A=
			);=0A=
		}=0A=
		anchorsSpan.morph({color: '#fff'});=0A=
	} else {=0A=
		for (var i =3D 0; i < anchors.length; i++) {=0A=
			$(anchors[i]).morph(=0A=
				{=0A=
					color: '#027abb',=0A=
					textDecoration: 'none'=0A=
				}=0A=
			);=0A=
		}=0A=
		anchorsSpan.morph({color: '#808080'});=0A=
	}=0A=
}=0A=
=0A=
function setLinksLook(parent, color, decoration) {=0A=
	var links =3D parent.getElementsByTagName('a');=0A=
	=0A=
	for (var i =3D 0; i < links.length; i++) {=0A=
		var link =3D $(links[i]);=0A=
		link.setStyle('color', color);=0A=
		link.setStyle('textDecoration', decoration);=0A=
	}=0A=
}=0A=
=0A=
=0A=
/* ***************************=0A=
        fun new stuff=0A=
 *************************** */=0A=
var _en_bundle =3D new Hash({=0A=
	showTips: "TIPS",=0A=
	hideTips: "CLOSE TIPS",=0A=
	syntaxExact: 'Syntax: <em>""</em>, <em class=3D"upper">OR</em>, <em =
class=3D"upper">NOT</em>, <em>/p</em>, <em>/s</em>, <em>/</em>n, <em =
class=3D"upper">EXACT()</em>',=0A=
	syntax: 'Syntax: <em>""</em>, <em class=3D"upper">OR</em>, <em =
class=3D"upper">NOT</em>, <em>/p</em>, <em>/s</em>, <em>/</em>n',=0A=
	dateRange: '<em class=3D"upper">YYYY-MM-DD</em> or <em =
class=3D"upper">YYYY-MM</em> or <em class=3D"upper">YYYY</em>',=0A=
	dateExact: '<em class=3D"upper">YYYY-MM-DD</em>'=0A=
});=0A=
var _fr_bundle =3D new Hash({=0A=
	showTips: "AIDE",=0A=
	hideTips: "FERMER L'AIDE",=0A=
	syntaxExact: 'Syntaxe : <em>""</em>, <em class=3D"upper">OU</em>, <em =
class=3D"upper">NON</em>, <em>/p</em>, <em>/s</em>, <em>/</em>n, <em =
class=3D"upper">EXACT()</em>',=0A=
	syntax: 'Syntaxe : <em>""</em>, <em class=3D"upper">OU</em>, <em =
class=3D"upper">NON</em>, <em>/p</em>, <em>/s</em>, <em>/</em>n',=0A=
	dateRange: '<em class=3D"upper">AAAA-MM-JJ</em> ou <em =
class=3D"upper">AAAA-MM</em> ou <em class=3D"upper">AAAA</em>',=0A=
	dateExact: '<em class=3D"upper">AAAA-MM-JJ</em>'=0A=
});=0A=
var _bundle =3D new Hash({=0A=
	en: _en_bundle,=0A=
	fr: _fr_bundle=0A=
});=0A=
var messages =3D _bundle.get(_language);=0A=
=0A=
=0A=
function prepareTipsLinks() {=0A=
	var searchBox =3D $('searchBox');=0A=
	=0A=
	if ($null(searchBox)) {=0A=
		searchBox =3D $('advancedSearchBox');=0A=
	}=0A=
=0A=
	// To prevent running the code on pages without a searchbox=0A=
	if ($notNull(searchBox)) {=0A=
		// Since there's a clash with old style searchTips, we have to make =
sure that for the new stuff,=0A=
		// the display property is set to block.=0A=
		$('searchTips').setStyle('display', 'block');=0A=
		=0A=
		var showTips =3D messages.get('showTips');=0A=
		var hideTips =3D messages.get('hideTips');=0A=
		=0A=
		var togglee =3D new Togglee($('searchTips'), false, {duration: 250});=0A=
		=0A=
		var helpLinks =3D searchBox.getElements('span.helpLink');=0A=
		$each(helpLinks, function(helpLink) {=0A=
			var toggler =3D new Toggler(helpLink, togglee);=0A=
		});=0A=
		=0A=
		var toggler =3D new Toggler($('quickHelpButton'), togglee, {=0A=
			collapsedText: showTips,=0A=
			expandedText: hideTips,=0A=
			input: true=0A=
		});=0A=
	}=0A=
}=0A=
=0A=
function prepareSearchHelpers() {=0A=
	var searchBox =3D $('searchBox');=0A=
	=0A=
	if ($null(searchBox)) {=0A=
		searchBox =3D $('advancedSearchBox');=0A=
	}=0A=
	=0A=
	// To prevent running the code on pages without a searchbox=0A=
	if ($notNull(searchBox)) {=0A=
	=0A=
		var bubbleStyle =3D {=0A=
			maxWidth: '60%',=0A=
			fontSize: '.9em'=0A=
		}=0A=
		=0A=
		if ($notNull($('input_text'))) {=0A=
			var textInput =3D $('input_text');=0A=
			textInput.removeProperty('onmouseover');=0A=
			textInput.removeProperty('onmouseout');=0A=
			var offsetBubble;=0A=
=0A=
			if (IE6) {=0A=
				offsetBubble =3D {x: 38, y: 45};=0A=
			} else if (IE7) {=0A=
				offsetBubble =3D {x: 30, y: 25};=0A=
			} else {=0A=
				offsetBubble =3D {x: 30, y: 28};=0A=
			}=0A=
=0A=
			new Bubbler(textInput, {=0A=
				bubbleText: messages.get('syntaxExact'),=0A=
				container: textInput.getParent(),=0A=
				offset: offsetBubble,=0A=
				offsetReference: {x: 'right', y: 'bottom'},=0A=
				styles: bubbleStyle=0A=
			});=0A=
		}=0A=
		=0A=
		if ($notNull($('input_title'))) {=0A=
			var titleInput =3D $('input_title');=0A=
			titleInput.removeProperty('onmouseover');=0A=
			titleInput.removeProperty('onmouseout');=0A=
			var offsetBubble;=0A=
=0A=
			if (IE6) {=0A=
				offsetBubble =3D {x: 38, y: 45};=0A=
			} else if (IE7) {=0A=
				offsetBubble =3D {x: 30, y: 25};=0A=
			} else {=0A=
				offsetBubble =3D {x: 30, y: 28};=0A=
			}=0A=
=0A=
			new Bubbler(titleInput, {=0A=
				bubbleText: messages.get('syntax'),=0A=
				container: titleInput.getParent(),=0A=
				offset: offsetBubble,=0A=
				offsetReference: {x: 'right', y: 'bottom'},=0A=
				styles: bubbleStyle=0A=
			});=0A=
		}=0A=
		=0A=
		if ($notNull($('input_date'))) {=0A=
			var dateInput =3D $('input_date');=0A=
			dateInput.removeProperty('onmouseover');=0A=
			dateInput.removeProperty('onmouseout');=0A=
			var offsetBubble;=0A=
=0A=
			if (IE6) {=0A=
				offsetBubble =3D {x: 240, y: 22};=0A=
			} else if (IE7) {=0A=
				offsetBubble =3D {x: 240, y: 5};=0A=
			} else {=0A=
				offsetBubble =3D {x: 210, y: 4};=0A=
			}=0A=
=0A=
			new Bubbler(dateInput, {=0A=
				bubbleText: messages.get('dateRange'),=0A=
				container: dateInput.getParent(),=0A=
				offset: offsetBubble,=0A=
				styles: bubbleStyle=0A=
			});=0A=
		}=0A=
		=0A=
		if ($notNull($('input_end'))) {=0A=
			var dateEndInput =3D $('input_end');=0A=
			dateEndInput.removeProperty('onmouseover');=0A=
			dateEndInput.removeProperty('onmouseout');=0A=
			var offsetBubble;=0A=
=0A=
			if (IE6) {=0A=
				offsetBubble =3D {x: 240, y: 22};=0A=
			} else if (IE7) {=0A=
				offsetBubble =3D {x: 240, y: 5};=0A=
			} else {=0A=
				offsetBubble =3D {x: 210, y: 4};=0A=
			}=0A=
=0A=
			new Bubbler(dateEndInput, {=0A=
				bubbleText: messages.get('dateRange'),=0A=
				container: dateEndInput.getParent(),=0A=
				offset: offsetBubble,=0A=
				styles: bubbleStyle=0A=
			});=0A=
		}=0A=
		=0A=
		if ($notNull($('input_version_date'))) {=0A=
			var dateExactInput =3D $('input_version_date');=0A=
			dateExactInput.removeProperty('onmouseover');=0A=
			dateExactInput.removeProperty('onmouseout');=0A=
			var offsetBubble;=0A=
=0A=
			if (IE6) {=0A=
				offsetBubble =3D {x: 240, y: 22};=0A=
			} else if (IE7) {=0A=
				offsetBubble =3D {x: 240, y: 5};=0A=
			} else {=0A=
				offsetBubble =3D {x: 210, y: 4};=0A=
			}=0A=
=0A=
			new Bubbler(dateExactInput, {=0A=
				bubbleText: messages.get('dateExact'),=0A=
				container: dateExactInput.getParent(),=0A=
				offset: offsetBubble,=0A=
				styles: bubbleStyle=0A=
			});=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function preparePitDefinitions() {=0A=
	var dfns =3D $$("dfn.pit");=0A=
	=0A=
	$each(dfns, function(dfn) {=0A=
		new Bubbler(dfn);=0A=
	});=0A=
}=0A=
=0A=
=0A=
/* ********************************************=0A=
                 beta stuff=0A=
   ******************************************** */=0A=
function publishBetaLink(url) {=0A=
	if (_language =3D=3D 'en') {=0A=
		var betaLinkLabel =3D "Report an issue with this page";=0A=
	} else {=0A=
		var betaLinkLabel =3D "Signaler un probl&#232;me avec cette page";=0A=
	}=0A=
	=0A=
	var canliiBanner =3D $('canliiBanner');=0A=
	=0A=
	var spanElement =3D new Element('span',=0A=
		{=0A=
			'html': 'BETA ',=0A=
			'styles': {=0A=
				'color': '#bf0d0b',=0A=
				'float': 'left',=0A=
				'font-weight': 'bold',=0A=
				'line-height': '20px',=0A=
				'vertical-align': 'top'=0A=
			}=0A=
		}=0A=
	);=0A=
	=0A=
	var linkElement =3D new Element('a',=0A=
		{=0A=
			'html': betaLinkLabel,=0A=
			'href': '/bugform/reportBug.do?language=3D' + _language + =
'&problemUrl=3D' + encodeURIComponent(location.href),=0A=
			'class': 'canlii',=0A=
			'styles': {=0A=
				'text-decoration': 'underline'=0A=
			}=0A=
		}=0A=
	);=0A=
=0A=
	spanElement.grab(linkElement);=0A=
	spanElement.inject(canliiBanner, 'top');=0A=
}=0A=
/* ********************************************=0A=
   ******************************************** */=0A=
=0A=

------=_NextPart_000_0000_01CA4C03.F5BD57C0--
