From: <Saved by Microsoft Internet Explorer 5>
Subject: =?Windows-1252?Q?Tire_Derived_Aggregate_=28TDA=29_in_Septic_Systems_=96_A?=
	=?Windows-1252?Q?_Beneficial_Use_for_Recycled_Tires?=
Date: Thu, 2 Aug 2007 14:52:47 -0700
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C7D514.CA9FC900"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C7D514.CA9FC900
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tdanys.buffalo.edu/index.php?page=nysresponse

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>Tire Derived =
Aggregate (TDA) in Septic Systems =96 A Beneficial Use for Recycled =
Tires</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1"><LINK=20
href=3D"http://www.tdanys.buffalo.edu/template/screen.css" =
type=3Dtext/css=20
rel=3Dstylesheet>
<SCRIPT src=3D"http://www.tdanys.buffalo.edu/js/prototype.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.tdanys.buffalo.edu/js/cfunc.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.tdanys.buffalo.edu/js/moo.fx.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.tdanys.buffalo.edu/js/final.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.tdanys.buffalo.edu/js/scriptaculous.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.tdanys.buffalo.edu/js/matching_columns.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
function updatefunction(a){=0A=
new Ajax.Updater('content', =
'http://www.tdanys.buffalo.edu/content/unitInfo.php',{asynchronous:true,m=
ethod:'post',parameters:'panel=3D'+ a +''} );=0A=
}=0A=
</SCRIPT>

<SCRIPT>=0A=
/*=0A=
Highlight Link script=0A=
By Website Abstraction (http://wsabstract.com)=0A=
and Java-scripts.net (http://www.java-scripts.net)=0A=
*/=0A=
=0A=
function highlight(which,color){=0A=
if (document.all||document.getElementById)=0A=
which.style.backgroundColor=3Dcolor=0A=
}=0A=
</SCRIPT>

<META content=3D"MSHTML 6.00.2900.3132" name=3DGENERATOR></HEAD>
<BODY>
<DIV id=3Dpagewrapper><!--<div id=3D"ubbanner"></div>-->
<DIV id=3Dheader></DIV>
<DIV id=3Dmidwrapper>
<DIV class=3Dcolumn id=3Dleftcolumn>
<DIV id=3Dnavcontainer>
<UL id=3Dnavlist>
  <LI><A title=3D"Project Overview"=20
  =
href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Doverview">Home</A>=
=20
  <LI><A title=3D"Scrap Tire Challenge"=20
  =
href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dchallenge">Scrap =
Tire=20
  Challenge</A>=20
  <LI><A title=3D"NYS Response"=20
  =
href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dnysresponse">NYS=20
  Response</A>=20
  <LI><A title=3D"TDA in Civil Eng."=20
  href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Duses">TDA in =
Civil Eng.</A>=20

  <LI><A title=3D"Other States"=20
  =
href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dotherstates">Other=
=20
  States</A>=20
  <LI><A title=3D"UB Demo Project"=20
  href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Ddemoproject">UB =
Demo=20
  Project</A>=20
  <LI><A title=3D"NYS Permits"=20
  href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dpermits">NYS =
Permits</A>=20
  <LI><A title=3D"TDA Standards"=20
  href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dstandards">TDA=20
  Standards</A>=20
  <LI><A title=3D"NYS Suppliers"=20
  href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dsuppliers">NYS=20
  Suppliers</A>=20
  <LI><A title=3D"Info Sheets"=20
  href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dinfo">Info =
Sheets</A> <!--<li><a href=3D"?page=3Dfunding" title=3D"Funding =
Sources">Funding Sources</a></li>-->
  <LI><A title=3D"Center Information"=20
  href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dcenter">Center=20
  Information</A>=20
  <LI><A title=3D"Contact Us"=20
  =
href=3D"http://www.tdanys.buffalo.edu/index.php?page=3Dcontact">Contact =
Us</A>=20
  </LI></UL></DIV><IMG class=3Dimgborder=20
alt=3D"Diagram of septic system and leach field"=20
src=3D"http://www.tdanys.buffalo.edu/images/infosheetleft.jpg"> <IMG=20
class=3Dimgborder alt=3D"Photo of drainage installation"=20
src=3D"http://www.tdanys.buffalo.edu/images/overviewleft.jpg"> </DIV>
<DIV class=3Dcolumn id=3Dcentercolumn>
<DIV class=3DpageTitle>New York State's Response</DIV>
<DIV>
<DIV class=3DpagePhoto><IMG alt=3D"Graphic of tires in the shape of New =
York State"=20
src=3D"http://www.tdanys.buffalo.edu/images/response.jpg"></DIV>
<DIV class=3DpageText>
<P>With the adoption of the <A=20
href=3D"http://www.dec.state.ny.us/website/dshm/redrecy/wstires.htm#legis=
"=20
target=3D_blank>New York State Waste Tire Management &amp; Recycling Act =
of=20
2003</A>, the State began a concerted effort to recycle/reuse scrap =
tires and=20
provide economically viable and environmentally beneficial alternatives =
to=20
landfilling or stockpiling. Among other things, the 2003 Act called for =
the=20
development of the <A=20
href=3D"http://www.dec.state.ny.us/website/dshm/redrecy/tirerept.html"=20
target=3D_blank>New York State Waste Tire Stockpile Abatement Plan</A>. =
Released=20
in July 2004, the Plan calls for the abatement of all noncompliant waste =
tire=20
stockpiles by December 31, 2010. As of 2004, there were an estimated 29 =
million=20
tires among all of the sites in New York. Five of those sites were =
believed to=20
hold more than 1 million tires each, including two sites estimated to =
contain 8=20
to 10 million tires.</P>
<P>A key aspect of the New York State Waste Tire Management &amp; =
Recycling Act=20
of 2003 is that for the first time it established waste tire management=20
priorities in New York State, which are to:</P>
<UL>
  <LI>reduce the number of waste tires generated=20
  <LI>remediate waste tire stockpiles in noncompliance=20
  <LI>recycle waste tires into value-added products=20
  <LI>beneficially use waste tires in an environmentally acceptable =
manner,=20
  including the beneficial use in civil engineering applications*=20
  <LI>recover, in an environmentally acceptable manner =85 energy from =
waste tires=20
  that cannot be economically recycled or otherwise beneficially used =
</LI></UL>
<P>* Includes the use of TDA in Septic Systems</P>
<P>Another key aspect of the Act is that it established a $2.50 waste =
tire=20
management and recycling fee per new tire sold in the state effective =
though the=20
end of 2010. Fees will be used for the remediation of uncontrolled =
stockpiles,=20
and for a number of activities that support the continued =
diversification of=20
market outlets for waste tires such as market analyses, demonstration =
projects,=20
and technology development. The Act also establishes a framework for New =
York=20
State Agencies to work together to achieve the state=92s goals to =
=93make an=20
essential contribution to the development and implementation of =
environmentally,=20
economically and technically viable waste tire management=20
programs.=94</P></DIV></DIV></DIV></DIV>
<DIV></DIV>
<DIV id=3Dfooter>Center for Integrated Waste Management - University at=20
Buffalo<BR>207 Jarvis Hall - North Campus - Buffalo, NY 14260<BR>Phone: =
(716)=20
645-3446 ext. 2340 Fax: (716) 645-3667<BR>=A9 2006-07 Department of =
Integrated=20
Waste Management - University at Buffalo </DIV></DIV></BODY></HTML>

------=_NextPart_000_0000_01C7D514.CA9FC900
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.tdanys.buffalo.edu/images/infosheetleft.jpg

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
flipGCnypFVPnsTrQd1KukrR0aNHRo1//9k=

