From: <Saved by Windows Internet Explorer 8>
Subject: ActiveGiving.com
Date: Fri, 9 Jul 2010 11:36:29 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CB1F5A.F91B1350"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5931

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.active.com/donate/trotforspecialtots

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>ActiveGiving.com</TITLE>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<META content=3D0 http-equiv=3Dexpires>
<STYLE type=3Dtext/css>
@media Screen   =20
{
BODY {
	BACKGROUND-COLOR: #ffffff
}
BODY {
	FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 10pt
}
INPUT {
	FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 10pt
}
SELECT {
	FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 10pt
}
TEXTAREA {
	FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 10pt
}
TD {
	FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 10pt
}
.donTbl {
	BORDER-BOTTOM: #626dac 1px solid; BORDER-LEFT: #626dac 1px solid; =
BACKGROUND-COLOR: #e7e7f0; FONT-FAMILY: arial; COLOR: #ffffff; =
FONT-SIZE: 8pt; BORDER-TOP: #626dac 1px solid; BORDER-RIGHT: #626dac 1px =
solid
}
.donMenuTable {
	BORDER-BOTTOM: #626dac 1px solid; BORDER-LEFT: #626dac 1px solid; =
BACKGROUND-COLOR: #e7e7f0; BORDER-TOP: #626dac 1px solid; BORDER-RIGHT: =
#626dac 1px solid
}
.donNavTable {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #626dac; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; PADDING-TOP: 2px
}
.donNavTable2 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #e7e7f0; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; PADDING-TOP: 3px
}
.donMenuText {
	FONT-FAMILY: verdana; COLOR: #000000; FONT-SIZE: 8pt
}
.donMenuTextLink {
	FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 8pt; FONT-WEIGHT: bold
}
.donHeader {
	BACKGROUND-COLOR: #626dac; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
FONT-FAMILY: arial, Helvetica, sans-serif; COLOR: #ffffff; FONT-SIZE: =
9pt; FONT-WEIGHT: bold
}
.donTxt1 {
	FONT: 8pt Arial, Helvetica, sans-serif
}
.donNavTxt1 {
	COLOR: #ffffff; FONT-SIZE: 9pt; FONT-WEIGHT: bold
}
.donNavTxt1Highlight {
	COLOR: #000000; FONT-SIZE: 9pt; FONT-WEIGHT: bold
}
.donNavTxt2 {
	COLOR: #000000; FONT-SIZE: 8pt; FONT-WEIGHT: bold
}
.donNavTxt3 {
	COLOR: #000000; FONT-SIZE: 8pt; FONT-WEIGHT: bold
}
.donTxt2 {
	FONT-SIZE: 10pt
}
.don_title {
	FONT-FAMILY: Arial; COLOR: #ababab; FONT-SIZE: 14pt; FONT-WEIGHT: bold
}
.don_team {
	FONT-FAMILY: Arial; COLOR: #ababab; FONT-SIZE: 10pt
}
.don_header {
	TEXT-ALIGN: center; FONT-FAMILY: Arial; COLOR: #000000; FONT-SIZE: =
12pt; FONT-WEIGHT: bold
}
.don_welcome {
	FONT-FAMILY: Verdana; COLOR: #000000; FONT-SIZE: 10pt
}
.don_welcome P {
	FONT-FAMILY: Verdana; COLOR: #000000; FONT-SIZE: 10pt
}
.donTxt3 {
	FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 12pt
}
.donTxt4 {
	FONT-FAMILY: arial; COLOR: #000000; FONT-SIZE: 14pt
}
.donTblRed {
	BORDER-BOTTOM: red thin solid; BORDER-LEFT: red thin solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #ffe4e1; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; BORDER-TOP: red thin solid; BORDER-RIGHT: red thin =
solid; PADDING-TOP: 4px
}
.donTblYellow {
	BORDER-BOTTOM: #ffcc33 thin solid; BORDER-LEFT: #ffcc33 thin solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #ffffe0; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; BORDER-TOP: #ffcc33 thin solid; BORDER-RIGHT: =
#ffcc33 thin solid; PADDING-TOP: 4px
}
.donTblGreen {
	BORDER-BOTTOM: #008000 thin solid; BORDER-LEFT: #008000 thin solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #e6ffe6; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; BORDER-TOP: #008000 thin solid; BORDER-RIGHT: =
#008000 thin solid; PADDING-TOP: 4px
}
.donTblWhite {
	BORDER-BOTTOM: black thin solid; BORDER-LEFT: black thin solid; =
PADDING-BOTTOM: 4px; BACKGROUND-COLOR: white; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; BORDER-TOP: black thin solid; BORDER-RIGHT: black =
thin solid; PADDING-TOP: 4px
}
.donHeadSilver {
	BACKGROUND-COLOR: #cccccc; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; FONT: =
bold 10pt Arial, Helvetica, sans-serif; COLOR: black
}
.donAnswer {
	DISPLAY: none
}
.donDisabled {
	BACKGROUND-COLOR: #cccccc
}
.donWell {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 10px
}
.donHot {
	BACKGROUND-COLOR: red; COLOR: white
}
.donWht {
	COLOR: white
}
A {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: #000000; FONT-SIZE: =
10pt; FONT-WEIGHT: normal; TEXT-DECORATION: none
}
A:hover {
	COLOR: #000000; TEXT-DECORATION: underline
}
.menuboxlink {
	FONT-FAMILY: verdana; FONT-SIZE: 8pt
}
.mainTable {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
BACKGROUND-COLOR: black; BORDER-TOP: black 1px solid; BORDER-RIGHT: =
black 1px solid
}
.footTable {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
BORDER-TOP: #999999 1px solid; BORDER-RIGHT: black 0px solid
}
.footertext {
	BACKGROUND-COLOR: #626dac; FONT-FAMILY: =
arial,Geneva,Helvetica,sans-serif; COLOR: #ffffff; FONT-SIZE: 9pt; =
FONT-WEIGHT: bold
}
.footerbar {
	BACKGROUND-COLOR: #848dbd; FONT-FAMILY: =
arial,Geneva,Helvetica,sans-serif; COLOR: #ffffff; FONT-SIZE: 9pt; =
FONT-WEIGHT: bold
}
#footerBar2 {
	TEXT-ALIGN: right; WIDTH: 100%; FLOAT: left; BORDER-TOP: #e7e7f0 6px =
solid
}
.headblock {
	BORDER-BOTTOM: #999999 1px solid; BACKGROUND-COLOR: #eeeeee; COLOR: =
#626dac; BORDER-TOP: #999999 1px solid; BORDER-RIGHT: #999999 1px solid
}
.bodyblock {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
BORDER-RIGHT: #999999 1px solid
}
DIV.topList {
	BORDER-BOTTOM: #626dac 1px solid; BORDER-LEFT: #626dac 1px solid; =
BACKGROUND-COLOR: #e7e7f0; BORDER-TOP: #626dac 1px solid; BORDER-RIGHT: =
#626dac 1px solid
}
.listdiv {
	POSITION: relative; PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; =
PADDING-RIGHT: 2px; HEIGHT: 160px; OVERFLOW: hidden; PADDING-TOP: 2px
}
DIV.topList TABLE {
	WIDTH: 100%; BORDER-COLLAPSE: collapse
}
DIV.topList TABLE TBODY TR TD TABLE TBODY TR TD {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
PADDING-TOP: 2px
}
DIV.topList TABLE TBODY TR TD TABLE TBODY TR TD.topListAmount {
	TEXT-ALIGN: right; WHITE-SPACE: nowrap; FONT-WEIGHT: bold
}
DIV.topList TABLE THEAD TR TH {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #626dac; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; COLOR: #ffffff; FONT-SIZE: 0.8em; PADDING-TOP: 3px
}
DIV.topList TABLE THEAD TR TD {
	FONT-FAMILY: Arial; COLOR: #000000; FONT-SIZE: 12pt
}

}
</STYLE>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.active.com/donations/scripts/global.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.active.com/donations/scripts/validation.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.active.com/donations/scripts/java.js"></SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.active.com/donations/styles/fundraiser_search_style.cs=
s">
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.active.com/donations/scripts/prototype.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.active.com/donations/scripts/floating_div.js"></SCRIPT>=


<SCRIPT type=3Dtext/javascript>=0A=
			=0A=
					function searchResults(str1, str2, str3, startInd, size) {=0A=
						var param1 =3D "";=0A=
						var param2 =3D "";=0A=
						var param3 =3D "";=0A=
						var spacePos =3D 0;=0A=
						var	start =3D 1;=0A=
						var pSize =3D 20;=0A=
						var sType =3D 'individual';=0A=
						var sTeam =3D true;=0A=
=0A=
						document.body.style.cursor =3D "wait";=0A=
						=0A=
						if ('all_indivs' =3D=3D 'all_indivs_and_teams') {=0A=
							sTeam =3D true;=0A=
						}=0A=
						else {=0A=
							sTeam =3D false;=0A=
						}=0A=
						=0A=
						if (sTeam) {=0A=
							if (str1 !=3D 'First Name' && str1 !=3D '') {=0A=
								if (str2 =3D=3D 'Last Name' && str2 !=3D '') {=0A=
									sType =3D 'individual';=0A=
								}=0A=
							}=0A=
							else if (str2 !=3D 'Last Name' && str2 !=3D '') {=0A=
								if (str1 =3D=3D 'First Name' && str1 !=3D '') {=0A=
									sType =3D 'individual';=0A=
								}=0A=
							}=0A=
							else if (str3 !=3D 'Team Name' && str3 !=3D '') {=0A=
									sType =3D 'team';			=0A=
							}=0A=
							else {=0A=
									sType =3D 'all';=0A=
							}=0A=
						}=0A=
						else {=0A=
							sType =3D 'individual';=0A=
						}=0A=
						=0A=
						if (startInd) {=0A=
							start =3D startInd;	=0A=
						}=0A=
						if (size) {=0A=
							pSize =3D size;=0A=
						}=0A=
						//if screen resolution is low then limit the number=0A=
						//of records per page to 10.  Also shorten the searchResults div=0A=
						if (screen.height < 768)=0A=
						{=0A=
							pSize =3D 10;=0A=
							document.getElementById('searchResults').style.height =3D 315;=0A=
						}=0A=
						=0A=
						param1 =3D str1;=0A=
						param2 =3D str2;	=0A=
						param3 =3D str3;=0A=
						=0A=
						str1 =3D "";=0A=
						str2 =3D "";=0A=
						str3 =3D "";=0A=
=0A=
						myRand=3DparseInt(Math.random()*99999999);  // cache buster=0A=
						var url =3D "/donations/remoting/fundraiser_search_results.cfm";=0A=
						var ajax =3D new Ajax.Request(url,   =0A=
							{method:'get',=0A=
							 parameters: { rand: myRand, firstName: param1, lastName: param2, =
teamName: param3, campaignId: 156272, searchType: sType, actionType: =
'redirect', showTeam: sTeam, startIndex: start, pageSize: pSize, =
showAddress: false },=0A=
						     onSuccess: function(transport){=0A=
					       		var response =3D transport.responseText || "no response =
text"; =0A=
					       		if (response.match("window.location")) {=0A=
									eval(response);=0A=
					       		}=0A=
					       		else if (response.match("autoAssignValue")) {=0A=
					       			eval(response);=0A=
					       		}=0A=
					       		else {=0A=
									document.getElementById('searchResults').style.display =3D =
"block";=0A=
									document.getElementById('searchData').innerHTML =3D "";=0A=
									document.getElementById('searchData').innerHTML =3D response;=0A=
=0A=
									document.getElementById('firstName2').value =3D param1;=0A=
									document.getElementById('lastName2').value =3D param2;=0A=
									document.getElementById('teamName2').value =3D param3;=0A=
									=0A=
									showDiv();=0A=
					       		}=0A=
					       		},     =0A=
					       	onFailure: function(transport){ alert('An error has =
occurred') }=0A=
							}=0A=
					    );=0A=
					}=0A=
					function hideDiv() {=0A=
						var myDiv =3D $('searchResults');=0A=
						myDiv.hide();=0A=
						document.getElementById('grayDiv').style.display =3D "none";						=0A=
						document.getElementById('searchControl').style.display =3D "block";=0A=
						if (document.getElementById('returnValue')) {=0A=
							document.getElementById('returnValue').innerHTML =3D "No =
fundraiser selected";=0A=
							document.getElementById('clearResultsButton').style.display =3D =
"none";=0A=
						}=0A=
						document.getElementById('firstName').value =3D "First Name";=0A=
						document.getElementById('lastName').value =3D "Last Name";=0A=
						if (document.getElementById('teamName')) {=0A=
							document.getElementById('teamName').value =3D "Team Name";=0A=
						}=0A=
=0A=
						if (document.getElementById('state')) {=0A=
							document.getElementById('state').style.display =3D "block";=0A=
							document.getElementById('country').style.display =3D "block";=0A=
							document.getElementById('paytype').style.display =3D "block";=0A=
						}=0A=
					}=0A=
					function showDiv() {=0A=
						document.body.style.cursor =3D "default";=0A=
						=0A=
						document.getElementById('searchResults').style.display =3D "block";=0A=
=0A=
						document.getElementById('grayDiv').style.width =3D '1200px';	=0A=
						document.getElementById('grayDiv').style.height =3D '5000px';=0A=
						document.getElementById('grayDiv').style.display =3D "block";=0A=
						=0A=
						if (document.getElementById('state')) {=0A=
							document.getElementById('state').style.display =3D "none";=0A=
							document.getElementById('country').style.display =3D "none";=0A=
							document.getElementById('paytype').style.display =3D "none";=0A=
						}=0A=
						=0A=
					}=0A=
					function assignValue(frId,name) {=0A=
						document.getElementById('grayDiv').style.display =3D "none";	=0A=
						document.getElementById('searchControl').style.display =3D "none";=0A=
						document.getElementById('searchResults').style.display =3D "none";=0A=
						document.getElementById('returnValue').innerHTML =3D name;=0A=
						document.getElementById('indivFRSelect').value =3D frId;=0A=
						document.getElementById('clearResultsButton').style.display =3D =
"inline";=0A=
						=0A=
						if (document.getElementById('state')) {=0A=
							document.getElementById('state').style.display =3D "block";=0A=
							document.getElementById('country').style.display =3D "block";=0A=
							document.getElementById('paytype').style.display =3D "block";=0A=
						}=0A=
					}=0A=
					function autoAssignValue(frId,fname,lname) {=0A=
						document.body.style.cursor =3D "default";=0A=
						=0A=
						var name =3D '';=0A=
						=0A=
						if (lname !=3D '') {=0A=
							name =3D fname + ' ' + lname;=0A=
						}=0A=
						else {=0A=
							name =3D fname;=0A=
						}=0A=
						=0A=
						assignValue(frId,name);=0A=
					}=0A=
					function clearResults() {		=0A=
						document.getElementById('returnValue').innerHTML =3D "No =
fundraiser selected";=0A=
						document.getElementById('clearResultsButton').style.display =3D =
"none";=0A=
						document.getElementById('searchControl').style.display =3D "block";=0A=
						document.getElementById('firstName').value =3D "First Name";=0A=
						document.getElementById('lastName').value =3D "Last Name";=0A=
						if (document.getElementById('teamName')) {=0A=
							document.getElementById('teamName').value =3D "Team Name";=0A=
						}=0A=
					}=0A=
=0A=
					function clearFirstName() {=0A=
						document.getElementById('firstName').value =3D "";=0A=
						if (document.getElementById('teamName')) {=0A=
							document.getElementById('teamName').value =3D "Team Name";=0A=
						}=0A=
					}=0A=
					function clearLastName() {=0A=
						document.getElementById('lastName').value =3D "";=0A=
						if (document.getElementById('teamName')) {=0A=
							document.getElementById('teamName').value =3D "Team Name";=0A=
						}=0A=
					}=0A=
					function clearTeamName() {=0A=
						document.getElementById('firstName').value =3D "First Name";=0A=
						document.getElementById('lastName').value =3D "Last Name";=0A=
						document.getElementById('teamName').value =3D "";=0A=
					}=0A=
					function clearFirstName2() {=0A=
						document.getElementById('firstName2').value =3D "";=0A=
						if (document.getElementById('teamName2')) {=0A=
							document.getElementById('teamName2').value =3D "Team Name";=0A=
						}=0A=
					}=0A=
					function clearLastName2() {=0A=
						document.getElementById('lastName2').value =3D "";=0A=
						if (document.getElementById('teamName2')) {=0A=
							document.getElementById('teamName2').value =3D "Team Name";=0A=
						}=0A=
					}=0A=
					function clearTeamName2() {=0A=
						document.getElementById('firstName2').value =3D "First Name";=0A=
						document.getElementById('lastName2').value =3D "Last Name";=0A=
						document.getElementById('teamName2').value =3D "";=0A=
					}=0A=
				</SCRIPT>

<STYLE type=3Dtext/css>#donationBox {
	WIDTH: 200px
}
#donationBox H3 {
	PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 3px
}
#donationBox UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
#donationBox UL LI {
	TEXT-ALIGN: left; MARGIN-TOP: 5px; TEXT-INDENT: -25px; PADDING-LEFT: =
