From: Subject: Tell-A-Friend: Act now to stop violence against women Date: Wed, 20 Feb 2008 15:27:51 -0800 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C873D5.2815E150" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://my.care.org/campaign/iwdaction/forward Tell-A-Friend: Act now to stop violence against = women
=20


=20


Thank you so much for taking action in support of = Congolese women and the International Violence Against Women = Act=20 (IVAWA).

Help us spread the word about the atrocities occurring in = Congo=20 and how passage of the IVAWA can help put an end to violence = against=20 women around the world.

=20

Recipient Email Addresses:*
One email=20 address per text box is allowed.

Your Name:*

First Name Last Name

Your Email:*=20
You must use a = registered email=20 address.

Subject:

Message:
You=20 may edit the message or send it as is. The system will = automatically include the web address for this = ActionAlert at=20 the bottom of your message.

=20

* Required field

=


Home | Site Search | Site Map | Feedback | Privacy = Statement | Terms of=20 Use

------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: https://img.getactivehub.com/dawn/custom_images/caredev/carelogoorg.gif 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 ccYbd/xxyCOXfHLKK7ec7oAAADs= ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: https://img.getactivehub.com/dawn/custom_images/caredev/care_sitewp_02.jpg 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 oqs5lIfdBDLfwuL1X8gptTxFWT//2Q== ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: https://img.getactivehub.com/dawn/custom_images/caredev/spacer1x1.gif R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAQAICRAEAOw== ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: https://img.getactivehub.com/dawn/custom_images/caredev/tellafriendff6600.gif R0lGODlheAAcALMAAGoqAGgqAKJBANFUABMIALVIAEAaAP///wAAAP9mAAAAAAAAAAAAAAAAAAAA AAAAACH5BAAAAAAALAAAAAB4ABwAAAT/MMlJq7046827/2AojmRpnmiqrslxSC4rT/FMuTieuUZ7 9BfdLvcKFkk8CkESoAAkBYpAMtgYDLwr0JJMGn9D7RUzRoJtFS9M6Oupb7+acbv22ddyIhxHlywT TRNPCVETUwlVGmpZNV1naXGPkDl4PI5XjT9YRYySaG00RG5gjpmbQJRtYqqYpKKgl6AXf4ESg4US h4lzoWKjvxJiRHKrb7KwmlrIwMZoi2ecrn2szcdrW7Et18vWfkxOUFJUG2+UzJ6y1cbPqDrn7Xyf FWUTq8FA9BT0+frT+fvK7gm8F9AbIHCExCGSx7Chw4cQI0qcSLGiRREIMmasgCBBxxMbqiV85DAy Q0kNJ0OKFKmRpUqTFzqeHDGzQ02OHkp+3Omx58qbMSeElCnU59CfPj22HMpzJFGlQo865an0KM6n PYFaoErUaVakWVNCfSqz61gMZb+qxTqza8uqWlfCVSu3KVgKZOfaNTp14968Xjn6rfuB6l2jSAdf PWxXZeC0gM8Wpes4KcmoZidDTbwVcVXPbvEuTVo5bVS5m8MqBnmxdYq4rmPLnk27dooIADs= ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: https://img.getactivehub.com/dawn/custom_images/care/charitynavigator_95.gif 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 ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: https://img.getactivehub.com/dawn/custom_images/care/bbb_care.gif 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 C5GSKrmSChEQADs= ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: https://img.getactivehub.com/images/poweredbyconvio.gif R0lGODlhZwAnAPcAAP7EKKioqP3ZeOXi6bGxsberyfzqu9zX44p2q9LM2ryyzJmHttHQ0L6+vtfX 1/3QVcG30cnKyqOUvPft0P++ELa2trm5ucLCws3Nzejm7EIeenNZm8XFxcO70amZwVs8jNra2+Hh 4f7HM2dLlJB8sYuLi5SUlM3F2YFqpuDd5YODg/7nq9XQ3vr16DUPctPT004sg35no52dna+iw1Au hM/J2455rnp6ev7+/ubm5v39/fz8/Pn5+fv7++np6evr6/X19erq6vr6+ujo6PT09O3t7fPz8/j4 +Pb29vHx8fLy8ufn5+7u7vDw8Ozs7Pf39+/v7/7+/+fm5uzs6+Xm5fv8/Ojp6f7///r6+eXm5vr7 +/v6+/7//v///vr5+vz7+/f29v3+/eXl5v79/ejo6fHy8fz9/evr6u/w8P39/Pr6+/3+/ubn5/Dv 8Ojp6Pz7/Ozs7e7u7/b29ff3+Obl5vz9/Pn5+vX19P/+//Hx8vf49+fo6Pv7/P38/O3t7P79/unp 6Onq6f/+/vLx8e/v7vHw8eno6erq6fn4+erq6+zt7PDw8fDw7+fo5+bl5evs6/n6+urp6fv7+uno 6Onq6urp6vn5+PX19u7u7ebn5urr6+vq6/X09PPy8u3u7vDv7/Tz8/n6+fv6+vP08+bm5/j4+e3s 7vLy8/Dx8Ofn5vLz8/f29/T08/z8/f38/fr7+unp6vj5+P39/urr6ujn6Ovq6vr5+fLx8vf4+Pb1 9u3s7PPy8+zr6+7t7vPz9Ovs7Ozr7PDx8e/u7/P09Obm5ejo5/Tz9P7+/efm5/j5+fn4+PT09fT1 9PT19evr7PX09fX29fX29vb19fj3+PLz8vz8+/b39vf39u7v7/v8+/j39/Ly8fHw8Pb39+/u7vj4 97S0tO/w7+zt7e7t7fPz8u3t7u3u7fb29+7v7sfA1LSzs6N0a7Ozs7i4uLy8vLu7u7e3t8jIyMvL y8zMzPTTkcC/v9jT4NuREfHy8tbW19XV1dbW1v+6AOXl5SkAav///yH5BAAAAAAALAAAAABnACcA AAj/AB0IHEiwoMGDCAnm28dwn76HLyJKfMGgokUMGDHOk8cxgsd4IDmIHHmhZMl6KOs1WOmu5bt3 FmJacPCvps2bOHPq3Mmzp0+bgrr86xIFR1EcOGThWPNnzBodrtLsmEp1x5sqPbJKakfzp9evYHdG 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 ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: https://img.getactivehub.com/dawn/custom_images/caredev/searchimg.gif R0lGODlhEAAQAMQAAA4ODrno+MDq+er4/SEhITc4OACo6H7T84XW87Ll+IrX9W3N8Tg3OA4NDg0O DuH1/Dg4OCEiIWzN8Y/Z9Nzz/Ojo6NfX18DAwI2Njf////X19QAAAAAAAAAAAAAAAAAAACH5BAAA AAAALAAAAAAQABAAAAVk4CaOZDlmaKqip+a+sIuJ2TvG2rzV2hYohk1MV/M9BgKE8EXsKQaUxGEp o/UMgsRkQc1Ze4iDZFOANV2jRoTB/MYchLJ3V6nb6wACpEK0+P9/AH5EF4WGh4U6GxiMjY6MJpEl IQA7 ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://my.care.org/css/ga-public.css BODY { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } P { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } TD { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } TD P { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } TD UL { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } TD BLOCKQUOTE { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } BLOCKQUOTE { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } BODY { POSITION: relative } A:link { COLOR: #003366 } A:visited { COLOR: #003366 } A:active { COLOR: #0000ff } .ga-alignCenter { TEXT-ALIGN: center! important } .ga-alignLeft { TEXT-ALIGN: left! important } .ga-alignRight { TEXT-ALIGN: right! important } .ga-alignTop { VERTICAL-ALIGN: top! important } .ga-alignMiddle { VERTICAL-ALIGN: middle! important } .ga-alignBottom { VERTICAL-ALIGN: bottom! important } .ga-floatLeft { FLOAT: left } .ga-floatRight { FLOAT: right } .ga-buttons { TEXT-ALIGN: right } .ga-buttons INPUT { MARGIN: 6px 4px } .ga-hdr { CLEAR: both; MARGIN-TOP: 24px; BORDER-BOTTOM: #004266 2px solid } .ga-alert { MARGIN-LEFT: 2px; COLOR: #ff0000; BOTTOM: 1px } .ga-required { CLEAR: both; FONT-SIZE: 11px; COLOR: #ff0000 } .ga-hide { DISPLAY: none } .ga-smallFont { FONT-SIZE: 10px } .ga-medFont { FONT-SIZE: 11px } .ga-largeFont { FONT-SIZE: 16px } .ga-xlargeFont { FONT-SIZE: 24px } .ga-highlight { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: = 24px; PADDING-BOTTOM: 0px; COLOR: #fff; PADDING-TOP: 0px; = BACKGROUND-COLOR: #ffad21 } .ga-center { TEXT-ALIGN: center } .ga-center TABLE { MARGIN: 0px auto; TEXT-ALIGN: left } .ga-emphasis { FONT-STYLE: italic } .ga-strong { FONT-WEIGHT: bold } #ga-content1 { WIDTH: 60%; POSITION: relative } #ga-content2 { WIDTH: 40%; POSITION: relative } #ga-content3 { CLEAR: both; POSITION: relative } .ga-formTable { WIDTH: 100% } .ga-formTable TD { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #fff 1px = solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; VERTICAL-ALIGN: top; = BORDER-LEFT: #fff 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #fff 1px = solid; BACKGROUND-COLOR: #eee } .ga-formTable TH { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #fff 1px = solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; VERTICAL-ALIGN: top; = BORDER-LEFT: #fff 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #fff 1px = solid; BACKGROUND-COLOR: #eee } .ga-formTable TH { FONT-SIZE: 11px; TEXT-ALIGN: left } .ga-formTable TD P { FONT-SIZE: 11px } .ga-dataTable { WIDTH: 100% } .ga-dataTable TD { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #fff 1px = solid; PADDING-LEFT: 1px; FONT-SIZE: 12px; PADDING-BOTTOM: 1px; = VERTICAL-ALIGN: middle; BORDER-LEFT: #fff 1px solid; PADDING-TOP: 1px; = BORDER-BOTTOM: #fff 1px solid; BACKGROUND-COLOR: #eee; TEXT-ALIGN: left } .ga-dataTable TH { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 12px; PADDING-BOTTOM: = 2px; VERTICAL-ALIGN: top; COLOR: #fff; PADDING-TOP: 2px; = BACKGROUND-COLOR: #555; TEXT-ALIGN: left } .ga-dataTable TH.actions { TEXT-ALIGN: center } .ga-dataTable TD.actions { TEXT-ALIGN: center } .ga-dataTable TD.actions { FONT-SIZE: 11px } .ga-leftTable { BORDER-RIGHT: #555 1px solid; BORDER-TOP: #555 1px solid; BORDER-LEFT: = #555 1px solid; BORDER-BOTTOM: #555 1px solid } .ga-leftTable TD { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 12px; = PADDING-BOTTOM: 2px; VERTICAL-ALIGN: top; PADDING-TOP: 2px; = BACKGROUND-COLOR: #eee; TEXT-ALIGN: left } .ga-leftTable TH { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 12px; = PADDING-BOTTOM: 2px; VERTICAL-ALIGN: top; PADDING-TOP: 2px; = BACKGROUND-COLOR: #eee; TEXT-ALIGN: left } .ga-insetBox { BORDER-RIGHT: #fafafa 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: = #fafafa 1px solid; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; BORDER-LEFT: = #fafafa 1px solid; PADDING-TOP: 1px; BORDER-BOTTOM: #fafafa 1px solid; = BACKGROUND-COLOR: #f1f1f1 } .ga-insetBoxInner { BORDER-RIGHT: #fff 3px solid; PADDING-RIGHT: 14px; BORDER-TOP: #fff 3px = solid; PADDING-LEFT: 14px; PADDING-BOTTOM: 16px; BORDER-LEFT: #fff 3px = solid; PADDING-TOP: 4px; BORDER-BOTTOM: #fff 3px solid; = BACKGROUND-COLOR: #f2f2f2 } .ga-options INPUT { FLOAT: left } .ga-options .ga-label { MARGIN: 0px 0px 12px 24px } .ga-options .ga-label LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN-BOTTOM: 2px } .ga-campaign { MARGIN-TOP: 10px } .ga-campaign TD { VERTICAL-ALIGN: top } .ga-campaignSign { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 10px; BORDER-BOTTOM-WIDTH: 0px; = PADDING-BOTTOM: 0px; MARGIN: 0px; VERTICAL-ALIGN: top; WIDTH: 219px; = PADDING-TOP: 0px; BACKGROUND-COLOR: #f0f0f0; BORDER-RIGHT-WIDTH: 0px } .ga-campaignSign P { FONT-SIZE: 10px; MARGIN: 10px 0px 0px 6px } .ga-campaignSign H3 { FONT-SIZE: 11px; MARGIN: 2px 0px } .ga-campaignSign LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN: 0px } .ga-campaignTakeAction { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; PADDING-BOTTOM: 4px; COLOR: #fff; PADDING-TOP: 4px; FONT-FAMILY: = Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #000 } .ga-campaignSendTo { PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000; = PADDING-TOP: 8px; TEXT-ALIGN: left } .ga-campaignTargets { FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #000; TEXT-ALIGN: left } .ga-campaignTargets UL { FONT-WEIGHT: normal; FONT-SIZE: 10px; LIST-STYLE-IMAGE: = url(/campaign-images/flash_arrow.gif); LINE-HEIGHT: 1.5em } .ga-campaignInstructions { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 10px 0px; COLOR: #ff0000; PADDING-TOP: 0px } #ga-campaignFields { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } .ga-campaignCheckboxHeader P { FONT-SIZE: 12px } .ga-campaignCheckboxItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-campaignCheckboxLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } .ga-campaignRadioAcrossItem { DISPLAY: inline } .ga-campaignRadioDownItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-campaignRadioLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 12px } .ga-campaignCCMember INPUT { FLOAT: left; MARGIN-BOTTOM: 8px } .ga-campaignCCMember LABEL { CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; = FONT-WEIGHT: normal; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 0px; = MARGIN: 0px 0px 8px; WIDTH: 85%; PADDING-TOP: 4px; TEXT-ALIGN: left } .ga-campaignSendBtn { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; = PADDING-TOP: 6px } #ga-campaignIcon { FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 5px } .ga-campaignTalkingPoints { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-campaignTalkingPoints H3 { FONT-SIZE: 11px; MARGIN: 0px 0px 12px } .ga-campaignTalkingPoints UL { PADDING-RIGHT: 0px; PADDING-LEFT: 30px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: square } .ga-campaignTalkingPoints LI { FONT-SIZE: 11px; MARGIN: 0px 0px 12px } .ga-campaignLetter { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 0px; = VERTICAL-ALIGN: top; PADDING-TOP: 0px } .ga-campaignLetter .flashtitle { MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 18px; MARGIN-BOTTOM: = 1px; COLOR: #000; FONT-FAMILY: Georgia, "Times New Roman", Times, serif } .ga-campaignShortExplanation { FONT-WEIGHT: normal; FONT-SIZE: 13px; MARGIN: 12px 0px; COLOR: #000 } .ga-campaignTellMeMore { FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #000 } .ga-campaignSalutation { FONT-WEIGHT: bold } .ga-campaignEditLetter { FONT-SIZE: 11px; MARGIN-BOTTOM: 0px } .ga-campaignSubject { FONT-WEIGHT: bold } .ga-campaignClosing { FONT-SIZE: 12px; MARGIN: 8px 0px 0px } .ga-campaignClosing P { FONT-SIZE: 12px } .ga-campaignResponded { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; = PADDING-TOP: 8px } .ga-campaignResponded H2 { FONT-SIZE: 12px } .ga-campaignResponded H3 { FONT-SIZE: 11px; MARGIN: 6px } .ga-campaignLogout { FONT-SIZE: 11px; MARGIN: 6px } .ga-campaignConfirm { =09 } .ga-campaignConfirm H1 { FONT-SIZE: 18px } .ga-campaignConfirm INPUT { MARGIN: 10px 0px } .ga-campaignConfirm TH { VERTICAL-ALIGN: top; TEXT-ALIGN: left } .ga-campaignConfirm TD { VERTICAL-ALIGN: top; TEXT-ALIGN: left } .ga-campaignConfirm2 { =09 } .ga-campaignConfirm2 H1 { FONT-SIZE: 13px } .ga-campaignConfirm2 H2 { FONT-SIZE: 12px } .ga-campaignConfirm2 P { FONT-SIZE: 12px } .ga-campaignConfirm2 .ga-sendingMessageBlurb { =09 } .ga-campaignConfirm2 .ga-tellFriendBlurb { =09 } .ga-campaignConfirm2 .ga-smpBlurb { =09 } .ga-campaignAlerts H1 { FONT-SIZE: 16px } .ga-campaignAlertsCurrent { =09 } .ga-campaignAlertsPast { =09 } .ga-campaignAlertsTitle { =09 } .ga-campaignAlertsTitle A { FONT-WEIGHT: normal; TEXT-DECORATION: underline } .ga-campaignAlertsFeedback { FONT-WEIGHT: normal; COLOR: #990000 } .ga-whatsAtStake { =09 } .ga-whatsAtStake H1 { FONT-SIZE: 16px; COLOR: #000 } .ga-whatsAtStakeText { =09 } .ga-whatsAtStakeFooter A { FONT-SIZE: x-small; TEXT-DECORATION: underline } .ga-contact H1 { FONT-SIZE: 16px } .ga-contact TABLE { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } .ga-contact TD { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 3px; = VERTICAL-ALIGN: top; PADDING-TOP: 3px } .ga-electedOfficials { MARGIN-LEFT: 20px } .ga-electedOfficials H1 { FONT-SIZE: 18px } .ga-electedOfficials H2 { FONT-SIZE: 12px } .ga-electedOfficials TH { FONT-WEIGHT: normal; FONT-SIZE: 10px; VERTICAL-ALIGN: middle; = TEXT-ALIGN: right } .ga-electedOfficials TD { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; = VERTICAL-ALIGN: top; PADDING-TOP: 6px } .ga-electedOfficials P { FONT-SIZE: 12px } .ga-electedOfficialsAltBg { BACKGROUND-COLOR: #ededed } .ga-electedOfficialIndividual { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; FONT-SIZE: 11px; FLOAT: left; = PADDING-BOTTOM: 12px; WIDTH: 45%; PADDING-TOP: 12px } .ga-electedOfficialIndividual H3 { FONT-SIZE: 13px; MARGIN: 0px } .ga-electedOfficialsFedState { MARGIN-LEFT: 100px } .ga-electedOfficialsImg { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid } .ga-electedOfficialsName { FONT-SIZE: 11px } .ga-electedOfficialsPartyName { MARGIN: 0px 0px 6px; FONT-STYLE: italic } .ga-electedOfficialsStateZip { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; COLOR: = #ffffff; PADDING-TOP: 2px; BACKGROUND-COLOR: #333333 } .ga-electedOfficialsStateLeft { FLOAT: left; WIDTH: 120px; TEXT-ALIGN: center } .ga-electedOfficialsStateRight { MARGIN-LEFT: 140px; WIDTH: auto } .ga-electedOfficialsStateRight P { FONT-SIZE: 12px; MARGIN: 0px } .ga-electedOfficialsStateRight LI { FONT-SIZE: 12px } .ga-electedOfficialsText { FONT-SIZE: 10px } .ga-electedOfficialsZipButton { MARGIN-LEFT: 60px } .ga-home { WIDTH: 100% } .ga-homeSidebar { BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000 1px = solid; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: 0px; MARGIN: = 10px; BORDER-LEFT: #000 1px solid; WIDTH: 220px; PADDING-TOP: 0px; = BORDER-BOTTOM: #000 1px solid; BACKGROUND-COLOR: #e5e5e5 } .ga-homeSidebar FORM { MARGIN: 0px } .ga-homeSidebar INPUT { FONT-SIZE: 13px } .ga-homeDonations { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeTellFriend { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeElectedOfficials { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeCurrentMembers { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeSignup { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeMemberSince { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeDonations H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeTellFriend H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeElectedOfficials H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeCurrentMembers H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeSignup H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeMemberSince H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeTellFriend P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeElectedOfficials P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeCurrentMembers P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeSignup P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeMemberSince P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeArrow { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 3px; BORDER-RIGHT-WIDTH: 0px } .ga-homeForgotPassword { FONT-SIZE: 10px } .ga-homeLower { CLEAR: both; MARGIN: 0px; WIDTH: 100%; BACKGROUND-COLOR: transparent } .ga-homeLower A { FONT-WEIGHT: bold } .ga-homeLower H1 { BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px = solid; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 14px; = PADDING-BOTTOM: 2px; MARGIN: 10px 0px; BORDER-LEFT: #000 1px solid; = PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; BACKGROUND-COLOR: = #e5e5e5 } .ga-homeLower TABLE { MARGIN: 3px 0px } .ga-homeLower TD { VERTICAL-ALIGN: top } .ga-homeDonations P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-petition { WIDTH: 100% } .ga-petition TD { VERTICAL-ALIGN: top } .ga-petitionColumn1 { FLOAT: left; WIDTH: 60% } .ga-petitionColumn2 { MARGIN-LEFT: 65%; WIDTH: 30% } .ga-petitionSign { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; WIDTH: 100%; PADDING-TOP: 0px; BACKGROUND-COLOR: #fff } .ga-petitionSignContent { BORDER-RIGHT: #7c1b1d 2px solid; BORDER-TOP: #7c1b1d 2px solid; = BORDER-LEFT: #7c1b1d 2px solid; BORDER-BOTTOM: #7c1b1d 2px solid } .ga-petitionSign P { FONT-WEIGHT: normal; FONT-SIZE: 10px; MARGIN: 2px 0px } .ga-petitionSign H1 { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-WEIGHT: bold; FONT-SIZE: = 18px; PADDING-BOTTOM: 6px; MARGIN: 0px; COLOR: #fff; PADDING-TOP: 6px; = FONT-STYLE: italic; BACKGROUND-COLOR: #7c1b1d; TEXT-ALIGN: center } .ga-petitionSign H2 { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 13px; PADDING-BOTTOM: = 3px; MARGIN: 0px; COLOR: #000; PADDING-TOP: 3px } .ga-petitionSign LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN: 0px } .ga-petitionCheckboxHeader P { FONT-SIZE: 12px } .ga-petitionCheckboxItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-petitionCheckboxLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } .ga-petitionContent TD { WIDTH: 100% } .ga-petitionDate { FONT-SIZE: 12px } .ga-petitionDateHeader { FONT-SIZE: 10px } .ga-petitionFloat { FONT-SIZE: 12px } .ga-petitionFloatHeader { FONT-SIZE: 10px } .ga-petitionInput { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .ga-petitionInt { FONT-SIZE: 12px } .ga-petitionIntHeader { FONT-SIZE: 10px } .ga-petitionMultiselect { FONT-SIZE: 10px; MARGIN-BOTTOM: 8px } .ga-petitionMultiselectHeader { FONT-SIZE: 10px } .ga-petitionPrefixHeader { FONT-SIZE: 10px } .ga-petitionMsg { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; TOP: 0px } .ga-petitionRadioAcrossItem { DISPLAY: inline } .ga-petitionRadioDownItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-petitionRadioHeader { FONT-SIZE: 10px } .ga-petitionRadioLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 12px } SELECT.ga-petitionSelect { FONT-SIZE: 12px; MARGIN-BOTTOM: 8px } .ga-petitionSelectHeader { FONT-SIZE: 10px } .ga-petitionSignButtonTop { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: = 16px; PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: = #7c1b1d 2px solid; BACKGROUND-COLOR: #7c1b1d; TEXT-ALIGN: center } .ga-petitionSignButtonBottom { PADDING-RIGHT: 3px; BORDER-TOP: #7c1b1d 2px solid; PADDING-LEFT: 3px; = FONT-WEIGHT: bold; FONT-SIZE: 16px; PADDING-BOTTOM: 3px; MARGIN: 0px; = PADDING-TOP: 3px; BACKGROUND-COLOR: #7c1b1d; TEXT-ALIGN: center } .ga-petitionLogout { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-SIZE: 10px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } .ga-petitionTargets { PADDING-RIGHT: 0px; BORDER-TOP: #000 1px dashed; PADDING-LEFT: 0px; = FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: = 10px; COLOR: #000; PADDING-TOP: 10px; BORDER-BOTTOM: #000 1px dashed; = TEXT-ALIGN: left } .ga-petitionTargets H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; COLOR: #000; PADDING-TOP: 0px; TEXT-ALIGN: left } .ga-petitionTargets UL { FONT-WEIGHT: normal; FONT-SIZE: 11px; LIST-STYLE-IMAGE: = url(/campaign-images/flash_arrow.gif) } .ga-petitionTitle { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: = 16px; PADDING-BOTTOM: 10px; MARGIN: 20px 0px 0px; PADDING-TOP: 0px; = BORDER-BOTTOM: #000 1px dashed } .ga-petitionText { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: = 12px; PADDING-BOTTOM: 4px; COLOR: #000; PADDING-TOP: 4px; TEXT-ALIGN: = left } .ga-signUp TH { WIDTH: 180px } .ga-signUpListserve { MARGIN-BOTTOM: 20px } .ga-signUpListserve INPUT { MARGIN-LEFT: 40px } .ga-signUpCenter { =09 } .ga-signUpBlurb { =09 } .ga-tellFriend { MARGIN: 0px 4px } .ga-tellFriend INPUT { FONT-SIZE: 12px } .ga-tellFriend TABLE { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; MARGIN-LEFT: 0px; BORDER-RIGHT-WIDTH: 0px } .ga-tellFriend TD { VERTICAL-ALIGN: top } .ga-tellFriend TH { FONT-WEIGHT: bold; FONT-SIZE: 12px; VERTICAL-ALIGN: top; WIDTH: 40%; = TEXT-ALIGN: left } .ga-tellFriendEmail INPUT { MARGIN: 0px 0px 6px } .ga-tellFriendExplain { MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 10px } .ga-tellFriendExport { TEXT-ALIGN: center } .ga-tellFriendFirstName { FONT-SIZE: 10px } .ga-tellFriendLastName { FONT-SIZE: 10px } .ga-tellFriendHeader { MARGIN: 10px 0px 20px } .ga-tellFriendInsertAddressBook { FONT-SIZE: 10px } .ga-petitionTellMeMore { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: normal; = FONT-SIZE: 9px; PADDING-BOTTOM: 10px; COLOR: #000; PADDING-TOP: 10px; = TEXT-ALIGN: right } .ga-petitionSignedBy { BORDER-TOP: #000 1px dashed; PADDING-TOP: 10px } .ga-petitionSignedBy P { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000 } #ga-donationTxnFields INPUT { WIDTH: 100px } #ga-donationTxnFields .ga-CheckBoxItem INPUT { WIDTH: 20px } #ga-donationTxnFields .ga-RadioDownItem INPUT { WIDTH: 20px } #ga-donationTxnFields .ga-RadioAcrossItem INPUT { WIDTH: 20px } .ga-petitionConfirm2 H1 { FONT-SIZE: 13px } .ga-petitionConfirm2 H2 { FONT-SIZE: 12px } .ga-petitionConfirm2 P { FONT-SIZE: 12px } .ga-lte { MARGIN: 0px auto; WIDTH: 95% } .ga-lteTitle { FONT-SIZE: 24px; MARGIN: 0px 0px 8px } .ga-lteShortExplanation { MARGIN: 0px 0px 32px } .ga-lteSearchZip FORM { MARGIN: 16px auto 4px; WIDTH: 300px } .ga-lteSearchZip LABEL { DISPLAY: block; FONT-WEIGHT: bold; MARGIN: 0px 0px 4px } .ga-lteSearchZip INPUT { FONT-SIZE: 14px } .ga-lteColumns { CLEAR: both } .ga-lteColumn1-2 { VERTICAL-ALIGN: top } .ga-lteColumn2-2 { VERTICAL-ALIGN: top } .ga-lteColumn1-2 { CLEAR: left; FLOAT: left; WIDTH: 48% } .ga-lteColumn2-2 { FLOAT: right; WIDTH: 48% } .ga-lteStep { CLEAR: right } .ga-lteStep .ga-highlight { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 0px 10px 12px 0px; PADDING-TOP: 0px } .ga-lteInfo { PADDING-RIGHT: 12px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-lteInfo H2 { FONT-SIZE: 13px; MARGIN: 0px 0px 3px } .ga-lteTargets H2 { FONT-SIZE: 13px; MARGIN: 0px 0px 3px } .ga-lteLetter H2 { FONT-SIZE: 13px; MARGIN: 0px 0px 3px } .ga-lteInstructions { FONT-SIZE: 11px; MARGIN: 4px 0px 12px 32px; COLOR: #555 } .ga-lte .ga-campaignInstructions { FONT-SIZE: 11px; MARGIN: 4px 0px 12px 32px; COLOR: #555 } .ga-ltePersonalInformation { FONT-SIZE: 11px; MARGIN: 24px 0px 0px; COLOR: #555 } .ga-lteTargetList { BORDER-RIGHT: #cecece 1px solid; BORDER-TOP: #cecece 1px solid; = OVERFLOW: auto; BORDER-LEFT: #cecece 1px solid; WIDTH: 87%; = BORDER-BOTTOM: #cecece 1px solid; HEIGHT: 250px } .ga-lteTargetList H3 { PADDING-RIGHT: 10px; PADDING-LEFT: 16px; FONT-SIZE: 12px; BACKGROUND: = url(/images/css/menu_highlight_gray.gif) #555 repeat-x left top; = PADDING-BOTTOM: 8px; MARGIN: 0px 0px 12px; PADDING-TOP: 8px; = BORDER-BOTTOM: #b3b3b3 1px solid } .ga-lteTargetList .ga-options { MARGIN: 0px 12px 12px } .ga-lteTargetList .ga-options .ga-label { MARGIN: 0px 0px 0px 24px } .ga-lteTargetList .ga-label LABEL { FONT-WEIGHT: normal; FONT-SIZE: 12px } .ga-lteResetCampaign { FONT-SIZE: 11px; MARGIN: 8px 0px 0px 36px } .ga-lte .ga-insetBox { CLEAR: left; MARGIN-TOP: 16px } .ga-lteSubject { CLEAR: left; MARGIN: 12px 0px } .ga-lteSubject LABEL { FONT-WEIGHT: bold; FONT-SIZE: 12px } .ga-lteSalutation { FONT-WEIGHT: bold; FONT-SIZE: 11px } .ga-lteLetter { MARGIN-TOP: 16px; FLOAT: left; WIDTH: 70% } .ga-lteLetter TEXTAREA { WIDTH: 100%; HEIGHT: 300px } .ga-lte .ga-campaignClosing { FONT-SIZE: 11px; MARGIN: 8px 0px 0px } .ga-lteWordCount { FONT-SIZE: 11px; FLOAT: right; MARGIN: 8px 0px 0px; WIDTH: 150px; = COLOR: #555; TEXT-ALIGN: right } .ga-lteWordCount H3 { FONT-WEIGHT: normal; FONT-SIZE: 13px; MARGIN: 0px; COLOR: #ffad21 } .ga-lteTalkingPoints { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; FONT-SIZE: 11px; FLOAT: left; = PADDING-BOTTOM: 0px; WIDTH: 23%; COLOR: #555; PADDING-TOP: 0px } .ga-lteTalkingPoints H3 { FONT-SIZE: 11px; MARGIN: 96px 0px 12px } .ga-lteTalkingPoints UL { PADDING-RIGHT: 0px; PADDING-LEFT: 30px; PADDING-BOTTOM: 0px; MARGIN: = 0px; COLOR: #333; PADDING-TOP: 0px; LIST-STYLE-TYPE: square } .ga-lteTalkingPoints LI { FONT-SIZE: 11px; MARGIN: 0px 0px 12px } .ga-lteSendBtn { CLEAR: both } .ga-lteSendBtn INPUT { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: = 2px; PADDING-TOP: 2px } #ga-donationLayout { =09 } #ga-donationHeader { =09 } #ga-donationCols { WIDTH: 100% } #ga-donationCols TD#ga-donationCol1-2 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; = VERTICAL-ALIGN: top; PADDING-TOP: 8px } #ga-donationCols TD#ga-donationCol2-2 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; = VERTICAL-ALIGN: top; PADDING-TOP: 8px } #ga-donationCols TD#ga-donationCol1-2 { WIDTH: 50% } #ga-donationCols TD#ga-donationCol2-2 { WIDTH: 50% } .ga-donationPaymentLabel { FONT-SIZE: 11px; MARGIN: 8px 0px } #ga-donationAmtFields { WIDTH: 100% } #ga-donationAmtFields TD { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 4px; = VERTICAL-ALIGN: top; PADDING-TOP: 4px } #ga-donationAmtFields TD.ga-donationAmount { PADDING-TOP: 6px } #ga-donationAmtFields TD.ga-donationLabel { PADDING-TOP: 6px } #ga-donationOtherAmt TD { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; = VERTICAL-ALIGN: top; PADDING-TOP: 0px } #ga-donationOtherAmt .ga-donationMinMax { MARGIN-TOP: 8px; FONT-SIZE: 11px; COLOR: #555 } .ga-donationTxnHeader { MARGIN: 8px 0px } #ga-donationTxnFieldsPrompt { CLEAR: left } #ga-donationTxnFields LABEL { FONT-WEIGHT: bold; FONT-SIZE: 11px } #ga-donationTxnFields INPUT { WIDTH: 100px } #ga-donationTxnFields .ga-CheckBoxItem INPUT { WIDTH: 20px } #ga-donationTxnFields .ga-RadioDownItem INPUT { WIDTH: 20px } #ga-donationTxnFields .ga-RadioAcrossItem INPUT { WIDTH: 20px } .ga-donationTxnFooter { CLEAR: left } .ga-donationFormHeader { FONT-SIZE: 11px; MARGIN: 8px 0px } #ga-donationCCFields { MARGIN: 8px 0px } .ga-donationLogout { FONT-SIZE: 11px; MARGIN: 6px 0px } #ga-donationFields LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px } #ga-donationReadOnlyFields LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px } #ga-donationCCFields LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px } #ga-donationFields INPUT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationFields SELECT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationFields OPTION { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationCCFields INPUT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationCCFields SELECT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationCCFields OPTION { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationOptIn { MARGIN-TOP: 16px; MARGIN-BOTTOM: 16px } .ga-donationCheckboxHeader P { FONT-SIZE: 12px } .ga-donationCheckboxItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-donationCheckboxLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } #ga-donationPaymentSchedule { MARGIN-TOP: 24px } #ga-donationPaymentSchedule LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px } #ga-donationInstallmentText { FONT-SIZE: 11px } #ga-donationRecurringText { FONT-SIZE: 11px } .ga-donationSubmit { TEXT-ALIGN: center } .ga-donationSubmit INPUT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationFooter { =09 } #ga-donationConfirm H2 { FONT-SIZE: 13px } #ga-donationConfirm H3 { FONT-SIZE: 12px } #ga-donationConfirm TH { FONT-SIZE: 12px } #ga-donationConfirm TH { FONT-SIZE: 11px } #ga-donationConfirm TD { FONT-SIZE: 11px } #ga-donationConfirm TH { VERTICAL-ALIGN: top; TEXT-ALIGN: left } #ga-donationConfirm .section { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 8px; = PADDING-TOP: 8px; BORDER-BOTTOM: #555 1px solid } #ga-donationFields DIV.ga-optIn { FLOAT: none; WIDTH: 100% } #ga-donationFields DIV.ga-alert { CLEAR: left } .ga-optIn INPUT { FLOAT: left; MARGIN-BOTTOM: 8px } .ga-optIn INPUT { FLOAT: left; MARGIN-BOTTOM: 8px } .ga-rememberMe INPUT { FLOAT: left; MARGIN-BOTTOM: 8px } .ga-optIn LABEL { CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; = FONT-WEIGHT: normal; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 0px; = MARGIN: 0px 0px 8px; WIDTH: 85%; PADDING-TOP: 4px; TEXT-ALIGN: left } .ga-rememberMe LABEL { CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; = FONT-WEIGHT: normal; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 0px; = MARGIN: 0px 0px 8px; WIDTH: 85%; PADDING-TOP: 4px; TEXT-ALIGN: left } #ga-donationThankYou H3 { FONT-SIZE: 12px } #ga-donationThankYou .ga-nextStepsBlurb { =09 } #ga-donationThankYou .ga-tellFriendBlurb { =09 } #ga-donationThankYou .ga-receiptBlurb { =09 } #ga-donationThankYou .ga-smpBlurb { =09 } .ga-badge H3 { BORDER-TOP: #ccc 1px solid; PADDING-TOP: 24px } .ga-badge H4 { MARGIN-TOP: 24px; MARGIN-BOTTOM: 0px } .ga-badge H5 { FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN: 0px } .ga-badge TEXTAREA { FONT-SIZE: 11px; WIDTH: 85%; COLOR: #333; FONT-FAMILY: monospace; = WHITE-SPACE: pre; HEIGHT: 70px } .ga-communityLink { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; PADDING-BOTTOM: 1px; = VERTICAL-ALIGN: top; WIDTH: 100%; PADDING-TOP: 1px; TEXT-ALIGN: right } #ga-updateProfileBtn { CLEAR: both } .ga-relationshipHeader { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 12px; = PADDING-TOP: 12px; BORDER-BOTTOM: #555 1px dotted } .ga-relationshipSteps { WIDTH: 100%; BORDER-COLLAPSE: collapse } .ga-relationshipSteps TD { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: #ccc 1px = solid; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px solid } .ga-relationshipSteps TH { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: #ccc 1px = solid; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px solid } .ga-relationshipSteps TD { WIDTH: 50% } .ga-step1 { PADDING-LEFT: 17px; BACKGROUND: url(/images/events/icon_Step1.gif) = no-repeat left center } .ga-step2 { PADDING-LEFT: 17px; BACKGROUND: url(/images/events/icon_Step2.gif) = no-repeat left center } .ga-step1Lg { PADDING-LEFT: 30px; BACKGROUND: url(/images/events/icon_Step1_lg.gif) = no-repeat left center } .ga-step2Lg { PADDING-LEFT: 30px; BACKGROUND: url(/images/events/icon_Step2_lg.gif) = no-repeat left center } .ga-privacy { MARGIN-LEFT: 20px } .ga-privacy H1 { FONT-WEIGHT: bold; FONT-SIZE: 18px } .ga-privacyGoBack { FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN: 20px 0px } .ga-signUp { =09 } .ga-signUpBlurb { =09 } .ga-signUp TH { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 12px; PADDING-BOTTOM: = 4px; VERTICAL-ALIGN: top; PADDING-TOP: 4px; TEXT-ALIGN: left } .ga-signUp TD { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 12px; PADDING-BOTTOM: = 4px; VERTICAL-ALIGN: top; PADDING-TOP: 4px; TEXT-ALIGN: left } .ga-signUp TH { WIDTH: 180px } .ga-signUpListserve { MARGIN-BOTTOM: 20px } .ga-signUpListserve INPUT { MARGIN-LEFT: 40px } .ga-signUpCenter { =09 } .ga-tellFriend { MARGIN: 0px 4px } .ga-tellFriendHeader { MARGIN: 10px 0px 20px } .ga-tellFriend INPUT { FONT-SIZE: 12px } .ga-tellFriend TABLE { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; MARGIN-LEFT: 0px; BORDER-RIGHT-WIDTH: 0px } .ga-tellFriend TD { VERTICAL-ALIGN: top } .ga-tellFriend TH { FONT-WEIGHT: bold; FONT-SIZE: 12px; VERTICAL-ALIGN: top; WIDTH: 40%; = TEXT-ALIGN: left } .ga-tellFriendEmail INPUT { MARGIN: 0px 0px 6px } .ga-tellFriendExplain { MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 10px } .ga-tellFriendFirstName { FONT-SIZE: 10px } .ga-tellFriendLastName { FONT-SIZE: 10px } .ga-tellFriendInsertAddressBook { FONT-SIZE: 10px } .ga-tellFriendExport { TEXT-ALIGN: center } .ga-welcomeMember { =09 } .ga-welcomeMemberTable { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; MARGIN-LEFT: 20px; BORDER-RIGHT-WIDTH: 0px } .ga-welcomeMemberTable TD { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px; BACKGROUND-COLOR: #efefe7 } .ga-callctrTitle { PADDING-RIGHT: 4px; BORDER-TOP: #555 1px solid; MARGIN-TOP: 24px; = PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; COLOR: #000; PADDING-TOP: 4px; = BACKGROUND-COLOR: #eee } .ga-callctrInstructions { BORDER-RIGHT: #555 1px solid; PADDING-RIGHT: 12px; BORDER-TOP: #555 1px = solid; DISPLAY: none; PADDING-LEFT: 12px; FLOAT: right; PADDING-BOTTOM: = 12px; BORDER-LEFT: #555 1px solid; WIDTH: 250px; PADDING-TOP: 12px; = BORDER-BOTTOM: #555 1px solid; BACKGROUND-COLOR: #eee } .ga-callctrInstructions H1 { FONT-SIZE: 12px } .ga-addressLabel { FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-BOTTOM: 8px; PADDING-TOP: = 8px } .ga-twoColumns #ga-memberFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-campaignFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-donationFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-donationReadOnlyFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-donationCCFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-memberFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-campaignFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-donationFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-donationReadOnlyFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-donationCCFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-donationTxnFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; FLOAT: left; MARGIN-BOTTOM: 2px; = WIDTH: 33%; HEIGHT: 100% } .ga-twoColumns #ga-donationTxnFields .ga-fieldInput { FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 64% } .ga-twoColumns #ga-campaignFields LABEL { TEXT-ALIGN: right } .ga-twoColumns #ga-memberFields .ga-fieldInput LABEL { DISPLAY: block; FLOAT: none; WIDTH: auto } .ga-twoColumns #ga-memberFields .ga-fieldInput .ga-fieldInput { DISPLAY: block; FLOAT: none; WIDTH: auto } .ga-twoColumns #ga-memberFields LABEL { CLEAR: left } .ga-twoColumns #ga-memberFields .ga-fieldInput LABEL { CLEAR: left } .ga-twoColumns #ga-memberFields .ga-fieldErrorMsg { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } .ga-twoColumns #ga-memberFields .ga-field { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } .ga-twoColumns #ga-memberFields .ga-fieldError { BACKGROUND-COLOR: transparent } .ga-twoColumns #ga-memberFields .ga-fieldError .ga-fieldInput { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px; BACKGROUND-COLOR: #ffcccc } .ga-twoColumns .ga-field#ga-listserves-fld { CLEAR: left; MARGIN-LEFT: 85px; WIDTH: 70% } .ga-twoColumns .ga-field#ga-listserves-fld .ga-campaignCheckboxLabel { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 3px; FLOAT: left; = PADDING-BOTTOM: 0px; WIDTH: 80%; PADDING-TOP: 0px } .ga-twoColumns .ga-field#ga-listserves-fld .ga-fieldInput INPUT { FLOAT: left } .ga-twoColumns .ga-optIn { CLEAR: left; MARGIN-LEFT: 85px } .ga-twoColumns .ga-campaignCCMember { CLEAR: left; MARGIN-LEFT: 85px } .ga-twoColumns .ga-rememberMe { CLEAR: left; MARGIN-LEFT: 85px } .ga-twoColumns #ga-campaignFields .ga-optIn INPUT { FLOAT: left } .ga-twoColumns .ga-campaignCCMember INPUT { FLOAT: left } .ga-twoColumns #ga-campaignFields .ga-rememberMe INPUT { FLOAT: left } .ga-twoColumns #ga-campaignFields .ga-optIn LABEL { CLEAR: none; DISPLAY: block; FLOAT: left; WIDTH: 85%; TEXT-ALIGN: left } .ga-twoColumns .ga-campaignCCMember LABEL { CLEAR: none; DISPLAY: block; FLOAT: left; WIDTH: 85%; TEXT-ALIGN: left } .ga-twoColumns #ga-campaignFields .ga-rememberMe LABEL { CLEAR: none; DISPLAY: block; FLOAT: left; WIDTH: 85%; TEXT-ALIGN: left } .ga-CheckboxHeader { FONT-SIZE: 10px } .ga-CheckboxItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-CheckboxLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } .ga-Date { FONT-SIZE: 12px } .ga-DateHeader { FONT-SIZE: 10px } .ga-Float { FONT-SIZE: 12px } .ga-FloatHeader { FONT-SIZE: 10px } .ga-Input { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .ga-InputBlock { PADDING-TOP: 1px } .ga-InputText { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #000; PADDING-TOP: 3px } .ga-Int { FONT-SIZE: 12px } .ga-IntHeader { FONT-SIZE: 10px } SELECT.ga-Multiselect { FONT-SIZE: 10px; MARGIN-BOTTOM: 8px } .ga-MultiselectHeader { FONT-SIZE: 10px } .ga-NarrowText { FONT-SIZE: 12px } .ga-NarrowTextHeader { FONT-SIZE: 10px } .ga-PrefixHeader { FONT-SIZE: 10px } .ga-RadioAcrossItem { DISPLAY: inline } .ga-RadioDownItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-RadioHeader { FONT-SIZE: 10px } .ga-RadioLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } SELECT.ga-Select { FONT-SIZE: 12px; MARGIN-BOTTOM: 8px } .ga-SelectHeader { FONT-SIZE: 10px } .ga-TextArea { FONT-SIZE: 12px } .ga-TextAreaHeader { FONT-SIZE: 10px } .ga-WideText { FONT-SIZE: 12px } .ga-WideTextHeader { FONT-SIZE: 10px } .ga-error { BORDER-RIGHT: #fee19f 2px solid; PADDING-RIGHT: 16px; BORDER-TOP: = #fee19f 2px solid; PADDING-LEFT: 52px; FONT-WEIGHT: bold; FONT-SIZE: = 11px; BACKGROUND: url(/images/css/error.gif) #ffe no-repeat 12px 10px; = PADDING-BOTTOM: 16px; MARGIN: 12px; BORDER-LEFT: #fee19f 2px solid; = COLOR: #cc0000; PADDING-TOP: 16px; BORDER-BOTTOM: #fee19f 2px solid } .ga-field LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN: 0px } .ga-fieldInput { MARGIN-BOTTOM: 8px } .ga-fieldInput LABEL { FONT-WEIGHT: normal } .ga-fieldInput TEXTAREA { WIDTH: 250px } .ga-fieldError { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; = PADDING-TOP: 6px; BACKGROUND-COLOR: #ffcccc } .ga-fieldErrorMsg { CLEAR: both } .ga-fieldErrorMsg .ga-alert { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 10px; PADDING-BOTTOM: 2px; MARGIN: 0px 0px 4px; COLOR: #cc0000; = PADDING-TOP: 0px; BORDER-BOTTOM: #cc0000 1px solid } .ga-fieldErrorMsg UL { MARGIN: 6px 0px } .ga-fieldErrorMsg LI { FONT-SIZE: 10px; COLOR: #cc0000 } .ga-fieldCategory { FONT-WEIGHT: bold; FONT-SIZE: 13px } .ga-tab { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; = PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 12px; BACKGROUND: = none transparent scroll repeat 0% 0%; FLOAT: left; BORDER-BOTTOM-WIDTH: = 0px; PADDING-BOTTOM: 0px; MARGIN: 1px -1px 0px 4px; OVERFLOW: hidden; = PADDING-TOP: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; = LIST-STYLE-TYPE: none; POSITION: relative; TOP: 0px; HEIGHT: 23px; = TEXT-ALIGN: center; BORDER-RIGHT-WIDTH: 0px } .ga-tab LI { FLOAT: left; MARGIN: 0px; LIST-STYLE-TYPE: none } .ga-tab .ga-centertab { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: = url(/images/tabbar/tab_bg.gif) repeat-x center top; PADDING-BOTTOM: 0px; = CURSOR: hand; PADDING-TOP: 0px; HEIGHT: 100% } .ga-tab#ga-activetab { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 3; BACKGROUND: none = transparent scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 1px -5px = 0px 0px; PADDING-TOP: 0px; TOP: -2px; HEIGHT: 27px! important } .ga-tab#ga-activetab .ga-centertab { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; BACKGROUND: = url(/images/tabbar/tab_active_bg.gif) repeat-x center top; = PADDING-BOTTOM: 0px; CURSOR: default; COLOR: #000; PADDING-TOP: 7px } .ga-tab A { COLOR: #004266; POSITION: relative; TOP: 5px; TEXT-DECORATION: none } .ga-tab A:link { COLOR: #004266; POSITION: relative; TOP: 5px; TEXT-DECORATION: none } .ga-tab A:hover { COLOR: #004266; POSITION: relative; TOP: 5px; TEXT-DECORATION: none } .ga-tab A:visited { COLOR: #004266; POSITION: relative; TOP: 5px; TEXT-DECORATION: none } .ga-tab#ga-activetab A { COLOR: #006699; TOP: 0px } .ga-bar { CLEAR: both; WIDTH: 100%; POSITION: relative; HEIGHT: 10px; TEXT-ALIGN: = left } .ga-bar#topbar { BACKGROUND: url(/images/top_fill.gif) repeat-x left top; TOP: -5px; = HEIGHT: 5px } .ga-bar#bottombar { CLEAR: both; BACKGROUND: url(/images/bottom_fill.gif) repeat-x left top } .ga-tab-content { BORDER-TOP-WIDTH: 0px; CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: = 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 0px; POSITION: relative; = TOP: -30px; BORDER-RIGHT-WIDTH: 0px } @media Print =20 { .ga-tab .ga-sidetab { DISPLAY: none } .ga-tab .ga-centertab { BORDER-RIGHT: #91a7b4 1px solid; BORDER-TOP: #91a7b4 1px solid; = DISPLAY: block; BORDER-LEFT: #91a7b4 1px solid; BORDER-BOTTOM: #91a7b4 = 1px solid; BACKGROUND-COLOR: #f0f0e8 } .ga-tab#ga-activetab .ga-centertab { BORDER-RIGHT: #679acc 1px solid; BORDER-TOP: #679acc 1px solid; = PADDING-BOTTOM: 0px; BORDER-LEFT: #679acc 1px solid; BORDER-BOTTOM: = #679acc 1px solid; BACKGROUND-COLOR: #cadced } .ga-bar#topbar { BORDER-RIGHT: #679acc 1px solid; BORDER-TOP: #679acc 1px solid; = Z-INDEX: 5; BORDER-LEFT: #679acc 1px solid; BORDER-BOTTOM: #679acc 1px = solid; TOP: 25px; HEIGHT: 0px } .ga-bar#bottombar { BORDER-RIGHT: #679acc 1px solid; BORDER-TOP: #679acc 1px solid; = BORDER-LEFT: #679acc 1px solid; BORDER-BOTTOM: #679acc 1px solid; = HEIGHT: 0px } } .clearfix:unknown { CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: = "." } .clearfix { DISPLAY: inline-block } HTML .clearfix { HEIGHT: 1% } .clearfix { DISPLAY: block } ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://my.care.org/flash-web.css @import url( /css/ga-public.css ); .bodybold { FONT-WEIGHT: bold } .bodybold10px { FONT-WEIGHT: bold; FONT-SIZE: 10px } .bodybold11px { FONT-WEIGHT: bold; FONT-SIZE: 11px } .bodybold12px { FONT-WEIGHT: bold; FONT-SIZE: 12px } .bodybold13px { FONT-WEIGHT: bold; FONT-SIZE: 13px } .bodybold14px { FONT-WEIGHT: bold; FONT-SIZE: 14px } .bodybold15px { FONT-WEIGHT: bold; FONT-SIZE: 15px } .body8px { FONT-SIZE: 8px } .body9px { FONT-SIZE: 9px } .body10px { FONT-SIZE: 10px } .body11px { FONT-SIZE: 11px } .body12px { FONT-SIZE: 12px } .body14px { FONT-SIZE: 14px } .body16px { FONT-SIZE: 16px } .body18px { FONT-SIZE: 18px } .bodyunderline { TEXT-DECORATION: underline } .bodyitalic { FONT-STYLE: italic } .none { LIST-STYLE-TYPE: none } .titleitalic { FONT-WEIGHT: bold; FONT-STYLE: italic } .titlebold { FONT-WEIGHT: bold } .titlebold10px { FONT-WEIGHT: bold; FONT-SIZE: 10px } .titlebold11px { FONT-WEIGHT: bold; FONT-SIZE: 11px } .titlebold12px { FONT-WEIGHT: bold; FONT-SIZE: 12px } .titlebold13px { FONT-WEIGHT: bold; FONT-SIZE: 13px } .titlebold14px { FONT-WEIGHT: bold; FONT-SIZE: 14px } .titlebold15px { FONT-WEIGHT: bold; FONT-SIZE: 15px } .titlebold16px { FONT-WEIGHT: bold; FONT-SIZE: 16px } .titlebold17px { FONT-WEIGHT: bold; FONT-SIZE: 17px } .titlebold18px { FONT-WEIGHT: bold; FONT-SIZE: 18px } .titlebold19px { FONT-WEIGHT: bold; FONT-SIZE: 19px } .titlebold20px { FONT-WEIGHT: bold; FONT-SIZE: 20px } .titlebold21px { FONT-WEIGHT: bold; FONT-SIZE: 21px } .titlebold22px { FONT-WEIGHT: bold; FONT-SIZE: 22px } .titlebold23px { FONT-WEIGHT: bold; FONT-SIZE: 23px } .titlebold24px { FONT-WEIGHT: bold; FONT-SIZE: 24px } .titlebold25px { FONT-WEIGHT: bold; FONT-SIZE: 25px } .titlebold26px { FONT-WEIGHT: bold; FONT-SIZE: 26px } .titlebold27px { FONT-WEIGHT: bold; FONT-SIZE: 27px } .titlebold28px { FONT-WEIGHT: bold; FONT-SIZE: 28px } .titlebold29px { FONT-WEIGHT: bold; FONT-SIZE: 29px } .titlebold30px { FONT-WEIGHT: bold; FONT-SIZE: 30px } .monospace { FONT-FAMILY: Courier, monospace } .roll { FONT-WEIGHT: normal; COLOR: black; TEXT-DECORATION: none } A.roll:hover { FONT-WEIGHT: normal; COLOR: #d10000; TEXT-DECORATION: none } .whitebold10px { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff } .whitebold11px { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #ffffff } .whitebold12px { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ffffff } .whitebold13px { FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #ffffff } .whitebold14px { FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #ffffff } .whitebold15px { FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #ffffff } .white8px { FONT-SIZE: 8px; COLOR: #ffffff } .white9px { FONT-SIZE: 9px; COLOR: #ffffff } .white10px { FONT-SIZE: 10px; COLOR: #ffffff } .white11px { FONT-SIZE: 11px; COLOR: #ffffff } .panelitems { FONT-WEIGHT: bold; FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, = sans-serif } ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://my.care.org/css/ga-public.css BODY { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } P { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } TD { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } TD P { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } TD UL { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } TD BLOCKQUOTE { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } BLOCKQUOTE { FONT-SIZE: 13px; COLOR: black; FONT-FAMILY: Verdana, Arial, sans-serif } BODY { POSITION: relative } A:link { COLOR: #003366 } A:visited { COLOR: #003366 } A:active { COLOR: #0000ff } .ga-alignCenter { TEXT-ALIGN: center! important } .ga-alignLeft { TEXT-ALIGN: left! important } .ga-alignRight { TEXT-ALIGN: right! important } .ga-alignTop { VERTICAL-ALIGN: top! important } .ga-alignMiddle { VERTICAL-ALIGN: middle! important } .ga-alignBottom { VERTICAL-ALIGN: bottom! important } .ga-floatLeft { FLOAT: left } .ga-floatRight { FLOAT: right } .ga-buttons { TEXT-ALIGN: right } .ga-buttons INPUT { MARGIN: 6px 4px } .ga-hdr { CLEAR: both; MARGIN-TOP: 24px; BORDER-BOTTOM: #004266 2px solid } .ga-alert { MARGIN-LEFT: 2px; COLOR: #ff0000; BOTTOM: 1px } .ga-required { CLEAR: both; FONT-SIZE: 11px; COLOR: #ff0000 } .ga-hide { DISPLAY: none } .ga-smallFont { FONT-SIZE: 10px } .ga-medFont { FONT-SIZE: 11px } .ga-largeFont { FONT-SIZE: 16px } .ga-xlargeFont { FONT-SIZE: 24px } .ga-highlight { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: = 24px; PADDING-BOTTOM: 0px; COLOR: #fff; PADDING-TOP: 0px; = BACKGROUND-COLOR: #ffad21 } .ga-center { TEXT-ALIGN: center } .ga-center TABLE { MARGIN: 0px auto; TEXT-ALIGN: left } .ga-emphasis { FONT-STYLE: italic } .ga-strong { FONT-WEIGHT: bold } #ga-content1 { WIDTH: 60%; POSITION: relative } #ga-content2 { WIDTH: 40%; POSITION: relative } #ga-content3 { CLEAR: both; POSITION: relative } .ga-formTable { WIDTH: 100% } .ga-formTable TD { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #fff 1px = solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; VERTICAL-ALIGN: top; = BORDER-LEFT: #fff 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #fff 1px = solid; BACKGROUND-COLOR: #eee } .ga-formTable TH { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #fff 1px = solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; VERTICAL-ALIGN: top; = BORDER-LEFT: #fff 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #fff 1px = solid; BACKGROUND-COLOR: #eee } .ga-formTable TH { FONT-SIZE: 11px; TEXT-ALIGN: left } .ga-formTable TD P { FONT-SIZE: 11px } .ga-dataTable { WIDTH: 100% } .ga-dataTable TD { BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #fff 1px = solid; PADDING-LEFT: 1px; FONT-SIZE: 12px; PADDING-BOTTOM: 1px; = VERTICAL-ALIGN: middle; BORDER-LEFT: #fff 1px solid; PADDING-TOP: 1px; = BORDER-BOTTOM: #fff 1px solid; BACKGROUND-COLOR: #eee; TEXT-ALIGN: left } .ga-dataTable TH { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 12px; PADDING-BOTTOM: = 2px; VERTICAL-ALIGN: top; COLOR: #fff; PADDING-TOP: 2px; = BACKGROUND-COLOR: #555; TEXT-ALIGN: left } .ga-dataTable TH.actions { TEXT-ALIGN: center } .ga-dataTable TD.actions { TEXT-ALIGN: center } .ga-dataTable TD.actions { FONT-SIZE: 11px } .ga-leftTable { BORDER-RIGHT: #555 1px solid; BORDER-TOP: #555 1px solid; BORDER-LEFT: = #555 1px solid; BORDER-BOTTOM: #555 1px solid } .ga-leftTable TD { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 12px; = PADDING-BOTTOM: 2px; VERTICAL-ALIGN: top; PADDING-TOP: 2px; = BACKGROUND-COLOR: #eee; TEXT-ALIGN: left } .ga-leftTable TH { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 12px; = PADDING-BOTTOM: 2px; VERTICAL-ALIGN: top; PADDING-TOP: 2px; = BACKGROUND-COLOR: #eee; TEXT-ALIGN: left } .ga-insetBox { BORDER-RIGHT: #fafafa 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: = #fafafa 1px solid; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; BORDER-LEFT: = #fafafa 1px solid; PADDING-TOP: 1px; BORDER-BOTTOM: #fafafa 1px solid; = BACKGROUND-COLOR: #f1f1f1 } .ga-insetBoxInner { BORDER-RIGHT: #fff 3px solid; PADDING-RIGHT: 14px; BORDER-TOP: #fff 3px = solid; PADDING-LEFT: 14px; PADDING-BOTTOM: 16px; BORDER-LEFT: #fff 3px = solid; PADDING-TOP: 4px; BORDER-BOTTOM: #fff 3px solid; = BACKGROUND-COLOR: #f2f2f2 } .ga-options INPUT { FLOAT: left } .ga-options .ga-label { MARGIN: 0px 0px 12px 24px } .ga-options .ga-label LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN-BOTTOM: 2px } .ga-campaign { MARGIN-TOP: 10px } .ga-campaign TD { VERTICAL-ALIGN: top } .ga-campaignSign { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 10px; BORDER-BOTTOM-WIDTH: 0px; = PADDING-BOTTOM: 0px; MARGIN: 0px; VERTICAL-ALIGN: top; WIDTH: 219px; = PADDING-TOP: 0px; BACKGROUND-COLOR: #f0f0f0; BORDER-RIGHT-WIDTH: 0px } .ga-campaignSign P { FONT-SIZE: 10px; MARGIN: 10px 0px 0px 6px } .ga-campaignSign H3 { FONT-SIZE: 11px; MARGIN: 2px 0px } .ga-campaignSign LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN: 0px } .ga-campaignTakeAction { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; PADDING-BOTTOM: 4px; COLOR: #fff; PADDING-TOP: 4px; FONT-FAMILY: = Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #000 } .ga-campaignSendTo { PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000; = PADDING-TOP: 8px; TEXT-ALIGN: left } .ga-campaignTargets { FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #000; TEXT-ALIGN: left } .ga-campaignTargets UL { FONT-WEIGHT: normal; FONT-SIZE: 10px; LIST-STYLE-IMAGE: = url(/campaign-images/flash_arrow.gif); LINE-HEIGHT: 1.5em } .ga-campaignInstructions { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 10px 0px; COLOR: #ff0000; PADDING-TOP: 0px } #ga-campaignFields { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px } .ga-campaignCheckboxHeader P { FONT-SIZE: 12px } .ga-campaignCheckboxItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-campaignCheckboxLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } .ga-campaignRadioAcrossItem { DISPLAY: inline } .ga-campaignRadioDownItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-campaignRadioLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 12px } .ga-campaignCCMember INPUT { FLOAT: left; MARGIN-BOTTOM: 8px } .ga-campaignCCMember LABEL { CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; = FONT-WEIGHT: normal; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 0px; = MARGIN: 0px 0px 8px; WIDTH: 85%; PADDING-TOP: 4px; TEXT-ALIGN: left } .ga-campaignSendBtn { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; = PADDING-TOP: 6px } #ga-campaignIcon { FLOAT: left; MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 5px } .ga-campaignTalkingPoints { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-campaignTalkingPoints H3 { FONT-SIZE: 11px; MARGIN: 0px 0px 12px } .ga-campaignTalkingPoints UL { PADDING-RIGHT: 0px; PADDING-LEFT: 30px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: square } .ga-campaignTalkingPoints LI { FONT-SIZE: 11px; MARGIN: 0px 0px 12px } .ga-campaignLetter { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 0px; = VERTICAL-ALIGN: top; PADDING-TOP: 0px } .ga-campaignLetter .flashtitle { MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 18px; MARGIN-BOTTOM: = 1px; COLOR: #000; FONT-FAMILY: Georgia, "Times New Roman", Times, serif } .ga-campaignShortExplanation { FONT-WEIGHT: normal; FONT-SIZE: 13px; MARGIN: 12px 0px; COLOR: #000 } .ga-campaignTellMeMore { FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #000 } .ga-campaignSalutation { FONT-WEIGHT: bold } .ga-campaignEditLetter { FONT-SIZE: 11px; MARGIN-BOTTOM: 0px } .ga-campaignSubject { FONT-WEIGHT: bold } .ga-campaignClosing { FONT-SIZE: 12px; MARGIN: 8px 0px 0px } .ga-campaignClosing P { FONT-SIZE: 12px } .ga-campaignResponded { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; = PADDING-TOP: 8px } .ga-campaignResponded H2 { FONT-SIZE: 12px } .ga-campaignResponded H3 { FONT-SIZE: 11px; MARGIN: 6px } .ga-campaignLogout { FONT-SIZE: 11px; MARGIN: 6px } .ga-campaignConfirm { =09 } .ga-campaignConfirm H1 { FONT-SIZE: 18px } .ga-campaignConfirm INPUT { MARGIN: 10px 0px } .ga-campaignConfirm TH { VERTICAL-ALIGN: top; TEXT-ALIGN: left } .ga-campaignConfirm TD { VERTICAL-ALIGN: top; TEXT-ALIGN: left } .ga-campaignConfirm2 { =09 } .ga-campaignConfirm2 H1 { FONT-SIZE: 13px } .ga-campaignConfirm2 H2 { FONT-SIZE: 12px } .ga-campaignConfirm2 P { FONT-SIZE: 12px } .ga-campaignConfirm2 .ga-sendingMessageBlurb { =09 } .ga-campaignConfirm2 .ga-tellFriendBlurb { =09 } .ga-campaignConfirm2 .ga-smpBlurb { =09 } .ga-campaignAlerts H1 { FONT-SIZE: 16px } .ga-campaignAlertsCurrent { =09 } .ga-campaignAlertsPast { =09 } .ga-campaignAlertsTitle { =09 } .ga-campaignAlertsTitle A { FONT-WEIGHT: normal; TEXT-DECORATION: underline } .ga-campaignAlertsFeedback { FONT-WEIGHT: normal; COLOR: #990000 } .ga-whatsAtStake { =09 } .ga-whatsAtStake H1 { FONT-SIZE: 16px; COLOR: #000 } .ga-whatsAtStakeText { =09 } .ga-whatsAtStakeFooter A { FONT-SIZE: x-small; TEXT-DECORATION: underline } .ga-contact H1 { FONT-SIZE: 16px } .ga-contact TABLE { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } .ga-contact TD { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 3px; = VERTICAL-ALIGN: top; PADDING-TOP: 3px } .ga-electedOfficials { MARGIN-LEFT: 20px } .ga-electedOfficials H1 { FONT-SIZE: 18px } .ga-electedOfficials H2 { FONT-SIZE: 12px } .ga-electedOfficials TH { FONT-WEIGHT: normal; FONT-SIZE: 10px; VERTICAL-ALIGN: middle; = TEXT-ALIGN: right } .ga-electedOfficials TD { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; = VERTICAL-ALIGN: top; PADDING-TOP: 6px } .ga-electedOfficials P { FONT-SIZE: 12px } .ga-electedOfficialsAltBg { BACKGROUND-COLOR: #ededed } .ga-electedOfficialIndividual { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; FONT-SIZE: 11px; FLOAT: left; = PADDING-BOTTOM: 12px; WIDTH: 45%; PADDING-TOP: 12px } .ga-electedOfficialIndividual H3 { FONT-SIZE: 13px; MARGIN: 0px } .ga-electedOfficialsFedState { MARGIN-LEFT: 100px } .ga-electedOfficialsImg { BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; = BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid } .ga-electedOfficialsName { FONT-SIZE: 11px } .ga-electedOfficialsPartyName { MARGIN: 0px 0px 6px; FONT-STYLE: italic } .ga-electedOfficialsStateZip { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; COLOR: = #ffffff; PADDING-TOP: 2px; BACKGROUND-COLOR: #333333 } .ga-electedOfficialsStateLeft { FLOAT: left; WIDTH: 120px; TEXT-ALIGN: center } .ga-electedOfficialsStateRight { MARGIN-LEFT: 140px; WIDTH: auto } .ga-electedOfficialsStateRight P { FONT-SIZE: 12px; MARGIN: 0px } .ga-electedOfficialsStateRight LI { FONT-SIZE: 12px } .ga-electedOfficialsText { FONT-SIZE: 10px } .ga-electedOfficialsZipButton { MARGIN-LEFT: 60px } .ga-home { WIDTH: 100% } .ga-homeSidebar { BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000 1px = solid; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: 0px; MARGIN: = 10px; BORDER-LEFT: #000 1px solid; WIDTH: 220px; PADDING-TOP: 0px; = BORDER-BOTTOM: #000 1px solid; BACKGROUND-COLOR: #e5e5e5 } .ga-homeSidebar FORM { MARGIN: 0px } .ga-homeSidebar INPUT { FONT-SIZE: 13px } .ga-homeDonations { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeTellFriend { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeElectedOfficials { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeCurrentMembers { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeSignup { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeMemberSince { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 6px; MARGIN: 4px = 6px; PADDING-TOP: 6px } .ga-homeDonations H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeTellFriend H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeElectedOfficials H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeCurrentMembers H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeSignup H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeMemberSince H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeTellFriend P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeElectedOfficials P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeCurrentMembers P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeSignup P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeMemberSince P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-homeArrow { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 3px; BORDER-RIGHT-WIDTH: 0px } .ga-homeForgotPassword { FONT-SIZE: 10px } .ga-homeLower { CLEAR: both; MARGIN: 0px; WIDTH: 100%; BACKGROUND-COLOR: transparent } .ga-homeLower A { FONT-WEIGHT: bold } .ga-homeLower H1 { BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px = solid; PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 14px; = PADDING-BOTTOM: 2px; MARGIN: 10px 0px; BORDER-LEFT: #000 1px solid; = PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; BACKGROUND-COLOR: = #e5e5e5 } .ga-homeLower TABLE { MARGIN: 3px 0px } .ga-homeLower TD { VERTICAL-ALIGN: top } .ga-homeDonations P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 13px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .ga-petition { WIDTH: 100% } .ga-petition TD { VERTICAL-ALIGN: top } .ga-petitionColumn1 { FLOAT: left; WIDTH: 60% } .ga-petitionColumn2 { MARGIN-LEFT: 65%; WIDTH: 30% } .ga-petitionSign { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; WIDTH: 100%; PADDING-TOP: 0px; BACKGROUND-COLOR: #fff } .ga-petitionSignContent { BORDER-RIGHT: #7c1b1d 2px solid; BORDER-TOP: #7c1b1d 2px solid; = BORDER-LEFT: #7c1b1d 2px solid; BORDER-BOTTOM: #7c1b1d 2px solid } .ga-petitionSign P { FONT-WEIGHT: normal; FONT-SIZE: 10px; MARGIN: 2px 0px } .ga-petitionSign H1 { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-WEIGHT: bold; FONT-SIZE: = 18px; PADDING-BOTTOM: 6px; MARGIN: 0px; COLOR: #fff; PADDING-TOP: 6px; = FONT-STYLE: italic; BACKGROUND-COLOR: #7c1b1d; TEXT-ALIGN: center } .ga-petitionSign H2 { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 13px; PADDING-BOTTOM: = 3px; MARGIN: 0px; COLOR: #000; PADDING-TOP: 3px } .ga-petitionSign LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN: 0px } .ga-petitionCheckboxHeader P { FONT-SIZE: 12px } .ga-petitionCheckboxItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-petitionCheckboxLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } .ga-petitionContent TD { WIDTH: 100% } .ga-petitionDate { FONT-SIZE: 12px } .ga-petitionDateHeader { FONT-SIZE: 10px } .ga-petitionFloat { FONT-SIZE: 12px } .ga-petitionFloatHeader { FONT-SIZE: 10px } .ga-petitionInput { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .ga-petitionInt { FONT-SIZE: 12px } .ga-petitionIntHeader { FONT-SIZE: 10px } .ga-petitionMultiselect { FONT-SIZE: 10px; MARGIN-BOTTOM: 8px } .ga-petitionMultiselectHeader { FONT-SIZE: 10px } .ga-petitionPrefixHeader { FONT-SIZE: 10px } .ga-petitionMsg { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; TOP: 0px } .ga-petitionRadioAcrossItem { DISPLAY: inline } .ga-petitionRadioDownItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-petitionRadioHeader { FONT-SIZE: 10px } .ga-petitionRadioLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 12px } SELECT.ga-petitionSelect { FONT-SIZE: 12px; MARGIN-BOTTOM: 8px } .ga-petitionSelectHeader { FONT-SIZE: 10px } .ga-petitionSignButtonTop { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: = 16px; PADDING-BOTTOM: 3px; MARGIN: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: = #7c1b1d 2px solid; BACKGROUND-COLOR: #7c1b1d; TEXT-ALIGN: center } .ga-petitionSignButtonBottom { PADDING-RIGHT: 3px; BORDER-TOP: #7c1b1d 2px solid; PADDING-LEFT: 3px; = FONT-WEIGHT: bold; FONT-SIZE: 16px; PADDING-BOTTOM: 3px; MARGIN: 0px; = PADDING-TOP: 3px; BACKGROUND-COLOR: #7c1b1d; TEXT-ALIGN: center } .ga-petitionLogout { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; FONT-SIZE: 10px; PADDING-BOTTOM: = 10px; PADDING-TOP: 10px } .ga-petitionTargets { PADDING-RIGHT: 0px; BORDER-TOP: #000 1px dashed; PADDING-LEFT: 0px; = FONT-WEIGHT: bold; FONT-SIZE: 13px; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: = 10px; COLOR: #000; PADDING-TOP: 10px; BORDER-BOTTOM: #000 1px dashed; = TEXT-ALIGN: left } .ga-petitionTargets H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 0px; MARGIN: 0px; COLOR: #000; PADDING-TOP: 0px; TEXT-ALIGN: left } .ga-petitionTargets UL { FONT-WEIGHT: normal; FONT-SIZE: 11px; LIST-STYLE-IMAGE: = url(/campaign-images/flash_arrow.gif) } .ga-petitionTitle { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: = 16px; PADDING-BOTTOM: 10px; MARGIN: 20px 0px 0px; PADDING-TOP: 0px; = BORDER-BOTTOM: #000 1px dashed } .ga-petitionText { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: = 12px; PADDING-BOTTOM: 4px; COLOR: #000; PADDING-TOP: 4px; TEXT-ALIGN: = left } .ga-signUp TH { WIDTH: 180px } .ga-signUpListserve { MARGIN-BOTTOM: 20px } .ga-signUpListserve INPUT { MARGIN-LEFT: 40px } .ga-signUpCenter { =09 } .ga-signUpBlurb { =09 } .ga-tellFriend { MARGIN: 0px 4px } .ga-tellFriend INPUT { FONT-SIZE: 12px } .ga-tellFriend TABLE { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; MARGIN-LEFT: 0px; BORDER-RIGHT-WIDTH: 0px } .ga-tellFriend TD { VERTICAL-ALIGN: top } .ga-tellFriend TH { FONT-WEIGHT: bold; FONT-SIZE: 12px; VERTICAL-ALIGN: top; WIDTH: 40%; = TEXT-ALIGN: left } .ga-tellFriendEmail INPUT { MARGIN: 0px 0px 6px } .ga-tellFriendExplain { MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 10px } .ga-tellFriendExport { TEXT-ALIGN: center } .ga-tellFriendFirstName { FONT-SIZE: 10px } .ga-tellFriendLastName { FONT-SIZE: 10px } .ga-tellFriendHeader { MARGIN: 10px 0px 20px } .ga-tellFriendInsertAddressBook { FONT-SIZE: 10px } .ga-petitionTellMeMore { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: normal; = FONT-SIZE: 9px; PADDING-BOTTOM: 10px; COLOR: #000; PADDING-TOP: 10px; = TEXT-ALIGN: right } .ga-petitionSignedBy { BORDER-TOP: #000 1px dashed; PADDING-TOP: 10px } .ga-petitionSignedBy P { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000 } #ga-donationTxnFields INPUT { WIDTH: 100px } #ga-donationTxnFields .ga-CheckBoxItem INPUT { WIDTH: 20px } #ga-donationTxnFields .ga-RadioDownItem INPUT { WIDTH: 20px } #ga-donationTxnFields .ga-RadioAcrossItem INPUT { WIDTH: 20px } .ga-petitionConfirm2 H1 { FONT-SIZE: 13px } .ga-petitionConfirm2 H2 { FONT-SIZE: 12px } .ga-petitionConfirm2 P { FONT-SIZE: 12px } .ga-lte { MARGIN: 0px auto; WIDTH: 95% } .ga-lteTitle { FONT-SIZE: 24px; MARGIN: 0px 0px 8px } .ga-lteShortExplanation { MARGIN: 0px 0px 32px } .ga-lteSearchZip FORM { MARGIN: 16px auto 4px; WIDTH: 300px } .ga-lteSearchZip LABEL { DISPLAY: block; FONT-WEIGHT: bold; MARGIN: 0px 0px 4px } .ga-lteSearchZip INPUT { FONT-SIZE: 14px } .ga-lteColumns { CLEAR: both } .ga-lteColumn1-2 { VERTICAL-ALIGN: top } .ga-lteColumn2-2 { VERTICAL-ALIGN: top } .ga-lteColumn1-2 { CLEAR: left; FLOAT: left; WIDTH: 48% } .ga-lteColumn2-2 { FLOAT: right; WIDTH: 48% } .ga-lteStep { CLEAR: right } .ga-lteStep .ga-highlight { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 0px 10px 12px 0px; PADDING-TOP: 0px } .ga-lteInfo { PADDING-RIGHT: 12px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-lteInfo H2 { FONT-SIZE: 13px; MARGIN: 0px 0px 3px } .ga-lteTargets H2 { FONT-SIZE: 13px; MARGIN: 0px 0px 3px } .ga-lteLetter H2 { FONT-SIZE: 13px; MARGIN: 0px 0px 3px } .ga-lteInstructions { FONT-SIZE: 11px; MARGIN: 4px 0px 12px 32px; COLOR: #555 } .ga-lte .ga-campaignInstructions { FONT-SIZE: 11px; MARGIN: 4px 0px 12px 32px; COLOR: #555 } .ga-ltePersonalInformation { FONT-SIZE: 11px; MARGIN: 24px 0px 0px; COLOR: #555 } .ga-lteTargetList { BORDER-RIGHT: #cecece 1px solid; BORDER-TOP: #cecece 1px solid; = OVERFLOW: auto; BORDER-LEFT: #cecece 1px solid; WIDTH: 87%; = BORDER-BOTTOM: #cecece 1px solid; HEIGHT: 250px } .ga-lteTargetList H3 { PADDING-RIGHT: 10px; PADDING-LEFT: 16px; FONT-SIZE: 12px; BACKGROUND: = url(/images/css/menu_highlight_gray.gif) #555 repeat-x left top; = PADDING-BOTTOM: 8px; MARGIN: 0px 0px 12px; PADDING-TOP: 8px; = BORDER-BOTTOM: #b3b3b3 1px solid } .ga-lteTargetList .ga-options { MARGIN: 0px 12px 12px } .ga-lteTargetList .ga-options .ga-label { MARGIN: 0px 0px 0px 24px } .ga-lteTargetList .ga-label LABEL { FONT-WEIGHT: normal; FONT-SIZE: 12px } .ga-lteResetCampaign { FONT-SIZE: 11px; MARGIN: 8px 0px 0px 36px } .ga-lte .ga-insetBox { CLEAR: left; MARGIN-TOP: 16px } .ga-lteSubject { CLEAR: left; MARGIN: 12px 0px } .ga-lteSubject LABEL { FONT-WEIGHT: bold; FONT-SIZE: 12px } .ga-lteSalutation { FONT-WEIGHT: bold; FONT-SIZE: 11px } .ga-lteLetter { MARGIN-TOP: 16px; FLOAT: left; WIDTH: 70% } .ga-lteLetter TEXTAREA { WIDTH: 100%; HEIGHT: 300px } .ga-lte .ga-campaignClosing { FONT-SIZE: 11px; MARGIN: 8px 0px 0px } .ga-lteWordCount { FONT-SIZE: 11px; FLOAT: right; MARGIN: 8px 0px 0px; WIDTH: 150px; = COLOR: #555; TEXT-ALIGN: right } .ga-lteWordCount H3 { FONT-WEIGHT: normal; FONT-SIZE: 13px; MARGIN: 0px; COLOR: #ffad21 } .ga-lteTalkingPoints { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; FONT-SIZE: 11px; FLOAT: left; = PADDING-BOTTOM: 0px; WIDTH: 23%; COLOR: #555; PADDING-TOP: 0px } .ga-lteTalkingPoints H3 { FONT-SIZE: 11px; MARGIN: 96px 0px 12px } .ga-lteTalkingPoints UL { PADDING-RIGHT: 0px; PADDING-LEFT: 30px; PADDING-BOTTOM: 0px; MARGIN: = 0px; COLOR: #333; PADDING-TOP: 0px; LIST-STYLE-TYPE: square } .ga-lteTalkingPoints LI { FONT-SIZE: 11px; MARGIN: 0px 0px 12px } .ga-lteSendBtn { CLEAR: both } .ga-lteSendBtn INPUT { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 14px; PADDING-BOTTOM: = 2px; PADDING-TOP: 2px } #ga-donationLayout { =09 } #ga-donationHeader { =09 } #ga-donationCols { WIDTH: 100% } #ga-donationCols TD#ga-donationCol1-2 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; = VERTICAL-ALIGN: top; PADDING-TOP: 8px } #ga-donationCols TD#ga-donationCol2-2 { PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 8px; = VERTICAL-ALIGN: top; PADDING-TOP: 8px } #ga-donationCols TD#ga-donationCol1-2 { WIDTH: 50% } #ga-donationCols TD#ga-donationCol2-2 { WIDTH: 50% } .ga-donationPaymentLabel { FONT-SIZE: 11px; MARGIN: 8px 0px } #ga-donationAmtFields { WIDTH: 100% } #ga-donationAmtFields TD { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 4px; = VERTICAL-ALIGN: top; PADDING-TOP: 4px } #ga-donationAmtFields TD.ga-donationAmount { PADDING-TOP: 6px } #ga-donationAmtFields TD.ga-donationLabel { PADDING-TOP: 6px } #ga-donationOtherAmt TD { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; = VERTICAL-ALIGN: top; PADDING-TOP: 0px } #ga-donationOtherAmt .ga-donationMinMax { MARGIN-TOP: 8px; FONT-SIZE: 11px; COLOR: #555 } .ga-donationTxnHeader { MARGIN: 8px 0px } #ga-donationTxnFieldsPrompt { CLEAR: left } #ga-donationTxnFields LABEL { FONT-WEIGHT: bold; FONT-SIZE: 11px } #ga-donationTxnFields INPUT { WIDTH: 100px } #ga-donationTxnFields .ga-CheckBoxItem INPUT { WIDTH: 20px } #ga-donationTxnFields .ga-RadioDownItem INPUT { WIDTH: 20px } #ga-donationTxnFields .ga-RadioAcrossItem INPUT { WIDTH: 20px } .ga-donationTxnFooter { CLEAR: left } .ga-donationFormHeader { FONT-SIZE: 11px; MARGIN: 8px 0px } #ga-donationCCFields { MARGIN: 8px 0px } .ga-donationLogout { FONT-SIZE: 11px; MARGIN: 6px 0px } #ga-donationFields LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px } #ga-donationReadOnlyFields LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px } #ga-donationCCFields LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px } #ga-donationFields INPUT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationFields SELECT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationFields OPTION { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationCCFields INPUT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationCCFields SELECT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationCCFields OPTION { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationOptIn { MARGIN-TOP: 16px; MARGIN-BOTTOM: 16px } .ga-donationCheckboxHeader P { FONT-SIZE: 12px } .ga-donationCheckboxItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-donationCheckboxLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } #ga-donationPaymentSchedule { MARGIN-TOP: 24px } #ga-donationPaymentSchedule LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px } #ga-donationInstallmentText { FONT-SIZE: 11px } #ga-donationRecurringText { FONT-SIZE: 11px } .ga-donationSubmit { TEXT-ALIGN: center } .ga-donationSubmit INPUT { FONT-WEIGHT: normal; FONT-SIZE: 12px } #ga-donationFooter { =09 } #ga-donationConfirm H2 { FONT-SIZE: 13px } #ga-donationConfirm H3 { FONT-SIZE: 12px } #ga-donationConfirm TH { FONT-SIZE: 12px } #ga-donationConfirm TH { FONT-SIZE: 11px } #ga-donationConfirm TD { FONT-SIZE: 11px } #ga-donationConfirm TH { VERTICAL-ALIGN: top; TEXT-ALIGN: left } #ga-donationConfirm .section { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 8px; = PADDING-TOP: 8px; BORDER-BOTTOM: #555 1px solid } #ga-donationFields DIV.ga-optIn { FLOAT: none; WIDTH: 100% } #ga-donationFields DIV.ga-alert { CLEAR: left } .ga-optIn INPUT { FLOAT: left; MARGIN-BOTTOM: 8px } .ga-optIn INPUT { FLOAT: left; MARGIN-BOTTOM: 8px } .ga-rememberMe INPUT { FLOAT: left; MARGIN-BOTTOM: 8px } .ga-optIn LABEL { CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; = FONT-WEIGHT: normal; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 0px; = MARGIN: 0px 0px 8px; WIDTH: 85%; PADDING-TOP: 4px; TEXT-ALIGN: left } .ga-rememberMe LABEL { CLEAR: none; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; = FONT-WEIGHT: normal; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 0px; = MARGIN: 0px 0px 8px; WIDTH: 85%; PADDING-TOP: 4px; TEXT-ALIGN: left } #ga-donationThankYou H3 { FONT-SIZE: 12px } #ga-donationThankYou .ga-nextStepsBlurb { =09 } #ga-donationThankYou .ga-tellFriendBlurb { =09 } #ga-donationThankYou .ga-receiptBlurb { =09 } #ga-donationThankYou .ga-smpBlurb { =09 } .ga-badge H3 { BORDER-TOP: #ccc 1px solid; PADDING-TOP: 24px } .ga-badge H4 { MARGIN-TOP: 24px; MARGIN-BOTTOM: 0px } .ga-badge H5 { FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN: 0px } .ga-badge TEXTAREA { FONT-SIZE: 11px; WIDTH: 85%; COLOR: #333; FONT-FAMILY: monospace; = WHITE-SPACE: pre; HEIGHT: 70px } .ga-communityLink { PADDING-RIGHT: 16px; PADDING-LEFT: 16px; PADDING-BOTTOM: 1px; = VERTICAL-ALIGN: top; WIDTH: 100%; PADDING-TOP: 1px; TEXT-ALIGN: right } #ga-updateProfileBtn { CLEAR: both } .ga-relationshipHeader { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 12px; = PADDING-TOP: 12px; BORDER-BOTTOM: #555 1px dotted } .ga-relationshipSteps { WIDTH: 100%; BORDER-COLLAPSE: collapse } .ga-relationshipSteps TD { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: #ccc 1px = solid; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px solid } .ga-relationshipSteps TH { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: #ccc 1px = solid; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px solid } .ga-relationshipSteps TD { WIDTH: 50% } .ga-step1 { PADDING-LEFT: 17px; BACKGROUND: url(/images/events/icon_Step1.gif) = no-repeat left center } .ga-step2 { PADDING-LEFT: 17px; BACKGROUND: url(/images/events/icon_Step2.gif) = no-repeat left center } .ga-step1Lg { PADDING-LEFT: 30px; BACKGROUND: url(/images/events/icon_Step1_lg.gif) = no-repeat left center } .ga-step2Lg { PADDING-LEFT: 30px; BACKGROUND: url(/images/events/icon_Step2_lg.gif) = no-repeat left center } .ga-privacy { MARGIN-LEFT: 20px } .ga-privacy H1 { FONT-WEIGHT: bold; FONT-SIZE: 18px } .ga-privacyGoBack { FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN: 20px 0px } .ga-signUp { =09 } .ga-signUpBlurb { =09 } .ga-signUp TH { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 12px; PADDING-BOTTOM: = 4px; VERTICAL-ALIGN: top; PADDING-TOP: 4px; TEXT-ALIGN: left } .ga-signUp TD { PADDING-RIGHT: 4px; PADDING-LEFT: 4px; FONT-SIZE: 12px; PADDING-BOTTOM: = 4px; VERTICAL-ALIGN: top; PADDING-TOP: 4px; TEXT-ALIGN: left } .ga-signUp TH { WIDTH: 180px } .ga-signUpListserve { MARGIN-BOTTOM: 20px } .ga-signUpListserve INPUT { MARGIN-LEFT: 40px } .ga-signUpCenter { =09 } .ga-tellFriend { MARGIN: 0px 4px } .ga-tellFriendHeader { MARGIN: 10px 0px 20px } .ga-tellFriend INPUT { FONT-SIZE: 12px } .ga-tellFriend TABLE { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; MARGIN-LEFT: 0px; BORDER-RIGHT-WIDTH: 0px } .ga-tellFriend TD { VERTICAL-ALIGN: top } .ga-tellFriend TH { FONT-WEIGHT: bold; FONT-SIZE: 12px; VERTICAL-ALIGN: top; WIDTH: 40%; = TEXT-ALIGN: left } .ga-tellFriendEmail INPUT { MARGIN: 0px 0px 6px } .ga-tellFriendExplain { MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 10px } .ga-tellFriendFirstName { FONT-SIZE: 10px } .ga-tellFriendLastName { FONT-SIZE: 10px } .ga-tellFriendInsertAddressBook { FONT-SIZE: 10px } .ga-tellFriendExport { TEXT-ALIGN: center } .ga-welcomeMember { =09 } .ga-welcomeMemberTable { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; MARGIN-LEFT: 20px; BORDER-RIGHT-WIDTH: 0px } .ga-welcomeMemberTable TD { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px; BACKGROUND-COLOR: #efefe7 } .ga-callctrTitle { PADDING-RIGHT: 4px; BORDER-TOP: #555 1px solid; MARGIN-TOP: 24px; = PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; COLOR: #000; PADDING-TOP: 4px; = BACKGROUND-COLOR: #eee } .ga-callctrInstructions { BORDER-RIGHT: #555 1px solid; PADDING-RIGHT: 12px; BORDER-TOP: #555 1px = solid; DISPLAY: none; PADDING-LEFT: 12px; FLOAT: right; PADDING-BOTTOM: = 12px; BORDER-LEFT: #555 1px solid; WIDTH: 250px; PADDING-TOP: 12px; = BORDER-BOTTOM: #555 1px solid; BACKGROUND-COLOR: #eee } .ga-callctrInstructions H1 { FONT-SIZE: 12px } .ga-addressLabel { FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-BOTTOM: 8px; PADDING-TOP: = 8px } .ga-twoColumns #ga-memberFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-campaignFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-donationFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-donationReadOnlyFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-donationCCFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; DISPLAY: inline; FLOAT: left; WIDTH: = 30%; POSITION: relative } .ga-twoColumns #ga-memberFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-campaignFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-donationFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-donationReadOnlyFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-donationCCFields .ga-fieldInput { CLEAR: right; FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 68% } .ga-twoColumns #ga-donationTxnFields LABEL { CLEAR: left; PADDING-RIGHT: 5px; FLOAT: left; MARGIN-BOTTOM: 2px; = WIDTH: 33%; HEIGHT: 100% } .ga-twoColumns #ga-donationTxnFields .ga-fieldInput { FLOAT: left; MARGIN-BOTTOM: 6px; WIDTH: 64% } .ga-twoColumns #ga-campaignFields LABEL { TEXT-ALIGN: right } .ga-twoColumns #ga-memberFields .ga-fieldInput LABEL { DISPLAY: block; FLOAT: none; WIDTH: auto } .ga-twoColumns #ga-memberFields .ga-fieldInput .ga-fieldInput { DISPLAY: block; FLOAT: none; WIDTH: auto } .ga-twoColumns #ga-memberFields LABEL { CLEAR: left } .ga-twoColumns #ga-memberFields .ga-fieldInput LABEL { CLEAR: left } .ga-twoColumns #ga-memberFields .ga-fieldErrorMsg { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } .ga-twoColumns #ga-memberFields .ga-field { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } .ga-twoColumns #ga-memberFields .ga-fieldError { BACKGROUND-COLOR: transparent } .ga-twoColumns #ga-memberFields .ga-fieldError .ga-fieldInput { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px; BACKGROUND-COLOR: #ffcccc } .ga-twoColumns .ga-field#ga-listserves-fld { CLEAR: left; MARGIN-LEFT: 85px; WIDTH: 70% } .ga-twoColumns .ga-field#ga-listserves-fld .ga-campaignCheckboxLabel { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 3px; FLOAT: left; = PADDING-BOTTOM: 0px; WIDTH: 80%; PADDING-TOP: 0px } .ga-twoColumns .ga-field#ga-listserves-fld .ga-fieldInput INPUT { FLOAT: left } .ga-twoColumns .ga-optIn { CLEAR: left; MARGIN-LEFT: 85px } .ga-twoColumns .ga-campaignCCMember { CLEAR: left; MARGIN-LEFT: 85px } .ga-twoColumns .ga-rememberMe { CLEAR: left; MARGIN-LEFT: 85px } .ga-twoColumns #ga-campaignFields .ga-optIn INPUT { FLOAT: left } .ga-twoColumns .ga-campaignCCMember INPUT { FLOAT: left } .ga-twoColumns #ga-campaignFields .ga-rememberMe INPUT { FLOAT: left } .ga-twoColumns #ga-campaignFields .ga-optIn LABEL { CLEAR: none; DISPLAY: block; FLOAT: left; WIDTH: 85%; TEXT-ALIGN: left } .ga-twoColumns .ga-campaignCCMember LABEL { CLEAR: none; DISPLAY: block; FLOAT: left; WIDTH: 85%; TEXT-ALIGN: left } .ga-twoColumns #ga-campaignFields .ga-rememberMe LABEL { CLEAR: none; DISPLAY: block; FLOAT: left; WIDTH: 85%; TEXT-ALIGN: left } .ga-CheckboxHeader { FONT-SIZE: 10px } .ga-CheckboxItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-CheckboxLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } .ga-Date { FONT-SIZE: 12px } .ga-DateHeader { FONT-SIZE: 10px } .ga-Float { FONT-SIZE: 12px } .ga-FloatHeader { FONT-SIZE: 10px } .ga-Input { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .ga-InputBlock { PADDING-TOP: 1px } .ga-InputText { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #000; PADDING-TOP: 3px } .ga-Int { FONT-SIZE: 12px } .ga-IntHeader { FONT-SIZE: 10px } SELECT.ga-Multiselect { FONT-SIZE: 10px; MARGIN-BOTTOM: 8px } .ga-MultiselectHeader { FONT-SIZE: 10px } .ga-NarrowText { FONT-SIZE: 12px } .ga-NarrowTextHeader { FONT-SIZE: 10px } .ga-PrefixHeader { FONT-SIZE: 10px } .ga-RadioAcrossItem { DISPLAY: inline } .ga-RadioDownItem { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .ga-RadioHeader { FONT-SIZE: 10px } .ga-RadioLabel { PADDING-RIGHT: 8px; DISPLAY: inline; PADDING-LEFT: 4px; FONT-SIZE: 10px } SELECT.ga-Select { FONT-SIZE: 12px; MARGIN-BOTTOM: 8px } .ga-SelectHeader { FONT-SIZE: 10px } .ga-TextArea { FONT-SIZE: 12px } .ga-TextAreaHeader { FONT-SIZE: 10px } .ga-WideText { FONT-SIZE: 12px } .ga-WideTextHeader { FONT-SIZE: 10px } .ga-error { BORDER-RIGHT: #fee19f 2px solid; PADDING-RIGHT: 16px; BORDER-TOP: = #fee19f 2px solid; PADDING-LEFT: 52px; FONT-WEIGHT: bold; FONT-SIZE: = 11px; BACKGROUND: url(/images/css/error.gif) #ffe no-repeat 12px 10px; = PADDING-BOTTOM: 16px; MARGIN: 12px; BORDER-LEFT: #fee19f 2px solid; = COLOR: #cc0000; PADDING-TOP: 16px; BORDER-BOTTOM: #fee19f 2px solid } .ga-field LABEL { DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN: 0px } .ga-fieldInput { MARGIN-BOTTOM: 8px } .ga-fieldInput LABEL { FONT-WEIGHT: normal } .ga-fieldInput TEXTAREA { WIDTH: 250px } .ga-fieldError { PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; = PADDING-TOP: 6px; BACKGROUND-COLOR: #ffcccc } .ga-fieldErrorMsg { CLEAR: both } .ga-fieldErrorMsg .ga-alert { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 10px; PADDING-BOTTOM: 2px; MARGIN: 0px 0px 4px; COLOR: #cc0000; = PADDING-TOP: 0px; BORDER-BOTTOM: #cc0000 1px solid } .ga-fieldErrorMsg UL { MARGIN: 6px 0px } .ga-fieldErrorMsg LI { FONT-SIZE: 10px; COLOR: #cc0000 } .ga-fieldCategory { FONT-WEIGHT: bold; FONT-SIZE: 13px } .ga-tab { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; = PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 12px; BACKGROUND: = none transparent scroll repeat 0% 0%; FLOAT: left; BORDER-BOTTOM-WIDTH: = 0px; PADDING-BOTTOM: 0px; MARGIN: 1px -1px 0px 4px; OVERFLOW: hidden; = PADDING-TOP: 0px; FONT-FAMILY: Arial, Helvetica, sans-serif; = LIST-STYLE-TYPE: none; POSITION: relative; TOP: 0px; HEIGHT: 23px; = TEXT-ALIGN: center; BORDER-RIGHT-WIDTH: 0px } .ga-tab LI { FLOAT: left; MARGIN: 0px; LIST-STYLE-TYPE: none } .ga-tab .ga-centertab { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: = url(/images/tabbar/tab_bg.gif) repeat-x center top; PADDING-BOTTOM: 0px; = CURSOR: hand; PADDING-TOP: 0px; HEIGHT: 100% } .ga-tab#ga-activetab { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 3; BACKGROUND: none = transparent scroll repeat 0% 0%; PADDING-BOTTOM: 0px; MARGIN: 1px -5px = 0px 0px; PADDING-TOP: 0px; TOP: -2px; HEIGHT: 27px! important } .ga-tab#ga-activetab .ga-centertab { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; BACKGROUND: = url(/images/tabbar/tab_active_bg.gif) repeat-x center top; = PADDING-BOTTOM: 0px; CURSOR: default; COLOR: #000; PADDING-TOP: 7px } .ga-tab A { COLOR: #004266; POSITION: relative; TOP: 5px; TEXT-DECORATION: none } .ga-tab A:link { COLOR: #004266; POSITION: relative; TOP: 5px; TEXT-DECORATION: none } .ga-tab A:hover { COLOR: #004266; POSITION: relative; TOP: 5px; TEXT-DECORATION: none } .ga-tab A:visited { COLOR: #004266; POSITION: relative; TOP: 5px; TEXT-DECORATION: none } .ga-tab#ga-activetab A { COLOR: #006699; TOP: 0px } .ga-bar { CLEAR: both; WIDTH: 100%; POSITION: relative; HEIGHT: 10px; TEXT-ALIGN: = left } .ga-bar#topbar { BACKGROUND: url(/images/top_fill.gif) repeat-x left top; TOP: -5px; = HEIGHT: 5px } .ga-bar#bottombar { CLEAR: both; BACKGROUND: url(/images/bottom_fill.gif) repeat-x left top } .ga-tab-content { BORDER-TOP-WIDTH: 0px; CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: = 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 0px; POSITION: relative; = TOP: -30px; BORDER-RIGHT-WIDTH: 0px } @media Print =20 { .ga-tab .ga-sidetab { DISPLAY: none } .ga-tab .ga-centertab { BORDER-RIGHT: #91a7b4 1px solid; BORDER-TOP: #91a7b4 1px solid; = DISPLAY: block; BORDER-LEFT: #91a7b4 1px solid; BORDER-BOTTOM: #91a7b4 = 1px solid; BACKGROUND-COLOR: #f0f0e8 } .ga-tab#ga-activetab .ga-centertab { BORDER-RIGHT: #679acc 1px solid; BORDER-TOP: #679acc 1px solid; = PADDING-BOTTOM: 0px; BORDER-LEFT: #679acc 1px solid; BORDER-BOTTOM: = #679acc 1px solid; BACKGROUND-COLOR: #cadced } .ga-bar#topbar { BORDER-RIGHT: #679acc 1px solid; BORDER-TOP: #679acc 1px solid; = Z-INDEX: 5; BORDER-LEFT: #679acc 1px solid; BORDER-BOTTOM: #679acc 1px = solid; TOP: 25px; HEIGHT: 0px } .ga-bar#bottombar { BORDER-RIGHT: #679acc 1px solid; BORDER-TOP: #679acc 1px solid; = BORDER-LEFT: #679acc 1px solid; BORDER-BOTTOM: #679acc 1px solid; = HEIGHT: 0px } } .clearfix:unknown { CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: = "." } .clearfix { DISPLAY: inline-block } HTML .clearfix { HEIGHT: 1% } .clearfix { DISPLAY: block } ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://my.care.org/js/printer-friendly.js /**=0A= * @author Michael Pih (mpih@getactive.com)=0A= * @version $Id$=0A= **/=0A= =0A= =0A= /**=0A= * Redirects or pops open a new window to the printer-friendly mode of = the page. =0A= * The original request URI and query string are preserved.=0A= *=0A= * Example usages:=0A= * Printable View=0A= * or =0A= * Printable View=0A= *=0A= * @param target A target window, defaults to 'print'=0A= */=0A= function doPrinterFriendly(target) {=0A= var requestURL =3D window.location.href.split("?")[0];=0A= var queryString =3D window.location.search.substring(1);=0A= =0A= var pfQueryString =3D "";=0A= if (queryString !=3D "") {=0A= var vars =3D queryString.split("&");=0A= for (var i=3D0;i 0) {=0A= pfQueryString +=3D "&";=0A= }=0A= pfQueryString +=3D pair[0] + "=3D" + pair[1];=0A= }=0A= }=0A= pfQueryString +=3D "&";=0A= }=0A= =0A= // Redirect to the printer-friendly mode of the page.=0A= pfQueryString +=3D "print=3Dt";=0A= var pfRequestURL =3D requestURL + "?" + pfQueryString;=0A= =0A= if ( target =3D=3D null ) {=0A= target =3D 'print';=0A= }=0A= window.open(pfRequestURL,target);=0A= =0A= return;=0A= }=0A= ------=_NextPart_000_0000_01C873D5.2815E150 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://www.care.org/includes/js/prototype/prototype.js /* Prototype JavaScript framework, version 1.6.0 * (c) 2005-2007 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style = license. * For details, see the Prototype web site: http://www.prototypejs.org/ * = *------------------------------------------------------------------------= --*/ var Prototype =3D { Version: '1.6.0', Browser: { IE: !!(window.attachEvent && !window.opera), Opera: !!window.opera, WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko: navigator.userAgent.indexOf('Gecko') > -1 && = navigator.userAgent.indexOf('KHTML') =3D=3D -1, MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) }, BrowserFeatures: { XPath: !!document.evaluate, ElementExtensions: !!window.HTMLElement, SpecificElementExtensions: document.createElement('div').__proto__ && document.createElement('div').__proto__ !=3D=3D document.createElement('form').__proto__ }, ScriptFragment: ']*>([\\S\\s]*?)<\/script>', JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, emptyFunction: function() { }, K: function(x) { return x } }; if (Prototype.Browser.MobileSafari) Prototype.BrowserFeatures.SpecificElementExtensions =3D false; if (Prototype.Browser.WebKit) Prototype.BrowserFeatures.XPath =3D false; /* Based on Alex Arnell's inheritance implementation. */ var Class =3D { create: function() { var parent =3D null, properties =3D $A(arguments); if (Object.isFunction(properties[0])) parent =3D properties.shift(); function klass() { this.initialize.apply(this, arguments); } Object.extend(klass, Class.Methods); klass.superclass =3D parent; klass.subclasses =3D []; if (parent) { var subclass =3D function() { }; subclass.prototype =3D parent.prototype; klass.prototype =3D new subclass; parent.subclasses.push(klass); } for (var i =3D 0; i < properties.length; i++) klass.addMethods(properties[i]); if (!klass.prototype.initialize) klass.prototype.initialize =3D Prototype.emptyFunction; klass.prototype.constructor =3D klass; return klass; } }; Class.Methods =3D { addMethods: function(source) { var ancestor =3D this.superclass && this.superclass.prototype; var properties =3D Object.keys(source); if (!Object.keys({ toString: true }).length) properties.push("toString", "valueOf"); for (var i =3D 0, length =3D properties.length; i < length; i++) { var property =3D properties[i], value =3D source[property]; if (ancestor && Object.isFunction(value) && value.argumentNames().first() =3D=3D "$super") { var method =3D value, value =3D Object.extend((function(m) { return function() { return ancestor[m].apply(this, arguments) = }; })(property).wrap(method), { valueOf: function() { return method }, toString: function() { return method.toString() } }); } this.prototype[property] =3D value; } return this; } }; var Abstract =3D { }; Object.extend =3D function(destination, source) { for (var property in source) destination[property] =3D source[property]; return destination; }; Object.extend(Object, { inspect: function(object) { try { if (object =3D=3D=3D undefined) return 'undefined'; if (object =3D=3D=3D null) return 'null'; return object.inspect ? object.inspect() : object.toString(); } catch (e) { if (e instanceof RangeError) return '...'; throw e; } }, toJSON: function(object) { var type =3D typeof object; switch (type) { case 'undefined': case 'function': case 'unknown': return; case 'boolean': return object.toString(); } if (object =3D=3D=3D null) return 'null'; if (object.toJSON) return object.toJSON(); if (Object.isElement(object)) return; var results =3D []; for (var property in object) { var value =3D Object.toJSON(object[property]); if (value !=3D=3D undefined) results.push(property.toJSON() + ': ' + value); } return '{' + results.join(', ') + '}'; }, toQueryString: function(object) { return $H(object).toQueryString(); }, toHTML: function(object) { return object && object.toHTML ? object.toHTML() : = String.interpret(object); }, keys: function(object) { var keys =3D []; for (var property in object) keys.push(property); return keys; }, values: function(object) { var values =3D []; for (var property in object) values.push(object[property]); return values; }, clone: function(object) { return Object.extend({ }, object); }, isElement: function(object) { return object && object.nodeType =3D=3D 1; }, isArray: function(object) { return object && object.constructor =3D=3D=3D Array; }, isHash: function(object) { return object instanceof Hash; }, isFunction: function(object) { return typeof object =3D=3D "function"; }, isString: function(object) { return typeof object =3D=3D "string"; }, isNumber: function(object) { return typeof object =3D=3D "number"; }, isUndefined: function(object) { return typeof object =3D=3D "undefined"; } }); Object.extend(Function.prototype, { argumentNames: function() { var names =3D = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").inv= oke("strip"); return names.length =3D=3D 1 && !names[0] ? [] : names; }, bind: function() { if (arguments.length < 2 && arguments[0] =3D=3D=3D undefined) return = this; var __method =3D this, args =3D $A(arguments), object =3D = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))); } }, bindAsEventListener: function() { var __method =3D this, args =3D $A(arguments), object =3D = args.shift(); return function(event) { return __method.apply(object, [event || = window.event].concat(args)); } }, curry: function() { if (!arguments.length) return this; var __method =3D this, args =3D $A(arguments); return function() { return __method.apply(this, args.concat($A(arguments))); } }, delay: function() { var __method =3D this, args =3D $A(arguments), timeout =3D = args.shift() * 1000; return window.setTimeout(function() { return __method.apply(__method, args); }, timeout); }, wrap: function(wrapper) { var __method =3D this; return function() { return wrapper.apply(this, = [__method.bind(this)].concat($A(arguments))); } }, methodize: function() { if (this._methodized) return this._methodized; var __method =3D this; return this._methodized =3D function() { return __method.apply(null, [this].concat($A(arguments))); }; } }); Function.prototype.defer =3D Function.prototype.delay.curry(0.01); Date.prototype.toJSON =3D function() { return '"' + this.getUTCFullYear() + '-' + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + this.getUTCDate().toPaddedString(2) + 'T' + this.getUTCHours().toPaddedString(2) + ':' + this.getUTCMinutes().toPaddedString(2) + ':' + this.getUTCSeconds().toPaddedString(2) + 'Z"'; }; var Try =3D { these: function() { var returnValue; for (var i =3D 0, length =3D arguments.length; i < length; i++) { var lambda =3D arguments[i]; try { returnValue =3D lambda(); break; } catch (e) { } } return returnValue; } }; RegExp.prototype.match =3D RegExp.prototype.test; RegExp.escape =3D function(str) { return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1'); }; /*-----------------------------------------------------------------------= ---*/ var PeriodicalExecuter =3D Class.create({ initialize: function(callback, frequency) { this.callback =3D callback; this.frequency =3D frequency; this.currentlyExecuting =3D false; this.registerCallback(); }, registerCallback: function() { this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000); }, execute: function() { this.callback(this); }, stop: function() { if (!this.timer) return; clearInterval(this.timer); this.timer =3D null; }, onTimerEvent: function() { if (!this.currentlyExecuting) { try { this.currentlyExecuting =3D true; this.execute(); } finally { this.currentlyExecuting =3D false; } } } }); Object.extend(String, { interpret: function(value) { return value =3D=3D null ? '' : String(value); }, specialChar: { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\' } }); Object.extend(String.prototype, { gsub: function(pattern, replacement) { var result =3D '', source =3D this, match; replacement =3D arguments.callee.prepareReplacement(replacement); while (source.length > 0) { if (match =3D source.match(pattern)) { result +=3D source.slice(0, match.index); result +=3D String.interpret(replacement(match)); source =3D source.slice(match.index + match[0].length); } else { result +=3D source, source =3D ''; } } return result; }, sub: function(pattern, replacement, count) { replacement =3D this.gsub.prepareReplacement(replacement); count =3D count =3D=3D=3D undefined ? 1 : count; return this.gsub(pattern, function(match) { if (--count < 0) return match[0]; return replacement(match); }); }, scan: function(pattern, iterator) { this.gsub(pattern, iterator); return String(this); }, truncate: function(length, truncation) { length =3D length || 30; truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation; return this.length > length ? this.slice(0, length - truncation.length) + truncation : = String(this); }, strip: function() { return this.replace(/^\s+/, '').replace(/\s+$/, ''); }, stripTags: function() { return this.replace(/<\/?[^>]+>/gi, ''); }, stripScripts: function() { return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), = ''); }, extractScripts: function() { var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img'); var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im'); return (this.match(matchAll) || []).map(function(scriptTag) { return (scriptTag.match(matchOne) || ['', ''])[1]; }); }, evalScripts: function() { return this.extractScripts().map(function(script) { return = eval(script) }); }, escapeHTML: function() { var self =3D arguments.callee; self.text.data =3D this; return self.div.innerHTML; }, unescapeHTML: function() { var div =3D new Element('div'); div.innerHTML =3D this.stripTags(); return div.childNodes[0] ? (div.childNodes.length > 1 ? $A(div.childNodes).inject('', function(memo, node) { return = memo+node.nodeValue }) : div.childNodes[0].nodeValue) : ''; }, toQueryParams: function(separator) { var match =3D this.strip().match(/([^?#]*)(#.*)?$/); if (!match) return { }; return match[1].split(separator || '&').inject({ }, function(hash, = pair) { if ((pair =3D pair.split('=3D'))[0]) { var key =3D decodeURIComponent(pair.shift()); var value =3D pair.length > 1 ? pair.join('=3D') : pair[0]; if (value !=3D undefined) value =3D decodeURIComponent(value); if (key in hash) { if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]]; hash[key].push(value); } else hash[key] =3D value; } return hash; }); }, toArray: function() { return this.split(''); }, succ: function() { return this.slice(0, this.length - 1) + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); }, times: function(count) { return count < 1 ? '' : new Array(count + 1).join(this); }, camelize: function() { var parts =3D this.split('-'), len =3D parts.length; if (len =3D=3D 1) return parts[0]; var camelized =3D this.charAt(0) =3D=3D '-' ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) : parts[0]; for (var i =3D 1; i < len; i++) camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1); return camelized; }, capitalize: function() { return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase(); }, underscore: function() { return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase(); }, dasherize: function() { return this.gsub(/_/,'-'); }, inspect: function(useDoubleQuotes) { var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) { var character =3D String.specialChar[match[0]]; return character ? character : '\\u00' + = match[0].charCodeAt().toPaddedString(2, 16); }); if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') = + '"'; return "'" + escapedString.replace(/'/g, '\\\'') + "'"; }, toJSON: function() { return this.inspect(true); }, unfilterJSON: function(filter) { return this.sub(filter || Prototype.JSONFilter, '#{1}'); }, isJSON: function() { var str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); }, evalJSON: function(sanitize) { var json =3D this.unfilterJSON(); try { if (!sanitize || json.isJSON()) return eval('(' + json + ')'); } catch (e) { } throw new SyntaxError('Badly formed JSON string: ' + = this.inspect()); }, include: function(pattern) { return this.indexOf(pattern) > -1; }, startsWith: function(pattern) { return this.indexOf(pattern) =3D=3D=3D 0; }, endsWith: function(pattern) { var d =3D this.length - pattern.length; return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d; }, empty: function() { return this =3D=3D ''; }, blank: function() { return /^\s*$/.test(this); }, interpolate: function(object, pattern) { return new Template(this, pattern).evaluate(object); } }); if (Prototype.Browser.WebKit || Prototype.Browser.IE) = Object.extend(String.prototype, { escapeHTML: function() { return = this.replace(/&/g,'&').replace(//g,'>'); }, unescapeHTML: function() { return = this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); } }); String.prototype.gsub.prepareReplacement =3D function(replacement) { if (Object.isFunction(replacement)) return replacement; var template =3D new Template(replacement); return function(match) { return template.evaluate(match) }; }; String.prototype.parseQuery =3D String.prototype.toQueryParams; Object.extend(String.prototype.escapeHTML, { div: document.createElement('div'), text: document.createTextNode('') }); with (String.prototype.escapeHTML) div.appendChild(text); var Template =3D Class.create({ initialize: function(template, pattern) { this.template =3D template.toString(); this.pattern =3D pattern || Template.Pattern; }, evaluate: function(object) { if (Object.isFunction(object.toTemplateReplacements)) object =3D object.toTemplateReplacements(); return this.template.gsub(this.pattern, function(match) { if (object =3D=3D null) return ''; var before =3D match[1] || ''; if (before =3D=3D '\\') return match[2]; var ctx =3D object, expr =3D match[3]; var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, match = =3D pattern.exec(expr); if (match =3D=3D null) return before; while (match !=3D null) { var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', = ']') : match[1]; ctx =3D ctx[comp]; if (null =3D=3D ctx || '' =3D=3D match[3]) break; expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : = match[0].length); match =3D pattern.exec(expr); } return before + String.interpret(ctx); }.bind(this)); } }); Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/; var $break =3D { }; var Enumerable =3D { each: function(iterator, context) { var index =3D 0; iterator =3D iterator.bind(context); try { this._each(function(value) { iterator(value, index++); }); } catch (e) { if (e !=3D $break) throw e; } return this; }, eachSlice: function(number, iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var index =3D -number, slices =3D [], array =3D this.toArray(); while ((index +=3D number) < array.length) slices.push(array.slice(index, index+number)); return slices.collect(iterator, context); }, all: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var result =3D true; this.each(function(value, index) { result =3D result && !!iterator(value, index); if (!result) throw $break; }); return result; }, any: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var result =3D false; this.each(function(value, index) { if (result =3D !!iterator(value, index)) throw $break; }); return result; }, collect: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var results =3D []; this.each(function(value, index) { results.push(iterator(value, index)); }); return results; }, detect: function(iterator, context) { iterator =3D iterator.bind(context); var result; this.each(function(value, index) { if (iterator(value, index)) { result =3D value; throw $break; } }); return result; }, findAll: function(iterator, context) { iterator =3D iterator.bind(context); var results =3D []; this.each(function(value, index) { if (iterator(value, index)) results.push(value); }); return results; }, grep: function(filter, iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var results =3D []; if (Object.isString(filter)) filter =3D new RegExp(filter); this.each(function(value, index) { if (filter.match(value)) results.push(iterator(value, index)); }); return results; }, include: function(object) { if (Object.isFunction(this.indexOf)) if (this.indexOf(object) !=3D -1) return true; var found =3D false; this.each(function(value) { if (value =3D=3D object) { found =3D true; throw $break; } }); return found; }, inGroupsOf: function(number, fillWith) { fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith; return this.eachSlice(number, function(slice) { while(slice.length < number) slice.push(fillWith); return slice; }); }, inject: function(memo, iterator, context) { iterator =3D iterator.bind(context); this.each(function(value, index) { memo =3D iterator(memo, value, index); }); return memo; }, invoke: function(method) { var args =3D $A(arguments).slice(1); return this.map(function(value) { return value[method].apply(value, args); }); }, max: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var result; this.each(function(value, index) { value =3D iterator(value, index); if (result =3D=3D undefined || value >=3D result) result =3D value; }); return result; }, min: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var result; this.each(function(value, index) { value =3D iterator(value, index); if (result =3D=3D undefined || value < result) result =3D value; }); return result; }, partition: function(iterator, context) { iterator =3D iterator ? iterator.bind(context) : Prototype.K; var trues =3D [], falses =3D []; this.each(function(value, index) { (iterator(value, index) ? trues : falses).push(value); }); return [trues, falses]; }, pluck: function(property) { var results =3D []; this.each(function(value) { results.push(value[property]); }); return results; }, reject: function(iterator, context) { iterator =3D iterator.bind(context); var results =3D []; this.each(function(value, index) { if (!iterator(value, index)) results.push(value); }); return results; }, sortBy: function(iterator, context) { iterator =3D iterator.bind(context); return this.map(function(value, index) { return {value: value, criteria: iterator(value, index)}; }).sort(function(left, right) { var a =3D left.criteria, b =3D right.criteria; return a < b ? -1 : a > b ? 1 : 0; }).pluck('value'); }, toArray: function() { return this.map(); }, zip: function() { var iterator =3D Prototype.K, args =3D $A(arguments); if (Object.isFunction(args.last())) iterator =3D args.pop(); var collections =3D [this].concat(args).map($A); return this.map(function(value, index) { return iterator(collections.pluck(index)); }); }, size: function() { return this.toArray().length; }, inspect: function() { return '#'; } }; Object.extend(Enumerable, { map: Enumerable.collect, find: Enumerable.detect, select: Enumerable.findAll, filter: Enumerable.findAll, member: Enumerable.include, entries: Enumerable.toArray, every: Enumerable.all, some: Enumerable.any }); function $A(iterable) { if (!iterable) return []; if (iterable.toArray) return iterable.toArray(); var length =3D iterable.length, results =3D new Array(length); while (length--) results[length] =3D iterable[length]; return results; } if (Prototype.Browser.WebKit) { function $A(iterable) { if (!iterable) return []; if (!(Object.isFunction(iterable) && iterable =3D=3D '[object = NodeList]') && iterable.toArray) return iterable.toArray(); var length =3D iterable.length, results =3D new Array(length); while (length--) results[length] =3D iterable[length]; return results; } } Array.from =3D $A; Object.extend(Array.prototype, Enumerable); if (!Array.prototype._reverse) Array.prototype._reverse =3D = Array.prototype.reverse; Object.extend(Array.prototype, { _each: function(iterator) { for (var i =3D 0, length =3D this.length; i < length; i++) iterator(this[i]); }, clear: function() { this.length =3D 0; return this; }, first: function() { return this[0]; }, last: function() { return this[this.length - 1]; }, compact: function() { return this.select(function(value) { return value !=3D null; }); }, flatten: function() { return this.inject([], function(array, value) { return array.concat(Object.isArray(value) ? value.flatten() : [value]); }); }, without: function() { var values =3D $A(arguments); return this.select(function(value) { return !values.include(value); }); }, reverse: function(inline) { return (inline !=3D=3D false ? this : this.toArray())._reverse(); }, reduce: function() { return this.length > 1 ? this : this[0]; }, uniq: function(sorted) { return this.inject([], function(array, value, index) { if (0 =3D=3D index || (sorted ? array.last() !=3D value : = !array.include(value))) array.push(value); return array; }); }, intersect: function(array) { return this.uniq().findAll(function(item) { return array.detect(function(value) { return item =3D=3D=3D value = }); }); }, clone: function() { return [].concat(this); }, size: function() { return this.length; }, inspect: function() { return '[' + this.map(Object.inspect).join(', ') + ']'; }, toJSON: function() { var results =3D []; this.each(function(object) { var value =3D Object.toJSON(object); if (value !=3D=3D undefined) results.push(value); }); return '[' + results.join(', ') + ']'; } }); // use native browser JS 1.6 implementation if available if (Object.isFunction(Array.prototype.forEach)) Array.prototype._each =3D Array.prototype.forEach; if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, = i) { i || (i =3D 0); var length =3D this.length; if (i < 0) i =3D length + i; for (; i < length; i++) if (this[i] =3D=3D=3D item) return i; return -1; }; if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D = function(item, i) { i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; var n =3D this.slice(0, i).reverse().indexOf(item); return (n < 0) ? n : i - n - 1; }; Array.prototype.toArray =3D Array.prototype.clone; function $w(string) { if (!Object.isString(string)) return []; string =3D string.strip(); return string ? string.split(/\s+/) : []; } if (Prototype.Browser.Opera){ Array.prototype.concat =3D function() { var array =3D []; for (var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]); for (var i =3D 0, length =3D arguments.length; i < length; i++) { if (Object.isArray(arguments[i])) { for (var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++) array.push(arguments[i][j]); } else { array.push(arguments[i]); } } return array; }; } Object.extend(Number.prototype, { toColorPart: function() { return this.toPaddedString(2, 16); }, succ: function() { return this + 1; }, times: function(iterator) { $R(0, this, true).each(iterator); return this; }, toPaddedString: function(length, radix) { var string =3D this.toString(radix || 10); return '0'.times(length - string.length) + string; }, toJSON: function() { return isFinite(this) ? this.toString() : 'null'; } }); $w('abs round ceil floor').each(function(method){ Number.prototype[method] =3D Math[method].methodize(); }); function $H(object) { return new Hash(object); }; var Hash =3D Class.create(Enumerable, (function() { if (function() { var i =3D 0, Test =3D function(value) { this.key =3D value }; Test.prototype.key =3D 'foo'; for (var property in new Test('bar')) i++; return i > 1; }()) { function each(iterator) { var cache =3D []; for (var key in this._object) { var value =3D this._object[key]; if (cache.include(key)) continue; cache.push(key); var pair =3D [key, value]; pair.key =3D key; pair.value =3D value; iterator(pair); } } } else { function each(iterator) { for (var key in this._object) { var value =3D this._object[key], pair =3D [key, value]; pair.key =3D key; pair.value =3D value; iterator(pair); } } } function toQueryPair(key, value) { if (Object.isUndefined(value)) return key; return key + '=3D' + encodeURIComponent(String.interpret(value)); } return { initialize: function(object) { this._object =3D Object.isHash(object) ? object.toObject() : = Object.clone(object); }, _each: each, set: function(key, value) { return this._object[key] =3D value; }, get: function(key) { return this._object[key]; }, unset: function(key) { var value =3D this._object[key]; delete this._object[key]; return value; }, toObject: function() { return Object.clone(this._object); }, keys: function() { return this.pluck('key'); }, values: function() { return this.pluck('value'); }, index: function(value) { var match =3D this.detect(function(pair) { return pair.value =3D=3D=3D value; }); return match && match.key; }, merge: function(object) { return this.clone().update(object); }, update: function(object) { return new Hash(object).inject(this, function(result, pair) { result.set(pair.key, pair.value); return result; }); }, toQueryString: function() { return this.map(function(pair) { var key =3D encodeURIComponent(pair.key), values =3D pair.value; if (values && typeof values =3D=3D 'object') { if (Object.isArray(values)) return values.map(toQueryPair.curry(key)).join('&'); } return toQueryPair(key, values); }).join('&'); }, inspect: function() { return '#'; }, toJSON: function() { return Object.toJSON(this.toObject()); }, clone: function() { return new Hash(this); } } })()); Hash.prototype.toTemplateReplacements =3D Hash.prototype.toObject; Hash.from =3D $H; var ObjectRange =3D Class.create(Enumerable, { initialize: function(start, end, exclusive) { this.start =3D start; this.end =3D end; this.exclusive =3D exclusive; }, _each: function(iterator) { var value =3D this.start; while (this.include(value)) { iterator(value); value =3D value.succ(); } }, include: function(value) { if (value < this.start) return false; if (this.exclusive) return value < this.end; return value <=3D this.end; } }); var $R =3D function(start, end, exclusive) { return new ObjectRange(start, end, exclusive); }; var Ajax =3D { getTransport: function() { return Try.these( function() {return new XMLHttpRequest()}, function() {return new ActiveXObject('Msxml2.XMLHTTP')}, function() {return new ActiveXObject('Microsoft.XMLHTTP')} ) || false; }, activeRequestCount: 0 }; Ajax.Responders =3D { responders: [], _each: function(iterator) { this.responders._each(iterator); }, register: function(responder) { if (!this.include(responder)) this.responders.push(responder); }, unregister: function(responder) { this.responders =3D this.responders.without(responder); }, dispatch: function(callback, request, transport, json) { this.each(function(responder) { if (Object.isFunction(responder[callback])) { try { responder[callback].apply(responder, [request, transport, = json]); } catch (e) { } } }); } }; Object.extend(Ajax.Responders, Enumerable); Ajax.Responders.register({ onCreate: function() { Ajax.activeRequestCount++ }, onComplete: function() { Ajax.activeRequestCount-- } }); Ajax.Base =3D Class.create({ initialize: function(options) { this.options =3D { method: 'post', asynchronous: true, contentType: 'application/x-www-form-urlencoded', encoding: 'UTF-8', parameters: '', evalJSON: true, evalJS: true }; Object.extend(this.options, options || { }); this.options.method =3D this.options.method.toLowerCase(); if (Object.isString(this.options.parameters)) this.options.parameters =3D = this.options.parameters.toQueryParams(); } }); Ajax.Request =3D Class.create(Ajax.Base, { _complete: false, initialize: function($super, url, options) { $super(options); this.transport =3D Ajax.getTransport(); this.request(url); }, request: function(url) { this.url =3D url; this.method =3D this.options.method; var params =3D Object.clone(this.options.parameters); if (!['get', 'post'].include(this.method)) { // simulate other verbs over post params['_method'] =3D this.method; this.method =3D 'post'; } this.parameters =3D params; if (params =3D Object.toQueryString(params)) { // when GET, append parameters to URL if (this.method =3D=3D 'get') this.url +=3D (this.url.include('?') ? '&' : '?') + params; else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) params +=3D '&_=3D'; } try { var response =3D new Ajax.Response(this); if (this.options.onCreate) this.options.onCreate(response); Ajax.Responders.dispatch('onCreate', this, response); this.transport.open(this.method.toUpperCase(), this.url, this.options.asynchronous); if (this.options.asynchronous) = this.respondToReadyState.bind(this).defer(1); this.transport.onreadystatechange =3D = this.onStateChange.bind(this); this.setRequestHeaders(); this.body =3D this.method =3D=3D 'post' ? (this.options.postBody = || params) : null; this.transport.send(this.body); /* Force Firefox to handle ready state 4 for synchronous requests = */ if (!this.options.asynchronous && this.transport.overrideMimeType) this.onStateChange(); } catch (e) { this.dispatchException(e); } }, onStateChange: function() { var readyState =3D this.transport.readyState; if (readyState > 1 && !((readyState =3D=3D 4) && this._complete)) this.respondToReadyState(this.transport.readyState); }, setRequestHeaders: function() { var headers =3D { 'X-Requested-With': 'XMLHttpRequest', 'X-Prototype-Version': Prototype.Version, 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*' }; if (this.method =3D=3D 'post') { headers['Content-type'] =3D this.options.contentType + (this.options.encoding ? '; charset=3D' + this.options.encoding = : ''); /* Force "Connection: close" for older Mozilla browsers to work * around a bug where XMLHttpRequest sends an incorrect * Content-length header. See Mozilla Bugzilla #246651. */ if (this.transport.overrideMimeType && (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005) headers['Connection'] =3D 'close'; } // user-defined headers if (typeof this.options.requestHeaders =3D=3D 'object') { var extras =3D this.options.requestHeaders; if (Object.isFunction(extras.push)) for (var i =3D 0, length =3D extras.length; i < length; i +=3D = 2) headers[extras[i]] =3D extras[i+1]; else $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value }); } for (var name in headers) this.transport.setRequestHeader(name, headers[name]); }, success: function() { var status =3D this.getStatus(); return !status || (status >=3D 200 && status < 300); }, getStatus: function() { try { return this.transport.status || 0; } catch (e) { return 0 } }, respondToReadyState: function(readyState) { var state =3D Ajax.Request.Events[readyState], response =3D new = Ajax.Response(this); if (state =3D=3D 'Complete') { try { this._complete =3D true; (this.options['on' + response.status] || this.options['on' + (this.success() ? 'Success' : = 'Failure')] || Prototype.emptyFunction)(response, response.headerJSON); } catch (e) { this.dispatchException(e); } var contentType =3D response.getHeader('Content-type'); if (this.options.evalJS =3D=3D 'force' || (this.options.evalJS && contentType && = contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s= *$/i))) this.evalResponse(); } try { (this.options['on' + state] || Prototype.emptyFunction)(response, = response.headerJSON); Ajax.Responders.dispatch('on' + state, this, response, = response.headerJSON); } catch (e) { this.dispatchException(e); } if (state =3D=3D 'Complete') { // avoid memory leak in MSIE: clean up this.transport.onreadystatechange =3D Prototype.emptyFunction; } }, getHeader: function(name) { try { return this.transport.getResponseHeader(name); } catch (e) { return null } }, evalResponse: function() { try { return eval((this.transport.responseText || '').unfilterJSON()); } catch (e) { this.dispatchException(e); } }, dispatchException: function(exception) { (this.options.onException || Prototype.emptyFunction)(this, = exception); Ajax.Responders.dispatch('onException', this, exception); } }); Ajax.Request.Events =3D ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Response =3D Class.create({ initialize: function(request){ this.request =3D request; var transport =3D this.transport =3D request.transport, readyState =3D this.readyState =3D transport.readyState; if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) = { this.status =3D this.getStatus(); this.statusText =3D this.getStatusText(); this.responseText =3D String.interpret(transport.responseText); this.headerJSON =3D this._getHeaderJSON(); } if(readyState =3D=3D 4) { var xml =3D transport.responseXML; this.responseXML =3D xml =3D=3D=3D undefined ? null : xml; this.responseJSON =3D this._getResponseJSON(); } }, status: 0, statusText: '', getStatus: Ajax.Request.prototype.getStatus, getStatusText: function() { try { return this.transport.statusText || ''; } catch (e) { return '' } }, getHeader: Ajax.Request.prototype.getHeader, getAllHeaders: function() { try { return this.getAllResponseHeaders(); } catch (e) { return null } }, getResponseHeader: function(name) { return this.transport.getResponseHeader(name); }, getAllResponseHeaders: function() { return this.transport.getAllResponseHeaders(); }, _getHeaderJSON: function() { var json =3D this.getHeader('X-JSON'); if (!json) return null; json =3D decodeURIComponent(escape(json)); try { return json.evalJSON(this.request.options.sanitizeJSON); } catch (e) { this.request.dispatchException(e); } }, _getResponseJSON: function() { var options =3D this.request.options; if (!options.evalJSON || (options.evalJSON !=3D 'force' && !(this.getHeader('Content-type') || = '').include('application/json'))) return null; try { return this.transport.responseText.evalJSON(options.sanitizeJSON); } catch (e) { this.request.dispatchException(e); } } }); Ajax.Updater =3D Class.create(Ajax.Request, { initialize: function($super, container, url, options) { this.container =3D { success: (container.success || container), failure: (container.failure || (container.success ? null : = container)) }; options =3D options || { }; var onComplete =3D options.onComplete; options.onComplete =3D (function(response, param) { this.updateContent(response.responseText); if (Object.isFunction(onComplete)) onComplete(response, param); }).bind(this); $super(url, options); }, updateContent: function(responseText) { var receiver =3D this.container[this.success() ? 'success' : = 'failure'], options =3D this.options; if (!options.evalScripts) responseText =3D = responseText.stripScripts(); if (receiver =3D $(receiver)) { if (options.insertion) { if (Object.isString(options.insertion)) { var insertion =3D { }; insertion[options.insertion] =3D = responseText; receiver.insert(insertion); } else options.insertion(receiver, responseText); } else receiver.update(responseText); } if (this.success()) { if (this.onComplete) this.onComplete.bind(this).defer(); } } }); Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, { initialize: function($super, container, url, options) { $super(options); this.onComplete =3D this.options.onComplete; this.frequency =3D (this.options.frequency || 2); this.decay =3D (this.options.decay || 1); this.updater =3D { }; this.container =3D container; this.url =3D url; this.start(); }, start: function() { this.options.onComplete =3D this.updateComplete.bind(this); this.onTimerEvent(); }, stop: function() { this.updater.options.onComplete =3D undefined; clearTimeout(this.timer); (this.onComplete || Prototype.emptyFunction).apply(this, arguments); }, updateComplete: function(response) { if (this.options.decay) { this.decay =3D (response.responseText =3D=3D this.lastText ? this.decay * this.options.decay : 1); this.lastText =3D response.responseText; } this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * = this.frequency); }, onTimerEvent: function() { this.updater =3D new Ajax.Updater(this.container, this.url, = this.options); } }); function $(element) { if (arguments.length > 1) { for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++) elements.push($(arguments[i])); return elements; } if (Object.isString(element)) element =3D document.getElementById(element); return Element.extend(element); } if (Prototype.BrowserFeatures.XPath) { document._getElementsByXPath =3D function(expression, parentElement) { var results =3D []; var query =3D document.evaluate(expression, $(parentElement) || = document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i =3D 0, length =3D query.snapshotLength; i < length; i++) results.push(Element.extend(query.snapshotItem(i))); return results; }; } /*-----------------------------------------------------------------------= ---*/ if (!window.Node) var Node =3D { }; if (!Node.ELEMENT_NODE) { // DOM level 2 ECMAScript Language Binding Object.extend(Node, { ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5, ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, NOTATION_NODE: 12 }); } (function() { var element =3D this.Element; this.Element =3D function(tagName, attributes) { attributes =3D attributes || { }; tagName =3D tagName.toLowerCase(); var cache =3D Element.cache; if (Prototype.Browser.IE && attributes.name) { tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">'; delete attributes.name; return Element.writeAttribute(document.createElement(tagName), = attributes); } if (!cache[tagName]) cache[tagName] =3D = Element.extend(document.createElement(tagName)); return Element.writeAttribute(cache[tagName].cloneNode(false), = attributes); }; Object.extend(this.Element, element || { }); }).call(window); Element.cache =3D { }; Element.Methods =3D { visible: function(element) { return $(element).style.display !=3D 'none'; }, toggle: function(element) { element =3D $(element); Element[Element.visible(element) ? 'hide' : 'show'](element); return element; }, hide: function(element) { $(element).style.display =3D 'none'; return element; }, show: function(element) { $(element).style.display =3D ''; return element; }, remove: function(element) { element =3D $(element); element.parentNode.removeChild(element); return element; }, update: function(element, content) { element =3D $(element); if (content && content.toElement) content =3D content.toElement(); if (Object.isElement(content)) return = element.update().insert(content); content =3D Object.toHTML(content); element.innerHTML =3D content.stripScripts(); content.evalScripts.bind(content).defer(); return element; }, replace: function(element, content) { element =3D $(element); if (content && content.toElement) content =3D content.toElement(); else if (!Object.isElement(content)) { content =3D Object.toHTML(content); var range =3D element.ownerDocument.createRange(); range.selectNode(element); content.evalScripts.bind(content).defer(); content =3D = range.createContextualFragment(content.stripScripts()); } element.parentNode.replaceChild(content, element); return element; }, insert: function(element, insertions) { element =3D $(element); if (Object.isString(insertions) || Object.isNumber(insertions) || Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML))) insertions =3D {bottom:insertions}; var content, t, range; for (position in insertions) { content =3D insertions[position]; position =3D position.toLowerCase(); t =3D Element._insertionTranslations[position]; if (content && content.toElement) content =3D content.toElement(); if (Object.isElement(content)) { t.insert(element, content); continue; } content =3D Object.toHTML(content); range =3D element.ownerDocument.createRange(); t.initializeRange(element, range); t.insert(element, = range.createContextualFragment(content.stripScripts())); content.evalScripts.bind(content).defer(); } return element; }, wrap: function(element, wrapper, attributes) { element =3D $(element); if (Object.isElement(wrapper)) $(wrapper).writeAttribute(attributes || { }); else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, = attributes); else wrapper =3D new Element('div', wrapper); if (element.parentNode) element.parentNode.replaceChild(wrapper, element); wrapper.appendChild(element); return wrapper; }, inspect: function(element) { element =3D $(element); var result =3D '<' + element.tagName.toLowerCase(); $H({'id': 'id', 'className': 'class'}).each(function(pair) { var property =3D pair.first(), attribute =3D pair.last(); var value =3D (element[property] || '').toString(); if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true); }); return result + '>'; }, recursivelyCollect: function(element, property) { element =3D $(element); var elements =3D []; while (element =3D element[property]) if (element.nodeType =3D=3D 1) elements.push(Element.extend(element)); return elements; }, ancestors: function(element) { return $(element).recursivelyCollect('parentNode'); }, descendants: function(element) { return = $A($(element).getElementsByTagName('*')).each(Element.extend); }, firstDescendant: function(element) { element =3D $(element).firstChild; while (element && element.nodeType !=3D 1) element =3D = element.nextSibling; return $(element); }, immediateDescendants: function(element) { if (!(element =3D $(element).firstChild)) return []; while (element && element.nodeType !=3D 1) element =3D = element.nextSibling; if (element) return [element].concat($(element).nextSiblings()); return []; }, previousSiblings: function(element) { return $(element).recursivelyCollect('previousSibling'); }, nextSiblings: function(element) { return $(element).recursivelyCollect('nextSibling'); }, siblings: function(element) { element =3D $(element); return = element.previousSiblings().reverse().concat(element.nextSiblings()); }, match: function(element, selector) { if (Object.isString(selector)) selector =3D new Selector(selector); return selector.match($(element)); }, up: function(element, expression, index) { element =3D $(element); if (arguments.length =3D=3D 1) return $(element.parentNode); var ancestors =3D element.ancestors(); return expression ? Selector.findElement(ancestors, expression, = index) : ancestors[index || 0]; }, down: function(element, expression, index) { element =3D $(element); if (arguments.length =3D=3D 1) return element.firstDescendant(); var descendants =3D element.descendants(); return expression ? Selector.findElement(descendants, expression, = index) : descendants[index || 0]; }, previous: function(element, expression, index) { element =3D $(element); if (arguments.length =3D=3D 1) return = $(Selector.handlers.previousElementSibling(element)); var previousSiblings =3D element.previousSiblings(); return expression ? Selector.findElement(previousSiblings, = expression, index) : previousSiblings[index || 0]; }, next: function(element, expression, index) { element =3D $(element); if (arguments.length =3D=3D 1) return = $(Selector.handlers.nextElementSibling(element)); var nextSiblings =3D element.nextSiblings(); return expression ? Selector.findElement(nextSiblings, expression, = index) : nextSiblings[index || 0]; }, select: function() { var args =3D $A(arguments), element =3D $(args.shift()); return Selector.findChildElements(element, args); }, adjacent: function() { var args =3D $A(arguments), element =3D $(args.shift()); return Selector.findChildElements(element.parentNode, = args).without(element); }, identify: function(element) { element =3D $(element); var id =3D element.readAttribute('id'), self =3D arguments.callee; if (id) return id; do { id =3D 'anonymous_element_' + self.counter++ } while ($(id)); element.writeAttribute('id', id); return id; }, readAttribute: function(element, name) { element =3D $(element); if (Prototype.Browser.IE) { var t =3D Element._attributeTranslations.read; if (t.values[name]) return t.values[name](element, name); if (t.names[name]) name =3D t.names[name]; if (name.include(':')) { return (!element.attributes || !element.attributes[name]) ? null = : element.attributes[name].value; } } return element.getAttribute(name); }, writeAttribute: function(element, name, value) { element =3D $(element); var attributes =3D { }, t =3D Element._attributeTranslations.write; if (typeof name =3D=3D 'object') attributes =3D name; else attributes[name] =3D value =3D=3D=3D undefined ? true : value; for (var attr in attributes) { var name =3D t.names[attr] || attr, value =3D attributes[attr]; if (t.values[attr]) name =3D t.values[attr](element, value); if (value =3D=3D=3D false || value =3D=3D=3D null) element.removeAttribute(name); else if (value =3D=3D=3D true) element.setAttribute(name, name); else element.setAttribute(name, value); } return element; }, getHeight: function(element) { return $(element).getDimensions().height; }, getWidth: function(element) { return $(element).getDimensions().width; }, classNames: function(element) { return new Element.ClassNames(element); }, hasClassName: function(element, className) { if (!(element =3D $(element))) return; var elementClassName =3D element.className; return (elementClassName.length > 0 && (elementClassName =3D=3D = className || new RegExp("(^|\\s)" + className + = "(\\s|$)").test(elementClassName))); }, addClassName: function(element, className) { if (!(element =3D $(element))) return; if (!element.hasClassName(className)) element.className +=3D (element.className ? ' ' : '') + className; return element; }, removeClassName: function(element, className) { if (!(element =3D $(element))) return; element.className =3D element.className.replace( new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip(); return element; }, toggleClassName: function(element, className) { if (!(element =3D $(element))) return; return element[element.hasClassName(className) ? 'removeClassName' : 'addClassName'](className); }, // removes whitespace-only text node children cleanWhitespace: function(element) { element =3D $(element); var node =3D element.firstChild; while (node) { var nextNode =3D node.nextSibling; if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue)) element.removeChild(node); node =3D nextNode; } return element; }, empty: function(element) { return $(element).innerHTML.blank(); }, descendantOf: function(element, ancestor) { element =3D $(element), ancestor =3D $(ancestor); if (element.compareDocumentPosition) return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D = 8; if (element.sourceIndex && !Prototype.Browser.Opera) { var e =3D element.sourceIndex, a =3D ancestor.sourceIndex, nextAncestor =3D ancestor.nextSibling; if (!nextAncestor) { do { ancestor =3D ancestor.parentNode; } while (!(nextAncestor =3D ancestor.nextSibling) && = ancestor.parentNode); } if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex); } while (element =3D element.parentNode) if (element =3D=3D ancestor) return true; return false; }, scrollTo: function(element) { element =3D $(element); var pos =3D element.cumulativeOffset(); window.scrollTo(pos[0], pos[1]); return element; }, getStyle: function(element, style) { element =3D $(element); style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize(); var value =3D element.style[style]; if (!value) { var css =3D document.defaultView.getComputedStyle(element, null); value =3D css ? css[style] : null; } if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0; return value =3D=3D 'auto' ? null : value; }, getOpacity: function(element) { return $(element).getStyle('opacity'); }, setStyle: function(element, styles) { element =3D $(element); var elementStyle =3D element.style, match; if (Object.isString(styles)) { element.style.cssText +=3D ';' + styles; return styles.include('opacity') ? element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : = element; } for (var property in styles) if (property =3D=3D 'opacity') = element.setOpacity(styles[property]); else elementStyle[(property =3D=3D 'float' || property =3D=3D = 'cssFloat') ? (elementStyle.styleFloat =3D=3D=3D undefined ? 'cssFloat' : = 'styleFloat') : property] =3D styles[property]; return element; }, setOpacity: function(element, value) { element =3D $(element); element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' : (value < 0.00001) ? 0 : value; return element; }, getDimensions: function(element) { element =3D $(element); var display =3D $(element).getStyle('display'); if (display !=3D 'none' && display !=3D null) // Safari bug return {width: element.offsetWidth, height: element.offsetHeight}; // All *Width and *Height properties give 0 on elements with display = none, // so enable the element temporarily var els =3D element.style; var originalVisibility =3D els.visibility; var originalPosition =3D els.position; var originalDisplay =3D els.display; els.visibility =3D 'hidden'; els.position =3D 'absolute'; els.display =3D 'block'; var originalWidth =3D element.clientWidth; var originalHeight =3D element.clientHeight; els.display =3D originalDisplay; els.position =3D originalPosition; els.visibility =3D originalVisibility; return {width: originalWidth, height: originalHeight}; }, makePositioned: function(element) { element =3D $(element); var pos =3D Element.getStyle(element, 'position'); if (pos =3D=3D 'static' || !pos) { element._madePositioned =3D true; element.style.position =3D 'relative'; // Opera returns the offset relative to the positioning context, = when an // element is position relative but top and left have not been = defined if (window.opera) { element.style.top =3D 0; element.style.left =3D 0; } } return element; }, undoPositioned: function(element) { element =3D $(element); if (element._madePositioned) { element._madePositioned =3D undefined; element.style.position =3D element.style.top =3D element.style.left =3D element.style.bottom =3D element.style.right =3D ''; } return element; }, makeClipping: function(element) { element =3D $(element); if (element._overflow) return element; element._overflow =3D Element.getStyle(element, 'overflow') || = 'auto'; if (element._overflow !=3D=3D 'hidden') element.style.overflow =3D 'hidden'; return element; }, undoClipping: function(element) { element =3D $(element); if (!element._overflow) return element; element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow; element._overflow =3D null; return element; }, cumulativeOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; element =3D element.offsetParent; } while (element); return Element._returnOffset(valueL, valueT); }, positionedOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; element =3D element.offsetParent; if (element) { if (element.tagName =3D=3D 'BODY') break; var p =3D Element.getStyle(element, 'position'); if (p =3D=3D 'relative' || p =3D=3D 'absolute') break; } } while (element); return Element._returnOffset(valueL, valueT); }, absolutize: function(element) { element =3D $(element); if (element.getStyle('position') =3D=3D 'absolute') return; // Position.prepare(); // To be done manually by Scripty when it = needs it. var offsets =3D element.positionedOffset(); var top =3D offsets[1]; var left =3D offsets[0]; var width =3D element.clientWidth; var height =3D element.clientHeight; element._originalLeft =3D left - parseFloat(element.style.left || = 0); element._originalTop =3D top - parseFloat(element.style.top || = 0); element._originalWidth =3D element.style.width; element._originalHeight =3D element.style.height; element.style.position =3D 'absolute'; element.style.top =3D top + 'px'; element.style.left =3D left + 'px'; element.style.width =3D width + 'px'; element.style.height =3D height + 'px'; return element; }, relativize: function(element) { element =3D $(element); if (element.getStyle('position') =3D=3D 'relative') return; // Position.prepare(); // To be done manually by Scripty when it = needs it. element.style.position =3D 'relative'; var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0); var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0); element.style.top =3D top + 'px'; element.style.left =3D left + 'px'; element.style.height =3D element._originalHeight; element.style.width =3D element._originalWidth; return element; }, cumulativeScrollOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.scrollTop || 0; valueL +=3D element.scrollLeft || 0; element =3D element.parentNode; } while (element); return Element._returnOffset(valueL, valueT); }, getOffsetParent: function(element) { if (element.offsetParent) return $(element.offsetParent); if (element =3D=3D document.body) return $(element); while ((element =3D element.parentNode) && element !=3D = document.body) if (Element.getStyle(element, 'position') !=3D 'static') return $(element); return $(document.body); }, viewportOffset: function(forElement) { var valueT =3D 0, valueL =3D 0; var element =3D forElement; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; // Safari fix if (element.offsetParent =3D=3D document.body && Element.getStyle(element, 'position') =3D=3D 'absolute') break; } while (element =3D element.offsetParent); element =3D forElement; do { if (!Prototype.Browser.Opera || element.tagName =3D=3D 'BODY') { valueT -=3D element.scrollTop || 0; valueL -=3D element.scrollLeft || 0; } } while (element =3D element.parentNode); return Element._returnOffset(valueL, valueT); }, clonePosition: function(element, source) { var options =3D Object.extend({ setLeft: true, setTop: true, setWidth: true, setHeight: true, offsetTop: 0, offsetLeft: 0 }, arguments[2] || { }); // find page position of source source =3D $(source); var p =3D source.viewportOffset(); // find coordinate system to use element =3D $(element); var delta =3D [0, 0]; var parent =3D null; // delta [0,0] will do fine with position: fixed elements, // position:absolute needs offsetParent deltas if (Element.getStyle(element, 'position') =3D=3D 'absolute') { parent =3D element.getOffsetParent(); delta =3D parent.viewportOffset(); } // correct by body offsets (fixes Safari) if (parent =3D=3D document.body) { delta[0] -=3D document.body.offsetLeft; delta[1] -=3D document.body.offsetTop; } // set position if (options.setLeft) element.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px'; if (options.setTop) element.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px'; if (options.setWidth) element.style.width =3D source.offsetWidth + = 'px'; if (options.setHeight) element.style.height =3D source.offsetHeight = + 'px'; return element; } }; Element.Methods.identify.counter =3D 1; Object.extend(Element.Methods, { getElementsBySelector: Element.Methods.select, childElements: Element.Methods.immediateDescendants }); Element._attributeTranslations =3D { write: { names: { className: 'class', htmlFor: 'for' }, values: { } } }; if (!document.createRange || Prototype.Browser.Opera) { Element.Methods.insert =3D function(element, insertions) { element =3D $(element); if (Object.isString(insertions) || Object.isNumber(insertions) || Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML))) insertions =3D { bottom: insertions }; var t =3D Element._insertionTranslations, content, position, pos, = tagName; for (position in insertions) { content =3D insertions[position]; position =3D position.toLowerCase(); pos =3D t[position]; if (content && content.toElement) content =3D content.toElement(); if (Object.isElement(content)) { pos.insert(element, content); continue; } content =3D Object.toHTML(content); tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after') ? element.parentNode : element).tagName.toUpperCase(); if (t.tags[tagName]) { var fragments =3D = Element._getContentFromAnonymousElement(tagName, = content.stripScripts()); if (position =3D=3D 'top' || position =3D=3D 'after') = fragments.reverse(); fragments.each(pos.insert.curry(element)); } else element.insertAdjacentHTML(pos.adjacency, = content.stripScripts()); content.evalScripts.bind(content).defer(); } return element; }; } if (Prototype.Browser.Opera) { Element.Methods._getStyle =3D Element.Methods.getStyle; Element.Methods.getStyle =3D function(element, style) { switch(style) { case 'left': case 'top': case 'right': case 'bottom': if (Element._getStyle(element, 'position') =3D=3D 'static') = return null; default: return Element._getStyle(element, style); } }; Element.Methods._readAttribute =3D Element.Methods.readAttribute; Element.Methods.readAttribute =3D function(element, attribute) { if (attribute =3D=3D 'title') return element.title; return Element._readAttribute(element, attribute); }; } else if (Prototype.Browser.IE) { $w('positionedOffset getOffsetParent = viewportOffset').each(function(method) { Element.Methods[method] =3D Element.Methods[method].wrap( function(proceed, element) { element =3D $(element); var position =3D element.getStyle('position'); if (position !=3D 'static') return proceed(element); element.setStyle({ position: 'relative' }); var value =3D proceed(element); element.setStyle({ position: position }); return value; } ); }); Element.Methods.getStyle =3D function(element, style) { element =3D $(element); style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? = 'styleFloat' : style.camelize(); var value =3D element.style[style]; if (!value && element.currentStyle) value =3D = element.currentStyle[style]; if (style =3D=3D 'opacity') { if (value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/)) if (value[1]) return parseFloat(value[1]) / 100; return 1.0; } if (value =3D=3D 'auto') { if ((style =3D=3D 'width' || style =3D=3D 'height') && = (element.getStyle('display') !=3D 'none')) return element['offset' + style.capitalize()] + 'px'; return null; } return value; }; Element.Methods.setOpacity =3D function(element, value) { function stripAlpha(filter){ return filter.replace(/alpha\([^\)]*\)/gi,''); } element =3D $(element); var currentStyle =3D element.currentStyle; if ((currentStyle && !currentStyle.hasLayout) || (!currentStyle && element.style.zoom =3D=3D 'normal')) element.style.zoom =3D 1; var filter =3D element.getStyle('filter'), style =3D element.style; if (value =3D=3D 1 || value =3D=3D=3D '') { (filter =3D stripAlpha(filter)) ? style.filter =3D filter : style.removeAttribute('filter'); return element; } else if (value < 0.00001) value =3D 0; style.filter =3D stripAlpha(filter) + 'alpha(opacity=3D' + (value * 100) + ')'; return element; }; Element._attributeTranslations =3D { read: { names: { 'class': 'className', 'for': 'htmlFor' }, values: { _getAttr: function(element, attribute) { return element.getAttribute(attribute, 2); }, _getAttrNode: function(element, attribute) { var node =3D element.getAttributeNode(attribute); return node ? node.value : ""; }, _getEv: function(element, attribute) { var attribute =3D element.getAttribute(attribute); return attribute ? attribute.toString().slice(23, -2) : null; }, _flag: function(element, attribute) { return $(element).hasAttribute(attribute) ? attribute : null; }, style: function(element) { return element.style.cssText.toLowerCase(); }, title: function(element) { return element.title; } } } }; Element._attributeTranslations.write =3D { names: Object.clone(Element._attributeTranslations.read.names), values: { checked: function(element, value) { element.checked =3D !!value; }, style: function(element, value) { element.style.cssText =3D value ? value : ''; } } }; Element._attributeTranslations.has =3D {}; $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' + 'encType maxLength readOnly longDesc').each(function(attr) { Element._attributeTranslations.write.names[attr.toLowerCase()] =3D = attr; Element._attributeTranslations.has[attr.toLowerCase()] =3D attr; }); (function(v) { Object.extend(v, { href: v._getAttr, src: v._getAttr, type: v._getAttr, action: v._getAttrNode, disabled: v._flag, checked: v._flag, readonly: v._flag, multiple: v._flag, onload: v._getEv, onunload: v._getEv, onclick: v._getEv, ondblclick: v._getEv, onmousedown: v._getEv, onmouseup: v._getEv, onmouseover: v._getEv, onmousemove: v._getEv, onmouseout: v._getEv, onfocus: v._getEv, onblur: v._getEv, onkeypress: v._getEv, onkeydown: v._getEv, onkeyup: v._getEv, onsubmit: v._getEv, onreset: v._getEv, onselect: v._getEv, onchange: v._getEv }); })(Element._attributeTranslations.read.values); } else if (Prototype.Browser.Gecko && = /rv:1\.8\.0/.test(navigator.userAgent)) { Element.Methods.setOpacity =3D function(element, value) { element =3D $(element); element.style.opacity =3D (value =3D=3D 1) ? 0.999999 : (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value; return element; }; } else if (Prototype.Browser.WebKit) { Element.Methods.setOpacity =3D function(element, value) { element =3D $(element); element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' : (value < 0.00001) ? 0 : value; if (value =3D=3D 1) if(element.tagName =3D=3D 'IMG' && element.width) { element.width++; element.width--; } else try { var n =3D document.createTextNode(' '); element.appendChild(n); element.removeChild(n); } catch (e) { } return element; }; // Safari returns margins on body which is incorrect if the child is = absolutely // positioned. For performance reasons, redefine = Position.cumulativeOffset for // KHTML/WebKit only. Element.Methods.cumulativeOffset =3D function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; if (element.offsetParent =3D=3D document.body) if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break; element =3D element.offsetParent; } while (element); return Element._returnOffset(valueL, valueT); }; } if (Prototype.Browser.IE || Prototype.Browser.Opera) { // IE and Opera are missing .innerHTML support for TABLE-related and = SELECT elements Element.Methods.update =3D function(element, content) { element =3D $(element); if (content && content.toElement) content =3D content.toElement(); if (Object.isElement(content)) return = element.update().insert(content); content =3D Object.toHTML(content); var tagName =3D element.tagName.toUpperCase(); if (tagName in Element._insertionTranslations.tags) { $A(element.childNodes).each(function(node) { = element.removeChild(node) }); Element._getContentFromAnonymousElement(tagName, = content.stripScripts()) .each(function(node) { element.appendChild(node) }); } else element.innerHTML =3D content.stripScripts(); content.evalScripts.bind(content).defer(); return element; }; } if (document.createElement('div').outerHTML) { Element.Methods.replace =3D function(element, content) { element =3D $(element); if (content && content.toElement) content =3D content.toElement(); if (Object.isElement(content)) { element.parentNode.replaceChild(content, element); return element; } content =3D Object.toHTML(content); var parent =3D element.parentNode, tagName =3D = parent.tagName.toUpperCase(); if (Element._insertionTranslations.tags[tagName]) { var nextSibling =3D element.next(); var fragments =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts()); parent.removeChild(element); if (nextSibling) fragments.each(function(node) { parent.insertBefore(node, = nextSibling) }); else fragments.each(function(node) { parent.appendChild(node) }); } else element.outerHTML =3D content.stripScripts(); content.evalScripts.bind(content).defer(); return element; }; } Element._returnOffset =3D function(l, t) { var result =3D [l, t]; result.left =3D l; result.top =3D t; return result; }; Element._getContentFromAnonymousElement =3D function(tagName, html) { var div =3D new Element('div'), t =3D = Element._insertionTranslations.tags[tagName]; div.innerHTML =3D t[0] + html + t[1]; t[2].times(function() { div =3D div.firstChild }); return $A(div.childNodes); }; Element._insertionTranslations =3D { before: { adjacency: 'beforeBegin', insert: function(element, node) { element.parentNode.insertBefore(node, element); }, initializeRange: function(element, range) { range.setStartBefore(element); } }, top: { adjacency: 'afterBegin', insert: function(element, node) { element.insertBefore(node, element.firstChild); }, initializeRange: function(element, range) { range.selectNodeContents(element); range.collapse(true); } }, bottom: { adjacency: 'beforeEnd', insert: function(element, node) { element.appendChild(node); } }, after: { adjacency: 'afterEnd', insert: function(element, node) { element.parentNode.insertBefore(node, element.nextSibling); }, initializeRange: function(element, range) { range.setStartAfter(element); } }, tags: { TABLE: ['', '
', 1], TBODY: ['', '
', 2], TR: ['', '
', 3], TD: ['
', '
', 4], SELECT: ['', 1] } }; (function() { this.bottom.initializeRange =3D this.top.initializeRange; Object.extend(this.tags, { THEAD: this.tags.TBODY, TFOOT: this.tags.TBODY, TH: this.tags.TD }); }).call(Element._insertionTranslations); Element.Methods.Simulated =3D { hasAttribute: function(element, attribute) { attribute =3D Element._attributeTranslations.has[attribute] || = attribute; var node =3D $(element).getAttributeNode(attribute); return node && node.specified; } }; Element.Methods.ByTag =3D { }; Object.extend(Element, Element.Methods); if (!Prototype.BrowserFeatures.ElementExtensions && document.createElement('div').__proto__) { window.HTMLElement =3D { }; window.HTMLElement.prototype =3D = document.createElement('div').__proto__; Prototype.BrowserFeatures.ElementExtensions =3D true; } Element.extend =3D (function() { if (Prototype.BrowserFeatures.SpecificElementExtensions) return Prototype.K; var Methods =3D { }, ByTag =3D Element.Methods.ByTag; var extend =3D Object.extend(function(element) { if (!element || element._extendedByPrototype || element.nodeType !=3D 1 || element =3D=3D window) return = element; var methods =3D Object.clone(Methods), tagName =3D element.tagName, property, value; // extend methods for specific tags if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); for (property in methods) { value =3D methods[property]; if (Object.isFunction(value) && !(property in element)) element[property] =3D value.methodize(); } element._extendedByPrototype =3D Prototype.emptyFunction; return element; }, { refresh: function() { // extend methods for all tags (Safari doesn't need this) if (!Prototype.BrowserFeatures.ElementExtensions) { Object.extend(Methods, Element.Methods); Object.extend(Methods, Element.Methods.Simulated); } } }); extend.refresh(); return extend; })(); Element.hasAttribute =3D function(element, attribute) { if (element.hasAttribute) return element.hasAttribute(attribute); return Element.Methods.Simulated.hasAttribute(element, attribute); }; Element.addMethods =3D function(methods) { var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag; if (!methods) { Object.extend(Form, Form.Methods); Object.extend(Form.Element, Form.Element.Methods); Object.extend(Element.Methods.ByTag, { "FORM": Object.clone(Form.Methods), "INPUT": Object.clone(Form.Element.Methods), "SELECT": Object.clone(Form.Element.Methods), "TEXTAREA": Object.clone(Form.Element.Methods) }); } if (arguments.length =3D=3D 2) { var tagName =3D methods; methods =3D arguments[1]; } if (!tagName) Object.extend(Element.Methods, methods || { }); else { if (Object.isArray(tagName)) tagName.each(extend); else extend(tagName); } function extend(tagName) { tagName =3D tagName.toUpperCase(); if (!Element.Methods.ByTag[tagName]) Element.Methods.ByTag[tagName] =3D { }; Object.extend(Element.Methods.ByTag[tagName], methods); } function copy(methods, destination, onlyIfAbsent) { onlyIfAbsent =3D onlyIfAbsent || false; for (var property in methods) { var value =3D methods[property]; if (!Object.isFunction(value)) continue; if (!onlyIfAbsent || !(property in destination)) destination[property] =3D value.methodize(); } } function findDOMClass(tagName) { var klass; var trans =3D { "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": = "DList", "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": = "Heading", "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", = "CAPTION": "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", = "THEAD": "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", = "TR": "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": "FrameSet", "IFRAME": "IFrame" }; if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element'; if (window[klass]) return window[klass]; klass =3D 'HTML' + tagName + 'Element'; if (window[klass]) return window[klass]; klass =3D 'HTML' + tagName.capitalize() + 'Element'; if (window[klass]) return window[klass]; window[klass] =3D { }; window[klass].prototype =3D = document.createElement(tagName).__proto__; return window[klass]; } if (F.ElementExtensions) { copy(Element.Methods, HTMLElement.prototype); copy(Element.Methods.Simulated, HTMLElement.prototype, true); } if (F.SpecificElementExtensions) { for (var tag in Element.Methods.ByTag) { var klass =3D findDOMClass(tag); if (Object.isUndefined(klass)) continue; copy(T[tag], klass.prototype); } } Object.extend(Element, Element.Methods); delete Element.ByTag; if (Element.extend.refresh) Element.extend.refresh(); Element.cache =3D { }; }; document.viewport =3D { getDimensions: function() { var dimensions =3D { }; $w('width height').each(function(d) { var D =3D d.capitalize(); dimensions[d] =3D self['inner' + D] || (document.documentElement['client' + D] || document.body['client' = + D]); }); return dimensions; }, getWidth: function() { return this.getDimensions().width; }, getHeight: function() { return this.getDimensions().height; }, getScrollOffsets: function() { return Element._returnOffset( window.pageXOffset || document.documentElement.scrollLeft || = document.body.scrollLeft, window.pageYOffset || document.documentElement.scrollTop || = document.body.scrollTop); } }; /* Portions of the Selector class are derived from Jack Slocum=E2=80=99s = DomQuery, * part of YUI-Ext version 0.40, distributed under the terms of an = MIT-style * license. Please see http://www.yui-ext.com/ for more information. */ var Selector =3D Class.create({ initialize: function(expression) { this.expression =3D expression.strip(); this.compileMatcher(); }, compileMatcher: function() { // Selectors with namespaced attributes can't use the XPath version if (Prototype.BrowserFeatures.XPath && = !(/(\[[\w-]*?:|:checked)/).test(this.expression)) return this.compileXPathMatcher(); var e =3D this.expression, ps =3D Selector.patterns, h =3D = Selector.handlers, c =3D Selector.criteria, le, p, m; if (Selector._cache[e]) { this.matcher =3D Selector._cache[e]; return; } this.matcher =3D ["this.matcher =3D function(root) {", "var r =3D root, h =3D Selector.handlers, c =3D = false, n;"]; while (e && le !=3D e && (/\S/).test(e)) { le =3D e; for (var i in ps) { p =3D ps[i]; if (m =3D e.match(p)) { this.matcher.push(Object.isFunction(c[i]) ? c[i](m) : new Template(c[i]).evaluate(m)); e =3D e.replace(m[0], ''); break; } } } this.matcher.push("return h.unique(n);\n}"); eval(this.matcher.join('\n')); Selector._cache[this.expression] =3D this.matcher; }, compileXPathMatcher: function() { var e =3D this.expression, ps =3D Selector.patterns, x =3D Selector.xpath, le, m; if (Selector._cache[e]) { this.xpath =3D Selector._cache[e]; return; } this.matcher =3D ['.//*']; while (e && le !=3D e && (/\S/).test(e)) { le =3D e; for (var i in ps) { if (m =3D e.match(ps[i])) { this.matcher.push(Object.isFunction(x[i]) ? x[i](m) : new Template(x[i]).evaluate(m)); e =3D e.replace(m[0], ''); break; } } } this.xpath =3D this.matcher.join(''); Selector._cache[this.expression] =3D this.xpath; }, findElements: function(root) { root =3D root || document; if (this.xpath) return document._getElementsByXPath(this.xpath, = root); return this.matcher(root); }, match: function(element) { this.tokens =3D []; var e =3D this.expression, ps =3D Selector.patterns, as =3D = Selector.assertions; var le, p, m; while (e && le !=3D=3D e && (/\S/).test(e)) { le =3D e; for (var i in ps) { p =3D ps[i]; if (m =3D e.match(p)) { // use the Selector.assertions methods unless the selector // is too complex. if (as[i]) { this.tokens.push([i, Object.clone(m)]); e =3D e.replace(m[0], ''); } else { // reluctantly do a document-wide search // and look for a match in the array return this.findElements(document).include(element); } } } } var match =3D true, name, matches; for (var i =3D 0, token; token =3D this.tokens[i]; i++) { name =3D token[0], matches =3D token[1]; if (!Selector.assertions[name](element, matches)) { match =3D false; break; } } return match; }, toString: function() { return this.expression; }, inspect: function() { return "#"; } }); Object.extend(Selector, { _cache: { }, xpath: { descendant: "//*", child: "/*", adjacent: "/following-sibling::*[1]", laterSibling: '/following-sibling::*', tagName: function(m) { if (m[1] =3D=3D '*') return ''; return "[local-name()=3D'" + m[1].toLowerCase() + "' or local-name()=3D'" + m[1].toUpperCase() + "']"; }, className: "[contains(concat(' ', @class, ' '), ' #{1} ')]", id: "[@id=3D'#{1}']", attrPresence: "[@#{1}]", attr: function(m) { m[3] =3D m[5] || m[6]; return new Template(Selector.xpath.operators[m[2]]).evaluate(m); }, pseudo: function(m) { var h =3D Selector.xpath.pseudos[m[1]]; if (!h) return ''; if (Object.isFunction(h)) return h(m); return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m); }, operators: { '=3D': "[@#{1}=3D'#{3}']", '!=3D': "[@#{1}!=3D'#{3}']", '^=3D': "[starts-with(@#{1}, '#{3}')]", '$=3D': "[substring(@#{1}, (string-length(@#{1}) - = string-length('#{3}') + 1))=3D'#{3}']", '*=3D': "[contains(@#{1}, '#{3}')]", '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]", '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]" }, pseudos: { 'first-child': '[not(preceding-sibling::*)]', 'last-child': '[not(following-sibling::*)]', 'only-child': '[not(preceding-sibling::* or = following-sibling::*)]', 'empty': "[count(*) =3D 0 and (count(text()) =3D 0 or = translate(text(), ' \t\r\n', '') =3D '')]", 'checked': "[@checked]", 'disabled': "[@disabled]", 'enabled': "[not(@disabled)]", 'not': function(m) { var e =3D m[6], p =3D Selector.patterns, x =3D Selector.xpath, le, m, v; var exclusion =3D []; while (e && le !=3D e && (/\S/).test(e)) { le =3D e; for (var i in p) { if (m =3D e.match(p[i])) { v =3D Object.isFunction(x[i]) ? x[i](m) : new = Template(x[i]).evaluate(m); exclusion.push("(" + v.substring(1, v.length - 1) + ")"); e =3D e.replace(m[0], ''); break; } } } return "[not(" + exclusion.join(" and ") + ")]"; }, 'nth-child': function(m) { return = Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m); }, 'nth-last-child': function(m) { return = Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m); }, 'nth-of-type': function(m) { return Selector.xpath.pseudos.nth("position() ", m); }, 'nth-last-of-type': function(m) { return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", = m); }, 'first-of-type': function(m) { m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m); }, 'last-of-type': function(m) { m[6] =3D "1"; return = Selector.xpath.pseudos['nth-last-of-type'](m); }, 'only-of-type': function(m) { var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + = p['last-of-type'](m); }, nth: function(fragment, m) { var mm, formula =3D m[6], predicate; if (formula =3D=3D 'even') formula =3D '2n+0'; if (formula =3D=3D 'odd') formula =3D '2n+1'; if (mm =3D formula.match(/^(\d+)$/)) // digit only return '[' + fragment + "=3D " + mm[1] + ']'; if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b if (mm[1] =3D=3D "-") mm[1] =3D -1; var a =3D mm[1] ? Number(mm[1]) : 1; var b =3D mm[2] ? Number(mm[2]) : 0; predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " + "((#{fragment} - #{b}) div #{a} >=3D 0)]"; return new Template(predicate).evaluate({ fragment: fragment, a: a, b: b }); } } } }, criteria: { tagName: 'n =3D h.tagName(n, r, "#{1}", c); c =3D false;', className: 'n =3D h.className(n, r, "#{1}", c); c =3D false;', id: 'n =3D h.id(n, r, "#{1}", c); c =3D false;', attrPresence: 'n =3D h.attrPresence(n, r, "#{1}"); c =3D false;', attr: function(m) { m[3] =3D (m[5] || m[6]); return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = =3D false;').evaluate(m); }, pseudo: function(m) { if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"'); return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c = =3D false;').evaluate(m); }, descendant: 'c =3D "descendant";', child: 'c =3D "child";', adjacent: 'c =3D "adjacent";', laterSibling: 'c =3D "laterSibling";' }, patterns: { // combinators must be listed first // (and descendant needs to be last combinator) laterSibling: /^\s*~\s*/, child: /^\s*>\s*/, adjacent: /^\s*\+\s*/, descendant: /^\s/, // selectors follow tagName: /^\s*(\*|[\w\-]+)(\b|$)?/, id: /^#([\w\-\*]+)(\b|$)/, className: /^\.([\w\-\*]+)(\b|$)/, pseudo: = /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis= )abled|not)(\((.*?)\))?(\b|$|(?=3D\s)|(?=3D:))/, attrPresence: /^\[([\w]+)\]/, attr: = /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^= \]]*?)))?\]/ }, // for Selector.match and Element#match assertions: { tagName: function(element, matches) { return matches[1].toUpperCase() =3D=3D = element.tagName.toUpperCase(); }, className: function(element, matches) { return Element.hasClassName(element, matches[1]); }, id: function(element, matches) { return element.id =3D=3D=3D matches[1]; }, attrPresence: function(element, matches) { return Element.hasAttribute(element, matches[1]); }, attr: function(element, matches) { var nodeValue =3D Element.readAttribute(element, matches[1]); return Selector.operators[matches[2]](nodeValue, matches[3]); } }, handlers: { // UTILITY FUNCTIONS // joins two collections concat: function(a, b) { for (var i =3D 0, node; node =3D b[i]; i++) a.push(node); return a; }, // marks an array of nodes for counting mark: function(nodes) { for (var i =3D 0, node; node =3D nodes[i]; i++) node._counted =3D true; return nodes; }, unmark: function(nodes) { for (var i =3D 0, node; node =3D nodes[i]; i++) node._counted =3D undefined; return nodes; }, // mark each child node with its position (for nth calls) // "ofType" flag indicates whether we're indexing for nth-of-type // rather than nth-child index: function(parentNode, reverse, ofType) { parentNode._counted =3D true; if (reverse) { for (var nodes =3D parentNode.childNodes, i =3D nodes.length - = 1, j =3D 1; i >=3D 0; i--) { var node =3D nodes[i]; if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) = node.nodeIndex =3D j++; } } else { for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node = =3D nodes[i]; i++) if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) = node.nodeIndex =3D j++; } }, // filters out duplicates and extends all nodes unique: function(nodes) { if (nodes.length =3D=3D 0) return nodes; var results =3D [], n; for (var i =3D 0, l =3D nodes.length; i < l; i++) if (!(n =3D nodes[i])._counted) { n._counted =3D true; results.push(Element.extend(n)); } return Selector.handlers.unmark(results); }, // COMBINATOR FUNCTIONS descendant: function(nodes) { var h =3D Selector.handlers; for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) h.concat(results, node.getElementsByTagName('*')); return results; }, child: function(nodes) { var h =3D Selector.handlers; for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { for (var j =3D 0, children =3D [], child; child =3D = node.childNodes[j]; j++) if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') = results.push(child); } return results; }, adjacent: function(nodes) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { var next =3D this.nextElementSibling(node); if (next) results.push(next); } return results; }, laterSibling: function(nodes) { var h =3D Selector.handlers; for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) h.concat(results, Element.nextSiblings(node)); return results; }, nextElementSibling: function(node) { while (node =3D node.nextSibling) if (node.nodeType =3D=3D 1) return node; return null; }, previousElementSibling: function(node) { while (node =3D node.previousSibling) if (node.nodeType =3D=3D 1) return node; return null; }, // TOKEN FUNCTIONS tagName: function(nodes, root, tagName, combinator) { tagName =3D tagName.toUpperCase(); var results =3D [], h =3D Selector.handlers; if (nodes) { if (combinator) { // fastlane for ordinary descendant combinators if (combinator =3D=3D "descendant") { for (var i =3D 0, node; node =3D nodes[i]; i++) h.concat(results, node.getElementsByTagName(tagName)); return results; } else nodes =3D this[combinator](nodes); if (tagName =3D=3D "*") return nodes; } for (var i =3D 0, node; node =3D nodes[i]; i++) if (node.tagName.toUpperCase() =3D=3D tagName) = results.push(node); return results; } else return root.getElementsByTagName(tagName); }, id: function(nodes, root, id, combinator) { var targetNode =3D $(id), h =3D Selector.handlers; if (!targetNode) return []; if (!nodes && root =3D=3D document) return [targetNode]; if (nodes) { if (combinator) { if (combinator =3D=3D 'child') { for (var i =3D 0, node; node =3D nodes[i]; i++) if (targetNode.parentNode =3D=3D node) return = [targetNode]; } else if (combinator =3D=3D 'descendant') { for (var i =3D 0, node; node =3D nodes[i]; i++) if (Element.descendantOf(targetNode, node)) return = [targetNode]; } else if (combinator =3D=3D 'adjacent') { for (var i =3D 0, node; node =3D nodes[i]; i++) if (Selector.handlers.previousElementSibling(targetNode) = =3D=3D node) return [targetNode]; } else nodes =3D h[combinator](nodes); } for (var i =3D 0, node; node =3D nodes[i]; i++) if (node =3D=3D targetNode) return [targetNode]; return []; } return (targetNode && Element.descendantOf(targetNode, root)) ? = [targetNode] : []; }, className: function(nodes, root, className, combinator) { if (nodes && combinator) nodes =3D this[combinator](nodes); return Selector.handlers.byClassName(nodes, root, className); }, byClassName: function(nodes, root, className) { if (!nodes) nodes =3D Selector.handlers.descendant([root]); var needle =3D ' ' + className + ' '; for (var i =3D 0, results =3D [], node, nodeClassName; node =3D = nodes[i]; i++) { nodeClassName =3D node.className; if (nodeClassName.length =3D=3D 0) continue; if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' = ').include(needle)) results.push(node); } return results; }, attrPresence: function(nodes, root, attr) { if (!nodes) nodes =3D root.getElementsByTagName("*"); var results =3D []; for (var i =3D 0, node; node =3D nodes[i]; i++) if (Element.hasAttribute(node, attr)) results.push(node); return results; }, attr: function(nodes, root, attr, value, operator) { if (!nodes) nodes =3D root.getElementsByTagName("*"); var handler =3D Selector.operators[operator], results =3D []; for (var i =3D 0, node; node =3D nodes[i]; i++) { var nodeValue =3D Element.readAttribute(node, attr); if (nodeValue =3D=3D=3D null) continue; if (handler(nodeValue, value)) results.push(node); } return results; }, pseudo: function(nodes, name, value, root, combinator) { if (nodes && combinator) nodes =3D this[combinator](nodes); if (!nodes) nodes =3D root.getElementsByTagName("*"); return Selector.pseudos[name](nodes, value, root); } }, pseudos: { 'first-child': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { if (Selector.handlers.previousElementSibling(node)) continue; results.push(node); } return results; }, 'last-child': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { if (Selector.handlers.nextElementSibling(node)) continue; results.push(node); } return results; }, 'only-child': function(nodes, value, root) { var h =3D Selector.handlers; for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (!h.previousElementSibling(node) && = !h.nextElementSibling(node)) results.push(node); return results; }, 'nth-child': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root); }, 'nth-last-child': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, true); }, 'nth-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, false, true); }, 'nth-last-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, formula, root, true, true); }, 'first-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, "1", root, false, true); }, 'last-of-type': function(nodes, formula, root) { return Selector.pseudos.nth(nodes, "1", root, true, true); }, 'only-of-type': function(nodes, formula, root) { var p =3D Selector.pseudos; return p['last-of-type'](p['first-of-type'](nodes, formula, root), = formula, root); }, // handles the an+b logic getIndices: function(a, b, total) { if (a =3D=3D 0) return b > 0 ? [b] : []; return $R(1, total).inject([], function(memo, i) { if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i); return memo; }); }, // handles nth(-last)-child, nth(-last)-of-type, and = (first|last)-of-type nth: function(nodes, formula, root, reverse, ofType) { if (nodes.length =3D=3D 0) return []; if (formula =3D=3D 'even') formula =3D '2n+0'; if (formula =3D=3D 'odd') formula =3D '2n+1'; var h =3D Selector.handlers, results =3D [], indexed =3D [], m; h.mark(nodes); for (var i =3D 0, node; node =3D nodes[i]; i++) { if (!node.parentNode._counted) { h.index(node.parentNode, reverse, ofType); indexed.push(node.parentNode); } } if (formula.match(/^\d+$/)) { // just a number formula =3D Number(formula); for (var i =3D 0, node; node =3D nodes[i]; i++) if (node.nodeIndex =3D=3D formula) results.push(node); } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // = an+b if (m[1] =3D=3D "-") m[1] =3D -1; var a =3D m[1] ? Number(m[1]) : 1; var b =3D m[2] ? Number(m[2]) : 0; var indices =3D Selector.pseudos.getIndices(a, b, nodes.length); for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; = i++) { for (var j =3D 0; j < l; j++) if (node.nodeIndex =3D=3D indices[j]) results.push(node); } } h.unmark(nodes); h.unmark(indexed); return results; }, 'empty': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) { // IE treats comments as element nodes if (node.tagName =3D=3D '!' || (node.firstChild && = !node.innerHTML.match(/^\s*$/))) continue; results.push(node); } return results; }, 'not': function(nodes, selector, root) { var h =3D Selector.handlers, selectorType, m; var exclusions =3D new Selector(selector).findElements(root); h.mark(exclusions); for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (!node._counted) results.push(node); h.unmark(exclusions); return results; }, 'enabled': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (!node.disabled) results.push(node); return results; }, 'disabled': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (node.disabled) results.push(node); return results; }, 'checked': function(nodes, value, root) { for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) if (node.checked) results.push(node); return results; } }, operators: { '=3D': function(nv, v) { return nv =3D=3D v; }, '!=3D': function(nv, v) { return nv !=3D v; }, '^=3D': function(nv, v) { return nv.startsWith(v); }, '$=3D': function(nv, v) { return nv.endsWith(v); }, '*=3D': function(nv, v) { return nv.include(v); }, '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + = ' '); }, '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + = '-').include('-' + v.toUpperCase() + '-'); } }, matchElements: function(elements, expression) { var matches =3D new Selector(expression).findElements(), h =3D = Selector.handlers; h.mark(matches); for (var i =3D 0, results =3D [], element; element =3D elements[i]; = i++) if (element._counted) results.push(element); h.unmark(matches); return results; }, findElement: function(elements, expression, index) { if (Object.isNumber(expression)) { index =3D expression; expression =3D false; } return Selector.matchElements(elements, expression || '*')[index || = 0]; }, findChildElements: function(element, expressions) { var exprs =3D expressions.join(','), expressions =3D []; exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) { expressions.push(m[1].strip()); }); var results =3D [], h =3D Selector.handlers; for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) { selector =3D new Selector(expressions[i].strip()); h.concat(results, selector.findElements(element)); } return (l > 1) ? h.unique(results) : results; } }); function $$() { return Selector.findChildElements(document, $A(arguments)); } var Form =3D { reset: function(form) { $(form).reset(); return form; }, serializeElements: function(elements, options) { if (typeof options !=3D 'object') options =3D { hash: !!options }; else if (options.hash =3D=3D=3D undefined) options.hash =3D true; var key, value, submitted =3D false, submit =3D options.submit; var data =3D elements.inject({ }, function(result, element) { if (!element.disabled && element.name) { key =3D element.name; value =3D $(element).getValue(); if (value !=3D null && (element.type !=3D 'submit' || = (!submitted && submit !=3D=3D false && (!submit || key =3D=3D submit) && = (submitted =3D true)))) { if (key in result) { // a key is already present; construct an array of values if (!Object.isArray(result[key])) result[key] =3D = [result[key]]; result[key].push(value); } else result[key] =3D value; } } return result; }); return options.hash ? data : Object.toQueryString(data); } }; Form.Methods =3D { serialize: function(form, options) { return Form.serializeElements(Form.getElements(form), options); }, getElements: function(form) { return $A($(form).getElementsByTagName('*')).inject([], function(elements, child) { if (Form.Element.Serializers[child.tagName.toLowerCase()]) elements.push(Element.extend(child)); return elements; } ); }, getInputs: function(form, typeName, name) { form =3D $(form); var inputs =3D form.getElementsByTagName('input'); if (!typeName && !name) return $A(inputs).map(Element.extend); for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) { var input =3D inputs[i]; if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name)) continue; matchingInputs.push(Element.extend(input)); } return matchingInputs; }, disable: function(form) { form =3D $(form); Form.getElements(form).invoke('disable'); return form; }, enable: function(form) { form =3D $(form); Form.getElements(form).invoke('enable'); return form; }, findFirstElement: function(form) { var elements =3D $(form).getElements().findAll(function(element) { return 'hidden' !=3D element.type && !element.disabled; }); var firstByIndex =3D elements.findAll(function(element) { return element.hasAttribute('tabIndex') && element.tabIndex >=3D = 0; }).sortBy(function(element) { return element.tabIndex }).first(); return firstByIndex ? firstByIndex : elements.find(function(element) = { return ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase()); }); }, focusFirstElement: function(form) { form =3D $(form); form.findFirstElement().activate(); return form; }, request: function(form, options) { form =3D $(form), options =3D Object.clone(options || { }); var params =3D options.parameters, action =3D = form.readAttribute('action') || ''; if (action.blank()) action =3D window.location.href; options.parameters =3D form.serialize(true); if (params) { if (Object.isString(params)) params =3D params.toQueryParams(); Object.extend(options.parameters, params); } if (form.hasAttribute('method') && !options.method) options.method =3D form.method; return new Ajax.Request(action, options); } }; /*-----------------------------------------------------------------------= ---*/ Form.Element =3D { focus: function(element) { $(element).focus(); return element; }, select: function(element) { $(element).select(); return element; } }; Form.Element.Methods =3D { serialize: function(element) { element =3D $(element); if (!element.disabled && element.name) { var value =3D element.getValue(); if (value !=3D undefined) { var pair =3D { }; pair[element.name] =3D value; return Object.toQueryString(pair); } } return ''; }, getValue: function(element) { element =3D $(element); var method =3D element.tagName.toLowerCase(); return Form.Element.Serializers[method](element); }, setValue: function(element, value) { element =3D $(element); var method =3D element.tagName.toLowerCase(); Form.Element.Serializers[method](element, value); return element; }, clear: function(element) { $(element).value =3D ''; return element; }, present: function(element) { return $(element).value !=3D ''; }, activate: function(element) { element =3D $(element); try { element.focus(); if (element.select && (element.tagName.toLowerCase() !=3D 'input' = || !['button', 'reset', 'submit'].include(element.type))) element.select(); } catch (e) { } return element; }, disable: function(element) { element =3D $(element); element.blur(); element.disabled =3D true; return element; }, enable: function(element) { element =3D $(element); element.disabled =3D false; return element; } }; /*-----------------------------------------------------------------------= ---*/ var Field =3D Form.Element; var $F =3D Form.Element.Methods.getValue; /*-----------------------------------------------------------------------= ---*/ Form.Element.Serializers =3D { input: function(element, value) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': return Form.Element.Serializers.inputSelector(element, value); default: return Form.Element.Serializers.textarea(element, value); } }, inputSelector: function(element, value) { if (value =3D=3D=3D undefined) return element.checked ? = element.value : null; else element.checked =3D !!value; }, textarea: function(element, value) { if (value =3D=3D=3D undefined) return element.value; else element.value =3D value; }, select: function(element, index) { if (index =3D=3D=3D undefined) return this[element.type =3D=3D 'select-one' ? 'selectOne' : 'selectMany'](element); else { var opt, value, single =3D !Object.isArray(index); for (var i =3D 0, length =3D element.length; i < length; i++) { opt =3D element.options[i]; value =3D this.optionValue(opt); if (single) { if (value =3D=3D index) { opt.selected =3D true; return; } } else opt.selected =3D index.include(value); } } }, selectOne: function(element) { var index =3D element.selectedIndex; return index >=3D 0 ? this.optionValue(element.options[index]) : = null; }, selectMany: function(element) { var values, length =3D element.length; if (!length) return null; for (var i =3D 0, values =3D []; i < length; i++) { var opt =3D element.options[i]; if (opt.selected) values.push(this.optionValue(opt)); } return values; }, optionValue: function(opt) { // extend element because hasAttribute may not be native return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text; } }; /*-----------------------------------------------------------------------= ---*/ Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, { initialize: function($super, element, frequency, callback) { $super(callback, frequency); this.element =3D $(element); this.lastValue =3D this.getValue(); }, execute: function() { var value =3D this.getValue(); if (Object.isString(this.lastValue) && Object.isString(value) ? this.lastValue !=3D value : String(this.lastValue) !=3D = String(value)) { this.callback(this.element, value); this.lastValue =3D value; } } }); Form.Element.Observer =3D Class.create(Abstract.TimedObserver, { getValue: function() { return Form.Element.getValue(this.element); } }); Form.Observer =3D Class.create(Abstract.TimedObserver, { getValue: function() { return Form.serialize(this.element); } }); /*-----------------------------------------------------------------------= ---*/ Abstract.EventObserver =3D Class.create({ initialize: function(element, callback) { this.element =3D $(element); this.callback =3D callback; this.lastValue =3D this.getValue(); if (this.element.tagName.toLowerCase() =3D=3D 'form') this.registerFormCallbacks(); else this.registerCallback(this.element); }, onElementEvent: function() { var value =3D this.getValue(); if (this.lastValue !=3D value) { this.callback(this.element, value); this.lastValue =3D value; } }, registerFormCallbacks: function() { Form.getElements(this.element).each(this.registerCallback, this); }, registerCallback: function(element) { if (element.type) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': Event.observe(element, 'click', = this.onElementEvent.bind(this)); break; default: Event.observe(element, 'change', = this.onElementEvent.bind(this)); break; } } } }); Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, { getValue: function() { return Form.Element.getValue(this.element); } }); Form.EventObserver =3D Class.create(Abstract.EventObserver, { getValue: function() { return Form.serialize(this.element); } }); if (!window.Event) var Event =3D { }; Object.extend(Event, { KEY_BACKSPACE: 8, KEY_TAB: 9, KEY_RETURN: 13, KEY_ESC: 27, KEY_LEFT: 37, KEY_UP: 38, KEY_RIGHT: 39, KEY_DOWN: 40, KEY_DELETE: 46, KEY_HOME: 36, KEY_END: 35, KEY_PAGEUP: 33, KEY_PAGEDOWN: 34, KEY_INSERT: 45, cache: { }, relatedTarget: function(event) { var element; switch(event.type) { case 'mouseover': element =3D event.fromElement; break; case 'mouseout': element =3D event.toElement; break; default: return null; } return Element.extend(element); } }); Event.Methods =3D (function() { var isButton; if (Prototype.Browser.IE) { var buttonMap =3D { 0: 1, 1: 4, 2: 2 }; isButton =3D function(event, code) { return event.button =3D=3D buttonMap[code]; }; } else if (Prototype.Browser.WebKit) { isButton =3D function(event, code) { switch (code) { case 0: return event.which =3D=3D 1 && !event.metaKey; case 1: return event.which =3D=3D 1 && event.metaKey; default: return false; } }; } else { isButton =3D function(event, code) { return event.which ? (event.which =3D=3D=3D code + 1) : = (event.button =3D=3D=3D code); }; } return { isLeftClick: function(event) { return isButton(event, 0) }, isMiddleClick: function(event) { return isButton(event, 1) }, isRightClick: function(event) { return isButton(event, 2) }, element: function(event) { var node =3D Event.extend(event).target; return Element.extend(node.nodeType =3D=3D Node.TEXT_NODE ? = node.parentNode : node); }, findElement: function(event, expression) { var element =3D Event.element(event); return element.match(expression) ? element : = element.up(expression); }, pointer: function(event) { return { x: event.pageX || (event.clientX + (document.documentElement.scrollLeft || = document.body.scrollLeft)), y: event.pageY || (event.clientY + (document.documentElement.scrollTop || = document.body.scrollTop)) }; }, pointerX: function(event) { return Event.pointer(event).x }, pointerY: function(event) { return Event.pointer(event).y }, stop: function(event) { Event.extend(event); event.preventDefault(); event.stopPropagation(); event.stopped =3D true; } }; })(); Event.extend =3D (function() { var methods =3D Object.keys(Event.Methods).inject({ }, function(m, = name) { m[name] =3D Event.Methods[name].methodize(); return m; }); if (Prototype.Browser.IE) { Object.extend(methods, { stopPropagation: function() { this.cancelBubble =3D true }, preventDefault: function() { this.returnValue =3D false }, inspect: function() { return "[object Event]" } }); return function(event) { if (!event) return false; if (event._extendedByPrototype) return event; event._extendedByPrototype =3D Prototype.emptyFunction; var pointer =3D Event.pointer(event); Object.extend(event, { target: event.srcElement, relatedTarget: Event.relatedTarget(event), pageX: pointer.x, pageY: pointer.y }); return Object.extend(event, methods); }; } else { Event.prototype =3D Event.prototype || = document.createEvent("HTMLEvents").__proto__; Object.extend(Event.prototype, methods); return Prototype.K; } })(); Object.extend(Event, (function() { var cache =3D Event.cache; function getEventID(element) { if (element._eventID) return element._eventID; arguments.callee.id =3D arguments.callee.id || 1; return element._eventID =3D ++arguments.callee.id; } function getDOMEventName(eventName) { if (eventName && eventName.include(':')) return "dataavailable"; return eventName; } function getCacheForID(id) { return cache[id] =3D cache[id] || { }; } function getWrappersForEventName(id, eventName) { var c =3D getCacheForID(id); return c[eventName] =3D c[eventName] || []; } function createWrapper(element, eventName, handler) { var id =3D getEventID(element); var c =3D getWrappersForEventName(id, eventName); if (c.pluck("handler").include(handler)) return false; var wrapper =3D function(event) { if (!Event || !Event.extend || (event.eventName && event.eventName !=3D eventName)) return false; Event.extend(event); handler.call(element, event) }; wrapper.handler =3D handler; c.push(wrapper); return wrapper; } function findWrapper(id, eventName, handler) { var c =3D getWrappersForEventName(id, eventName); return c.find(function(wrapper) { return wrapper.handler =3D=3D = handler }); } function destroyWrapper(id, eventName, handler) { var c =3D getCacheForID(id); if (!c[eventName]) return false; c[eventName] =3D c[eventName].without(findWrapper(id, eventName, = handler)); } function destroyCache() { for (var id in cache) for (var eventName in cache[id]) cache[id][eventName] =3D null; } if (window.attachEvent) { window.attachEvent("onunload", destroyCache); } return { observe: function(element, eventName, handler) { element =3D $(element); var name =3D getDOMEventName(eventName); var wrapper =3D createWrapper(element, eventName, handler); if (!wrapper) return element; if (element.addEventListener) { element.addEventListener(name, wrapper, false); } else { element.attachEvent("on" + name, wrapper); } return element; }, stopObserving: function(element, eventName, handler) { element =3D $(element); var id =3D getEventID(element), name =3D = getDOMEventName(eventName); if (!handler && eventName) { getWrappersForEventName(id, eventName).each(function(wrapper) { element.stopObserving(eventName, wrapper.handler); }); return element; } else if (!eventName) { Object.keys(getCacheForID(id)).each(function(eventName) { element.stopObserving(eventName); }); return element; } var wrapper =3D findWrapper(id, eventName, handler); if (!wrapper) return element; if (element.removeEventListener) { element.removeEventListener(name, wrapper, false); } else { element.detachEvent("on" + name, wrapper); } destroyWrapper(id, eventName, handler); return element; }, fire: function(element, eventName, memo) { element =3D $(element); if (element =3D=3D document && document.createEvent && = !element.dispatchEvent) element =3D document.documentElement; if (document.createEvent) { var event =3D document.createEvent("HTMLEvents"); event.initEvent("dataavailable", true, true); } else { var event =3D document.createEventObject(); event.eventType =3D "ondataavailable"; } event.eventName =3D eventName; event.memo =3D memo || { }; if (document.createEvent) { element.dispatchEvent(event); } else { element.fireEvent(event.eventType, event); } return event; } }; })()); Object.extend(Event, Event.Methods); Element.addMethods({ fire: Event.fire, observe: Event.observe, stopObserving: Event.stopObserving }); Object.extend(document, { fire: Element.Methods.fire.methodize(), observe: Element.Methods.observe.methodize(), stopObserving: Element.Methods.stopObserving.methodize() }); (function() { /* Support for the DOMContentLoaded event is based on work by Dan = Webb, Matthias Miller, Dean Edwards and John Resig. */ var timer, fired =3D false; function fireContentLoadedEvent() { if (fired) return; if (timer) window.clearInterval(timer); document.fire("dom:loaded"); fired =3D true; } if (document.addEventListener) { if (Prototype.Browser.WebKit) { timer =3D window.setInterval(function() { if (/loaded|complete/.test(document.readyState)) fireContentLoadedEvent(); }, 0); Event.observe(window, "load", fireContentLoadedEvent); } else { document.addEventListener("DOMContentLoaded", fireContentLoadedEvent, false); } } else { document.write("