------=_NextPart_000_0000_01C7D514.CA9FC900
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.tdanys.buffalo.edu/images/overviewleft.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAMgAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQACAYGBgYGCAYGCAwIBwgMDgoICAoOEA0NDg0NEBEMDg0NDgwRDxITFBMSDxgYGhoYGCMiIiIj
JycnJycnJycnJwEJCAgJCgkLCQkLDgsNCw4RDg4ODhETDQ0ODQ0TGBEPDw8PERgWFxQUFBcWGhoY
GBoaISEgISEnJycnJycnJycn/8AAEQgAeACMAwEiAAIRAQMRAf/EAJoAAAIDAQEBAQAAAAAAAAAA
AAUGAwQHAAIBCAEAAwEBAQAAAAAAAAAAAAAAAgMEAQAFEAACAQIEBAUBBgQEBQUAAAABAgMRBAAh
EgUxQRMGUWEiMhRxgZGhIxUHsUJSFsHRYjPhcoJDNPGSUyQlEQABAwMDAwMEAQUAAAAAAAABABEC
IRIDMUFRYRMEcYEikaHRMrHB4VJi0v/aAAwDAQACEQMRAD8A1JZZUA60pYjLUTWvllivPfH16TVw
tVV8gSPoMeWlKyFIiNNDSniSScvPFMbfJdXBYvJIxOSggItP8q480VkzknbcukE7Aqy1480TIqAt
IhRc+ZXOlOOeMa3zb90j3FIryB1eRqg50oWoDTkMsbM1olmlFkVGXMBBzpT3f5Yz3uaXe5Ln5Ts0
4jqAr+r0+TUqPvOLcPjZQLqAnYp2KcRG3I7O7hMfbtv0Nqt9cvTjNfQOJPjX7MXbqCCdk6cK3CMN
OsPQgEECij64o7RcJe2Ftc2/UEOkKYQB6SMqV8QcFOikahBGVKg0bNaL5UxHKZEiJCu6TIiUpSAY
Elgqr2dvFpBjMZRh7wNIypQcjiG52GS/mfpXTRKSCwQ+4V4HFy4vYemus1jLBQAKnhX+GK60u5Uj
hWVUBD6lNAc8hywL1p91gAfRWbbtZbeNWa6qXDJIMqLXIEEmn34k/QYZ2WEKTFHRkV2qhHMkKQxJ
H0xVkF0ziNI2etDShZQRX3HEdvd0mIlkaJlFNAWhBJzBrwwYzgACwNqtuFBZRMFvtyK7HN4UasQI
9IIPpyYngcRlZRbqjIZZ5XKoVUBwVFfcT7cvuxU23cNxvHlTb7dpukayx+kUqcsyc6+GJZr2dJuv
fRy2TB1QxmOtWofUGoaKcuGKccxPSJHqmRIIoCEQghjjmjhljIRPUFrlq4Ar55Y6KOG3aR1CiWaQ
CWehB9LcG1Vyq2WOnuoLa3aSZ0QEEVr6qDIkH7cfI7mG4RZY0LJIWJ1EAgJSuqlcHp/ZGFPM0VlF
1CubuREvLIElqCtByJxL1jMkM6VIdToKDVpyrnyrXIYgF0vSU6VdWUJKpNBTlx45eWFfdP3C26yF
3Hah1+OB03eMhZCxKssfmKVxwLrU1RTvcvNHJEYpQtOoCupsvSSAKLgd+qRfrH6L8GXqfH63z+mv
S8enr4V/xwr9n99bh3FNdWgsogbZEKThmCBWOgCUDNm+hAxR+Paf3h1v7gX5erX8DR+Rr4dPTqpS
udcax5DoeiaoLh7xJAoVFAAIHqNDxzFKHHg7ulpu8O1RsqIsLy3D1q1VI9P4jFzfNxsdk2ye7VVD
8FGQz5E1p4YxO03W/wBz7ia4Wv5x0McyFV/Rmf8Aqx3jYoxPcO5aI/kobWotKO/Nu29y28Bpa23v
fkTyAwP7ivFRVgjYAkMSfE8hijYOIBucsQohmaNGHM6+iv4DCz3RfypdW0iElAXB+qSFh+DDFpLB
ysZfbTunc9raVbSYokvvAORPJqZivgcNnafcu67xNdbeRJczpH17Qrp16a0ZWJypU88ZX1tbgDz+
6uX4Y0X9ptwsLXep4bhF+TcRaLaU1qKNqdB/zAfhhGaMMkSWDjfotiCPjsU3Cz7re6ciyXoMf+6y
6xlmQRwz4YLWm37u80MckawwVUSAFS1Cc6EeWGKTcbSEr154YQ9dHUYLWnHM447nbgxiNoZNZGmj
8Qea0BriI48e4CMY67oM+1XhMsC+pM9JGWQOX/HFKbtjd2kJimRkIALPkaZV0gA0w0XO6QwwtIql
zHN0HCrU6iKjFQ7ypVWiieQP7Sgyy4gnljpY8YLFaMTjRIkO7zdpd22223MiJbXKj5OjJUMuUTsa
Dmufkcael1I9VamXAEVB8sZFLZT7p3Tf9z3ksdttu3ydZ55CG1RQgIqxKMn9S8ueGrs/vTbdy7eN
5uVykE0MjxOXNGbSaKyqM29LKMsMAEQGoGWiLUGyL3+5WVtUbhZAqWAdowANPHVTLw4Yy1f3Oufm
3LNaRmzlkLRxKSH0A0UGSpHAZ5Y0Lv6aG27YvL6IqxkQRQOpqNUvo1AjLhnj86ySMMhXwAwcYvqs
JW42XfG37s0UlpbtAkEb9dpCHI0Jr1aRQ5AcfsxmX9wbrvm9LFtfTs0aR5WoNMaIpMjyyf6VA1Gu
Ae27pPZfKSOhN1A9uWbIjWVNQfH00+mDkwse1LZba0f5HcEyFLyRSrRxCRaGJaVByPGuOZjy67Xo
yNbj3nb7PtkthsEfTur49S7unQJIWI0l9C+wECoHHPlhA6lx1Pk6m6mqvV56uNa4ksbG53O76MZG
rNpZpTREUe6SRuQH/php6lh0f03S/wCjdP4XydGfW6mv5P8AzdT1aK+3LBUfqhajbLTN0uLDcXax
vBFc214QkuoA6JU1dOQUC+kUYMeVc8Z+22vsG4NFYjRFcyIjagG4NVaFq0zwtHeonMIkMzLF6aF2
aqc1FSKDPDNs+/Sb9ew7YsKLMJUe1eRsgkYqyuW5gLUE4RCE4akyD77Ki+EgzAFqI38U2u2RREHX
LL1GrzIqxP8A7mOM/wB9n6kjwHPS5YHwr/wxoW8PubxyR2c1sZVJQa9Q0ANpK0K0ryqDjP8AdrTc
YHKXMCdWSlXjBYgfTlXHoyIIUqE2Fqbu+htQ2jqtpL0qAKVqRixElzBeKtsSZ43rG0deIOTL4Y6w
a4sboyMDGSjRsxU1AcUNPMjLGkdqdsveWRmiZVkorUmipXWKhQ9a0p/oxLPKYPQdPVNhCMmcnr6L
w9x8nZ7ePdpHvJ4kZyNWlw1SVAYgqwUeOBkN/MJEhkkmt3AVSAW9KZ+oFPMgjLBe+s5IJpLeWPRI
ho0ZANPpWowEk+Pt0BRZTqkAF07aaqoJZACatU550ywjHIF+X0/CblhaxFQdCtD7V02vb4a9bWJL
5ekRmS7RhQzavPOuKfe27XNnt7ptM4j6n5dw4kGrSctMMa8WbPhwxnMe/bxdFtnsBcXNtdPUWiip
6gXSrAxrXLypliWK/vjt0xkIlU6mZpXqYel+XWUAM1STRRqz/HByjUS42SxKjcqC/u7gxx7Kkpax
iSMM8gJVmX8zSo41GqmXHBW53Kxttols4LaE1uGjjIGkBQqofy1ajOzjx88QX1xcJaW9u3TK2Z69
vbPq162FdTI1C+kAZA0xStU3LcWt4rbpNQrK5mQ6YCzNVhG+VWH34zVl2itXNxvQ2JttuWKWKzfl
2ofXo0Ka6uOlhqpQeGFd4njjKqKMTmfIcsPW57esUIFi1AtWkhc1Vy3FieOrCzcoJATGpQCmpDSo
PiPuw6IaICUZOXCX0d4pBLGSrqagjlyxDmpNeIypgrNZOakip5fbijdWcsQjnNCsxZUUH1VTTqqv
IerjjStBWjdlQdo7lYPtm5ukMUUEckzl+hLPcszyHMH1LAoCqOHPFn+2e3Pj/pvy7z9M+V8unWh1
av8AY8KUrlq4asq1xmpuenEscaosipoeVBQkVJzPM58cVevLp06mpSnE+2tdP0rjrR7rHNeESk2o
W8LXFzcxhVk6YWIiRmpTURTLnhi7U+Lsj7huW5AJJDbf/QtJlrJK8zemsYzoFXPA6DcYJ3lSZ1te
oxaOWJfVpIIoeJPHFSaB45vkfKWWTWA07uWZQRxbjwwpyXBTaBiF+nbC4tv0OxvHiQKbeK4ZIwAA
SokJVcv5jlgR3CJr6168/TjhK6o4nlNa+B6dM/IVwrdu9xLun7e3FrJMxvNtVYWcArrjL6omWvKi
6fsxeubTeLztuw3C5hM9zMBJHbRhVSKJkGlQCak0FT5nFOICh9lNlJqPdI242ivaTypFGXQNqBJZ
AFqx4Z6qY99tdy2e1RLHdmaa4nIjrGx0oirrHVDMFp9OHPFqXrtdLb3CdNfUGStQpIpTLLFnb9p2
EWk1jcWEVpeQr62kGrrKf+4rHSWU8xxHPCvMaIjTV0zxHk9XaqBbp3BLf3rtty9YBSHc6dXpOWim
bDli+bHbN129La4kWG409WaT+Yk8MuYrywCurGzsrh5rPbkuEZykDwkuuot6dK8qkU+zBKyjkv8A
crWIs0PXZYWuX0vJpB9NB7dNWpkfsxKYPaYkgjg/YqgyLEE04Q24tZO3gYre5kMsy6bl4GYMAzDo
olSNIbma4+Bd61KihYrVSeg4dSsUxJFW6YozjOla0wxdydrS7WpjaVb68KNIuqOQuY6sXCaaqAK5
nj4csArq9tLXtyCGzeSR55WN3cH8uKrANogEngvFvHBuXqPkhADBjRC7eaGS4YbfBG9whWl7KzPK
7J/uPR/dWtcN6X0kkVt8h+q8ESw9RkVWbQP9NMqGgwCW1S2YTQQiEGrxRLqrGh/lJNfU3ufFyW7r
Com93GlBUDlXDIkD5NVBN/1einml6hdaggigp58sUzErNIpjqtPSw4rQ4hS5VpAKUA8eWCEfT1Oz
gAFCG8qkZ4MSdLMWQeW3R4ndaKY6c8zU0+3AHdWI6T6aCrJXh51ODVwpRzQ1UcNR4Dyxc2Lb7Ld9
ztLHcYjLBI5AVTpJfSxQfSuBMmBPCMRduqUl2rcXsf1MW7ix1iIXJFELnIAHngdU1pXL8Mbrf7Ls
NtYybe8pjtWjaIRPcAKrGgVlSRqEpTlwxl/9q2/6z8H9VtvgVr83qCun+jRx18qcPPChnDEtomnE
XAehQvWJGMr0Lg+o8zj07q1aZMDwH+OI5XCvQrRhlkAPvx7WunUwJ8WH8ThqUnTsG5JtN628pqEk
cDoanKjsCFHnrrjZ96MsWyWxtyVe2WFyFyICqAcZB+1nyJ+5ngt5umLi0njclePpqpWnDS1DjT+5
7v4iQ2KsyypCqTtyZQBxr/HFGGpA4JKnz0Ej/kAPok3cnSfcJJIhRXcPQ8q5/wAcCr3uy23lnskt
nimh1LBkhYupOpgx4A04DFyR1MpKVoK8csKsd5BE6xupjukLvbiJW1MzlqL+XUHzrgPMjE20ch2R
+IZC4jovtu9tIPjS1s7rqepY1cHW59OlKrRqnTnliO/Ztuv/AMhI7cACSJ1ZZZNahTpJUkKVKmtM
WbK2uZpTeSLrnAYtCqM8ksxzquXp/wBI5ccVb+1Z0ubq/KQpaw0gtVKLVz+XTpkhsjmSDXEoZ1UX
ZaX3uyXO37XvguRbpJHp101VNwqMgVRmxrXIYz19rFxMHnmi6Sv1Y6+ku+QCFVBPLMcK4a7h4d4/
aC3uBrP6cFqQaODBJ0z4/wArYRbDeNthci4s+taxFgrByyE0Ijdo9Smpb3Z4PKC9w3CDGfjadiyM
X5NhP0ruSMSMA2hXEla1zOio+/FA3zysQ0a55alP8VOCPZfb9nv+4S310HFrb0DDPQ8hqwjj08lB
4YcrztnaJhL17eIGROnHIA5kUf1EvkD54RLOIG0ueWTRhuqKLM5H0zBSPMmmQ+zBae+W2t1lT1Bl
KsfrShan0wO3bbNz7dvOizF4pK/GldQwZfImuYwIN1KEI1kVrqPEn61w+JBDirpUol2OyuXFzHKx
agqfuxMb2GOz6IqJKGugZ1PDPlgWKVLow88vHwx6VJAPQQ2riT541lz7KBpG4sSW5kjP8cRa392j
PjXTnTFk287urOlQtTUEjE3x49Oug08K1/xxqFVr2AW0kkMj65syABQeTZ+I5YhhHVIUKXYj2rxq
MFe5O1r/AGFhKytLZykiKfmrf/FLTg4/HlgLDOYjQLQ/1DI4GEoyiJRNwIcEcIpAgkEMQtX/AGgW
0h7guBNG63ywP06kaNDMuWXP6nDj32+m/hyH+1TPnmTjMP24maPurairvquJSjilAU0liCRx9tcO
/eG4Lc73LErahF+XQciOWKfH/YkbOp/JrEA7sgkTWpm1XLDpA/mAemoOVPxwHv7eKy3me2hDw2iB
HI9QCRArq0FfVU04jBeSC1srItfKs07gSdBlcqpBqocpzywm2LS324g6uhMGcCaWQtpHp/r4/wDS
uWJs2TuZCRpEN0flUYYdvGAdZF/ZXLg3EcMdgQ9tG7EQzLK2voMTlQ5hXHCuKe7w2FvbRoXR3kUT
QQREkRRqCNMrs2bvWpGPjxXkcsoZpel1lRrlSykqwbUNTBdVa5E4+LZGGS4a2tobqGVyIZbuVlJU
LVgApUZHia4AM6M7J7/bhod47Q3/AGFBpBVioHITxFPv1JjHelIrmPMkGjKDmSvEUGNQ/aZ7nb9/
ltrhVjivrd9Cg5MyMJF0+NF1YR+57L9O7j3OyZCBFcy6CMjpY614eRw7WIb0Sh+xB6Fan+18axdt
aijL1ZXYsSasdWhBmKKp08eODsFtfwXok3B0meT0FI1BUKSdIX20pwrnl54B9kbkL7Z7XbXfVdtA
THZrHoEcIkMYkPt1kgUNOWGqez3H4XSsmje4iOVWaMGOtF0t6iGoOJx5kwTOT8q6LCIatED7vsrK
5t1hutEByXWzKHUVAV/Y7Kmo5kkYyy72y4tL34bRln5sKhOmc1dDwIPlh6l2O+F01td3cM810dct
s9SrdPNDTSXdPVmCKasMdvY24t1N4iXEgKh5JB1DqACDMBT7RSgw3HKyjuEucbuh5WPnbLqaRunl
018DmQKkmoyxJt+xb1cPqhhLR+5jpLen+qpAxrFwu0WiOlvCqozMfTGF1+fhzFTSmJJ7xVhf52pU
ICagCUCvXQuWkaqeGG987RQdrmSQbftPeJsvjSFj7aKRli5/aG8U/wDGkp7aZeP1w/7FBHaIHSWS
WGbNOtLrAAHpRciQfGuCnzLjof8AjfmUroyrWtOFfb+OO7x4CzsjkrIO1O9be6gPb/dCrPaygRJc
ScKcFSY+X8r8sDe7ezpdjc3lnWfa3YaZjUvHXgslMvo3PCcyvG3Djz45H6Yeuz+9zYIu076Ovtbj
pCVxq6YbLS4z1R/wwmWLJ40jl8cXY5F54RtzPF/WO+1ddEhkFs6SGkuekvyqXYd2m1d0WN/Kssiw
l2bRwCsjKcqZ8cNHdc8a7le3tpMHDk3ETIQQKjWCR5eBxS3rtt9muBvmzsZtplUuRCavEGHFWHuT
z44U5tyRzIw9IkrVm9TZ5Hj449Dx8+KeLuQN13HCmy4p9xiGEW15R6DvqaeVUuo1L8WuEXSxJ4el
dIAHlgHdXCR3S31pMI7irAZVA56wDUg49PvXXtItu6Sm3jOoCOJEYnxLqoZj9TijeQUqUYkD2k8/
8jhIhEFwGdPuJDEuvttI95E63N6RHVpOk0jAdRc10jgWepGLEV24tztTQt0mYTB5vSw0g+1aqTrG
Rwvq7RyApVXU1DA8COeGBL4bnFFbrCVvF0g3UrCuQp7vTRanVTPhg5RGqAE6Jm7T3jcrvuDY1WPp
R2zrFdPM+osr/l1BfhTVyxb/AHL2u1j7nMty8xE6I7RRlQCEDIdNTWpK+GO3Xsae02Hbu6dvcQRR
GF1gDGrAkFZupn6mb6ZYOfuo9v8A/mbm4AW7UpHIw1Ro0qCRJJF4sFq1MYP1I03C4j5A8/E/yg37
cb9Z2V/eQSrLMYoG6M7jVogh1OyLRaqKnhXGg9tbzfb6kszW8cdpCxj6iMaPIM9IDDPSKVNcZZ2e
qJeibb7iNyW6RWUGMaFVndvVqybTqPkKc8NVx3FctB8GzUWligNIY8jQnUzO3H1E1OJpQumWHFU+
62IJ+iP7hf7TYXk0jTa5JaCQoOpKWQ8MqABeQOKS9x7VM9GtpjEvqoQpFT/pBGQwPtNh3C7WFgpj
WZS6DpsToUihPCmr+WvHBeLtBjpaS8VSM2QrWn10nHCOMUJdZdlNQFQutx23creS3K3MImJV5oSE
fSQKgephmfLEUW821o6x2dtJfQRR6Q80uqUlTQAPmvDlTBZtisbZyslw0kgIVkjUAivic9P24nh2
G01dSOCRnOdXkGYByFFAy8sa+IUqVjZTwFVbuhag21mVkGoEysKZ/wAxUaqkY+f3ldVr8T87hr6y
+HHhp+zE7dpRvGolmapJbQhzNa+nKlRw44sf2ls/T+HSelNFdY8NP9OOfE2hXNlfUL85JnzzrwOW
JCuhwrMwU5PwNBzNMsdjsVFITr2Z3ZFtf/5s0/V25ydUc40lK8TF7h9VOIt4tu0TdC/26bXFM7Vs
FpqqK+pSCdCnz+zHY7EeLtd/L2rnp3G/S/8A65T5vZC5v9ebfwhb9AEGKPQQKZVAOB9xOVk6YoEZ
SdR8cdjsVHWqWOiFL1HqFqa5tQVxbWbRIlEMg0miycmpxyAyx2OwR+yEa9V+ktz26PdOwmiMgM8u
2qVQEBK9EMAF8PDGebxL+vftZtV1LJWW0VUklapobeUxGtBX/bYY7HY0vT0WBqtyEpJeWy3Cz2V0
HYxL1AqiPTI6FHVS7UNa+eNH7J2qKbbzuN1IGeaogShKqRxY8SxHLPHY7EeV7fj7+ipgzi7XZNVr
cC1WO1ilcl2NZJRR2B/pL+HiR5YGT39wm1TX6rVTWJgW9VSx1MSAoGXCtPrjsdhA0CbzyvUG4wJH
bGdgszDUsjFlibgrMAS1KtixHc0DLY3Cy9JhE0dS5Hp1DSSQPHPPHY7G1quopVu9yjnrHB1A7KqK
1Boyq9SRnTFLq77+q9X48fR6nS1ak1aOOrjXV5aeGOx2NWL/2Q==