25px
}
INPUT#donationAmount {
	WIDTH: 4em
}
#donationBoxFooter {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 5px
}
.metaFundraiserChoice {
	TEXT-ALIGN: right
}
.metaFundraiserInstructions {
	FONT-WEIGHT: bold
}
</STYLE>

<SCRIPT type=3Dtext/javascript>=0A=
					=0A=
					function doContinue(formId) {=0A=
						formId =3D ensureFormIdIsDefined(formId);=0A=
						if (validateForm(formId)) {=0A=
							submitForm("continue");=0A=
							return true;=0A=
						}=0A=
						return false;=0A=
					}=0A=
					=0A=
					function ensureFormIdIsDefined(formId) {=0A=
						if (!formId) {=0A=
							formId =3D "donForm";=0A=
						}=0A=
						return formId;=0A=
					}=0A=
					=0A=
					function getDonationForm(formId) {=0A=
						var form =3D document.getElementById(formId);=0A=
						if (!form) {=0A=
							form =3D document.donForm;=0A=
						}=0A=
						return form;=0A=
					}=0A=
					=0A=
					function ensureAmountWasChosen(formId) {=0A=
						var form =3D getDonationForm(formId);=0A=
						var checked =3D false;=0A=
						=0A=
						for(i =3D 0; i < form.sug.length; i++) {=0A=
							if(form.sug[i].checked) {=0A=
								checked =3D true;=0A=
								break;=0A=
							}=0A=
						}=0A=
						return checked;=0A=
					}=0A=
					=0A=
					function getAmountOptionCount(formId) {=0A=
						var form =3D getDonationForm(formId);=0A=
						var count =3D 0;=0A=
						=0A=
						for(i =3D 0; i < form.sug.length; i++) {=0A=
							if(form.sug[i].checked) {=0A=
								count++;=0A=
							}=0A=
						}=0A=
					}=0A=
					=0A=
					function validateForm(formId) {=0A=
						var form =3D getDonationForm(formId);=0A=
						=0A=
						if (3 > 0 && !ensureAmountWasChosen(formId)) {=0A=
							alert("Please select a suggested amount!");=0A=
							getFocus(form.sug[0]);=0A=
							return false;=0A=
						}=0A=
						if (3 =3D=3D 0 || =
document.getElementById('customSuggestedAmount').checked) {=0A=
							var first =3D form.amt.value.substring(0,1);=0A=
							if(first =3D=3D "$"){=0A=
								form.amt.value =3D =
form.amt.value.substring(1,form.amt.value.length);=0A=
							}=0A=
							if(!isPositive(form.amt.value)){=0A=
								alert("Your donation must be a positive dollar amount!");=0A=
								getFocus(form.amt);=0A=
								return false;=0A=
							}=0A=
						}=0A=
						 =0A=
						return true;=0A=
					}=0A=
				</SCRIPT>

<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18928"></HEAD>
<BODY leftMargin=3D0 topMargin=3D0 marginheight=3D"0" marginwidth=3D"0">
<CENTER>
<TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 width=3D800 =
align=3Dcenter>
  <TBODY>
  <TR>
    <TD bgColor=3D#ffffff vAlign=3Dtop align=3Dmiddle>
      <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D5 align=3Dcenter>
        <TBODY>
        <TR>
          <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
        <TR>
          <TD colSpan=3D2 align=3Dmiddle><A=20
            href=3D"http://www.theprofessionalcenter.org/"><IMG =
border=3D0=20
            =
src=3D"http://www.active.com/images/upimages/trot%20logo%20for%20web%20co=
mpressed.jpg"></A></TD></TR>
        <TR>
          <TD align=3Dmiddle><A name=3Dselectfundraiser></A>
            <DIV id=3DsearchControl>
            <P class=3DsearchControlLabel>Find a fundraiser to =
support:</P><INPUT=20
            id=3DfirstName onfocus=3DclearFirstName(); value=3D"First =
Name" size=3D10=20
            name=3DfirstName> <INPUT id=3DlastName =
onfocus=3DclearLastName();=20
            value=3D"Last Name" size=3D10 name=3DlastName> <INPUT =
id=3DteamName=20
            value=3D"Team Name" type=3Dhidden name=3DteamName> <INPUT =
id=3DsearchButton onclick=3D"searchResults(trim(firstName.value), =
trim(lastName.value), trim(teamName.value), 1, 20);" value=3DSearch =
type=3Dbutton>=20

            <P class=3DsearchControlNotes>or simply click 'Search' to =
view a list=20
            of all fundraisers</P></DIV>
            <DIV id=3DgrayDiv></DIV>
            <DIV id=3DsearchResults>
            <DIV id=3DsearchResultsHeader>
            <H3>Fundraiser Search <SPAN>&nbsp;&nbsp;<A =
onclick=3DhideDiv();=20
            =
href=3D"http://www.active.com/donate/trotforspecialtots#selectfundraiser"=
>Cancel</A></SPAN></H3></DIV>
            <DIV id=3DsearchControl2>
            <TABLE>
              <TBODY>
              <TR>
                <TD><INPUT id=3DfirstName2 onfocus=3DclearFirstName2(); =
size=3D10=20
                  name=3DfirstName2> <INPUT id=3DlastName2 =
onfocus=3DclearLastName2();=20
                  size=3D10 name=3DlastName2> <INPUT id=3DteamName2 =
type=3Dhidden=20
                  name=3DteamName2> <INPUT =
onclick=3D"searchResults(trim(firstName2.value), trim(lastName2.value), =
trim(teamName2.value), 1, 20);" value=3DSearch type=3Dbutton>=20
                </TD></TR>
              <TR>
                <TD>or simply click 'Search' to view a list of all =
fundraisers=20
                </TD></TR></TBODY></TABLE></DIV>
            <DIV id=3DsearchData></DIV></DIV></TD></TR>
        <TR>
          <TD width=3D"100%" align=3Dmiddle>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D1>
              <TBODY>
              <TR>
                <TD class=3Ddon_title align=3Dmiddle>Trot for Special =
Tots</TD></TR>
              <TR>
                <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
              <TR>
                <TD>
                  <CENTER><B>Help support the cause and <A=20
                  =
href=3D"http://www.active.com/register/index.cfm?event_id=3D1873671"=20
                  target=3D_newwindow>register</A> for Trot for Special =
Tots 5K=20
                  Road Race &amp; Walk.</B></CENTER></TD></TR>
              <TR>
                <TD class=3Ddon_header align=3Dmiddle>helping children =
of all=20
                  abilities reach their full potential</TD></TR>
              <TR>
                <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
              <TR>
                <TD class=3Ddon_welcome>Your contribution supports the =
programs=20
                  at The Professional Center for Child Development and =
th 1,400=20
                  children we help every year. We provide therapeutic =
services=20
                  and educational opportunities for children ages birth =
to 7=20
                  years, and specialize in helping children with complex =

                  developmental and medical needs.</TD></TR>
              <TR>
                <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
              <TR>
                <TD align=3Dmiddle>
                  <DIV id=3DdonationBox class=3DdonTbl>
                  <H3 class=3DdonHeader>. : : Make a Contribution : : =
.</H3>
                  <FORM id=3DdonForm onsubmit=3D"return =
doContinue('donForm');"=20
                  method=3Dpost name=3DdonForm=20
                  =
action=3Dhttps://www.active.com/donations/don_payment.cfm>
                  <DIV style=3D"DISPLAY: none"><INPUT value=3D156272 =
type=3Dhidden=20
                  name=3Ddfid> <INPUT value=3D0 type=3Dhidden =
name=3Dfrid> <INPUT=20
                  type=3Dhidden name=3Daction> </DIV>
                  <UL>
                    <LI class=3DdonMenuText><INPUT =
id=3DsuggetedAmount_975979=20
                    value=3D1 type=3Dradio name=3Dsug> <LABEL=20
                    for=3DsuggetedAmount_975979>Speedster <SPAN=20
                    =
class=3DsuggestedAmountCurrency>$100.00</SPAN></LABEL>=20
                    <LI class=3DdonMenuText><INPUT =
id=3DsuggetedAmount_975980=20
                    value=3D2 type=3Dradio name=3Dsug> <LABEL=20
                    for=3DsuggetedAmount_975980>Runner <SPAN=20
                    =
class=3DsuggestedAmountCurrency>$50.00</SPAN></LABEL>=20
                    <LI class=3DdonMenuText><INPUT =
id=3DsuggetedAmount_975981=20
                    value=3D3 type=3Dradio name=3Dsug> <LABEL=20
                    for=3DsuggetedAmount_975981>Jogger <SPAN=20
                    =
class=3DsuggestedAmountCurrency>$25.00</SPAN></LABEL>=20
                    <LI class=3DdonMenuText><INPUT =
id=3DcustomSuggestedAmount=20
                    value=3Dother type=3Dradio name=3Dsug> <LABEL=20
                    for=3DdonationAmount>Other: <SPAN=20
                    class=3DsuggestedAmountCurrency>$</SPAN></LABEL> =
<INPUT=20
                    id=3DdonationAmount=20
                    =
onfocus=3D"document.getElementById('customSuggestedAmount').checked=3Dtru=
e"=20
                    name=3Damt> </LI></UL>
                  <DIV id=3DdonationBoxFooter><INPUT value=3DContinue =
type=3Dsubmit>=20
                  </DIV></FORM>
                  <DIV>
                  <SCRIPT type=3Dtext/javascript=20
                  =
src=3D"https://seal.verisign.com/getseal?host_name=3Dwww.active.com&amp;s=
ize=3DM&amp;use_flash=3DYES&amp;use_transparent=3DYES&amp;lang=3Den"></SC=
RIPT>
                  </DIV></DIV></TD></TR>
              <TR>
                <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
              <TR>
                <TD class=3Ddon_team align=3Dmiddle><B>Total Donations: =
<FONT=20
                  color=3D#009900>$0</FONT></B> <BR><BR></TD></TR>
              <TR>
                <TD height=3D15><SPACER size=3D"15"=20
              =
type=3D"horizontal"></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><=
/TD>
    <TD bgColor=3D#ffffff vAlign=3Dtop=20
    background=3Dhttp://www.active.com/images/global/shim_000066.gif =
width=3D1></TD>
    <TD bgColor=3D#ffffff vAlign=3Dtop width=3D240>
      <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 align=3Dcenter>
        <TBODY>
        <TR>
          <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
        <TR>
          <TD>
            <DIV style=3D"WIDTH: 200px">
            <SCRIPT type=3Dtext/javascript=20
            =
src=3D"http://activegiving.vinasource.com/Widget/fbShareWidget.js"></SCRI=
PT>
            </DIV></TD></TR></TBODY></TABLE>
      <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0>
        <TBODY>
        <TR>
          <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
        <TR>
          <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
        <TR>
          <TD class=3Ddon_welcome align=3Dmiddle><FONT size=3D2><A=20
            =
href=3D"http://www.active.com/donations/invite_friends.cfm?key=3Dtrotfors=
pecialtots"><B>Invite=20
            your Friends to Donate!</B></A></FONT></TD></TR>
        <TR>
          <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
        <TR>
          <TD align=3Dmiddle><IMG=20
            src=3D"http://www.active.com/images/global/shim_000066.gif" =
width=3D215=20
            height=3D1></TD></TR>
        <TR>
          <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
        <TR>
          <TD class=3Ddon_welcome align=3Dmiddle><FONT size=3D2=20
            face=3Darial><STRONG>Individuals:</STRONG> <A=20
            =
href=3D"http://www.active.com/donations/new_form.cfm?key=3Dtrotforspecial=
tots&amp;form_type=3D2"><B>Click=20
            Here</B></A> to build your personal fundraising =
page.</FONT></TD></TR>
        <TR>
          <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
        <TR>
          <TD align=3Dmiddle><IMG=20
            src=3D"http://www.active.com/images/global/shim_000066.gif" =
width=3D215=20
            height=3D1></TD></TR>
        <TR>
          <TD height=3D15><SPACER size=3D"15" =
type=3D"horizontal"></TD></TR>
        <TR>
          <TD height=3D25><SPACER size=3D"25"=20
      type=3D"horizontal"></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TD height=3D15 colSpan=3D3><SPACER size=3D"15" =
TYPE=3D"horizontal"></TD></TR>
  <TR>
    <TD colSpan=3D3>
      <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D10 width=3D"100%">
        <TBODY>
        <TR>
          <TD height=3D15 align=3Dright><SPACER size=3D"15" =
TYPE=3D"horizontal"></TD></TR>
        <TR>
          <TD class=3Dfootertext height=3D1 align=3Dright><SPACER =
size=3D"1"=20
            TYPE=3D"horizontal"></TD></TR>
        <TR>
          <TD align=3Dmiddle><A =
href=3D"http://www.active.com/activegiving"><IMG=20
            border=3D0=20
            alt=3D"Inspired?!?! Click here for information on starting =
your own ACTIVE fundraising campaign!"=20
            =
src=3D"http://www.active.com/donations/images/logo_activegiving_clr.gif">=
</A>=20
          </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<P></CENTER></P></BODY></HTML>

------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.active.com/images/upimages/trot%20logo%20for%20web%20compressed.jpg

/9j/4AAQSkZJRgABAQEAyADIAAD/4QB2RXhpZgAASUkqAAgAAAABAGmHBAABAAAAGgAAAAAAAAAB
AIaSAgBCAAAALAAAAAAAAAADAAAAAgAAAAQAAABaAAAAAwAAAAQAAAAAAAAAAAAAAB0AAABMRUFE
IFRlY2hub2xvZ2llcyBJbmMuIFYxLjAxAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8U
HRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwh
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAFO
AcADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIE
AwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJico
KSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZ
mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6
/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC
AxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNE
RUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmq
srO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEA
PwD34kAEngV8dfFbw3P4c8e6iGQ/Zb2Vrq3k/hZXOSB9CSK+vr7/AI8Ln/rk38jXzZ4cuIfin4EP
hO9kUeItKQyaXPIeZUHVCfpgfgD2NAHl2g6PdeINcs9Js03z3UgjUenqT7AZP4V9YeOtIg8QeAtX
8LafcRyX9raRuIA2XG3DICO27ZgV5z4N0WL4TeCrzxj4gtwutXAMNlaSDDpnoPYnGT6KK808OfEH
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

------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.active.com/images/global/shim_000066.gif

R0lGODlhAgACAIAAAAAAZgAAACH5BAAAAAAALAAAAAACAAIAAAIChFEAOw==

------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.active.com/donations/images/logo_activegiving_clr.gif

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

------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.active.com/donations/styles/fundraiser_search_style.css


@media Screen   =20
{
DIV#searchControl {
	WIDTH: 600px; HEIGHT: 60px; PADDING-TOP: 6px
}
DIV#searchControl P.searchControlLabel {
	DISPLAY: inline; FONT-WEIGHT: bold
}
DIV#searchControl P.searchControlNotes {
	MARGIN-TOP: 6px
}
INPUT#firstName {
	WIDTH: 80px; HEIGHT: 22px; MARGIN-LEFT: 10px
}
INPUT#lastName {
	WIDTH: 80px; HEIGHT: 22px; MARGIN-LEFT: 10px
}
INPUT#teamName {
	WIDTH: 80px; HEIGHT: 22px; MARGIN-LEFT: 6px
}
INPUT#searchButton {
	HEIGHT: 24px
}
DIV#searchResults {
	Z-INDEX: 300; BORDER-BOTTOM: #777 2px solid; POSITION: absolute; =
TEXT-ALIGN: left; BORDER-LEFT: #777 2px solid; PADDING-BOTTOM: 10px; =
PADDING-LEFT: 20px; WIDTH: 700px; PADDING-RIGHT: 20px; DISPLAY: none; =
BACKGROUND: #ffffff; HEIGHT: 100px; BORDER-TOP: #777 2px solid; TOP: =
870px; BORDER-RIGHT: #777 2px solid; PADDING-TOP: 10px; LEFT: 140px
}
DIV#returnValue {
	PADDING-RIGHT: 10px; DISPLAY: inline
}
DIV#searchResultsTable {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
TD.row1 {
	FONT-SIZE: 8px; align: left
}
TD.row2 {
	FONT-SIZE: 8px; align: left
}
TH.headerClass {
	BORDER-BOTTOM: #000 1px solid; TEXT-ALIGN: left; BORDER-LEFT: medium =
none; FONT-SIZE: 10px; BORDER-TOP: medium none; FONT-WEIGHT: bold; =
BORDER-RIGHT: medium none
}
TD.nameColumn {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 180px; =
FONT-SIZE: 11px; BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
TD.nameColumn A {
	COLOR: blue; FONT-SIZE: 11px
}
TD.teamColumn {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 280px; =
FONT-SIZE: 11px; BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
TD.teamColumn A {
	COLOR: blue; FONT-SIZE: 11px
}
TD.emailColumn {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 160px; =
FONT-SIZE: 11px; BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
TD.addressColumn {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 180px; =
FONT-SIZE: 11px; BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
TD.phoneColumn {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 120px; =
FONT-SIZE: 11px; BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
TD.cityColumn {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 180px; =
FONT-SIZE: 11px; BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
TD.stateColumn {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 60px; =
FONT-SIZE: 11px; BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
TD.noResults {
	WIDTH: 700px
}
DIV#searchResultsHeader {
	MARGIN: 0px 0px 16px
}
DIV#searchResultsHeader H3 {
	TEXT-ALIGN: left; DISPLAY: inline; COLOR: #000
}
DIV#searchResultsHeader SPAN A {
	COLOR: blue
}
DIV#searchResultsNavContainer {
	PADDING-BOTTOM: 24px; PADDING-TOP: 10px
}
DIV#searchResultsPage {
	FLOAT: left; COLOR: #000
}
DIV#searchResultsNavBar {
	FLOAT: right; COLOR: #000
}
DIV#searchResultsNavBar UL {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
DIV#searchResultsNavBar UL LI {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; DISPLAY: =
inline; COLOR: #000; PADDING-TOP: 0px
}
DIV#searchResultsNavBar UL LI A.pagetableNavLink {
	COLOR: #000; CURSOR: hand
}
DIV#searchResultsHead {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
TABLE#searchResultsTable THEAD#searchResultsHead TR TH.headerClass {
	FONT-WEIGHT: bold
}
DIV#searchResultsBody TR TD.nameColumn {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
#clearResultsButton {
	DISPLAY: none
}
DIV#graydiv {
	BACKGROUND-IMAGE: url(/images/donations/gray.jpg); Z-INDEX: 200; =
POSITION: absolute; FILTER: alpha(opacity=3D50); PADDING-BOTTOM: 40px; =
PADDING-LEFT: 40px; PADDING-RIGHT: 40px; DISPLAY: none; FONT-FAMILY: =
verdana; TOP: 0px; FONT-WEIGHT: bold; PADDING-TOP: 40px; LEFT: 0px; =
opacity: .50; -moz-opacity: 0.5
}
.note {
	FONT-STYLE: italic; COLOR: black; CLEAR: both; PADDING-TOP: 2px
}
.orSpacing {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; =
FONT-WEIGHT: bold; PADDING-TOP: 0px
}
TR.rowColorOdd TD P {
	HEIGHT: 14px; OVERFLOW: hidden
}
TR.rowColorEven TD P {
	HEIGHT: 14px; OVERFLOW: hidden
}
TR.rowColorOdd TD {
	BACKGROUND-COLOR: #fff
}
TR.rowColorEven TD {
	BACKGROUND-COLOR: #eee
}

}

------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.active.com/donations/scripts/global.js