------=_NextPart_000_0000_01C7D514.CA9FC900
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.tdanys.buffalo.edu/images/response.jpg

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
KAUAoD//2Q==

------=_NextPart_000_0000_01C7D514.CA9FC900
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tdanys.buffalo.edu/template/screen.css

 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
BODY {
	MARGIN-BOTTOM: 15px; FONT: 100% verdana, arial, sans-serif; =
BACKGROUND-COLOR: #003366; TEXT-ALIGN: center
}
A:link {
	COLOR: #000000
}
A:visited {
	COLOR: #000000
}
A:hover {
	COLOR: #003366
}
A:active {
	COLOR: #003366
}
#pagewrapper {
	MARGIN: 0px auto; WIDTH: 800px
}
#midwrapper {
	CLEAR: both; DISPLAY: inline; FLOAT: left; WIDTH: 800px
}
.homeMenu {
	WIDTH: 600px
}
.homeMenu IMG {
=09
}
#navcontainer {
	FONT-SIZE: 13px; BACKGROUND: #996633; MARGIN: 10px 5px; WIDTH: 150px; =
FONT-FAMILY: Arial, san-serif; TEXT-ALIGN: left
}
UL#navlist {
	BORDER-RIGHT: #996633 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#996633 0px solid; PADDING-LEFT: 0px; BACKGROUND: #996633; =
PADDING-BOTTOM: 0px; MARGIN: 0px; FONT: bold 12px =
verdana,helvetica,arial,sans-serif; BORDER-LEFT: #996633 1px solid; =
WIDTH: 148px; PADDING-TOP: 0px; BORDER-BOTTOM: #996633 1px solid
}
UL#navlist LI {
	BORDER-TOP: #996633 1px solid; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px; LIST-STYLE-TYPE: none; =
BORDER-RIGHT-WIDTH: 0px
}
UL#navlist LI A {
	BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 8px; DISPLAY: block; =
PADDING-LEFT: 8px; BACKGROUND: #cc9966; BORDER-BOTTOM-WIDTH: 1px; =
PADDING-BOTTOM: 4px; BORDER-LEFT: #009900 10px solid; WIDTH: 122px; =
PADDING-TOP: 4px; TEXT-ALIGN: right; BORDER-RIGHT-WIDTH: 1px; =
TEXT-DECORATION: none
}
UL#navlist LI A:link {
	COLOR: #000000
}
DIV#navcontainer LI A:visited {
	COLOR: #000000
}
UL#navlist LI A:hover {
	BORDER-LEFT-COLOR: #ff9000; BACKGROUND: #000d33; BORDER-BOTTOM-COLOR: =
#ff9000; COLOR: #ffffff; BORDER-TOP-COLOR: #ff9000; BORDER-RIGHT-COLOR: =
#ff9000
}
.pageTitle {
	DISPLAY: inline; FONT-WEIGHT: bold; FONT-SIZE: 1.4em; FLOAT: left; =
MARGIN-BOTTOM: 5px; MARGIN-LEFT: 5px; WIDTH: 632px; BORDER-BOTTOM: =
#996633 3px solid
}
.pagePhoto IMG {
	CLEAR: both; DISPLAY: inline; FLOAT: left; MARGIN: 5px 8px 8px 5px
}
#header {
	MARGIN-TOP: 5px; BACKGROUND: url(../images/tdalogo.gif) no-repeat; =
MARGIN-BOTTOM: 0px; WIDTH: 800px; HEIGHT: 150px
}
.underConstruction {
	CLEAR: both; DISPLAY: inline; FLOAT: left
}
#ubbanner {
	BORDER-RIGHT: #000000 0px solid; MARGIN-TOP: 0px; BACKGROUND: =
url(../images/ub-center-blue.jpg) no-repeat; MARGIN-BOTTOM: 8px; WIDTH: =
794px; BORDER-BOTTOM: #000000 0px solid; HEIGHT: 50px
}
#contentwrapper {
	DISPLAY: inline; FLOAT: left; WIDTH: 800px; TEXT-ALIGN: left
}
#centercolumn {
	DISPLAY: inline; FLOAT: left; WIDTH: 640px; BACKGROUND-COLOR: #ffffff
}
.pageText {
	MARGIN-BOTTOM: 5px; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px; TEXT-ALIGN: =
left
}
.pageText UL {
	CLEAR: both; DISPLAY: inline; LIST-STYLE-POSITION: outside; FLOAT: =
left; WIDTH: 622px; LIST-STYLE-TYPE: disc
}
.pageText LI {
	PADDING-LEFT: 2px; FONT-SIZE: 0.9em; PADDING-BOTTOM: 3px; MARGIN-LEFT: =
25px; LINE-HEIGHT: 1.2em; PADDING-TOP: 3px; TEXT-ALIGN: left
}
#content {
	DISPLAY: inline; FLOAT: left
}
#content UL {
	CLEAR: both; DISPLAY: inline; LIST-STYLE-POSITION: outside; FLOAT: =
left; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: circle
}
#content LI {
	FONT-SIZE: 0.9em; LINE-HEIGHT: 1.2em; TEXT-ALIGN: left
}
#mainMenu {
	CLEAR: both; DISPLAY: inline; FONT-WEIGHT: bold; LIST-STYLE-POSITION: =
inside; FONT-SIZE: 0.7em; FLOAT: left; MARGIN-LEFT: 5px; LINE-HEIGHT: =
1.2em
}
#mainMenu LI {
	TEXT-ALIGN: left
}
#mainMenu A:link {
	COLOR: #999999; BACKGROUND-COLOR: #cccccc; TEXT-DECORATION: none
}
#mainMenu A:visited {
	COLOR: #000000; BACKGROUND-COLOR: #cccccc; TEXT-DECORATION: none
}
#mainMenu A:hover {
	COLOR: #003366; BACKGROUND-COLOR: #cccccc
}
A:active {
	COLOR: #003366; BACKGROUND-COLOR: #cccccc
}
.leftMenu {
	CLEAR: both; FLOAT: left
}
#submenu {
	DISPLAY: inline; FLOAT: left
}
#submenu UL {
	CLEAR: both; DISPLAY: inline; FONT-WEIGHT: bold; LIST-STYLE-POSITION: =