function disable(id) {=0A=
	var control =3D window.document.getElementById(id);=0A=
	if(control)=0A=
		control.disabled =3D true;=0A=
}=0A=
=0A=
function popWin(url, name, features) {=0A=
	var win =3D window.open(url, name, features);=0A=
	win.focus();=0A=
}=0A=
=0A=
function popGeneric(url) {=0A=
	popWin(url, "generic", =
"height=3D420,width=3D500,resizable=3D1,scrollbars=3D1,menubar=3D1,toolba=
r=3D1,location=3D1,status=3D1");=0A=
}=0A=
=0A=
function popForgot(url) {=0A=
	popWin(url, "forgot", "resizable,height=3D160,width=3D310");=0A=
}=0A=
=0A=
function say(s) {=0A=
	alert(s);=0A=
	return false;=0A=
}=0A=
=0A=
function swapOrgImg(src) {=0A=
	document.orgImg.src =3D src;=0A=
}=0A=
=0A=
function swapFrImg(src) {=0A=
	document.frImg.src =3D src;=0A=
}=0A=
=0A=
function checkOtherRadio() {=0A=
	var el =3D document.getElementById("otherRadio");=0A=
	el.checked =3D true;=0A=
}=0A=
=0A=
function otherRadioIsChecked() {=0A=
	return document.getElementById("otherRadio").checked;=0A=
}=0A=
=0A=
function toggleChecks() {=0A=
	var el =3D document.donForm.checks;=0A=
	if (el) {=0A=
		var toggles =3D document.donForm.toggles;=0A=
		var status =3D (toggles.value % 2 =3D=3D 0) ? true : false;=0A=
		if (el.length)=0A=
			for (var i =3D 0; i < el.length; i++) el[i].checked =3D status;=0A=
		else=0A=
			el.checked =3D status;=0A=
		toggles.value++;=0A=
	}=0A=
}=0A=
=0A=
function getAnswerEl(x) {=0A=
	var el =3D document.getElementById("answer" + x);=0A=
	return el;=0A=
}=0A=
=0A=
function getFocus(el) {=0A=
	if (el.type =3D=3D "text" || el.type =3D=3D "textarea" || el.type =
=3D=3D "password" || el.type =3D=3D "file") el.select(); =0A=
	if (el.type !=3D "hidden") el.focus();=0A=
}=0A=
=0A=
function toggleFAQ(el) {=0A=
	var x =3D 1;=0A=
	var ans =3D getAnswerEl(x);=0A=
	if (el.checked) {=0A=
		while(ans) {=0A=
			ans.style.display =3D "inline";=0A=
			ans =3D getAnswerEl(++x);=0A=
		}=0A=
	}=0A=
	else {=0A=
		while(ans) {=0A=
			ans.style.display =3D "none";=0A=
			ans =3D getAnswerEl(++x);=0A=
		}	=0A=
	}=0A=
}=0A=
=0A=
function toggleAnswer(x) {=0A=
	var el =3D getAnswerEl(x);=0A=
	if (el.style.display =3D=3D "inline") el.style.display =3D "none";=0A=
	else el.style.display =3D "inline";=0A=
}=0A=
=0A=
function submitForm(action) {=0A=
	document.donForm.action.value =3D action;=0A=
	document.donForm.submit();=0A=
}=0A=
=0A=
function getCheckedValues() {=0A=
	var el =3D document.donForm.checks;=0A=
	var s =3D "";=0A=
	if(el.length) {=0A=
		for (var i =3D 0; i < el.length; i++) {=0A=
			if (el[i].checked) s +=3D "," + el[i].value;=0A=
		}=0A=
	} else {=0A=
		if (el.checked) s +=3D "," + el.value;=0A=
	}=0A=
	return s.substring(1);=0A=
}=0A=

------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.active.com/donations/scripts/validation.js

var whitespace =3D " \t\n\r";=0A=
var keyExp =3D /^[a-zA-Z0-9_\-]*$/;=0A=
var daysInMonth =3D new Array();=0A=
=0A=
daysInMonth[1] =3D 31;=0A=
daysInMonth[2] =3D 29;=0A=
daysInMonth[3] =3D 31;=0A=
daysInMonth[4] =3D 30;=0A=
daysInMonth[5] =3D 31;=0A=
daysInMonth[6] =3D 30;=0A=
daysInMonth[7] =3D 31;=0A=
daysInMonth[8] =3D 31;=0A=
daysInMonth[9] =3D 30;=0A=
daysInMonth[10] =3D 31;=0A=
daysInMonth[11] =3D 30;=0A=
daysInMonth[12] =3D 31;=0A=
=0A=
function leftTrim(s) {=0A=
	var i =3D 0;=0A=
	while (i < s.length && whitespace.indexOf(s.charAt(i)) !=3D -1) i++;=0A=
	return s.substring(i, s.length);=0A=
}=0A=
=0A=
function rightTrim(s) {=0A=
	var i =3D s.length;=0A=
	while (i > 0 && whitespace.indexOf(s.charAt(i - 1)) !=3D -1) i--;=0A=
	return s.substring(0, i);=0A=
}=0A=
=0A=
function trim(s) {=0A=
	return rightTrim(leftTrim(s));=0A=
}=0A=
=0A=
function isEmpty(s) {=0A=
	return trim(s).length =3D=3D 0;=0A=
}=0A=
=0A=
function isNumeric(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK; =0A=
	return !isNaN(s);=0A=
}=0A=
=0A=
function isInteger(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
    return !isNaN(s) && s.indexOf(".") =3D=3D -1;=0A=
}=0A=
=0A=
function isPositive(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return !isNaN(s) && s > 0;=0A=
}=0A=
=0A=
function isNegative(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return !isNaN(s) && s < 0;=0A=
}=0A=
=0A=
function isNonNegative(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return !isNaN(s) && s >=3D 0;=0A=
}=0A=
=0A=
function isNonPositive(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return !isNaN(s) && s <=3D 0;=0A=
}=0A=
=0A=
function isInRange(s, min, max, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return !isNaN(s) && s >=3D min && s <=3D max;=0A=
}=0A=
=0A=
function isYear(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return isInteger(s) && isInRange(s, 1753, 9999);=0A=
}=0A=
=0A=
function isMonth(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return isInteger(s) && isInRange(s, 1, 12);=0A=
}=0A=
=0A=
function isDay(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return isInteger(s) && isInRange(s, 1, 31);=0A=
}=0A=
=0A=
function isDate(year, month, day) {=0A=
	if (!isYear(year) || !isMonth(month) || !isDay(day)) return false;  =0A=
    if (day > daysInMonth[month]) return false;=0A=
    if (month =3D=3D 2 && day > daysInFebruary(year)) return false;=0A=
    return true;=0A=
}=0A=
=0A=
function isFutureDate(year, month, day) {=0A=
	if (!isDate(year, month, day)) return false;  =0A=
	var now =3D new Date();=0A=
	var then =3D new Date(year, month - 1, day);=0A=
	if (then.getTime() < now.getTime()) return false;=0A=
	return true;=0A=
}=0A=
=0A=
function isStringDate(s) {=0A=
	var datetime =3D s.split(" ");=0A=
	var date =3D datetime[0].split("/");=0A=
	return isDate(date[2], date[0], date[1]);=0A=
}=0A=
=0A=
function daysInFebruary(year) {=0A=
    return (year % 4 =3D=3D 0 && (year % 100 !=3D 0 || year % 400 =3D=3D =
0)) ? 29 : 28;=0A=
}=0A=
=0A=
function isChecked(el) {=0A=
	if(el.length) {=0A=
		for (var i =3D 0; i < el.length; i++) {=0A=
			if (el[i].checked) return true;=0A=
		}=0A=
	} else {=0A=
		if (el.checked) return true;=0A=
	}=0A=
	return false;=0A=
}=0A=
=0A=
function isURL(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	s =3D trim(s);=0A=
	if (s.length < 8 || s.substring(0, 7) !=3D "http://") return false;=0A=
	return true;=0A=
}=0A=
=0A=
function isEmail(s, emptyOK) {=0A=
	var REG =3D =
/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([a=
-zA-Z]{2,3})|(aero|coop|info|museum|name))$/;=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
		s =3D trim(s);=0A=
	if (s.indexOf(" ") !=3D -1) return false;=0A=
		var i =3D 1;=0A=
		while (i < s.length && s.charAt(i) !=3D "@") i++;=0A=
		if (i >=3D s.length || s.charAt(i) !=3D "@") return false;=0A=
			i +=3D 2;=0A=
		while (i < s.length && s.charAt(i) !=3D ".") i++;=0A=
			if (i >=3D s.length - 1 || s.charAt(i) !=3D ".") return false;=0A=
			if (s.match(REG))  {=0A=
			    return true;=0A=
			} //end if=0A=
			else { =0A=
				return false;=0A=
		    } //end if	=0A=
	=0A=
	return true;=0A=
}=0A=
=0A=
function isEmailList(s, field) {=0A=
	s =3D trim(s);=0A=
	var a =3D new Array();=0A=
	var cList =3D s.split(",");=0A=
	var sList =3D s.split(";");=0A=
	var rList =3D s.split("\r\n");=0A=
	if (cList.length > sList.length && cList.length > rList.length) a =3D =
cList;=0A=
	else if (rList.length > cList.length && rList.length > sList.length) a =
=3D rList;=0A=
	else a =3D sList;=0A=
	var b =3D removeEmptyElements(a);=0A=
	for (var i in b) {=0A=
		if (!isEmail(b[i])) return false;=0A=
	}=0A=
	if (field) field.value =3D b.join(";");=0A=
	return true;=0A=
}=0A=
=0A=
function isZip(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	if (s.length !=3D 5 || !isInteger(s)) return false;=0A=
	return true;=0A=
}=0A=
=0A=
function isKey(s, emptyOK) {=0A=
	if (isEmpty(s)) return (emptyOK =3D=3D null) ? false : emptyOK;=0A=
	return keyExp.test(s);=0A=
}=0A=
=0A=
function isLongerThan(s, c) {=0A=
	if (s.length > c) return true;=0A=
	return false;=0A=
}=0A=
=0A=
function isLength(s, c) {=0A=
	if (s.length =3D=3D c) return true;=0A=
	return false;=0A=
}=0A=
=0A=
function removeEmptyElements(a) {=0A=
	var b =3D new Array();=0A=
	for (var i in a) {=0A=
		if (!isEmpty(a[i]))=0A=
			b[b.length] =3D trim(a[i]);=0A=
	}=0A=
	return b;=0A=
}
------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.active.com/donations/scripts/java.js

var activeSub=3D0;=0A=
var SubNum=3D0;=0A=
var browser=3Dnavigator.appName;=0A=
var version=3DparseInt(navigator.appVersion);=0A=
var speed=3D1;=0A=
var iens6=3Ddocument.all||document.getElementById;=0A=
var ns4=3Ddocument.layers;=0A=
=0A=
function reDo(){=0A=
    window.location.reload();=0A=
    winResize();=0A=
}=0A=
=0A=
=0A=
//Define global variables=0A=
var timerID =3D null;=0A=
var timerOn =3D false;=0A=
var timecount =3D 500;=0A=
var what =3D null;=0A=
var newbrowser =3D true;=0A=
var check =3D false;=0A=
var preloadFlag =3D false;=0A=
=0A=
function init(){    =0A=
    //  alert ("Running Init");=0A=
    if (document.layers) {=0A=
        //  alert ("Running Netscape 4");=0A=
        layerRef=3D"document.layers";=0A=
        styleSwitch=3D"";=0A=
        visibleVar=3D"show";=0A=
        screenSize =3D window.innerWidth;=0A=
        what =3D"ns4";=0A=
    }else if(document.all){=0A=
        //  alert ("Running IE");=0A=
        layerRef=3D"document.all";=0A=
        styleSwitch=3D".style";=0A=
        visibleVar=3D"visible";=0A=
        screenSize =3D document.body.clientWidth + 18;=0A=
        what =3D"ie";=0A=
    }else if(document.getElementById){=0A=
        //  alert ("Running Netscape 6");=0A=
        layerRef=3D"document.getElementByID";=0A=
        styleSwitch=3D".style";=0A=
        visibleVar=3D"visible";=0A=
        what=3D"moz";=0A=
    }else{=0A=
        //alert("Older than 4.0 browser.");=0A=
        what=3D"none";=0A=
        newbrowser =3D false;=0A=
    }=0A=
    window.status=3D'Active Giving';=0A=
    check =3D true;=0A=
}=0A=
=0A=
function Is() {=0A=
  agent =3D navigator.userAgent.toLowerCase();=0A=
  this.major =3D parseInt(navigator.appVersion);=0A=
  this.minor =3D parseFloat(navigator.appVersion);=0A=
  this.ns =3D ((agent.indexOf('mozilla') !=3D -1) && =
((agent.indexOf('spoofer')=0A=
  =3D=3D -1)=0A=
     && (agent.indexOf('compatible') =3D=3D  -1)));=0A=
  this.ns2 =3D (this.ns && (this.major =3D=3D 3));=0A=
  this.ns3 =3D (this.ns && (this.major =3D=3D 3));=0A=
  this.ns4b =3D (this.ns && (this.major =3D=3D 4) && (this.minor <=3D =
4.03));=0A=
  this.ns4 =3D (this.ns && (this.major =3D=3D 4));=0A=
  this.ns6 =3D (this.ns && (this.major >=3D 5));=0A=
  this.ie =3D (agent.indexOf("msie") !=3D -1);=0A=
  this.ie3 =3D (this.ie && (this.major < 4));=0A=
  this.ie4 =3D (this.ie && (this.major =3D=3D 4) && (agent.indexOf("msie =
5.0")=0A=
   =3D=3D -1));=0A=
  this.ie5 =3D (this.ie && (this.major =3D=3D 4) && (agent.indexOf("msie =
5.0")=0A=
   !=3D -1));=0A=
  this.ie55 =3D (this.ie && (this.major =3D=3D 4) && =
(agent.indexOf("msie 5.5")=0A=
   !=3D -1));=0A=
  this.ie6 =3D (this.ie && (agent.indexOf("msie 6.0")!=3D-1) );=0A=
  this.aol =3D (agent.indexOf("aol") !=3D -1);=0A=
  this.aol3 =3D (this.aol && this.ie3);=0A=
  this.aol4 =3D (this.aol && this.ie4);=0A=
  this.aol5 =3D (this.aol && this.ie5);=0A=
}=0A=
=0A=
var is =3D new Is();=0A=
=0A=
function winResize() {=0A=
  if(is.ns4 ||is.ns6||is.ie4||is.ie5||is.ie55||is.ie6) {=0A=
    history.go(0);=0A=
  }=0A=
}=0A=
=0A=
=0A=
=0A=
function newImage(arg) {=0A=
  if (document.images) {=0A=
    rslt =3D new Image();=0A=
    rslt.src =3D arg;=0A=
    return rslt;=0A=
  }=0A=
}=0A=
=0A=
function changeImages() {=0A=
  if (document.images && (preloadFlag =3D=3D true)) {=0A=
    for (var i=3D0; i<changeImages.arguments.length; i+=3D2) {=0A=
        document[changeImages.arguments[i]].src =3D =
changeImages.arguments[i+1];=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
=0A=
function preloadImages() {=0A=
  if (document.images) {=0A=
    menu_over =3D newImage("/images/menu-over.gif");=0A=
    preloadFlag =3D true;=0A=
  }=0A=
}=0A=
=0A=
=0A=
// Turns the layers on and off=0A=
function showLayer(layerName){=0A=
    =0A=
    //alert (layerName)=0A=
    =0A=
    if(check){=0A=
        if (what =3D=3D"none"){=0A=
            return;=0A=
        }=0A=
        else if (what =3D=3D "moz"){=0A=
            =
document.getElementById(layerName).style.visibility=3D"visible";=0A=
        }=0A=
        else{=0A=
            =
eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility=3D"visible"');=0A=
        }=0A=
    }else {=0A=
        // alert ("Please wait for the page to finish loading.");=0A=
        return;=0A=
    }=0A=
}=0A=
=0A=
function hideLayer(layerName){=0A=
    if(check){=0A=
        if (what =3D=3D"none"){=0A=
            return;=0A=
        }else if (what =3D=3D "moz"){=0A=
            =
document.getElementById(layerName).style.visibility=3D"hidden";=0A=
        }else{=0A=
            =
eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility=3D"hidden"');=0A=
        }=0A=
    }else {=0A=
        // alert ("Please wait for the page to finish loading.");=0A=
        return;=0A=
    }=0A=
}=0A=
=0A=
=0A=
function hideAll(){=0A=
    hideLayer('event-menu');=0A=
    hideLayer('travel-menu');=0A=
    hideLayer('course-menu');=0A=
    hideLayer('story-menu');=0A=
    hideLayer('train-menu');=0A=
    hideLayer('merchandise-menu');=0A=
}=0A=
=0A=
=0A=
function startTime() {=0A=
    if (timerOn =3D=3D false) {=0A=
        timerID=3DsetTimeout( "hideAll()" , timecount);=0A=
        timerOn =3D true;=0A=
    }=0A=
}=0A=
=0A=
=0A=
function stopTime() {=0A=
    if (timerOn) {=0A=
        clearTimeout(timerID);=0A=
        timerID =3D null;=0A=
        timerOn =3D false;=0A=
    }=0A=
}=0A=
=0A=
//specify speed of scroll (greater=3Dfaster)=0A=
   							=0A=
							function movedown()=0A=
							{=0A=
							//if (iens6)=0A=
								//{=0A=
									//if (parseInt(crossobj.style.top)>=3D(contentheight*(-1)+100))=0A=
									//{=0A=
                    					=
//crossobj.style.top=3DparseInt(crossobj.style.top)-speed+"px";=0A=
									//}=0A=
									//else=0A=
									//{=0A=
										//crossobj.style.top=3D'0px';=0A=
									//}=0A=
				     			//}=0A=
								=0A=
                  				//else if =
(ns4&&crossobj.top>=3D(contentheight*(-1)+100))=0A=
								//{=0A=
                    				//crossobj.top-=3Dspeed;=0A=
								//}=0A=
	                   			//movedownvar=3DsetTimeout("movedown()",50);=0A=
								=0A=
              				}=0A=
							=0A=
							function getcontent_height()=0A=
			  				{=0A=
              					//if(iens6)=0A=
								//{=0A=
                 					//contentheight=3Dcrossobj.offsetHeight;=0A=
								//}=0A=
                				//else if(ns4)=0A=
								//{=0A=
                 					=
//document.nscontainer.document.nscontent.visibility=3D"show";=0A=
								//}=0A=
								=0A=
								//if(iens6)=0A=
								//{=0A=
                 				//	contentheight5=3Dcrossobj5.offsetHeight;=0A=
								//}=0A=
                				//else if(ns4)=0A=
								//{=0A=
                 					=
//document.nscontainer5.document.nscontent5.visibility=3D"show";=0A=
								//}=0A=
             				} =0A=
							=0A=
		
------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.active.com/donations/scripts/prototype.js

/*  Prototype JavaScript framework, version 1.5.0=0A=
 *  (c) 2005-2007 Sam Stephenson=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://prototype.conio.net/=0A=
 *=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Prototype =3D {=0A=
  Version: '1.5.0',=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, length =3D arguments.length; i < length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) {}=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=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=
String.interpret =3D function(value){=0A=
  return value =3D=3D null ? '' : String(value);=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 String.interpret(replacement(match));=0A=
        source  =3D source.slice(match.index + match[0].length);=0A=
      } else {=0A=
        result +=3D source, source =3D '';=0A=
      }=0A=
    }=0A=
    return result;=0A=
  },=0A=
=0A=
  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.length > 1 ?=0A=
      $A(div.childNodes).inject('',function(memo,node){ return =
memo+node.nodeValue }) :=0A=
      div.childNodes[0].nodeValue) : '';=0A=
  },=0A=
=0A=
  toQueryParams: function(separator) {=0A=
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A=
    if (!match) return {};=0A=
=0A=
    return match[1].split(separator || '&').inject({}, function(hash, =
pair) {=0A=
      if ((pair =3D pair.split('=3D'))[0]) {=0A=
        var name =3D decodeURIComponent(pair[0]);=0A=
        var value =3D pair[1] ? decodeURIComponent(pair[1]) : undefined;=0A=
=0A=
        if (hash[name] !=3D=3D undefined) {=0A=
          if (hash[name].constructor !=3D Array)=0A=
            hash[name] =3D [hash[name]];=0A=
          if (value) hash[name].push(value);=0A=
        }=0A=
        else hash[name] =3D value;=0A=
      }=0A=
      return hash;=0A=
    });=0A=
  },=0A=
=0A=
  toArray: function() {=0A=
    return this.split('');=0A=
  },=0A=
=0A=
  succ: function() {=0A=
    return this.slice(0, this.length - 1) +=0A=
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A=
  },=0A=
=0A=
  camelize: function() {=0A=
    var parts =3D this.split('-'), len =3D parts.length;=0A=
    if (len =3D=3D 1) return parts[0];=0A=
=0A=
    var camelized =3D this.charAt(0) =3D=3D '-'=0A=
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A=
      : parts[0];=0A=
=0A=
    for (var i =3D 1; i < len; i++)=0A=
      camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);=0A=
=0A=
    return camelized;=0A=
  },=0A=
=0A=
  capitalize: function(){=0A=
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();=0A=
  },=0A=
=0A=
  underscore: function() {=0A=
    return this.gsub(/::/, =
'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{=
1}_#{2}').gsub(/-/,'_').toLowerCase();=0A=
  },=0A=
=0A=
  dasherize: function() {=0A=
    return this.gsub(/_/,'-');=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 + String.interpret(object[match[3]]);=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.map(iterator);=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 || Prototype.K)(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 =3D=3D=3D undefined ? null : fillWith;=0A=
    return this.eachSlice(number, function(slice) {=0A=
      while(slice.length < number) slice.push(fillWith);=0A=
      return slice;=0A=
    });=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.map(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.map(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.map();=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=
  size: function() {=0A=
    return this.toArray().length;=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 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=
  size: function() {=0A=
    return this.length;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
  }=0A=
});=0A=
=0A=
Array.prototype.toArray =3D Array.prototype.clone;=0A=
=0A=
function $w(string){=0A=
  string =3D string.strip();=0A=
  return string ? string.split(/\s+/) : [];=0A=
}=0A=
=0A=
if(window.opera){=0A=
  Array.prototype.concat =3D function(){=0A=
    var array =3D [];=0A=
    for(var i =3D 0, length =3D this.length; i < length; i++) =
array.push(this[i]);=0A=
    for(var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      if(arguments[i].constructor =3D=3D Array) {=0A=
        for(var j =3D 0, arrayLength =3D arguments[i].length; j < =
arrayLength; j++)=0A=
          array.push(arguments[i][j]);=0A=
      } else {=0A=
        array.push(arguments[i]);=0A=
      }=0A=
    }=0A=
    return array;=0A=
  }=0A=
}=0A=
var Hash =3D function(obj) {=0A=
  Object.extend(this, obj || {});=0A=
};=0A=
=0A=
Object.extend(Hash, {=0A=
  toQueryString: function(obj) {=0A=
    var parts =3D [];=0A=
=0A=
	  this.prototype._each.call(obj, function(pair) {=0A=
      if (!pair.key) return;=0A=
=0A=
      if (pair.value && pair.value.constructor =3D=3D Array) {=0A=
        var values =3D pair.value.compact();=0A=
        if (values.length < 2) pair.value =3D values.reduce();=0A=
        else {=0A=
        	key =3D encodeURIComponent(pair.key);=0A=
          values.each(function(value) {=0A=
            value =3D value !=3D undefined ? encodeURIComponent(value) : =
'';=0A=
            parts.push(key + '=3D' + encodeURIComponent(value));=0A=
          });=0A=
          return;=0A=
        }=0A=
      }=0A=
      if (pair.value =3D=3D undefined) pair[1] =3D '';=0A=
      parts.push(pair.map(encodeURIComponent).join('=3D'));=0A=
	  });=0A=
=0A=
    return parts.join('&');=0A=
  }=0A=
});=0A=
=0A=
Object.extend(Hash.prototype, Enumerable);=0A=
Object.extend(Hash.prototype, {=0A=
  _each: function(iterator) {=0A=
    for (var key in this) {=0A=
      var value =3D this[key];=0A=
      if (value && value =3D=3D Hash.prototype[key]) 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=
  remove: function() {=0A=
    var result;=0A=
    for(var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var value =3D this[arguments[i]];=0A=
      if (value !=3D=3D undefined){=0A=
        if (result =3D=3D=3D undefined) result =3D value;=0A=
        else {=0A=
          if (result.constructor !=3D Array) result =3D [result];=0A=
          result.push(value)=0A=
        }=0A=
      }=0A=
      delete this[arguments[i]];=0A=
    }=0A=
    return result;=0A=
  },=0A=
=0A=
  toQueryString: function() {=0A=
    return Hash.toQueryString(this);=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=
  if (object && object.constructor =3D=3D Hash) return object;=0A=
  return new Hash(object);=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=
    if (typeof this.options.parameters =3D=3D 'string')=0A=
      this.options.parameters =3D =
this.options.parameters.toQueryParams();=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=
  _complete: false,=0A=
=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=
    this.url =3D url;=0A=
    this.method =3D this.options.method;=0A=
    var params =3D this.options.parameters;=0A=
=0A=
    if (!['get', 'post'].include(this.method)) {=0A=
      // simulate other verbs over post=0A=
      params['_method'] =3D this.method;=0A=
      this.method =3D 'post';=0A=
    }=0A=
=0A=
    params =3D Hash.toQueryString(params);=0A=
    if (params && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) =
params +=3D '&_=3D'=0A=
=0A=
    // when GET, append parameters to URL=0A=
    if (this.method =3D=3D 'get' && params)=0A=
      this.url +=3D (this.url.indexOf('?') > -1 ? '&' : '?') + params;=0A=
=0A=
    try {=0A=
      Ajax.Responders.dispatch('onCreate', this, this.transport);=0A=
=0A=
      this.transport.open(this.method.toUpperCase(), this.url,=0A=
        this.options.asynchronous);=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.method =3D=3D 'post' ? (this.options.postBody || =
params) : 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=
    }=0A=
    catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var headers =3D {=0A=
      'X-Requested-With': 'XMLHttpRequest',=0A=
      'X-Prototype-Version': Prototype.Version,=0A=
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'=0A=
    };=0A=
=0A=
    if (this.method =3D=3D 'post') {=0A=
      headers['Content-type'] =3D this.options.contentType +=0A=
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');=0A=
=0A=
      /* Force "Connection: close" for older Mozilla browsers to work=0A=
       * around a bug where XMLHttpRequest sends an incorrect=0A=
       * Content-length header. See Mozilla Bugzilla #246651.=0A=
       */=0A=
      if (this.transport.overrideMimeType &&=0A=
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)=0A=
            headers['Connection'] =3D 'close';=0A=
    }=0A=
=0A=
    // 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, length =3D extras.length; i < length; i +=3D 2)=0A=
          headers[extras[i]] =3D extras[i+1];=0A=
      else=0A=
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });=0A=
    }=0A=
=0A=
    for (var name in headers)=0A=
      this.transport.setRequestHeader(name, headers[name]);=0A=
  },=0A=