outside; FONT-SIZE: 1.1em; FLOAT: left; MARGIN-LEFT: 30px; LINE-HEIGHT: =
1.2em
}
#submenu LI {
	TEXT-ALIGN: left
}
#leftcolumn {
	CLEAR: both; DISPLAY: inline; FLOAT: left; WIDTH: 160px; =
BACKGROUND-COLOR: #996633
}
.imgborder {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
#rightcolumn {
	FLOAT: right; WIDTH: 235px
}
#breadcrumbs {
	BORDER-RIGHT: #adc1cd 2px solid; MARGIN: 15px 0px 25px; BORDER-BOTTOM: =
#adc1cd 2px solid; BACKGROUND-COLOR: #cbdbe4
}
#breadcrumbs P {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 0.65em; =
PADDING-BOTTOM: 10px; PADDING-TOP: 10px
}
#datestamp {
	BORDER-TOP: #cbdbe4 1px solid; MARGIN-TOP: 20px; TEXT-ALIGN: right
}
#datestamp P {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 0.65em; =
PADDING-BOTTOM: 10px; PADDING-TOP: 10px
}
#footer {
	BORDER-RIGHT: #000000 0px solid; DISPLAY: inline; FONT-WEIGHT: bold; =
FONT-SIZE: 0.8em; FLOAT: left; MARGIN-BOTTOM: 3px; WIDTH: 800px; =
PADDING-TOP: 3px; BORDER-BOTTOM: #000000 2px solid; BACKGROUND-COLOR: =
#996633
}
#frontPageContent {
	BORDER-RIGHT: #000000 0px solid; PADDING-RIGHT: 0px; =
BACKGROUND-POSITION: left top; BORDER-TOP: #000000 0px solid; =
PADDING-LEFT: 0px; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/nys.jpg); PADDING-BOTTOM: 0px; MARGIN: 0px auto; =
BORDER-LEFT: #000000 0px solid; WIDTH: 310px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #000000 0px solid; BACKGROUND-REPEAT: no-repeat; HEIGHT: =
300px
}
#testdiv1 {
	LEFT: 20px; WIDTH: 25px; POSITION: relative; TOP: 110px; HEIGHT: 25px
}
#testdiv2 {
	LEFT: 70px; WIDTH: 25px; POSITION: relative; TOP: 60px; HEIGHT: 25px
}
#testdiv3 {
	LEFT: 120px; WIDTH: 25px; POSITION: relative; TOP: 40px; HEIGHT: 25px
}
#rightCol {
	BORDER-RIGHT: #000000 2px solid; PADDING-RIGHT: 2px; BORDER-TOP: =
#000000 2px solid; DISPLAY: inline; PADDING-LEFT: 2px; FLOAT: left; =
PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #000000 2px solid; WIDTH: =
240px; PADDING-TOP: 2px; BORDER-BOTTOM: #000000 2px solid; =
BACKGROUND-COLOR: #ffffff
}
.clearfix:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: =
"."
}
 HTML .clearfix {
	HEIGHT: 1%
}
.clearfix {
	DISPLAY: block
}
H1 {
	MARGIN-TOP: 10px; FONT-WEIGHT: bold; FONT-SIZE: 1.5em; COLOR: #434343
}
H2 {
	MARGIN: 1.5em 0px 0.5em
}
H3 {
	MARGIN: 1.5em 0px 0.5em
}
H4 {
	MARGIN: 1.5em 0px 0.5em
}
H5 {
	MARGIN: 1.5em 0px 0.5em
}
H2 {
	MARGIN-TOP: 10px; FONT-WEIGHT: bold; FONT-SIZE: 1.1em; COLOR: #06456e
}
H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 0.9em; COLOR: #06456e
}
H4 {
	FONT-WEIGHT: bold; FONT-SIZE: 0.8em; COLOR: #758e9d
}
H5 {
	FONT-WEIGHT: bold; FONT-SIZE: 0.7em; COLOR: #505341
}
P {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 0.9em; =
PADDING-BOTTOM: 5px; COLOR: #000000; LINE-HEIGHT: 1.2em; PADDING-TOP: =
5px; TEXT-ALIGN: left
}
IMG {
	MARGIN: 4px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}

------=_NextPart_000_0000_01C7D514.CA9FC900
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tdanys.buffalo.edu/js/prototype.js

/*  Prototype JavaScript framework, version 1.5.0_rc1=0A=
 *  (c) 2005 Sam Stephenson <sam@conio.net>=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://prototype.conio.net/=0A=
 *=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Prototype =3D {=0A=
  Version: '1.5.0_rc1',=0A=
  BrowserFeatures: {=0A=
    XPath: !!document.evaluate=0A=
  },=0A=
=0A=
  ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',=0A=
  emptyFunction: function() {},=0A=
  K: function(x) { return x }=0A=
}=0A=
=0A=
var Class =3D {=0A=
  create: function() {=0A=
    return function() {=0A=
      this.initialize.apply(this, arguments);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
var Abstract =3D new Object();=0A=
=0A=
Object.extend =3D function(destination, source) {=0A=
  for (var property in source) {=0A=
    destination[property] =3D source[property];=0A=
  }=0A=
  return destination;=0A=
}=0A=
=0A=
Object.extend(Object, {=0A=
  inspect: function(object) {=0A=
    try {=0A=
      if (object =3D=3D=3D undefined) return 'undefined';=0A=
      if (object =3D=3D=3D null) return 'null';=0A=
      return object.inspect ? object.inspect() : object.toString();=0A=
    } catch (e) {=0A=
      if (e instanceof RangeError) return '...';=0A=
      throw e;=0A=
    }=0A=
  },=0A=
=0A=
  keys: function(object) {=0A=
    var keys =3D [];=0A=
    for (var property in object)=0A=
      keys.push(property);=0A=
    return keys;=0A=
  },=0A=
=0A=
  values: function(object) {=0A=
    var values =3D [];=0A=
    for (var property in object)=0A=
      values.push(object[property]);=0A=
    return values;=0A=
  },=0A=
=0A=
  clone: function(object) {=0A=
    return Object.extend({}, object);=0A=
  }=0A=
});=0A=
=0A=
Function.prototype.bind =3D function() {=0A=
  var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A=
  return function() {=0A=
    return __method.apply(object, args.concat($A(arguments)));=0A=
  }=0A=
}=0A=
=0A=
Function.prototype.bindAsEventListener =3D function(object) {=0A=
  var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A=
  return function(event) {=0A=
    return __method.apply(object, [( event || =
window.event)].concat(args).concat($A(arguments)));=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Number.prototype, {=0A=
  toColorPart: function() {=0A=
    var digits =3D this.toString(16);=0A=
    if (this < 16) return '0' + digits;=0A=
    return digits;=0A=
  },=0A=
=0A=
  succ: function() {=0A=
    return this + 1;=0A=
  },=0A=
=0A=
  times: function(iterator) {=0A=
    $R(0, this, true).each(iterator);=0A=
    return this;=0A=
  }=0A=
});=0A=
=0A=
var Try =3D {=0A=
  these: function() {=0A=
    var returnValue;=0A=
=0A=
    for (var i =3D 0; i < arguments.length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) {}=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var PeriodicalExecuter =3D Class.create();=0A=
PeriodicalExecuter.prototype =3D {=0A=
  initialize: function(callback, frequency) {=0A=
    this.callback =3D callback;=0A=
    this.frequency =3D frequency;=0A=
    this.currentlyExecuting =3D false;=0A=
=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    if (!this.timer) return;=0A=
    clearInterval(this.timer);=0A=
    this.timer =3D null;=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    if (!this.currentlyExecuting) {=0A=
      try {=0A=
        this.currentlyExecuting =3D true;=0A=
        this.callback(this);=0A=
      } finally {=0A=
        this.currentlyExecuting =3D false;=0A=
      }=0A=
    }=0A=
  }=0A=
}=0A=
Object.extend(String.prototype, {=0A=
  gsub: function(pattern, replacement) {=0A=
    var result =3D '', source =3D this, match;=0A=
    replacement =3D arguments.callee.prepareReplacement(replacement);=0A=
=0A=
    while (source.length > 0) {=0A=
      if (match =3D source.match(pattern)) {=0A=
        result +=3D source.slice(0, match.index);=0A=
        result +=3D (replacement(match) || '').toString();=0A=
        source  =3D source.slice(match.index + match[0].length);=0A=
      } else {=0A=
        result +=3D source, source =3D '';=0A=
      }=0A=
    }=0A=
    return result;=0A=
  },=0A=
=0A=
  sub: function(pattern, replacement, count) {=0A=
    replacement =3D this.gsub.prepareReplacement(replacement);=0A=
    count =3D count =3D=3D=3D undefined ? 1 : count;=0A=
=0A=
    return this.gsub(pattern, function(match) {=0A=
      if (--count < 0) return match[0];=0A=
      return replacement(match);=0A=
    });=0A=
  },=0A=
=0A=
  scan: function(pattern, iterator) {=0A=
    this.gsub(pattern, iterator);=0A=
    return this;=0A=
  },=0A=
=0A=
  truncate: function(length, truncation) {=0A=
    length =3D length || 30;=0A=
    truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation;=0A=
    return this.length > length ?=0A=
      this.slice(0, length - truncation.length) + truncation : this;=0A=
  },=0A=
=0A=
  strip: function() {=0A=
    return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A=
  },=0A=
=0A=
  stripTags: function() {=0A=
    return this.replace(/<\/?[^>]+>/gi, '');=0A=
  },=0A=
=0A=
  stripScripts: function() {=0A=
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A=
  },=0A=
=0A=
  extractScripts: function() {=0A=
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A=
    var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A=
    return (this.match(matchAll) || []).map(function(scriptTag) {=0A=
      return (scriptTag.match(matchOne) || ['', ''])[1];=0A=
    });=0A=
  },=0A=
=0A=
  evalScripts: function() {=0A=
    return this.extractScripts().map(function(script) { return =
eval(script) });=0A=
  },=0A=
=0A=
  escapeHTML: function() {=0A=
    var div =3D document.createElement('div');=0A=
    var text =3D document.createTextNode(this);=0A=
    div.appendChild(text);=0A=
    return div.innerHTML;=0A=
  },=0A=
=0A=
  unescapeHTML: function() {=0A=
    var div =3D document.createElement('div');=0A=
    div.innerHTML =3D this.stripTags();=0A=
    return div.childNodes[0] ? div.childNodes[0].nodeValue : '';=0A=
  },=0A=
=0A=
  toQueryParams: function() {=0A=
    var match =3D this.strip().match(/[^?]*$/)[0];=0A=
    if (!match) return {};=0A=
    var pairs =3D match.split('&');=0A=
    return pairs.inject({}, function(params, pairString) {=0A=
      var pair  =3D pairString.split('=3D');=0A=
      var value =3D pair[1] ? decodeURIComponent(pair[1]) : undefined;=0A=
      params[decodeURIComponent(pair[0])] =3D value;=0A=
      return params;=0A=
    });=0A=
  },=0A=
=0A=
  toArray: function() {=0A=
    return this.split('');=0A=
  },=0A=
=0A=
  camelize: function() {=0A=
    var oStringList =3D this.split('-');=0A=
    if (oStringList.length =3D=3D 1) return oStringList[0];=0A=
=0A=
    var camelizedString =3D this.indexOf('-') =3D=3D 0=0A=
      ? oStringList[0].charAt(0).toUpperCase() + =
oStringList[0].substring(1)=0A=
      : oStringList[0];=0A=
=0A=
    for (var i =3D 1, length =3D oStringList.length; i < length; i++) {=0A=
      var s =3D oStringList[i];=0A=
      camelizedString +=3D s.charAt(0).toUpperCase() + s.substring(1);=0A=
    }=0A=
=0A=
    return camelizedString;=0A=
  },=0A=
=0A=
  inspect: function(useDoubleQuotes) {=0A=
    var escapedString =3D this.replace(/\\/g, '\\\\');=0A=
    if (useDoubleQuotes)=0A=
      return '"' + escapedString.replace(/"/g, '\\"') + '"';=0A=
    else=0A=
      return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A=
  }=0A=
});=0A=
=0A=
String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A=
  if (typeof replacement =3D=3D 'function') return replacement;=0A=
  var template =3D new Template(replacement);=0A=
  return function(match) { return template.evaluate(match) };=0A=
}=0A=
=0A=
String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A=
=0A=
var Template =3D Class.create();=0A=
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A=
Template.prototype =3D {=0A=
  initialize: function(template, pattern) {=0A=
    this.template =3D template.toString();=0A=
    this.pattern  =3D pattern || Template.Pattern;=0A=
  },=0A=
=0A=
  evaluate: function(object) {=0A=
    return this.template.gsub(this.pattern, function(match) {=0A=
      var before =3D match[1];=0A=
      if (before =3D=3D '\\') return match[2];=0A=
      return before + (object[match[3]] || '').toString();=0A=
    });=0A=
  }=0A=
}=0A=
=0A=
var $break    =3D new Object();=0A=
var $continue =3D new Object();=0A=
=0A=
var Enumerable =3D {=0A=
  each: function(iterator) {=0A=
    var index =3D 0;=0A=
    try {=0A=
      this._each(function(value) {=0A=
        try {=0A=
          iterator(value, index++);=0A=
        } catch (e) {=0A=
          if (e !=3D $continue) throw e;=0A=
        }=0A=
      });=0A=
    } catch (e) {=0A=
      if (e !=3D $break) throw e;=0A=
    }=0A=
    return this;=0A=
  },=0A=
=0A=
  eachSlice: function(number, iterator) {=0A=
    var index =3D -number, slices =3D [], array =3D this.toArray();=0A=
    while ((index +=3D number) < array.length)=0A=
      slices.push(array.slice(index, index+number));=0A=
    return slices.collect(iterator || Prototype.K);=0A=
  },=0A=
=0A=
  all: function(iterator) {=0A=
    var result =3D true;=0A=
    this.each(function(value, index) {=0A=
      result =3D result && !!(iterator || Prototype.K)(value, index);=0A=
      if (!result) throw $break;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  any: function(iterator) {=0A=
    var result =3D false;=0A=
    this.each(function(value, index) {=0A=
      if (result =3D !!(iterator || Prototype.K)(value, index))=0A=
        throw $break;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  collect: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(iterator(value, index));=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  detect: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      if (iterator(value, index)) {=0A=
        result =3D value;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  findAll: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (iterator(value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  grep: function(pattern, iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      var stringValue =3D value.toString();=0A=
      if (stringValue.match(pattern))=0A=
        results.push((iterator || Prototype.K)(value, index));=0A=
    })=0A=
    return results;=0A=
  },=0A=
=0A=
  include: function(object) {=0A=
    var found =3D false;=0A=
    this.each(function(value) {=0A=
      if (value =3D=3D object) {=0A=
        found =3D true;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return found;=0A=
  },=0A=
=0A=
  inGroupsOf: function(number, fillWith) {=0A=
    fillWith =3D fillWith || null;=0A=
    var results =3D this.eachSlice(number);=0A=
    if (results.length > 0) (number - =
results.last().length).times(function() {=0A=
      results.last().push(fillWith)=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  inject: function(memo, iterator) {=0A=
    this.each(function(value, index) {=0A=
      memo =3D iterator(memo, value, index);=0A=
    });=0A=
    return memo;=0A=
  },=0A=
=0A=
  invoke: function(method) {=0A=
    var args =3D $A(arguments).slice(1);=0A=
    return this.collect(function(value) {=0A=
      return value[method].apply(value, args);=0A=
    });=0A=
  },=0A=
=0A=
  max: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D (iterator || Prototype.K)(value, index);=0A=
      if (result =3D=3D undefined || value >=3D result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  min: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D (iterator || Prototype.K)(value, index);=0A=
      if (result =3D=3D undefined || value < result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  partition: function(iterator) {=0A=
    var trues =3D [], falses =3D [];=0A=
    this.each(function(value, index) {=0A=
      ((iterator || Prototype.K)(value, index) ?=0A=
        trues : falses).push(value);=0A=
    });=0A=
    return [trues, falses];=0A=
  },=0A=
=0A=
  pluck: function(property) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(value[property]);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  reject: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (!iterator(value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  sortBy: function(iterator) {=0A=
    return this.collect(function(value, index) {=0A=
      return {value: value, criteria: iterator(value, index)};=0A=
    }).sort(function(left, right) {=0A=
      var a =3D left.criteria, b =3D right.criteria;=0A=
      return a < b ? -1 : a > b ? 1 : 0;=0A=
    }).pluck('value');=0A=
  },=0A=
=0A=
  toArray: function() {=0A=
    return this.collect(Prototype.K);=0A=
  },=0A=
=0A=
  zip: function() {=0A=
    var iterator =3D Prototype.K, args =3D $A(arguments);=0A=
    if (typeof args.last() =3D=3D 'function')=0A=
      iterator =3D args.pop();=0A=
=0A=
    var collections =3D [this].concat(args).map($A);=0A=
    return this.map(function(value, index) {=0A=
      return iterator(collections.pluck(index));=0A=
    });=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '#<Enumerable:' + this.toArray().inspect() + '>';=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Enumerable, {=0A=
  map:     Enumerable.collect,=0A=
  find:    Enumerable.detect,=0A=
  select:  Enumerable.findAll,=0A=
  member:  Enumerable.include,=0A=
  entries: Enumerable.toArray=0A=
});=0A=
var $A =3D Array.from =3D function(iterable) {=0A=
  if (!iterable) return [];=0A=
  if (iterable.toArray) {=0A=
    return iterable.toArray();=0A=
  } else {=0A=
    var results =3D [];=0A=
    for (var i =3D 0, length =3D iterable.length; i < length; i++)=0A=
      results.push(iterable[i]);=0A=
    return results;=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Array.prototype, Enumerable);=0A=
=0A=
if (!Array.prototype._reverse)=0A=
  Array.prototype._reverse =3D Array.prototype.reverse;=0A=
=0A=
Object.extend(Array.prototype, {=0A=
  _each: function(iterator) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      iterator(this[i]);=0A=
  },=0A=
=0A=
  clear: function() {=0A=
    this.length =3D 0;=0A=
    return this;=0A=
  },=0A=
=0A=
  first: function() {=0A=
    return this[0];=0A=
  },=0A=
=0A=
  last: function() {=0A=
    return this[this.length - 1];=0A=
  },=0A=
=0A=
  compact: function() {=0A=
    return this.select(function(value) {=0A=
      return value !=3D undefined || value !=3D null;=0A=
    });=0A=
  },=0A=
=0A=
  flatten: function() {=0A=
    return this.inject([], function(array, value) {=0A=
      return array.concat(value && value.constructor =3D=3D Array ?=0A=
        value.flatten() : [value]);=0A=
    });=0A=
  },=0A=
=0A=
  without: function() {=0A=
    var values =3D $A(arguments);=0A=
    return this.select(function(value) {=0A=
      return !values.include(value);=0A=
    });=0A=
  },=0A=
=0A=
  indexOf: function(object) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      if (this[i] =3D=3D object) return i;=0A=
    return -1;=0A=
  },=0A=
=0A=
  reverse: function(inline) {=0A=
    return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A=
  },=0A=
=0A=
  reduce: function() {=0A=
    return this.length > 1 ? this : this[0];=0A=
  },=0A=
=0A=
  uniq: function() {=0A=
    return this.inject([], function(array, value) {=0A=
      return array.include(value) ? array : array.concat([value]);=0A=
    });=0A=
  },=0A=
=0A=
  clone: function() {=0A=
    return [].concat(this);=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
  }=0A=
});=0A=
=0A=
Array.prototype.toArray =3D Array.prototype.clone;=0A=
var Hash =3D {=0A=
  _each: function(iterator) {=0A=
    for (var key in this) {=0A=
      var value =3D this[key];=0A=
      if (typeof value =3D=3D 'function') continue;=0A=
=0A=
      var pair =3D [key, value];=0A=
      pair.key =3D key;=0A=
      pair.value =3D value;=0A=
      iterator(pair);=0A=
    }=0A=
  },=0A=
=0A=
  keys: function() {=0A=
    return this.pluck('key');=0A=
  },=0A=
=0A=
  values: function() {=0A=
    return this.pluck('value');=0A=
  },=0A=
=0A=
  merge: function(hash) {=0A=
    return $H(hash).inject(this, function(mergedHash, pair) {=0A=
      mergedHash[pair.key] =3D pair.value;=0A=
      return mergedHash;=0A=
    });=0A=
  },=0A=
=0A=
  toQueryString: function() {=0A=
    return this.map(function(pair) {=0A=
      if (!pair.value && pair.value !=3D=3D 0) pair[1] =3D '';=0A=
      if (!pair.key) return;=0A=
      return pair.map(encodeURIComponent).join('=3D');=0A=
    }).join('&');=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '#<Hash:{' + this.map(function(pair) {=0A=
      return pair.map(Object.inspect).join(': ');=0A=
    }).join(', ') + '}>';=0A=
  }=0A=
}=0A=
=0A=
function $H(object) {=0A=
  var hash =3D Object.extend({}, object || {});=0A=
  Object.extend(hash, Enumerable);=0A=
  Object.extend(hash, Hash);=0A=
  return hash;=0A=
}=0A=
ObjectRange =3D Class.create();=0A=
Object.extend(ObjectRange.prototype, Enumerable);=0A=
Object.extend(ObjectRange.prototype, {=0A=
  initialize: function(start, end, exclusive) {=0A=
    this.start =3D start;=0A=
    this.end =3D end;=0A=
    this.exclusive =3D exclusive;=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    var value =3D this.start;=0A=
    while (this.include(value)) {=0A=
      iterator(value);=0A=
      value =3D value.succ();=0A=
    }=0A=
  },=0A=
=0A=
  include: function(value) {=0A=
    if (value < this.start)=0A=
      return false;=0A=
    if (this.exclusive)=0A=
      return value < this.end;=0A=
    return value <=3D this.end;=0A=
  }=0A=
});=0A=
=0A=
var $R =3D function(start, end, exclusive) {=0A=
  return new ObjectRange(start, end, exclusive);=0A=
}=0A=
=0A=
var Ajax =3D {=0A=
  getTransport: function() {=0A=
    return Try.these(=0A=
      function() {return new XMLHttpRequest()},=0A=
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A=
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A=
    ) || false;=0A=
  },=0A=
=0A=
  activeRequestCount: 0=0A=
}=0A=
=0A=
Ajax.Responders =3D {=0A=
  responders: [],=0A=
=0A=
  _each: function(iterator) {=0A=
    this.responders._each(iterator);=0A=
  },=0A=
=0A=
  register: function(responder) {=0A=
    if (!this.include(responder))=0A=
      this.responders.push(responder);=0A=
  },=0A=
=0A=
  unregister: function(responder) {=0A=
    this.responders =3D this.responders.without(responder);=0A=
  },=0A=
=0A=
  dispatch: function(callback, request, transport, json) {=0A=
    this.each(function(responder) {=0A=
      if (typeof responder[callback] =3D=3D 'function') {=0A=
        try {=0A=
          responder[callback].apply(responder, [request, transport, =
json]);=0A=
        } catch (e) {}=0A=
      }=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Ajax.Responders, Enumerable);=0A=
=0A=
Ajax.Responders.register({=0A=
  onCreate: function() {=0A=
    Ajax.activeRequestCount++;=0A=
  },=0A=
  onComplete: function() {=0A=
    Ajax.activeRequestCount--;=0A=
  }=0A=
});=0A=
=0A=
Ajax.Base =3D function() {};=0A=
Ajax.Base.prototype =3D {=0A=
  setOptions: function(options) {=0A=
    this.options =3D {=0A=
      method:       'post',=0A=
      asynchronous: true,=0A=
      contentType:  'application/x-www-form-urlencoded',=0A=
      encoding:     'UTF-8',=0A=
      parameters:   ''=0A=
    }=0A=
    Object.extend(this.options, options || {});=0A=
=0A=
    this.options.method =3D this.options.method.toLowerCase();=0A=
    this.options.parameters =3D $H(typeof this.options.parameters =3D=3D =
'string' ?=0A=
      this.options.parameters.toQueryParams() : this.options.parameters);=0A=
  }=0A=
}=0A=
=0A=
Ajax.Request =3D Class.create();=0A=
Ajax.Request.Events =3D=0A=
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
Ajax.Request.prototype =3D Object.extend(new Ajax.Base(), {=0A=
  initialize: function(url, options) {=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.setOptions(options);=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  request: function(url) {=0A=
    var params =3D this.options.parameters;=0A=
    if (params.any()) params['_'] =3D '';=0A=
=0A=
    if (!['get', 'post'].include(this.options.method)) {=0A=
      // simulate other verbs over post=0A=
      params['_method'] =3D this.options.method;=0A=
      this.options.method =3D 'post';=0A=
    }=0A=
=0A=
    this.url =3D url;=0A=
=0A=
    // when GET, append parameters to URL=0A=
    if (this.options.method =3D=3D 'get' && params.any())=0A=
      this.url +=3D (this.url.indexOf('?') >=3D 0 ? '&' : '?') +=0A=
        params.toQueryString();=0A=
=0A=
    try {=0A=
      Ajax.Responders.dispatch('onCreate', this, this.transport);=0A=
=0A=
      this.transport.open(this.options.method.toUpperCase(), this.url,=0A=
        this.options.asynchronous, this.options.username,=0A=
        this.options.password);=0A=
=0A=
      if (this.options.asynchronous)=0A=
        setTimeout(function() { this.respondToReadyState(1) =
}.bind(this), 10);=0A=
=0A=
      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
      this.setRequestHeaders();=0A=
=0A=
      var body =3D this.options.method =3D=3D 'post' ?=0A=
        (this.options.postBody || params.toQueryString()) : null;=0A=
=0A=
      this.transport.send(body);=0A=
=0A=
      /* Force Firefox to handle ready state 4 for synchronous requests =
*/=0A=
      if (!this.options.asynchronous && this.transport.overrideMimeType)=0A=
        this.onStateChange();=0A=
    }=0A=
    catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState > 1)=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var headers =3D {=0A=
      'X-Requested-With': 'XMLHttpRequest',=0A=
      'X-Prototype-Version': Prototype.Version,=0A=
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'=0A=
    };=0A=