=0A=
  success: function() {=0A=
    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._complete =3D true;=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=
      if ((this.getHeader('Content-type') || 'text/javascript').strip().=0A=
        match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))=0A=
          this.evalResponse();=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=
      // 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, length =3D query.snapshotLength; i < length; 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 || _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=
    Object.extend(methods, Element.Methods.Simulated);=0A=
=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (typeof value =3D=3D 'function' && !(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=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=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=
    return $A($(element).getElementsByTagName('*'));=0A=
  },=0A=
=0A=
  immediateDescendants: function(element) {=0A=
    if (!(element =3D $(element).firstChild)) return [];=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    if (element) return [element].concat($(element).nextSiblings());=0A=
    return [];=0A=
  },=0A=
=0A=
  previousSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('previousSibling');=0A=
  },=0A=
=0A=
  nextSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('nextSibling');=0A=
  },=0A=
=0A=
  siblings: function(element) {=0A=
    element =3D $(element);=0A=
    return =
element.previousSiblings().reverse().concat(element.nextSiblings());=0A=
  },=0A=
=0A=
  match: function(element, selector) {=0A=
    if (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=
    return document.getElementsByClassName(className, element);=0A=
  },=0A=
=0A=
  readAttribute: function(element, name) {=0A=
    element =3D $(element);=0A=
    if (document.all && !window.opera) {=0A=
      var t =3D Element._attributeTranslations;=0A=
      if (t.values[name]) return t.values[name](element, name);=0A=
      if (t.names[name])  name =3D t.names[name];=0A=
      var attribute =3D element.attributes[name];=0A=
      if(attribute) return attribute.nodeValue;=0A=
    }=0A=
    return element.getAttribute(name);=0A=
  },=0A=
=0A=
  getHeight: function(element) {=0A=
    return $(element).getDimensions().height;=0A=
  },=0A=
=0A=
  getWidth: function(element) {=0A=
    return $(element).getDimensions().width;=0A=
  },=0A=
=0A=
  classNames: function(element) {=0A=
    return new Element.ClassNames(element);=0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var elementClassName =3D element.className;=0A=
    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=
  toggleClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element)[element.hasClassName(className) ? =
'remove' : 'add'](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=
  descendantOf: 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 pos =3D Position.cumulativeOffset(element);=0A=
    window.scrollTo(pos[0], pos[1]);=0A=
    return element;=0A=
  },=0A=
=0A=
  getStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    if (['float','cssFloat'].include(style))=0A=
      style =3D (typeof element.style.styleFloat !=3D 'undefined' ? =
'styleFloat' : 'cssFloat');=0A=
    style =3D style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value) {=0A=
      if (document.defaultView && document.defaultView.getComputedStyle) =
{=0A=
        var css =3D document.defaultView.getComputedStyle(element, null);=0A=
        value =3D css ? css[style] : null;=0A=
      } else if (element.currentStyle) {=0A=
        value =3D element.currentStyle[style];=0A=
      }=0A=
    }=0A=
=0A=
    if((value =3D=3D 'auto') && ['width','height'].include(style) && =
(element.getStyle('display') !=3D 'none'))=0A=
      value =3D element['offset'+style.capitalize()] + 'px';=0A=
=0A=
    if (window.opera && ['left', 'top', 'right', =
'bottom'].include(style))=0A=
      if (Element.getStyle(element, 'position') =3D=3D 'static') value =
=3D 'auto';=0A=
    if(style =3D=3D 'opacity') {=0A=
      if(value) return parseFloat(value);=0A=
      if(value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))=0A=
        if(value[1]) return parseFloat(value[1]) / 100;=0A=
      return 1.0;=0A=
    }=0A=
    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=
      var value =3D style[name];=0A=
      if(name =3D=3D 'opacity') {=0A=
        if (value =3D=3D 1) {=0A=
          value =3D (/Gecko/.test(navigator.userAgent) &&=0A=
            !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ? =
0.999999 : 1.0;=0A=
          if(/MSIE/.test(navigator.userAgent) && !window.opera)=0A=
            element.style.filter =3D =
element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');=0A=
        } else if(value =3D=3D '') {=0A=
          if(/MSIE/.test(navigator.userAgent) && !window.opera)=0A=
            element.style.filter =3D =
element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');=0A=
        } else {=0A=
          if(value < 0.00001) value =3D 0;=0A=
          if(/MSIE/.test(navigator.userAgent) && !window.opera)=0A=
            element.style.filter =3D =
element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'') +=0A=
              'alpha(opacity=3D'+value*100+')';=0A=
        }=0A=
      } else if(['float','cssFloat'].include(name)) name =3D (typeof =
element.style.styleFloat !=3D 'undefined') ? 'styleFloat' : 'cssFloat';=0A=
      element.style[name.camelize()] =3D value;=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  getDimensions: function(element) {=0A=
    element =3D $(element);=0A=
    var display =3D $(element).getStyle('display');=0A=
    if (display !=3D 'none' && display !=3D null) // Safari bug=0A=
      return {width: element.offsetWidth, height: element.offsetHeight};=0A=
=0A=
    // 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=
    var originalDisplay =3D els.display;=0A=
    els.visibility =3D 'hidden';=0A=
    els.position =3D 'absolute';=0A=
    els.display =3D 'block';=0A=
    var originalWidth =3D element.clientWidth;=0A=
    var originalHeight =3D element.clientHeight;=0A=
    els.display =3D originalDisplay;=0A=
    els.position =3D originalPosition;=0A=
    els.visibility =3D originalVisibility;=0A=
    return {width: originalWidth, height: originalHeight};=0A=
  },=0A=