=0A=
    if (this.options.method =3D=3D 'post') {=0A=
      headers['Content-type'] =3D this.options.contentType +=0A=
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');=0A=
=0A=
      /* Force "Connection: close" for older Mozilla browsers to work=0A=
       * around a bug where XMLHttpRequest sends an incorrect=0A=
       * Content-length header. See Mozilla Bugzilla #246651.=0A=
       */=0A=
      if (this.transport.overrideMimeType &&=0A=
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)=0A=
            headers['Connection'] =3D 'close';=0A=
    }=0A=
=0A=
    // user-defined headers=0A=
    if (typeof this.options.requestHeaders =3D=3D 'object') {=0A=
      var extras =3D this.options.requestHeaders;=0A=
=0A=
      if (typeof extras.push =3D=3D 'function')=0A=
        for (var i =3D 0; i < extras.length; i +=3D 2)=0A=
          headers[extras[i]] =3D extras[i+1];=0A=
      else=0A=
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });=0A=
    }=0A=
=0A=
    for (var name in headers)=0A=
      this.transport.setRequestHeader(name, headers[name]);=0A=
  },=0A=
=0A=
  success: function() {=0A=
    return !this.transport.status=0A=
        || (this.transport.status >=3D 200 && this.transport.status < =
300);=0A=
  },=0A=
=0A=
  respondToReadyState: function(readyState) {=0A=
    var state =3D Ajax.Request.Events[readyState];=0A=
    var transport =3D this.transport, json =3D this.evalJSON();=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      try {=0A=
        (this.options['on' + this.transport.status]=0A=
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A=
         || Prototype.emptyFunction)(transport, json);=0A=
      } catch (e) {=0A=
        this.dispatchException(e);=0A=
      }=0A=
    }=0A=
=0A=
    try {=0A=
      (this.options['on' + state] || Prototype.emptyFunction)(transport, =
json);=0A=
      Ajax.Responders.dispatch('on' + state, this, transport, json);=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      if ((this.getHeader('Content-type') || '').strip().=0A=
        match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))=0A=
          this.evalResponse();=0A=
=0A=
      // avoid memory leak in MSIE: clean up=0A=
      this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A=
    }=0A=
  },=0A=
=0A=
  getHeader: function(name) {=0A=
    try {=0A=
      return this.transport.getResponseHeader(name);=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  evalJSON: function() {=0A=
    try {=0A=
      var json =3D this.getHeader('X-JSON');=0A=
      return json ? eval('(' + json + ')') : null;=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  evalResponse: function() {=0A=
    try {=0A=
      return eval(this.transport.responseText);=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  dispatchException: function(exception) {=0A=
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);=0A=
    Ajax.Responders.dispatch('onException', this, exception);=0A=
  }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create();=0A=
=0A=
Object.extend(Object.extend(Ajax.Updater.prototype, =
Ajax.Request.prototype), {=0A=
  initialize: function(container, url, options) {=0A=
    this.container =3D {=0A=
      success: (container.success || container),=0A=
      failure: (container.failure || (container.success ? null : =
container))=0A=
    }=0A=
=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.setOptions(options);=0A=
=0A=
    var onComplete =3D this.options.onComplete || =
Prototype.emptyFunction;=0A=
    this.options.onComplete =3D (function(transport, param) {=0A=
      this.updateContent();=0A=
      onComplete(transport, param);=0A=
    }).bind(this);=0A=
=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  updateContent: function() {=0A=
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'];=0A=
    var response =3D this.transport.responseText;=0A=
=0A=
    if (!this.options.evalScripts) response =3D response.stripScripts();=0A=
=0A=
    if (receiver =3D $(receiver)) {=0A=
      if (this.options.insertion)=0A=
        new this.options.insertion(receiver, response);=0A=
      else=0A=
        receiver.update(response);=0A=
    }=0A=
=0A=
    if (this.success()) {=0A=
      if (this.onComplete)=0A=
        setTimeout(this.onComplete.bind(this), 10);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create();=0A=
Ajax.PeriodicalUpdater.prototype =3D Object.extend(new Ajax.Base(), {=0A=
  initialize: function(container, url, options) {=0A=
    this.setOptions(options);=0A=
    this.onComplete =3D this.options.onComplete;=0A=
=0A=
    this.frequency =3D (this.options.frequency || 2);=0A=
    this.decay =3D (this.options.decay || 1);=0A=
=0A=
    this.updater =3D {};=0A=
    this.container =3D container;=0A=
    this.url =3D url;=0A=
=0A=
    this.start();=0A=
  },=0A=
=0A=
  start: function() {=0A=
    this.options.onComplete =3D this.updateComplete.bind(this);=0A=
    this.onTimerEvent();=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    this.updater.options.onComplete =3D undefined;=0A=
    clearTimeout(this.timer);=0A=
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A=
  },=0A=
=0A=
  updateComplete: function(request) {=0A=
    if (this.options.decay) {=0A=
      this.decay =3D (request.responseText =3D=3D this.lastText ?=0A=
        this.decay * this.options.decay : 1);=0A=
=0A=
      this.lastText =3D request.responseText;=0A=
    }=0A=
    this.timer =3D setTimeout(this.onTimerEvent.bind(this),=0A=
      this.decay * this.frequency * 1000);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
  }=0A=
});=0A=
function $(element) {=0A=
  if (arguments.length > 1) {=0A=
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)=0A=
      elements.push($(arguments[i]));=0A=
    return elements;=0A=
  }=0A=
  if (typeof element =3D=3D 'string')=0A=
    element =3D document.getElementById(element);=0A=
  return Element.extend(element);=0A=
}=0A=
=0A=
if (Prototype.BrowserFeatures.XPath) {=0A=
  document._getElementsByXPath =3D function(expression, parentElement) {=0A=
    var results =3D [];=0A=
    var query =3D document.evaluate(expression, $(parentElement) || =
document,=0A=
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
    for (var i =3D 0, len =3D query.snapshotLength; i < len; i++)=0A=
      results.push(query.snapshotItem(i));=0A=
    return results;=0A=
  }=0A=
}=0A=
=0A=
document.getElementsByClassName =3D function(className, parentElement) {=0A=
  if (Prototype.BrowserFeatures.XPath) {=0A=
    var q =3D ".//*[contains(concat(' ', @class, ' '), ' " + className + =
" ')]";=0A=
    return document._getElementsByXPath(q, parentElement);=0A=
  } else {=0A=
    var children =3D ($(parentElement) || =
document.body).getElementsByTagName('*');=0A=
    var elements =3D [], child;=0A=
    for (var i =3D 0, length =3D children.length; i < length; i++) {=0A=
      child =3D children[i];=0A=
      if (Element.hasClassName(child, className))=0A=
        elements.push(Element.extend(child));=0A=
    }=0A=
    return elements;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!window.Element)=0A=
  var Element =3D new Object();=0A=
=0A=
Element.extend =3D function(element) {=0A=
  if (!element) return;=0A=
  if (_nativeExtensions || element.nodeType =3D=3D 3) return element;=0A=
=0A=
  if (!element._extended && element.tagName && element !=3D window) {=0A=
    var methods =3D Object.clone(Element.Methods), cache =3D =
Element.extend.cache;=0A=
=0A=
    if (element.tagName =3D=3D 'FORM')=0A=
      Object.extend(methods, Form.Methods);=0A=
    if (['INPUT', 'TEXTAREA', 'SELECT'].include(element.tagName))=0A=
      Object.extend(methods, Form.Element.Methods);=0A=
=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (typeof value =3D=3D 'function')=0A=
        element[property] =3D cache.findOrStore(value);=0A=
    }=0A=
=0A=
    var methods =3D Object.clone(Element.Methods.Simulated), cache =3D =
Element.extend.cache;=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if ('function' =3D=3D typeof value && !(property in element))=0A=
        element[property] =3D cache.findOrStore(value);=0A=
    }=0A=
  }=0A=
=0A=
  element._extended =3D true;=0A=
  return element;=0A=
}=0A=
=0A=
Element.extend.cache =3D {=0A=
  findOrStore: function(value) {=0A=
    return this[value] =3D this[value] || function() {=0A=
      return value.apply(null, [this].concat($A(arguments)));=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Element.Methods =3D {=0A=
  visible: function(element) {=0A=
    return $(element).style.display !=3D 'none';=0A=
  },=0A=
=0A=
  toggle: function(element) {=0A=
    element =3D $(element);=0A=
    Element[Element.visible(element) ? 'hide' : 'show'](element);=0A=
    return element;=0A=
  },=0A=
=0A=
  hide: function(element) {=0A=
    $(element).style.display =3D 'none';=0A=
    return element;=0A=
  },=0A=
=0A=
  show: function(element) {=0A=
    $(element).style.display =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  remove: function(element) {=0A=
    element =3D $(element);=0A=
    element.parentNode.removeChild(element);=0A=
    return element;=0A=
  },=0A=
=0A=
  update: function(element, html) {=0A=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A=
    $(element).innerHTML =3D html.stripScripts();=0A=
    setTimeout(function() {html.evalScripts()}, 10);=0A=
    return element;=0A=
  },=0A=
=0A=
  replace: function(element, html) {=0A=
    element =3D $(element);=0A=
    if (element.outerHTML) {=0A=
      element.outerHTML =3D html.stripScripts();=0A=
    } else {=0A=
      var range =3D element.ownerDocument.createRange();=0A=
      range.selectNodeContents(element);=0A=
      element.parentNode.replaceChild(=0A=
        range.createContextualFragment(html.stripScripts()), element);=0A=
    }=0A=
    setTimeout(function() {html.evalScripts()}, 10);=0A=
    return element;=0A=
  },=0A=
=0A=
  inspect: function(element) {=0A=
    element =3D $(element);=0A=
    var result =3D '<' + element.tagName.toLowerCase();=0A=
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A=
      var property =3D pair.first(), attribute =3D pair.last();=0A=
      var value =3D (element[property] || '').toString();=0A=
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);=0A=
    });=0A=
    return result + '>';=0A=
  },=0A=
=0A=
  recursivelyCollect: function(element, property) {=0A=
    element =3D $(element);=0A=
    var elements =3D [];=0A=
    while (element =3D element[property])=0A=
      if (element.nodeType =3D=3D 1)=0A=
        elements.push(Element.extend(element));=0A=
    return elements;=0A=
  },=0A=
=0A=
  ancestors: function(element) {=0A=
    return $(element).recursivelyCollect('parentNode');=0A=
  },=0A=
=0A=
  descendants: function(element) {=0A=
    element =3D $(element);=0A=
    return $A(element.getElementsByTagName('*'));=0A=
  },=0A=
=0A=
  previousSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('previousSibling');=0A=
  },=0A=
=0A=
  nextSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('nextSibling');=0A=
  },=0A=
=0A=
  siblings: function(element) {=0A=
    element =3D $(element);=0A=
    return =
element.previousSiblings().reverse().concat(element.nextSiblings());=0A=
  },=0A=
=0A=
  match: function(element, selector) {=0A=
    element =3D $(element);=0A=
    if (typeof selector =3D=3D 'string')=0A=
      selector =3D new Selector(selector);=0A=
    return selector.match(element);=0A=
  },=0A=
=0A=
  up: function(element, expression, index) {=0A=
    return Selector.findElement($(element).ancestors(), expression, =
index);=0A=
  },=0A=
=0A=
  down: function(element, expression, index) {=0A=
    return Selector.findElement($(element).descendants(), expression, =
index);=0A=
  },=0A=
=0A=
  previous: function(element, expression, index) {=0A=
    return Selector.findElement($(element).previousSiblings(), =
expression, index);=0A=
  },=0A=
=0A=
  next: function(element, expression, index) {=0A=
    return Selector.findElement($(element).nextSiblings(), expression, =
index);=0A=
  },=0A=
=0A=
  getElementsBySelector: function() {=0A=
    var args =3D $A(arguments), element =3D $(args.shift());=0A=
    return Selector.findChildElements(element, args);=0A=
  },=0A=
=0A=
  getElementsByClassName: function(element, className) {=0A=
    element =3D $(element);=0A=
    return document.getElementsByClassName(className, element);=0A=
  },=0A=
=0A=
  getHeight: function(element) {=0A=
    element =3D $(element);=0A=
    return element.offsetHeight;=0A=
  },=0A=
=0A=
  classNames: function(element) {=0A=
    return new Element.ClassNames(element);=0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var elementClassName =3D element.className;=0A=
    if (elementClassName.length =3D=3D 0) return false;=0A=
    if (elementClassName =3D=3D className ||=0A=
        elementClassName.match(new RegExp("(^|\\s)" + className + =
"(\\s|$)")))=0A=
      return true;=0A=
    return false;=0A=
  },=0A=
=0A=
  addClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element).add(className);=0A=
    return element;=0A=
  },=0A=
=0A=
  removeClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element).remove(className);=0A=
    return element;=0A=
  },=0A=
=0A=
  observe: function() {=0A=
    Event.observe.apply(Event, arguments);=0A=
    return $A(arguments).first();=0A=
  },=0A=
=0A=
  stopObserving: function() {=0A=
    Event.stopObserving.apply(Event, arguments);=0A=
    return $A(arguments).first();=0A=
  },=0A=
=0A=
  // removes whitespace-only text node children=0A=
  cleanWhitespace: function(element) {=0A=
    element =3D $(element);=0A=
    var node =3D element.firstChild;=0A=
    while (node) {=0A=
      var nextNode =3D node.nextSibling;=0A=
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A=
        element.removeChild(node);=0A=
      node =3D nextNode;=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  empty: function(element) {=0A=
    return $(element).innerHTML.match(/^\s*$/);=0A=
  },=0A=
=0A=
  childOf: function(element, ancestor) {=0A=
    element =3D $(element), ancestor =3D $(ancestor);=0A=
    while (element =3D element.parentNode)=0A=
      if (element =3D=3D ancestor) return true;=0A=
    return false;=0A=
  },=0A=
=0A=
  scrollTo: function(element) {=0A=
    element =3D $(element);=0A=
    var x =3D element.x ? element.x : element.offsetLeft,=0A=
        y =3D element.y ? element.y : element.offsetTop;=0A=
    window.scrollTo(x, y);=0A=
    return element;=0A=
  },=0A=
=0A=
  getStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    var value =3D element.style[style.camelize()];=0A=
    if (!value) {=0A=
      if (document.defaultView && document.defaultView.getComputedStyle) =
{=0A=
        var css =3D document.defaultView.getComputedStyle(element, null);=0A=
        value =3D css ? css.getPropertyValue(style) : null;=0A=
      } else if (element.currentStyle) {=0A=
        value =3D element.currentStyle[style.camelize()];=0A=
      }=0A=
    }=0A=
=0A=
    if (window.opera && ['left', 'top', 'right', =
'bottom'].include(style))=0A=
      if (Element.getStyle(element, 'position') =3D=3D 'static') value =
=3D 'auto';=0A=
=0A=
    return value =3D=3D 'auto' ? null : value;=0A=
  },=0A=
=0A=
  setStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    for (var name in style)=0A=
      element.style[name.camelize()] =3D style[name];=0A=
    return element;=0A=
  },=0A=
=0A=
  getDimensions: function(element) {=0A=
    element =3D $(element);=0A=
    if (Element.getStyle(element, 'display') !=3D 'none')=0A=
      return {width: element.offsetWidth, height: element.offsetHeight};=0A=
=0A=
    // All *Width and *Height properties give 0 on elements with display =
none,=0A=
    // so enable the element temporarily=0A=
    var els =3D element.style;=0A=
    var originalVisibility =3D els.visibility;=0A=
    var originalPosition =3D els.position;=0A=
    els.visibility =3D 'hidden';=0A=
    els.position =3D 'absolute';=0A=
    els.display =3D '';=0A=
    var originalWidth =3D element.clientWidth;=0A=
    var originalHeight =3D element.clientHeight;=0A=
    els.display =3D 'none';=0A=
    els.position =3D originalPosition;=0A=
    els.visibility =3D originalVisibility;=0A=
    return {width: originalWidth, height: originalHeight};=0A=
  },=0A=
=0A=
  makePositioned: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.getStyle(element, 'position');=0A=
    if (pos =3D=3D 'static' || !pos) {=0A=
      element._madePositioned =3D true;=0A=
      element.style.position =3D 'relative';=0A=
      // Opera returns the offset relative to the positioning context, =
when an=0A=
      // element is position relative but top and left have not been =
defined=0A=
      if (window.opera) {=0A=
        element.style.top =3D 0;=0A=
        element.style.left =3D 0;=0A=
      }=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  undoPositioned: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._madePositioned) {=0A=
      element._madePositioned =3D undefined;=0A=
      element.style.position =3D=0A=
        element.style.top =3D=0A=
        element.style.left =3D=0A=
        element.style.bottom =3D=0A=
        element.style.right =3D '';=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  makeClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._overflow) return element;=0A=
    element._overflow =3D element.style.overflow || 'auto';=0A=
    if ((Element.getStyle(element, 'overflow') || 'visible') !=3D =
'hidden')=0A=
      element.style.overflow =3D 'hidden';=0A=
    return element;=0A=
  },=0A=
=0A=
  undoClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element._overflow) return element;=0A=
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;=0A=
    element._overflow =3D null;=0A=
    return element;=0A=
  }=0A=
}=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
  hasAttribute: function(element, attribute) {=0A=
    return $(element).getAttributeNode(attribute).specified;=0A=
  }=0A=
}=0A=
=0A=
// IE is missing .innerHTML support for TABLE-related elements=0A=
if(document.all){=0A=
  Element.Methods.update =3D function(element, html) {=0A=
    element =3D $(element);=0A=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A=
    var tagName =3D element.tagName.toUpperCase();=0A=
    if (['THEAD','TBODY','TR','TD'].indexOf(tagName) > -1) {=0A=
      var div =3D document.createElement('div');=0A=
      switch (tagName) {=0A=
        case 'THEAD':=0A=
        case 'TBODY':=0A=
          div.innerHTML =3D '<table><tbody>' +  html.stripScripts() + =
'</tbody></table>';=0A=
          depth =3D 2;=0A=
          break;=0A=
        case 'TR':=0A=
          div.innerHTML =3D '<table><tbody><tr>' +  html.stripScripts() =
+ '</tr></tbody></table>';=0A=
          depth =3D 3;=0A=
          break;=0A=
        case 'TD':=0A=
          div.innerHTML =3D '<table><tbody><tr><td>' +  =
html.stripScripts() + '</td></tr></tbody></table>';=0A=
          depth =3D 4;=0A=
      }=0A=
      $A(element.childNodes).each(function(node){=0A=
        element.removeChild(node)=0A=
      });=0A=
      depth.times(function(){ div =3D div.firstChild });=0A=
=0A=
      $A(div.childNodes).each(=0A=
        function(node){ element.appendChild(node) });=0A=
    } else {=0A=
      element.innerHTML =3D html.stripScripts();=0A=
    }=0A=
    setTimeout(function() {html.evalScripts()}, 10);=0A=
    return element;=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Element, Element.Methods);=0A=
=0A=
var _nativeExtensions =3D false;=0A=
=0A=
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A=
  ['', 'Form', 'Input', 'TextArea', 'Select'].each(function(tag) {=0A=
    var className =3D 'HTML' + tag + 'Element';=0A=
    if(window[className]) return;=0A=
    var klass =3D window[className] =3D {};=0A=
    klass.prototype =3D document.createElement(tag ? tag.toLowerCase() : =
'div').__proto__;=0A=
  });=0A=
=0A=
Element.addMethods =3D function(methods) {=0A=
  Object.extend(Element.Methods, methods || {});=0A=
=0A=
  function copy(methods, destination, onlyIfAbsent) {=0A=
    onlyIfAbsent =3D onlyIfAbsent || false;=0A=
    var cache =3D Element.extend.cache;=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (!onlyIfAbsent || !(property in destination))=0A=
        destination[property] =3D cache.findOrStore(value);=0A=
    }=0A=
  }=0A=
=0A=
  if (typeof HTMLElement !=3D 'undefined') {=0A=
    copy(Element.Methods, HTMLElement.prototype);=0A=
    copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A=
    copy(Form.Methods, HTMLFormElement.prototype);=0A=
    [HTMLInputElement, HTMLTextAreaElement, =
HTMLSelectElement].each(function(klass) {=0A=
      copy(Form.Element.Methods, klass.prototype);=0A=
    });=0A=
    _nativeExtensions =3D true;=0A=
  }=0A=
}=0A=
=0A=
var Toggle =3D new Object();=0A=
Toggle.display =3D Element.toggle;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.Insertion =3D function(adjacency) {=0A=
  this.adjacency =3D adjacency;=0A=
}=0A=
=0A=
Abstract.Insertion.prototype =3D {=0A=
  initialize: function(element, content) {=0A=
    this.element =3D $(element);=0A=
    this.content =3D content.stripScripts();=0A=
=0A=
    if (this.adjacency && this.element.insertAdjacentHTML) {=0A=
      try {=0A=
        this.element.insertAdjacentHTML(this.adjacency, this.content);=0A=
      } catch (e) {=0A=
        var tagName =3D this.element.tagName.toLowerCase();=0A=
        if (tagName =3D=3D 'tbody' || tagName =3D=3D 'tr') {=0A=
          this.insertContent(this.contentFromAnonymousTable());=0A=
        } else {=0A=
          throw e;=0A=
        }=0A=
      }=0A=
    } else {=0A=
      this.range =3D this.element.ownerDocument.createRange();=0A=
      if (this.initializeRange) this.initializeRange();=0A=
      =
this.insertContent([this.range.createContextualFragment(this.content)]);=0A=
    }=0A=
=0A=
    setTimeout(function() {content.evalScripts()}, 10);=0A=
  },=0A=
=0A=
  contentFromAnonymousTable: function() {=0A=
    var div =3D document.createElement('div');=0A=
    div.innerHTML =3D '<table><tbody>' + this.content + =
'</tbody></table>';=0A=
    return $A(div.childNodes[0].childNodes[0].childNodes);=0A=
  }=0A=
}=0A=
=0A=
var Insertion =3D new Object();=0A=
=0A=
Insertion.Before =3D Class.create();=0A=
Insertion.Before.prototype =3D Object.extend(new =
Abstract.Insertion('beforeBegin'), {=0A=
  initializeRange: function() {=0A=
    this.range.setStartBefore(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.parentNode.insertBefore(fragment, this.element);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.Top =3D Class.create();=0A=
Insertion.Top.prototype =3D Object.extend(new =
Abstract.Insertion('afterBegin'), {=0A=
  initializeRange: function() {=0A=
    this.range.selectNodeContents(this.element);=0A=
    this.range.collapse(true);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.reverse(false).each((function(fragment) {=0A=
      this.element.insertBefore(fragment, this.element.firstChild);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.Bottom =3D Class.create();=0A=
Insertion.Bottom.prototype =3D Object.extend(new =
Abstract.Insertion('beforeEnd'), {=0A=
  initializeRange: function() {=0A=
    this.range.selectNodeContents(this.element);=0A=
    this.range.collapse(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.appendChild(fragment);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.After =3D Class.create();=0A=
Insertion.After.prototype =3D Object.extend(new =
Abstract.Insertion('afterEnd'), {=0A=
  initializeRange: function() {=0A=
    this.range.setStartAfter(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.parentNode.insertBefore(fragment,=0A=
        this.element.nextSibling);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.ClassNames =3D Class.create();=0A=
Element.ClassNames.prototype =3D {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    this.element.className.split(/\s+/).select(function(name) {=0A=
      return name.length > 0;=0A=
    })._each(iterator);=0A=
  },=0A=
=0A=
  set: function(className) {=0A=
    this.element.className =3D className;=0A=
  },=0A=
=0A=
  add: function(classNameToAdd) {=0A=
    if (this.include(classNameToAdd)) return;=0A=
    this.set($A(this).concat(classNameToAdd).join(' '));=0A=
  },=0A=
=0A=
  remove: function(classNameToRemove) {=0A=
    if (!this.include(classNameToRemove)) return;=0A=
    this.set($A(this).without(classNameToRemove).join(' '));=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return $A(this).join(' ');=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Element.ClassNames.prototype, Enumerable);=0A=
var Selector =3D Class.create();=0A=
Selector.prototype =3D {=0A=
  initialize: function(expression) {=0A=
    this.params =3D {classNames: []};=0A=
    this.expression =3D expression.toString().strip();=0A=
    this.parseExpression();=0A=
    this.compileMatcher();=0A=
  },=0A=
=0A=
  parseExpression: function() {=0A=
    function abort(message) { throw 'Parse error in selector: ' + =
message; }=0A=
=0A=
    if (this.expression =3D=3D '')  abort('empty expression');=0A=
=0A=
    var params =3D this.params, expr =3D this.expression, match, =
modifier, clause, rest;=0A=
    while (match =3D =
expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=3D)(?:"([^"]*)"|([^\]\s]*))=
)?\]$/i)) {=0A=
      params.attributes =3D params.attributes || [];=0A=
      params.attributes.push({name: match[2], operator: match[3], value: =
match[4] || match[5] || ''});=0A=
      expr =3D match[1];=0A=
    }=0A=
=0A=
    if (expr =3D=3D '*') return this.params.wildcard =3D true;=0A=
=0A=
    while (match =3D expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) {=0A=
      modifier =3D match[1], clause =3D match[2], rest =3D match[3];=0A=
      switch (modifier) {=0A=
        case '#':       params.id =3D clause; break;=0A=
        case '.':       params.classNames.push(clause); break;=0A=
        case '':=0A=
        case undefined: params.tagName =3D clause.toUpperCase(); break;=0A=
        default:        abort(expr.inspect());=0A=
      }=0A=
      expr =3D rest;=0A=
    }=0A=
=0A=
    if (expr.length > 0) abort(expr.inspect());=0A=
  },=0A=
=0A=
  buildMatchExpression: function() {=0A=
    var params =3D this.params, conditions =3D [], clause;=0A=
=0A=
    if (params.wildcard)=0A=
      conditions.push('true');=0A=
    if (clause =3D params.id)=0A=
      conditions.push('element.id =3D=3D ' + clause.inspect());=0A=
    if (clause =3D params.tagName)=0A=
      conditions.push('element.tagName.toUpperCase() =3D=3D ' + =
clause.inspect());=0A=
    if ((clause =3D params.classNames).length > 0)=0A=
      for (var i =3D 0; i < clause.length; i++)=0A=
        conditions.push('Element.hasClassName(element, ' + =
clause[i].inspect() + ')');=0A=
    if (clause =3D params.attributes) {=0A=
      clause.each(function(attribute) {=0A=
        var value =3D 'element.getAttribute(' + attribute.name.inspect() =
+ ')';=0A=
        var splitValueBy =3D function(delimiter) {=0A=
          return value + ' && ' + value + '.split(' + =
delimiter.inspect() + ')';=0A=
        }=0A=
=0A=
        switch (attribute.operator) {=0A=
          case '=3D':       conditions.push(value + ' =3D=3D ' + =
attribute.value.inspect()); break;=0A=
          case '~=3D':      conditions.push(splitValueBy(' ') + =
'.include(' + attribute.value.inspect() + ')'); break;=0A=
          case '|=3D':      conditions.push(=0A=
                            splitValueBy('-') + '.first().toUpperCase() =
=3D=3D ' + attribute.value.toUpperCase().inspect()=0A=
                          ); break;=0A=
          case '!=3D':      conditions.push(value + ' !=3D ' + =
attribute.value.inspect()); break;=0A=
          case '':=0A=
          case undefined: conditions.push(value + ' !=3D null'); break;=0A=
          default:        throw 'Unknown operator ' + attribute.operator =
+ ' in selector';=0A=
        }=0A=
      });=0A=
    }=0A=
=0A=
    return conditions.join(' && ');=0A=
  },=0A=
=0A=
  compileMatcher: function() {=0A=
    this.match =3D new Function('element', 'if (!element.tagName) return =
false; \=0A=
      return ' + this.buildMatchExpression());=0A=
  },=0A=
=0A=
  findElements: function(scope) {=0A=
    var element;=0A=
=0A=
    if (element =3D $(this.params.id))=0A=
      if (this.match(element))=0A=
        if (!scope || Element.childOf(element, scope))=0A=
          return [element];=0A=
=0A=
    scope =3D (scope || =
document).getElementsByTagName(this.params.tagName || '*');=0A=
=0A=
    var results =3D [];=0A=
    for (var i =3D 0, length =3D scope.length; i < length; i++)=0A=
      if (this.match(element =3D scope[i]))=0A=
        results.push(Element.extend(element));=0A=
=0A=
    return results;=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return this.expression;=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Selector, {=0A=
  matchElements: function(elements, expression) {=0A=
    var selector =3D new Selector(expression);=0A=
    return =
elements.select(selector.match.bind(selector)).collect(Element.extend);=0A=
  },=0A=
=0A=
  findElement: function(elements, expression, index) {=0A=
    if (typeof expression =3D=3D 'number') index =3D expression, =
expression =3D false;=0A=
    return Selector.matchElements(elements, expression || '*')[index || =
0];=0A=
  },=0A=
=0A=
  findChildElements: function(element, expressions) {=0A=
    return expressions.map(function(expression) {=0A=
      return expression.strip().split(/\s+/).inject([null], =
function(results, expr) {=0A=
        var selector =3D new Selector(expr);=0A=
        return results.inject([], function(elements, result) {=0A=
          return elements.concat(selector.findElements(result || =
element));=0A=
        });=0A=
      });=0A=
    }).flatten();=0A=
  }=0A=
});=0A=
=0A=
function $$() {=0A=
  return Selector.findChildElements(document, $A(arguments));=0A=
}=0A=
var Form =3D {=0A=
  reset: function(form) {=0A=
    $(form).reset();=0A=
    return form;=0A=
  },=0A=
=0A=
  serializeElements: function(elements) {=0A=
    return elements.inject([], function(queryComponents, element) {=0A=
      var queryComponent =3D Form.Element.serialize(element);=0A=
      if (queryComponent) queryComponents.push(queryComponent);=0A=
      return queryComponents;=0A=
    }).join('&');=0A=
  }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
  serialize: function(form) {=0A=
    return Form.serializeElements($(