=0A=
  makePositioned: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.getStyle(element, 'position');=0A=
    if (pos =3D=3D 'static' || !pos) {=0A=
      element._madePositioned =3D true;=0A=
      element.style.position =3D 'relative';=0A=
      // 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=
Object.extend(Element.Methods, {childOf: Element.Methods.descendantOf});=0A=
=0A=
Element._attributeTranslations =3D {};=0A=
=0A=
Element._attributeTranslations.names =3D {=0A=
  colspan:   "colSpan",=0A=
  rowspan:   "rowSpan",=0A=
  valign:    "vAlign",=0A=
  datetime:  "dateTime",=0A=
  accesskey: "accessKey",=0A=
  tabindex:  "tabIndex",=0A=
  enctype:   "encType",=0A=
  maxlength: "maxLength",=0A=
  readonly:  "readOnly",=0A=
  longdesc:  "longDesc"=0A=
};=0A=
=0A=
Element._attributeTranslations.values =3D {=0A=
  _getAttr: function(element, attribute) {=0A=
    return element.getAttribute(attribute, 2);=0A=
  },=0A=
=0A=
  _flag: function(element, attribute) {=0A=
    return $(element).hasAttribute(attribute) ? attribute : null;=0A=
  },=0A=
=0A=
  style: function(element) {=0A=
    return element.style.cssText.toLowerCase();=0A=
  },=0A=
=0A=
  title: function(element) {=0A=
    var node =3D element.getAttributeNode('title');=0A=
    return node.specified ? node.nodeValue : null;=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element._attributeTranslations.values, {=0A=
  href: Element._attributeTranslations.values._getAttr,=0A=
  src:  Element._attributeTranslations.values._getAttr,=0A=
  disabled: Element._attributeTranslations.values._flag,=0A=
  checked:  Element._attributeTranslations.values._flag,=0A=
  readonly: Element._attributeTranslations.values._flag,=0A=
  multiple: Element._attributeTranslations.values._flag=0A=
});=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
  hasAttribute: function(element, attribute) {=0A=
    var t =3D Element._attributeTranslations;=0A=
    attribute =3D t.names[attribute] || attribute;=0A=
    return $(element).getAttributeNode(attribute).specified;=0A=
  }=0A=
};=0A=
=0A=
// IE is missing .innerHTML support for TABLE-related elements=0A=
if (document.all && !window.opera){=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'].include(tagName)) {=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.toUpperCase();=0A=
        if (['TBODY', 'TR'].include(tagName)) {=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.readAttribute("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, length =3D clause.length; i < length; i++)=0A=
        conditions.push('element.hasClassName(' + clause[i].inspect() + =
')');=0A=
    if (clause =3D params.attributes) {=0A=
      clause.each(function(attribute) {=0A=
        var value =3D 'element.readAttribute(' + =
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('element.hasAttribute(' + =
attribute.name.inspect() + ')'); 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=
      element =3D $(element); \=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)).map(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.match(/[^\s"]+(?:"[^"]*"[^\s"]+)*/g).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, getHash) {=0A=
    var data =3D elements.inject({}, function(result, element) {=0A=
      if (!element.disabled && element.name) {=0A=
        var key =3D element.name, value =3D $(element).getValue();=0A=
        if (value !=3D undefined) {=0A=
          if (result[key]) {=0A=
            if (result[key].constructor !=3D Array) result[key] =3D =
[result[key]];=0A=
            result[key].push(value);=0A=
          }=0A=
          else result[key] =3D value;=0A=
        }=0A=
      }=0A=
      return result;=0A=
    });=0A=
=0A=
    return getHash ? data : Hash.toQueryString(data);=0A=
  }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
  serialize: function(form, getHash) {=0A=
    return Form.serializeElements(Form.getElements(form), getHash);=0A=
  },=0A=
=0A=
  getElements: function(form) {=0A=
    return $A($(form).getElementsByTagName('*')).inject([],=0A=
      function(elements, child) {=0A=
        if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A=
          elements.push(Element.extend(child));=0A=
        return elements;=0A=
      }=0A=
    );=0A=
  },=0A=
=0A=
  getInputs: function(form, typeName, name) {=0A=
    form =3D $(form);=0A=
    var inputs =3D form.getElementsByTagName('input');=0A=
=0A=
    if (!typeName && !name) return $A(inputs).map(Element.extend);=0A=
=0A=
    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {=0A=
      var input =3D inputs[i];=0A=
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))=0A=
        continue;=0A=
      matchingInputs.push(Element.extend(input));=0A=
    }=0A=
=0A=
    return matchingInputs;=0A=
  },=0A=
=0A=
  disable: function(form) {=0A=
    form =3D $(form);=0A=
    form.getElements().each(function(element) {=0A=
      element.blur();=0A=
      element.disabled =3D 'true';=0A=
    });=0A=
    return form;=0A=
  },=0A=
=0A=
  enable: function(form) {=0A=
    form =3D $(form);=0A=
    form.getElements().each(function(element) {=0A=
      element.disabled =3D '';=0A=
    });=0A=
    return form;=0A=
  },=0A=
=0A=
  findFirstElement: function(form) {=0A=
    return $(form).getElements().find(function(element) {=0A=
      return element.type !=3D 'hidden' && !element.disabled &&=0A=
        ['input', 'select', =
'textarea'].include(element.tagName.toLowerCase());=0A=
    });=0A=
  },=0A=
=0A=
  focusFirstElement: function(form) {=0A=
    form =3D $(form);=0A=
    form.findFirstElement().activate();=0A=
    return form;=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Form, Form.Methods);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element =3D {=0A=
  focus: function(element) {=0A=
    $(element).focus();=0A=
    return element;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    $(element).select();=0A=
    return element;=0A=
  }=0A=
}=0A=
=0A=
Form.Element.Methods =3D {=0A=
  serialize: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element.disabled && element.name) {=0A=
      var value =3D element.getValue();=0A=
      if (value !=3D undefined) {=0A=
        var pair =3D {};=0A=
        pair[element.name] =3D value;=0A=
        return Hash.toQueryString(pair);=0A=
      }=0A=
    }=0A=
    return '';=0A=
  },=0A=
=0A=
  getValue: function(element) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    return Form.Element.Serializers[method](element);=0A=
  },=0A=
=0A=
  clear: function(element) {=0A=
    $(element).value =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  present: function(element) {=0A=
    return $(element).value !=3D '';=0A=
  },=0A=
=0A=
  activate: function(element) {=0A=
    element =3D $(element);=0A=
    element.focus();=0A=
    if (element.select && ( element.tagName.toLowerCase() !=3D 'input' ||=0A=
      !['button', 'reset', 'submit'].include(element.type) ) )=0A=
      element.select();=0A=
    return element;=0A=
  },=0A=
=0A=
  disable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D true;=0A=
    return element;=0A=
  },=0A=
=0A=
  enable: function(element) {=0A=
    element =3D $(element);=0A=
    element.blur();=0A=
    element.disabled =3D false;=0A=
    return element;=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Form.Element, Form.Element.Methods);=0A=
var Field =3D Form.Element;=0A=
var $F =3D Form.Element.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element.Serializers =3D {=0A=
  input: function(element) {=0A=
    switch (element.type.toLowerCase()) {=0A=
      case 'checkbox':=0A=
      case 'radio':=0A=
        return Form.Element.Serializers.inputSelector(element);=0A=
      default:=0A=
        return Form.Element.Serializers.textarea(element);=0A=
    }=0A=
  },=0A=
=0A=
  inputSelector: function(element) {=0A=
    return element.checked ? element.value : null;=0A=
  },=0A=
=0A=
  textarea: function(element) {=0A=
    return element.value;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    return this[element.type =3D=3D 'select-one' ?=0A=
      'selectOne' : 'selectMany'](element);=0A=
  },=0A=
=0A=
  selectOne: function(element) {=0A=
    var index =3D element.selectedIndex;=0A=
    return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;=0A=
  },=0A=
=0A=
  selectMany: function(element) {=0A=
    var values, length =3D element.length;=0A=
    if (!length) return null;=0A=
=0A=
    for (var i =3D 0, values =3D []; i < length; i++) {=0A=
      var opt =3D element.options[i];=0A=
      if (opt.selected) values.push(this.optionValue(opt));=0A=
    }=0A=
    return values;=0A=
  },=0A=
=0A=
  optionValue: function(opt) {=0A=
    // extend element because hasAttribute may not be native=0A=
    return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.TimedObserver =3D function() {}=0A=
Abstract.TimedObserver.prototype =3D {=0A=
  initialize: function(element, frequency, callback) {=0A=
    this.frequency =3D frequency;=0A=
    this.element   =3D $(element);=0A=
    this.callback  =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    var changed =3D ('string' =3D=3D typeof this.lastValue && 'string' =
=3D=3D typeof value=0A=
      ? this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value));=0A=
    if (changed) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Form.Element.Observer =3D Class.create();=0A=
Form.Element.Observer.prototype =3D Object.extend(new =
Abstract.TimedObserver(), {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create();=0A=
Form.Observer.prototype =3D Object.extend(new Abstract.TimedObserver(), {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D function() {}=0A=
Abstract.EventObserver.prototype =3D {=0A=
  initialize: function(element, callback) {=0A=
    this.element  =3D $(element);=0A=
    this.callback =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A=
      this.registerFormCallbacks();=0A=
    else=0A=
      this.registerCallback(this.element);=0A=
  },=0A=
=0A=
  onElementEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  },=0A=
=0A=
  registerFormCallbacks: function() {=0A=
    =
Form.getElements(this.element).each(this.registerCallback.bind(this));=0A=
  },=0A=
=0A=
  registerCallback: function(element) {=0A=
    if (element.type) {=0A=
      switch (element.type.toLowerCase()) {=0A=
        case 'checkbox':=0A=
        case 'radio':=0A=
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
        default:=0A=
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
      }=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Form.Element.EventObserver =3D Class.create();=0A=
Form.Element.EventObserver.prototype =3D Object.extend(new =
Abstract.EventObserver(), {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create();=0A=
Form.EventObserver.prototype =3D Object.extend(new =
Abstract.EventObserver(), {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
if (!window.Event) {=0A=
  var Event =3D new Object();=0A=
}=0A=
=0A=
Object.extend(Event, {=0A=
  KEY_BACKSPACE: 8,=0A=
  KEY_TAB:       9,=0A=
  KEY_RETURN:   13,=0A=
  KEY_ESC:      27,=0A=
  KEY_LEFT:     37,=0A=
  KEY_UP:       38,=0A=
  KEY_RIGHT:    39,=0A=
  KEY_DOWN:     40,=0A=
  KEY_DELETE:   46,=0A=
  KEY_HOME:     36,=0A=
  KEY_END:      35,=0A=
  KEY_PAGEUP:   33,=0A=
  KEY_PAGEDOWN: 34,=0A=
=0A=
  element: function(event) {=0A=
    return event.target || event.srcElement;=0A=
  },=0A=
=0A=
  isLeftClick: function(event) {=0A=
    return (((event.which) && (event.which =3D=3D 1)) ||=0A=
            ((event.button) && (event.button =3D=3D 1)));=0A=
  },=0A=
=0A=
  pointerX: function(event) {=0A=
    return event.pageX || (event.clientX +=0A=
      (document.documentElement.scrollLeft || document.body.scrollLeft));=0A=
  },=0A=
=0A=
  pointerY: function(event) {=0A=
    return event.pageY || (event.clientY +=0A=
      (document.documentElement.scrollTop || document.body.scrollTop));=0A=
  },=0A=
=0A=
  stop: function(event) {=0A=
    if (event.preventDefault) {=0A=
      event.preventDefault();=0A=
      event.stopPropagation();=0A=
    } else {=0A=
      event.returnValue =3D false;=0A=
      event.cancelBubble =3D true;=0A=
    }=0A=
  },=0A=
=0A=
  // find the first node with the given tagName, starting from the=0A=
  // node the event was triggered on; traverses the DOM upwards=0A=
  findElement: function(event, tagName) {=0A=
    var element =3D Event.element(event);=0A=
    while (element.parentNode && (!element.tagName ||=0A=
        (element.tagName.toUpperCase() !=3D tagName.toUpperCase())))=0A=
      element =3D element.parentNode;=0A=
    return element;=0A=
  },=0A=
=0A=
  observers: false,=0A=
=0A=
  _observeAndCache: function(element, name, observer, useCapture) {=0A=
    if (!this.observers) this.observers =3D [];=0A=
    if (element.addEventListener) {=0A=
      this.observers.push([element, name, observer, useCapture]);=0A=
      element.addEventListener(name, observer, useCapture);=0A=
    } else if (element.attachEvent) {=0A=
      this.observers.push([element, name, observer, useCapture]);=0A=
      element.attachEvent('on' + name, observer);=0A=
    }=0A=
  },=0A=
=0A=
  unloadCache: function() {=0A=
    if (!Event.observers) return;=0A=
    for (var i =3D 0, length =3D Event.observers.length; i < length; =
i++) {=0A=
      Event.stopObserving.apply(this, Event.observers[i]);=0A=
      Event.observers[i][0] =3D null;=0A=
    }=0A=
    Event.observers =3D false;=0A=
  },=0A=
=0A=
  observe: function(element, name, observer, useCapture) {=0A=
    element =3D $(element);=0A=
    useCapture =3D useCapture || false;=0A=
=0A=
    if (name =3D=3D 'keypress' &&=0A=
        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)=0A=
        || element.attachEvent))=0A=
      name =3D 'keydown';=0A=
=0A=
    Event._observeAndCache(element, name, observer, useCapture);=0A=
  },=0A=
=0A=
  stopObserving: function(element, name, observer, useCapture) {=0A=
    element =3D $(element);=0A=
    useCapture =3D useCapture || false;=0A=
=0A=
    if (name =3D=3D 'keypress' &&=0A=
        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)=0A=
        || element.detachEvent))=0A=
      name =3D 'keydown';=0A=
=0A=
    if (element.removeEventListener) {=0A=
      element.removeEventListener(name, observer, useCapture);=0A=
    } else if (element.detachEvent) {=0A=
      try {=0A=
        element.detachEvent('on' + name, observer);=0A=
      } catch (e) {}=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
/* prevent memory leaks in IE */=0A=
if (navigator.appVersion.match(/\bMSIE\b/))=0A=
  Event.observe(window, 'unload', Event.unloadCache, false);=0A=
var Position =3D {=0A=
  // set to true if needed, warning: firefox performance problems=0A=
  // NOT neeeded for page scrolling, only if draggable contained in=0A=
  // scrollable elements=0A=
  includeScrollOffsets: false,=0A=
=0A=
  // must be called before calling withinIncludingScrolloffset, every =
time the=0A=
  // page is scrolled=0A=
  prepare: function() {=0A=
    this.deltaX =3D  window.pageXOffset=0A=
                || document.documentElement.scrollLeft=0A=
                || document.body.scrollLeft=0A=
                || 0;=0A=
    this.deltaY =3D  window.pageYOffset=0A=
                || document.documentElement.scrollTop=0A=
                || document.body.scrollTop=0A=
                || 0;=0A=
  },=0A=
=0A=
  realOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.scrollTop  || 0;=0A=
      valueL +=3D element.scrollLeft || 0;=0A=
      element =3D element.parentNode;=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  cumulativeOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  positionedOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
      if (element) {=0A=
        if(element.tagName=3D=3D'BODY') break;=0A=
        var p =3D Element.getStyle(element, 'position');=0A=
        if (p =3D=3D 'relative' || p =3D=3D 'absolute') break;=0A=
      }=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  offsetParent: function(element) {=0A=
    if (element.offsetParent) return element.offsetParent;=0A=
    if (element =3D=3D document.body) return element;=0A=
=0A=
    while ((element =3D element.parentNode) && element !=3D =
document.body)=0A=
      if (Element.getStyle(element, 'position') !=3D 'static')=0A=
        return element;=0A=
=0A=
    return document.body;=0A=
  },=0A=
=0A=
  // caches x/y coordinate pair to use with overlap=0A=
  within: function(element, x, y) {=0A=
    if (this.includeScrollOffsets)=0A=
      return this.withinIncludingScrolloffsets(element, x, y);=0A=
    this.xcomp =3D x;=0A=
    this.ycomp =3D y;=0A=
    this.offset =3D this.cumulativeOffset(element);=0A=
=0A=
    return (y >=3D this.offset[1] &&=0A=
            y <  this.offset[1] + element.offsetHeight &&=0A=
            x >=3D this.offset[0] &&=0A=
            x <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  withinIncludingScrolloffsets: function(element, x, y) {=0A=
    var offsetcache =3D this.realOffset(element);=0A=
=0A=
    this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
    this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
    this.offset =3D this.cumulativeOffset(element);=0A=
=0A=
    return (this.ycomp >=3D this.offset[1] &&=0A=
            this.ycomp <  this.offset[1] + element.offsetHeight &&=0A=
            this.xcomp >=3D this.offset[0] &&=0A=
            this.xcomp <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  // within must be called directly before=0A=
  overlap: function(mode, element) {=0A=
    if (!mode) return 0;=0A=
    if (mode =3D=3D 'vertical')=0A=
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A=
        element.offsetHeight;=0A=
    if (mode =3D=3D 'horizontal')=0A=
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A=
        element.offsetWidth;=0A=
  },=0A=
=0A=
  page: function(forElement) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
=0A=
    var element =3D forElement;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
=0A=
      // Safari fix=0A=
      if (element.offsetParent=3D=3Ddocument.body)=0A=
        if (Element.getStyle(element,'position')=3D=3D'absolute') break;=0A=
=0A=
    } while (element =3D element.offsetParent);=0A=
=0A=
    element =3D forElement;=0A=
    do {=0A=
      if (!window.opera || element.tagName=3D=3D'BODY') {=0A=
        valueT -=3D element.scrollTop  || 0;=0A=
        valueL -=3D element.scrollLeft || 0;=0A=
      }=0A=
    } while (element =3D element.parentNode);=0A=
=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  clone: function(source, target) {=0A=
    var options =3D Object.extend({=0A=
      setLeft:    true,=0A=
      setTop:     true,=0A=
      setWidth:   true,=0A=
      setHeight:  true,=0A=
      offsetTop:  0,=0A=
      offsetLeft: 0=0A=
    }, arguments[2] || {})=0A=
=0A=
    // find page position of source=0A=
    source =3D $(source);=0A=
    var p =3D Position.page(source);=0A=
=0A=
    // find coordinate system to use=0A=
    target =3D $(target);=0A=
    var delta =3D [0, 0];=0A=
    var parent =3D null;=0A=
    // delta [0,0] will do fine with position: fixed elements,=0A=
    // position:absolute needs offsetParent deltas=0A=
    if (Element.getStyle(target,'position') =3D=3D 'absolute') {=0A=
      parent =3D Position.offsetParent(target);=0A=
      delta =3D Position.page(parent);=0A=
    }=0A=
=0A=
    // correct by body offsets (fixes Safari)=0A=
    if (parent =3D=3D document.body) {=0A=
      delta[0] -=3D document.body.offsetLeft;=0A=
      delta[1] -=3D document.body.offsetTop;=0A=
    }=0A=
=0A=
    // set position=0A=
    if(options.setLeft)   target.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';=0A=
    if(options.setTop)    target.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';=0A=
    if(options.setWidth)  target.style.width =3D source.offsetWidth + =
'px';=0A=
    if(options.setHeight) target.style.height =3D source.offsetHeight + =
'px';=0A=
  },=0A=
=0A=
  absolutize: function(element) {=0A=
    element =3D $(element);=0A=
    if (element.style.position =3D=3D 'absolute') return;=0A=
    Position.prepare();=0A=
=0A=
    var offsets =3D Position.positionedOffset(element);=0A=
    var top     =3D offsets[1];=0A=
    var left    =3D offsets[0];=0A=
    var width   =3D element.clientWidth;=0A=
    var height  =3D element.clientHeight;=0A=
=0A=
    element._originalLeft   =3D left - parseFloat(element.style.left  || =
0);=0A=
    element._originalTop    =3D top  - parseFloat(element.style.top || =
0);=0A=
    element._originalWidth  =3D element.style.width;=0A=
    element._originalHeight =3D element.style.height;=0A=
=0A=
    element.style.position =3D 'absolute';=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.width  =3D width + 'px';=0A=
    element.style.height =3D height + 'px';=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    element =3D $(element);=0A=
    if (element.style.position =3D=3D 'relative') return;=0A=
    Position.prepare();=0A=
=0A=
    element.style.position =3D 'relative';=0A=
    var top  =3D parseFloat(element.style.top  || 0) - =
(element._originalTop || 0);=0A=
    var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);=0A=
=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.height =3D element._originalHeight;=0A=
    element.style.width  =3D element._originalWidth;=0A=
  }=0A=
}=0A=
=0A=
// Safari returns margins on body which is incorrect if the child is =
absolutely=0A=
// positioned.  For performance reasons, redefine =
Position.cumulativeOffset for=0A=
// KHTML/WebKit only.=0A=
if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {=0A=
  Position.cumulativeOffset =3D function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      if (element.offsetParent =3D=3D document.body)=0A=
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;=0A=
=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
=0A=
    return [valueL, valueT];=0A=
  }=0A=
}=0A=
=0A=
Element.addMethods();
------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.active.com/donations/scripts/floating_div.js

<!--- floating div code  --->
if (!document.layers)
document.write('<div id=3D"divStayTopLeft" =
style=3D"position:absolute">');

/*
Floating Menu script-  Roy Whittle (http://www.javascript-fx.com/)
Script featured on/available at http://www.dynamicdrive.com/
This notice must stay intact for use
*/

//Enter "frombottom" or "fromtop"
var verticalpos=3D"fromtop";

if (!document.layers)
document.write('</div>');

function JSFX_FloatTopDiv()
{
	var startX =3D 25,
	startY =3D 10;
=09
	var ns =3D (navigator.appName.indexOf("Netscape") !=3D -1);
	var d =3D document;
	function ml(id)
	{
		var =
el=3Dd.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
		if(d.layers)el.style=3Del;
		el.sP=3Dfunction(x,y){this.style.left=3Dx;this.style.top=3Dy;};
		el.x =3D startX;
		if (verticalpos=3D=3D"fromtop")
		el.y =3D startY;
		else{
		el.y =3D ns ? pageYOffset + innerHeight : document.body.scrollTop + =
document.body.clientHeight;
		el.y -=3D startY;
		}
		return el;
	}
	window.stayTopLeft=3Dfunction()
	{
		if (verticalpos=3D=3D"fromtop"){
		var pY =3D ns ? pageYOffset : document.body.scrollTop;
		ftlObj.y +=3D (pY + startY - ftlObj.y)/8;
		}
		else{
		var pY =3D ns ? pageYOffset + innerHeight : document.body.scrollTop + =
document.body.clientHeight;
		ftlObj.y +=3D (pY - startY - ftlObj.y)/8;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 10);
	}
	ftlObj =3D ml("searchResults");=09
	stayTopLeft();
}

Event.observe(window, 'load', function() { JSFX_FloatTopDiv() });
------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: https://seal.verisign.com/getseal?host_name=www.active.com&size=M&use_flash=YES&use_transparent=YES&lang=en

<!--=0A=
dn=3D"WWW.ACTIVE.COM";=0A=
lang=3D"en";=0A=
aff=3D"VeriSignAdministration";=0A=
tpt=3D"transparent";=0A=
vrsn_style=3D"WW";=0A=
splash_url=3D"https://sealinfo.verisign.com";=0A=
seal_url=3D"https://seal.verisign.com";=0A=
u1=3Dsplash_url+"/splash?form_file=3Dfdf/splash.fdf&dn=3D"+dn+"&lang=3D"+=
lang;=0A=
u2=3Dseal_url+"/getseal?at=3D0&&sealid=3D1&dn=3D"+dn+"&aff=3D"+aff+"&lang=
=3D"+lang;=0A=
u3=3Dseal_url+"/getseal?at=3D1&&sealid=3D1&dn=3D"+dn+"&aff=3D"+aff+"&lang=
=3D"+lang;=0A=
var sopener;=0A=
function vrsn_splash() {=0A=
 if (sopener && !sopener.closed){=0A=
  sopener.focus();=0A=
 } else {=0A=
  tbar =3D =
"location=3Dyes,status=3Dyes,resizable=3Dyes,scrollbars=3Dyes,width=3D560=
,height=3D500";=0A=
  var sw =3D window.open(u1,'VRSN_Splash',tbar);=0A=
  if(sw) {=0A=
   sw.focus();=0A=
   sopener=3Dsw;=0A=
  }=0A=
 }=0A=
}=0A=
var MM_cVer =3D 6;=0A=
var plugin =3D (navigator.mimeTypes && =
navigator.mimeTypes["application/x-shockwave-flash"]) ? =
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin: 0;=0A=
var ver=3D-1;=0A=
var v_ua=3Dnavigator.userAgent.toLowerCase();=0A=
var re=3Dnew RegExp("msie ([0-9]{1,}[\.0-9]{0,})");=0A=
if (re.exec(v_ua) !=3D null)=0A=
 ver =3D parseFloat( RegExp.$1 );=0A=
var v_old_ie=3D(v_ua.indexOf("msie")!=3D-1);=0A=
if (v_old_ie) {=0A=
 v_old_ie =3D ver < 5;=0A=
}=0A=
if ( plugin ) { var words =3D navigator.plugins["Shockwave =
Flash"].description.split(" ");=0A=
 for (var i =3D 0; i < words.length; ++i) { if =
(isNaN(parseInt(words[i]))) continue; var MM_pVer =3D words[i]; =0A=
 }=0A=
 var MM_play =3D MM_pVer >=3D MM_cVer;=0A=
}=0A=
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=3D0 =
&& (navigator.appVersion.indexOf("Win") !=3D -1)) {=0A=
 document.write('<SCR' + 'IPT LANGUAGE=3DVBScript\> \n');=0A=
 document.write('on error resume next \n');=0A=
 document.write('MM_play =3D ( =
IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_cVer)))\n');=0A=
 document.write('</SCR' + 'IPT\> \n');=0A=
}=0A=
if ( MM_play ) {=0A=
 document.write('<OBJECT =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');=0A=
 document.write('  =
codebase=3D"https://download.macromedia.com/pub/shockwave/cabs/flash/swfl=
ash.cab#version=3D5,0,0,0"');=0A=
 document.write(' ID=3D"s_m" WIDTH=3D"115" HEIGHT=3D"82" ALIGN=3D"">');=0A=
 document.write(' <PARAM NAME=3Dmovie VALUE=3D"'+u3+'"> <PARAM =
NAME=3Dloop VALUE=3Dfalse> <PARAM NAME=3Dmenu VALUE=3Dfalse> <PARAM =
NAME=3Dquality VALUE=3Dbest> <PARAM NAME=3Dwmode VALUE=3D'+tpt+'> <PARAM =
NAME=3D"allowScriptAccess" value=3D"always">'); =0A=
 document.write(' <EMBED src=3D"'+u3+'" loop=3Dfalse menu=3Dfalse =
quality=3Dbest wmode=3D'+tpt);=0A=
 document.write(' swLiveConnect=3DFALSE WIDTH=3D"115" HEIGHT=3D"82" =
NAME=3D"s_m" ALIGN=3D""');=0A=
 document.write(' TYPE=3D"application/x-shockwave-flash" =
PLUGINSPAGE=3D"https://www.macromedia.com/go/getflashplayer" =
allowScriptAccess=3D"always">');=0A=
 document.write(' </EMBED>');=0A=
 document.write(' </OBJECT>');=0A=
} else {=0A=
function v_mact(e){=0A=
 if (document.addEventListener) {=0A=
  var s=3D(e.target.name=3D=3D"seal");=0A=
  if (s) { vrsn_splash(); return false; }=0A=
 }else if(document.captureEvents) {=0A=
  var tgt=3De.target.toString(); var s=3D(tgt.indexOf("splash")!=3D-1);=0A=
  if (s){ vrsn_splash(); return false; }=0A=
 }=0A=
 return true;=0A=
}=0A=
function v_mDown(event) {=0A=
 if (document.addEventListener) return true;=0A=
 event =3D event || window.event;=0A=
 if (event) {=0A=
  if (event.button =3D=3D 1) {=0A=
   if (v_old_ie) { return true; }=0A=
   else { vrsn_splash(); return false; }=0A=
  } else if (event.button =3D=3D 2) { vrsn_splash(); return false; }=0A=
 } else { return true; }=0A=
}=0A=
document.write("<a HREF=3D\"javascript:vrsn_splash()\" =
tabindex=3D\"-1\"><IMG NAME=3D\"seal\" BORDER=3D\"true\" =
SRC=3D\""+u2+"\" oncontextmenu=3D\"return false;\" alt=3D\"Click to =
Verify - This site has chosen a VeriSign SSL Certificate to improve Web =
site security\"></A>");=0A=
if (document.addEventListener){ document.addEventListener('mouseup', =
v_mact, true); } =0A=
else {=0A=
 if (document.layers){=0A=
  document.captureEvents(Event.MOUSEDOWN); document.onmousedown=3Dv_mact;=0A=
 }=0A=
}=0A=
function v_resized(){=0A=
 if(pageWidth!=3DinnerWidth || pageHeight!=3DinnerHeight){=0A=
  self.history.go(0);=0A=
 }=0A=
}=0A=
if(document.layers){=0A=
 pageWidth=3DinnerWidth; pageHeight=3DinnerHeight; =
window.onresize=3Dv_resized;=0A=
}=0A=
}=0A=
if((v_ua.indexOf("msie")!=3D-1) && (ver>=3D7)) {=0A=
 var plat=3D-1;=0A=
 var re=3Dnew RegExp("windows nt ([0-9]{1,}[\.0-9]{0,})");=0A=
 if (re.exec(v_ua) !=3D null)=0A=
  plat =3D parseFloat( RegExp.$1 );=0A=
 // We might need to add "plat <=3D 6.x" later if we don't need to =
support PTP for later windows version=0A=
 // Don't go to PTP for windows 2003, plat =3D 5.2=0A=
 if ((plat >=3D 5.1) && (plat !=3D 5.2)) {=0A=
  document.write("<div style=3D'display:none'>");=0A=
  document.write("<img =
src=3D'https://extended-validation-ssl.verisign.com/dot_clear.gif'/>");=0A=
  document.write("</div>");=0A=
 }=0A=
}=0A=
// -->=0A=

------=_NextPart_000_0000_01CB1F5A.F91B1350
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://activegiving.vinasource.com/Widget/fbShareWidget.js

=EF=BB=BFvar imgSrc =3D =
"http://activegiving.vinasource.com/widget/fb_icon.png";
var link =3D "http://www.facebook.com/sharer.php?u=3D" + =
escape(window.location) + "&t=3D" + escape(document.title);

document.write("<div>");

document.write("<table style=3D\"font-family:arial\">");
document.write("<tr>");
document.write("<td style=3D\"width:45px;\">");
document.write("<a href=3D\"" + link + "\" style=3D\"color:#104A86; =
text-decoration:none;\" target=3D\"_blank\">");
document.write("<img src=3D\"" + imgSrc + "\" width=3D\"40px\" =
style=3D\"font-size:0px; border:none\" />");
document.write("</a>");
document.write("</td>");
document.write("<td style=3D\"width:150px; color:#104A86; =
text-decoration:none; font-weight:bold; padding-top:10px;\">");
document.write("<a href=3D\"" + link + "\" style=3D\"color:#104A86; =
text-decoration:none;\" target=3D\"_blank\"><b>Share this =
page</b></a>");
document.write("</td>");
document.write("</tr>");
document.write("</table>");

document.write("</div");
------=_NextPart_000_0000_01CB1F5A.F91B1350--
